More AI Topics on Educational Serious Game Development

Expanding my previous post, I'd like to add some more topics I've found that could have some use in a serious game.

Procedurally Generated Levels

Automatically generating levels has the advantage of creating a great amount of levels without the developer having to program all of them. This can also help in a game to keep things fresh for many replays. The great disadvantage is that the levels might end up being awkward or not useful for the purpose of the game. This could be solved with an intelligent algorithm that prefers creating fun and useful content. But how would it know what is fun and what is not? Maybe a genetic algorithm that receives input from players instead of having a calculated fitness score could be one solution.

Opponent AI

How could I have missed this one. In about any game, having opponents to play with when no humans are around is nice, and the more human-like they behave, the better. Depending on the type of serious game, there might or might not be the need to include intelligent bots that play like humans, but even outside a Serious Game context, this topic is an interesting one.

Dynamic Scripting

Dinamically adapt the AI of a game can provide a boost in the entertainment it provides while improving the Enemy AI. Dynamic Scrpting allows the game to adapt to new or unforseen strategies used by players. This technique can be used in real time and its computationally fast, effective, robust, and efficient. Depending on the type of Serious Game, this technique can be used to moderate the material provided to the player to learn or to force the player to think of different strategies to defeat an enemy. This is also a topic that can prove interesting to implement in a Serious Game context.

  • Mott, Ken. (2009) Evolution of Artificial Intelligence in Video gAMES: A Survey
  • Spronck, Pieter; Sprinkhuizen-Kuyper, Ida; Postma, Eric (2004) Difficulty Scaling of Game AI
  • Spronck, Pieter; Ponsen, Mark; et. Al (2006) Adaptive Game AI with Dynamic Scripting

0 comentarios:

Publicar un comentario