« Interactive Fiction | Main | The McCartney divorce »
May 19, 2006
Bastard child of Inform 7 and Unreal Tournament
Reading about Inform 7 earlier and the fact that I have been back-brain thinking about games and AI for a while made me have a thought just as I was drifting off to sleep.
I want to be able to react with the world as well as characters in a game. One way to do this is to shift the way you think about the problem. I started wondering would it be an idea to treat the world in a game as a character?
This then changes your perspective on everything in the game. Everything should be a character. The ammo, the spent casings, the blood sprays.
Things are sortof heading this way with the new physics engines, but I'm not talking about mere physics here! (always wanted to use a line like that....)
I'm talking about the characters and their motivation.
The Inform 7 'engine' allows you to script a characters motivation in sort'a-plain english. This includes the 'motivations' of non-human characters like buckets, doors, birds and what have you. This is based on sematic rules and relies on the writer to supply the logic and to a great degree I would imagine that our own brains and imagination are needed to flesh out the interactions and connect the implied logic of elements in the game.
I'm not going to try to white room the design of the Inform 7 engine so I'll stop there.
The point I'm making is that the game engine should be able to accept descriptions (not in plain english obviously) of objects and their motivations with hints as to what aspect of the world is affected by the mottivations.
For instance a large rock might be motivated to stay sitting in one place but this motivation could be overcome by a large force acting obliquely on its west side that would cause the stone to be motivated by the force of gravity to roll down a hill and crush any players in its path.
That kind of thing - except that is still too high level a description - more like acceleration (a) = 0 until F > 100 Newtons at vector (0,0,1) then a (0,0,1) = F/mass etc...
But then that is too low level. The game engine handles everything else in between but can also handle stuff like - Johnny likes cars and is motivated to watch any unusual cars that pass by expecially 59 Plymouths. If a 59 plymouth drives by he will follow it distracted only by pretty girls in high hells and short-shorts.
Do that for a number of characters and the story writes itself. The player would have to wor very hard to get themselves included in the story at all.
And that's the way it should be - encouraged engagement.
Posted by dottie at May 19, 2006 1:58 AM