I haven't had time to follow the discussion closely, but with regard to
the part of it that concerned limiting/removing speech, and the views that
people had about it, I have a few ideas to throw in.
Back in 1990, I started thinking about writing a "mud". Having no
firsthand experience with any, and little programming knowledge, I grabbed
sources for several (tiny, lp, diku, uber, etc) in order to examine them.
Didn't really understand the code for the tiny or uber, and diku seemed
too limiting (at the time, I believe it has changed a bit?). Ended up
running a local LPmud. Not a very good mud, but it gave me some experience
in the practical side of admin'ing.
But it wasn't what I wanted in a mud. I was interested in complex,
interacting NPCs and involved/involving plots and scenarios. Simple,
boring, repetitious hack n slash just didn't appeal to me.
As a small example of what I was after (I use this example a lot):
Say you have a town. In the town is a baker's shop where you can buy
bread. Fine. Now the baker needs to get flour to make the bread. So we
have a system where the miller brings flour to the baker every so often.
But the miller needs to get wheat. So we have a farmer. The farmer owns a
field where he grows crops. Now, you happen to be an antisocial type. You
go to the field, catch yourself a fox, tie a burning torch to its tail and
let it run through the field. Pretty soon the wheat is all reduced to
burning ash. You go away chuckling to yourself. Time passes. You run low
on food and get hungry. You go to the baker to buy a loaf of bread. Lo
and behold! A sign in the window says that he's closed. Food rationing is
introduced. People in the town (including you) start to starve. People's
personalities change as their stomaches start dictating their emotions.
Possibly you get what I'm trying to say. The important point is that I the
game designer may not (probably did not) forsee that someone would set the
field alight. But the interaction between components of the "universe" are
so varied that the system can produce these results automatically.
How does all this relate to the previous discussion?
Recently I resumed thinking about game design. I wondered how I could
design (if that's the word) such an environment. I came up with an idea.
For the computer to act "intelligently" and direct what happens in the
game, it has to "understand" what is going on. So why don't we represent
the world as some sort of semantic network(?) of objects/concepts and
relationships between them? Why not even go one step further and represent
the ways you can interact with the system in a similar form? We have this
sort of heirarchy:
1) ATOM, RELATION
The building blocks of the world. Imagine a ProLog rulebase.
2) QUESTION, COMMAND/ACTION
How does one (whether human or computer) find out or do anything? One
either asks a question or (conceptually) issues a command. Questions
needn't change the world. Commands probably do. We can consider a command
to be a relation mapping one state of the world to another. It operates on
(1) above or might even operate on another command or question.
Now for the interesting bit. How do we decide what can and can't be done
in the world, what questions can be asked, what commands carried out?
Well, why don't we just have another higher level that operates in terms
of (1) and (2) ? Meta-commands, if you like.
I figured that I couldn't be the first person to think of this. I was
right. There are whole fields of research into knowledge representation
both from the AI point of view and the database. I'm currently working
through a pile of books on knowledge bases (don't expect to finish soon,
too much work to do).
I had another idea.
We would like to have more "intelligent" computer-controlled characters.
At the limit, we would like to be unable to distinguish between a human
player and a computer controlled one. Typically, muds seem to approach
this by trying to make the computer look smart, usually by some variation
on the "ELIZA" theme -- look for a few key words of actions and act on
them regardless of context. Hopefully you get something that the human
player thinks is reasonable.
Okay. Why not approach the problem from another angle? Instead of trying
to cover all the possible combinations of action or speech that the human
might throw at the computer, why not just limit what the human can do? If
we start from a *very* restricted set of actions, maybe the computer has a
chance to "understand" what is going on. Recall George Orwell's 1984. If
you limit what people can say, you limit what they can think, and so you
restrict what they do (one hopes).
In time, the "language" that the computer understands (the knowledge base)
could be expanded. The world would become more interesting. This is a
difficult problem but as I see it, it is an approach worth pursuing.
How does this relate to talking?
Think about a "language" such as Makaton, or Bliss signing. Here we have a
simple graded system that distinguishes levels of abstraction in language.
A computer could conceivably start with (a sub-subset of) the simplest
level, and gradually more sophisticated concepts could be introduced. As
much as anything, the problem here lies in teaching the computer
"interesting" relationships between concepts (game design!).
So here is one situation where restricting what players could say would be
beneficial to the game.
Sorry for rambling. I hope the ideas presented are "interesting" 8^)
Jonathan H N Chin, 5 kyu \ Dept. of Cybernetics, \ "Respondeo, etsi mutabor"
\ University of Reading \
shr...@uk.ac.rdg.susssys1 \ Box 225, Whiteknights \ < Rosenstock-Huessy >
cyb...@uk.ac.reading.cyber \ Reading, RG6 2AY, U K \
In our game system (a comercial multi-user game) we were able to do this
with something much less complex then what you have tried to explain. Using
two types of scripting on an NPC: 1) background (time related actions) and
2) interactive (keywords, actions, reactions). Thus, your little senerio
could be scripted into each of the NPC's in script much like this:
--- NPC: Miller ---
get flour bag
go baker shop
offer flour to Baker
--- NPC: Baker ---
IF OFFERED flour
give 10 shen to %c
shake hands with Baker
say "Thanks, I was running low on flour.
Anything between the IF's are just stored verbs for execution when triggered.
Now hopfully you get the idea cause I'm not about to go into more detail
then this (the NPC system is much more complex and copyright). Everything you
see in games like Ultima 6 (relationships, quests, etc) is possible in our MPG.
My point is that a system of simple TIMED actions, KEYWORDS, and reaction
perimitives can go a LONG way in making a world seem real and alive with
NPC's that talk, eat, sleep, have families, desires, motives, even NPC's
that can guide you around the town or transate for you. Over in
rec.games.mud.admin they are have a big talk about automating guilds and
creating badges and such for entry- this can handle that as well.
Hope my input helps,
James & Craig
P.S. Our comercial system will be entering BETA soon. If you're interested
send us your US MAIL address and we'll make sure you're notified.
P.P.S. Please, no flames about my spelling- I have 15 GM's who do the fiction
(rooms & NPCs) that the players see- I don't touch that end :)