Well, I am still alive!
And I am still struggling with JACL at its best - especially in it's
multiplayer form certainly.
First some news: I have set up a little homepage at:
http://www.im-traumwald.de/jaclvania/
Quote myself: "This is the home of JACLvania, a future little - you
may call it demo - web based MUD to be implemented using the
multiplayer branch of Stuart Allen's fantastic JACL language for
creating interactive fiction. "
Well, really only a very small beginning. But in the meantime I
already have a first NPC wander the streets of Jaclvania! :-)
And I have questions to ask I hope you will know answers to. ;-)
1) How should I do something like the thing with the "if @ = 1" in a
multiplayer game? There would be needed some "@" functionality for
each seperate player I think. Otherwise only the first player at all
examining the object will get a "true" to this "if" statement, right?
object lampert: lampert nightwatch lightkeeper
has ANIMATE
short name "Lampert"
long "Lampert the Lightkeeper is here."
mass heavy
{examine
if @ = 1
print:
Lampert looks for lights to keep.^
.
else
print:
Lampert still looks for lights to keep.^
.
endif
}
2) A little question about npc.library:
What is the meaning of "#ARGS" you use for example here:
{+wander #ARGS: <npc
...
}
I can't find this "#ARGS" anywhere else or in the documentation.
Well, that's it for now.
By the way: Do you already know of this:
http://www.guncho.com/
Guncho is an online system for multiplayer interactive fiction based
on Inform 7. Quite interesting, but again with NO WEBINTERFACE, what a
pity :-)
Have a good time!
Thomas
Great to hear from you again, and see your briefly on the MUD! Yes,
your multiplayer interpreter would need some way of storing a per-user
function call count. Of course that would only be true for some
things. For example, you might have code like this:
{open
if @ = 1
write "As you open the lid the rust hinges break.^"
else
write "The hinges are now broken.^"
endif
}
Okay, so probably not a great example but you get the idea. It
wouldn't matter who opened the lid for the first time, the result
would still apply for all other players. You might want to have some
other symbol that allows all the game author to explicitly specify
that the count should be the per-user one.
The #ARGS part is just a comment. Everything between a # and the end
of the line is always a comment. In this case the comment is just
indicating what argument the +wander function is expecting to receive
- the object that represents the NPC.
Regards,
Stuart
Thanks! Yes I know about this already and it is on my list. I kept it
as it is because I thought it does not matter until I continue with
this thing. I never thought about that someone else could have the
idea to try the game out again in between. ;-)
So thanks again for having a look now and then! This game is subject
to continuous change so to say.
The next thing I want to implement are randomly changing fighting messages.
And then I'll try to breath life into a delirious duck who will follow
you around trying to bite you :-)
Have a nice time!
Thomas
Stuart