Skip to content

GDC08 Notes – AI Roundtable day 3 (AI for Beginners)

Array ( [blocks] => specificItem [show] => [itemId] => 2474 [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/single.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
Me looking more moody then I felt, honest :) (Dave Mark’s picture)
The final AI roundtable on Friday was AI for Beginners – we were in one room again, but it wasn’t as crowded. Some varied questions asked (not all of them for beginners, but a lot was explained for those that were). Dave Mark put up notes and audio from this roundtable too, if you want a better set of notes 😉

What do people think of Chris Heckler’s ideas?

  • For graphics, we understand how to model worlds, with triangles and texture maps
  • He suggests manipulating the AI in a photoshop like way
    • Neil suggests we won’t get there yet – not quite feasable yet if it is the right way to go

On nav meshes, changing a nav mesh with destructable terrain – it’s costly, how do we do it?

  • Something in the Wisdom 4 books
  • Middleware is working on it
  • Some other companies are working on it
  • Changable navigation meshes have been around at least a few years
    • Seeing a player jump through some points
  • Company of Heroes – hierarchical pathfinding – Chris Journey
  • Changing the nav mesh is dangerous – changing a key point means a lot of nodes on the mesh being made invalid
  • Envelopes around destructible bits can help (Monster fighting through tokyo-like game).
  • Making the nodes for points infinitely weighted for barriers
  • Navmesh can have data added such as speeds of … (Not sure why I missed the end of this sentence…)

Will you be able to precompile some areas you know will be where the destructible terrain? Presetup.

  • Yes. Method of efficiency

When saving the game, do you recompute or save the nav mesh?

  • Should save the nav mesh saved – need to keep the state the same!

Anyone using middleware?

  • Some using kygon for pathfinding
  • No standard of AI like texture maps, and using middleware can lead to having to make a game to the middleware’s specs
  • For most games, it’s hard to find a real middleware solution since you need to tweak the AI and so might as well build it from scratch
  • Good to use middleware if you want to work on behaviours
  • Resistance to neural nets in industry, but it will be used in some military simulator.
    • Game industry thinks the NN is the easiest technology to misapply.
    • Aversion to it since they think it’s awesome, fail at doing it, then don’t want to go back to it

What success stories there have been using NN?

  • DoD, intelligence community – billions of dollars on applications of neural nets. A few isolated cases are productive, others failed.
  • Neural Nets for wii motion detection
    • After filtering, it is 95% – needs to be 100% – trying to get there before shipping
  • It is improbable to get 100% – the accuracy curve is a logathithmic scale in pain, and in user happyness.
    • This is for speech, but is likely the same for motion control
  • PHD in neural nets – who shipped Colin McCrea 2.0 with neural nets, but he suggested nearest neighbour
  • Instead of plain recognition, perhaps differentiation
  • Applying neural nets need a lot of tweaking. Perhaps use it for what it is good at – representing interesting human action and reaction
  • What are we trying to accomplish with neural nets? The right solution. B&W used reinforcement learning, not neural nets. More predictable and cheaper technology.
  • Forza series – PHD in neural networks, learns how you drive your car.
  • Tools needed, neural nets and algorithms are useful – not just one thing, but 75 for halo!
  • Exhaustive training for it!
  • Appropriate usage of it – a script helps in a rare situation for instance, but doesn’t scale
  • Pre-ship or in game? Fine tune when testing/creation, but not after release.
  • Will the tool save time? A tester might find the best track path faster going back to the racing car example.

Anyone doing speech recognition?

  • Recognition mountain, then the natural language mountain is even bigger after it!

Smoothing AI outputs?

  • Bioshock; animation system then locomotion system on top, so need to have a single action chosen not lots of them
  • Subsumption will work with that
    • Or don’t be a dumbass rules!
  • An AI wisdom article has something on applying Brook’s original subsumption to games.
  • Need to add momentum to an action – “is it important for me to change what I’m doing?”

Anyone working with a memory constrained device?

  • Not really. (The original asker is working on the DS)
  • The question asker is working on the lower limits of enemies, etc.
  • But look at old PC gaming articles – is it similar to a P90? P60? etc.
    • This keeps on recurring!
  • Some articles in Wisdom books – such as not using A*
  • Cell phone game used A* so it can work
  • Constrained memory, CPU, so need to have the small 2-10% amount of CPU break up the work over frames (which is also thread friendly)
  • Look for non-PHD implementations of mixing and matching the AI methods
  • Or even fake it! – can you? or should you?

IntroGameDev.com (and AIWisdom.com) for article searches for older things.

Anyone used GPU for AI work?

  • A single wisdom article on A* on it
  • Tough since it’s all being utilized
  • There is an instance that was explained – vector math is fast on it.

Academia and AI?

  • EA in Alberta working on checking the way players played
    • Failure: a goal, so go back, find what went wrong so the AI can be fixed to not fail the time
    • NHL 08 shipped with it – possibly not the flow fields.
  • University of Tokyo – worked with creation of characters.

How many companies are interested in an AI specializing programmer?

  • Yes, lots!

And so ended the AI roundtable :) Dave Mark got a recording, but it was a lot better structured (both my notes and the discussion) so it is easier to follow this time.

Post a Comment

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