|
Features

GDC
2002: Social Activities: Implementing Wittgenstein
Example Activity
ScissorsPaperStone(Agent
p1, Agent p2, int max_score)
needs p1, p2
constructor
{
int score1=0;
int score2=0;
int NumGoes=0;
AGENT_LIST Players;
enum actions
{
scissors,
paper,
stone
};
Players.push_back(p1);
Players.push_back(p2);
-> Play
}
state Play
{
needs score1<max_score
&& score2<max_score !-> Finished
requests
Players do CHOOSE(scissors, paper, stone) !-> GiveUp
->
Evaluate
}
state Evaluate
{
if (p1.GetChoice()
> p2.GetChoice())
{
score1++;
}
else
{
score2++;
}
-> Play
}
state Finished
{
if (score1 >
score2)
{
=> UpdateScoreFromResult(p1) // send message to parent
-> WinnerCelebrates(p1, p2)
}
else
{
=> UpdateScoreFromResult(p2) // send message to parent
-> WinnerCelebrates(p2, p1)
}
}
state WinnerCelebrates(Agent winner, Agent loser)
{
requests
winner do CELEBRATE() !-> GiveUp
->
LoserCries(loser)
}
state LoserCries(Agent loser)
{
needs loser
requests loser
do CRY() -> GiveUp
}
state GiveUp
{
-> Delete
}
Conclusion
In this article, we have tried to motivate the introduction of social
activities as the next obvious level at which to add content, and we have
outlined a working system which makes it very easy to add a new activity
(without having to worry about all the book-keeping needed to integrate
our new activity with all the others). In our prototype, we already have
a large number of activities running simultaneously: various games (both
turn-taking games and games with simultaneous-turns), conversations, meal-times,
courtship activities, with a moral community activity running in the background.
This work has been inspired by philosophers (Wittgenstein and Dreyfus)
who are apparently critical of the very possibility of AI. It is pleasantly
ironic that their work, which they might see as precluding the possibility
of AI, will result in the next generation of social agents.
References
DeLoura
(ed), Game Programming Gems, Volumes 1 and 2
Dreyfus, "What Computers Still Can't Do"
Hacker, "Wittgenstein: Meaning and Mind"
Heidegger, "Being and Time"
Wittgenstein, "Blue & Brown Books"
Wittgenstein, "Philosophical Investigations"
Wittgenstein, "Zettel"
______________________________________________________
|