[WF-General] Is there anything I can do?

Bryce Harrington bryce at neptune.net
Sun Aug 5 14:12:07 PDT 2001

On Sun, 5 Aug 2001, Dima Potekhin wrote:
> (Excuse me if this is a double post, i'm not sure about the first one)
> Hello,
> My name is Dima Potekhin (nick =93sUf=94) and I=92m thinking about joinin=
g WF. I=92m
> 18 and I live in Israel (yea, yea, where all the mess is :) for 10 years,
> before that I lived in Russian where I have been born, so I know russian,
> hebrew and english (not that well). I finished my high-school (it was a
> special school where you learn computer science + general science) about =
> month ago and now I=92m completely bored until I find a job.
> I know C, C++, ASM, Internet stuff (ASP, PHP, etc.), some TCP/IP. Mostly =
> programmed for Dos, no Windows API or MFC knowledge, no Linux experience =
> well...  if there is some
> stuff I can do for the project let me know, for now I=92ll read the maili=
> list news groups and hang in IRC.

Hi Dima,

In fact, we *do* have a task you could adopt, that we definitely need
help from someone with your skills to do. =20

One of the games we are currently developing is called "Werewolf".  You
can read more about it on our website in the Rules section.  I also
posted a summary of a sample session of this game to general@ yesterday
(go to mail.worldforge.org and look at the archives from yesterday to
find it). =20

You'll notice that as the game progresses, the narrator must make up
some phrases to tell what has occurred (e.g., "The bloodstained corpse
of Dima is found half buried in the onion field", etc.)  What we want to
do is automatically generate these so that we can put even more
creativity into them than is possible with just a human narrator.  Our
goal is to eliminate the need for a human referee to the game entirely. =20

So what we need is a "narration generator".  This will need to be
written in C++ and implemented as something called a RIM, or "Rule
Implementation Module" -- Lee can walk you through the steps required;
don't worry, it's not terribly difficult, though you'll need to compile
and install a copy of STAGE, our game server.

You'll need to start by making a list of the different "types" of
narration that are allowed in the game.  For instance, the narrator will
speak when morning comes, and reveal who has died, will describe the
lynching sequence, and will tell everyone to go to bed.  Th3walrus will
help you here with this; he's the Werewolf coordinator.  Once you have a
list of all of these, come up with a generic structure for representing
these, sort of like "Mad Libs" if you're familar with that; imagine
being able to paste together sentence fragments to make a sensible
narration.  First do one generic structure for each narration fragment.

Next, create a database table schema to hold the sentence parts.  I
think you can probably put all of the sentence fragments into a single
table.  You will also need a table for holding the paragraph
structures, I think. =20

Then write the C++ code to select the sentence parts and to assemble and
return the filled in paragraph for a given narration need.  We may need
your help in getting the database linked in such that you can access
your tables from your RIM. =20

Meanwhile, fill in your table with lots of interesting narrative phrases
and sentence parts.  You can count on the rest of the team to help you
out a lot here, so just ask and bug people to get it.  :-)   =20

Finally, I would like to take advantage of your knowledge of Russian and=20
Hebrew, because I think it would *really* add a lot to Werewolf.  In
general, werewolf stories often have Slavic elements - Russian gypsies,
etc.  So the first area that I think you could assist in is bringing
some Russian "flavor" to the game, in the form of character and place
names, sayings and phrases, and so forth.  We want players to feel
themselves in a dark village deep in the Russian wilderness, rather than
being on the beach in Malibu ("Yo!  Like dude, you're *soo* wolfchow...")  =
Second, it is important to many of our players for our games to be
multilingual.  If you could, I'd like to see you make use of your
multi-lingual background to help make this narration system multilingual
as well.  This is why I think you'd be better at doing this than some
fool monolingual english speaker such as myself.  ;-)

I think this is a good task for you; it doesn't require any advanced
knowledge of Windows or Linux or whatever, and builds on the skills you
already have.  Plus it is something you can complete and see put to use
prior to when you leave for the military.  The only hard part will be
getting the narration structure designed in a flexible way.  If you do a
good enough job, we can probably make use of it in a lot of future
games, too!  :-)

Whatcha think?


FWIW, this need was identified by Demitar.  Here is the task as he
posted it: =20

* We need some kind of narration generator, a good small task I'd
  say. This should probably be archieved by a couple of lists that can
  be combined, perhaps with some random weather or whatever. Everyone
  will have to contribute partial sentences of course. ;-) (I think
  narration should origin from the session id (room).)


More information about the General mailing list