Skip to content

#define GAME_AI

Array ( [blocks] => specificItem [show] => [itemId] => 13820 [exactSize] => 200 [itemFrame] => none [albumFrame] => none ) Array ( [blocks] => specificItem [show] => [itemId] => 13766 [exactSize] => 200 [itemFrame] => none [albumFrame] => none )
Error (ERROR_STORAGE_FAILURE)
  • in modules/core/classes/GalleryStorage.class at line 494 (GalleryCoreApi::error)
  • in modules/core/classes/Gallery.class at line 202 (GalleryStorage::search)
  • in modules/core/classes/helpers/GalleryUserGroupHelper_simple.class at line 105 (Gallery::search)
  • in modules/core/classes/GalleryCoreApi.class at line 1876 (GalleryUserGroupHelper_simple::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 64 (GalleryCoreApi::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 39 (GalleryPermissionHelper_simple::_fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 501 (GalleryPermissionHelper_simple::fetchAccessListIds)
  • in modules/core/classes/helpers/GalleryUserHelper_simple.class at line 76 (GalleryCoreApi::fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 566 (GalleryUserHelper_simple::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 217 (GalleryCoreApi::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 93 (ImageBlockHelper::_getBlockData)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1352 (ImageBlockHelper::loadImageBlocks)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 867
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc(1229) : regexp code at line 1
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1229
  • in ??? at line 0
  • in /home/aarmgorg/public_html/journal/wp-includes/plugin.php at line 213
  • in /home/aarmgorg/public_html/journal/wp-includes/post-template.php at line 230
  • in /home/aarmgorg/public_html/journal/wp-content/themes/barthelme/page.php at line 12
  • in /home/aarmgorg/public_html/journal/wp-includes/template-loader.php at line 75
  • in /home/aarmgorg/public_html/journal/wp-blog-header.php at line 16
  • in /home/aarmgorg/public_html/index.php at line 4
1
Steve Rabin

This was an good introduction to game AI for those unaware of it :) Thief is missing from the timeline, but fair enough, not everything can go into it :)

Notes

NPC’s can be:

  • adversaries – enemies (individuals, factions), opponents
  • neutral – animals, wildlife,
  • cooperative – squad members, sport teammates

What do they do that is game AI? They exhibit some kind of behaviour. Behind the scenes they are sensing the environment then think about it and make decisions – only when they act do we witness anything as players – and guess they were thinking.

For sensing it is generally seeing – will have some kind of memory usually, tracking when things go out of sight. Senses also include knowing where your arm is, or balance, etc. not just standard ones.

Use the senses to think and make an intelligent decision.

For RTS games – does choosing a random strategy count as AI? What about if strategies are scripts? What if the script is non-branching? (no If statements) Is that really game AI?

Deterministic versus random. Reactive versus non-reactive. Are these AI?

Finding a path through a dungeon – game AI. Intercepting the player – predictions of positions, a bit of AI there, but is moving straight towards the player AI? What if the NPC just moves forward? Is that AI? Selecting a random idle animation, is this AI?

Is the animation system AI too? Simple and complex movement…

NPC LOS and finding the player – isn’t this the physics engine? Is a single statement rules AI? (such as retreating if at low health).

Façade – interactive story game AI is generally considered AI. Who is writing the story?

Are auto generated trees AI? Are auto generated cities or dungeons AI? Is auto generation with a PRNG such as in Sim City map making AI?

Wikipedia definition is okay, a better one: “Game AI is any technique that contributes to the player’s perceived intelligence of an entity, regardless of what’s under the hood” – can be a script, can be physics, animation…but this misses out generating terrain and stories!

“Game AI can also be techniques that generate artefacts that would normally be created by the game developers (like environment/layout, story, music or models/animations/textures).”

The goals of the AI game programmer is different to academic or defence industry AI. The AI should be intelligent but purposely flawed – but have no unintended weaknesses (which requires a lot of testing to do). The AI must perform within CPU and memory constraints. It also needs to be configurable by game designers since they are the ones making the game. This is different from game to game – the AI was built to be good, and the game designers were just to showcase it by placement of objects or designs of levels. Finally, the game AI needs to be finished – must not keep it from shipping. Rely well on things in the past and improve it.

Error (ERROR_STORAGE_FAILURE)
  • in modules/core/classes/GalleryStorage.class at line 494 (GalleryCoreApi::error)
  • in modules/core/classes/Gallery.class at line 202 (GalleryStorage::search)
  • in modules/core/classes/helpers/GalleryUserGroupHelper_simple.class at line 105 (Gallery::search)
  • in modules/core/classes/GalleryCoreApi.class at line 1876 (GalleryUserGroupHelper_simple::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 64 (GalleryCoreApi::fetchGroupsForUser)
  • in modules/core/classes/helpers/GalleryPermissionHelper_simple.class at line 39 (GalleryPermissionHelper_simple::_fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 501 (GalleryPermissionHelper_simple::fetchAccessListIds)
  • in modules/core/classes/helpers/GalleryUserHelper_simple.class at line 76 (GalleryCoreApi::fetchAccessListIds)
  • in modules/core/classes/GalleryCoreApi.class at line 566 (GalleryUserHelper_simple::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 217 (GalleryCoreApi::hasItemPermission)
  • in modules/imageblock/classes/ImageBlockHelper.class at line 93 (ImageBlockHelper::_getBlockData)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1352 (ImageBlockHelper::loadImageBlocks)
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 867
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc(1229) : regexp code at line 1
  • in /home/aarmgorg/public_html/journal/wp-content/plugins/wpg2/wpg2embed.inc at line 1229
  • in ??? at line 0
  • in /home/aarmgorg/public_html/journal/wp-includes/plugin.php at line 213
  • in /home/aarmgorg/public_html/journal/wp-includes/post-template.php at line 230
  • in /home/aarmgorg/public_html/journal/wp-content/themes/barthelme/page.php at line 12
  • in /home/aarmgorg/public_html/journal/wp-includes/template-loader.php at line 75
  • in /home/aarmgorg/public_html/journal/wp-blog-header.php at line 16
  • in /home/aarmgorg/public_html/index.php at line 4
1Areas of AI

AI related to game design can mean implementing the AI so that the player can manipulate it not just gun it down – sometimes cleverly with hearing (so it can be distracted) but sometimes in dumb ways like a ring of LOS around the NPC. Designers and AI programmers need a good relationship.

There is a need for different techniques – no single solution exists for AI. No general purpose middleware for even the same genre (sports AI won’t work from one sport to another), there just is no single solution.

History of game AI:
1980 – PacMan does have AI – there are behaviours for each ghost, such as trying to go ahead of the player, chasing the player, ignoring the player.
1989 – SimCity – had cellular automata – automated building depending on the surroundings (houses next to water are higher value for instance). Influence maps – police stations, fire stations, so they cover everything.
1995 – Dogz and Cat, emotion and memory and behaviour of animals.
1996 – Tamigotchi – Very needy and needed care, might die in half a day so bad taking it to school! Had feeding, playing games, waste, hunger, health, etc. – Anecdote that her daughter got a bad looking one and told the family not to feed it so it would die :)
1996 – Creatures – neural networks, genetic algorithms in games and a success story.
1998 – Madden NFL 98 – Liquid AI! :p “The game reacts exactly as a human would”. GameDay 98 was out that year too -”Lquid AI is the stuff that ran down AI’s leg when they saw GameDay” from Kelly Flock who was the president of GameDay’s developers. Make sure you name the AI tech well!
1998 – Half-Life AI. Well integrated with the storyline.
2000 – The Sims. Smart terrain and smart objects. The microwave knows how it is used – so the intelligence is the AI itself.
2001 – Black & White – perceptrons, a simple type of neural network. Decision tree learning and empathy learning done by Richard Evans.
2003 – EyeToy – basically camera vision AI. Gesture recognition etc.
2004 – Fable – player reputations, and personal reputations for the world and villagers.
2005 – Nintendogs – speech recognition, works in any language.
2005 – FEAR. STRIPS – planning systems.
2005 – Forza Motorsport – Had Drivatar system where there are neutral networked trained cars result of research. In 2001 Colin McRae 2.0 had neural nets actually.
2005 – Facade – natural language processing. Some great reactive behaviour such as shutting the door to strange questions.
2006 – Wii sports, wii remote – tough problem to recognise gestures.
2008 – GTA IV – living cities.
2008 – Spore, procedural AI’s.
2008 – Left4Dead – AI Director, tensions and moods.
2008 – FarCry 2 – dynamic narrative.

Opportunities in game AI:
Manipulating and toying in intelligent simulators (spore, populous, Sim City),
Interacting with intelligent simulators – RTS, RPG, etc.
Game AI challenges:
Keep up with graphics, and avoid the uncanny valley – AI is critical to this
Create new gameplay experiences – work closely with designers, and expand the market.

Post a Comment

Your email is never published nor shared. Required fields are marked *