Ok... this is a really good topic and we could be all developing the next-generation titles in no time if we get something out of this
Here's my view on the subject: if you try to develop an AI that understands the world in order to keep consistency, you'll see that this task is REALLY hard. There is however another way to keep consistency - simulation. Soooo, to make a game like this, you would first have to simulate an interesting world, you can't ask an AI agent to figure it all out. This could be achieved with some simple systems like demographics, economics, some simple physics (I'm not talking about rocket science here, some of them are really easy to implement if you do some research), and planning AI entities with basic goals, which is in my opinion the easiest way to make them look alive, busy and intelligent. For this to work the world must be truly dynamic - by this I mean that you shouldn't be lazy when you're scripting what everything depends on. If there's no food because the evil player decided to burn down the crops, NPCs will die, and some of them will use the planning system to solve the problem probably by stealing - stuff like that. Just try to see how you can break down these situations into little pieces that work together to get some effect. Sorry I kinda let myself ramble on too much
Here's a link, read this page and I'm sure you'll immediately fall in love with it
(there's a series of articles on that subject there if you're interested)
http://www.skotos.net/articles/dawnof27.shtml
Ok... assuming you have this interesting dynamic world, like all games should have. Then you can have an AI entity that looks at stuff and tries to throw interesting situations to the player. It should have some knowledge of cause and consequence, like this: how can I make the player happy? (looks up some list of actions that may achieve this) -> he likes dueling with rude humans, so I'll let him do that. how? (the conditions are: an NPC is angry and he's near the player; again look for actions that make this happen) -> by chosing some NPC that looks like this, making him angry and ordering it to go to a place near the player. This uses the same planning system, just with different sets of actions - which means less work for you
The AI would only influence stuff that should be random and the AI of the NPCs, to make it believable. It can't just decide that a portal should open out of nowhere and monsters pop out. Or something that in the context of the game world would look even less believable.
[edited by - Jotaf on April 21, 2004 3:35:38 PM] [edited by - Jotaf on April 21, 2004 3:38:34 PM]