Skip to content

Artificial Intelligence in Computer Games Roundtable (2 of 3)

Array ( [blocks] => specificItem [show] => [itemId] => 13883 [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

The second AI roundtable – again, I might as well copy and paste: tons of topics covered, opinions put forward – and I’ve no idea who said each item, since no one really mentioned their name :)

Notes

What can we bring cross genre to help each other out? From RTS to FPS? Rasterising his navmesh into a nagmap – add influence maps onto that as well?
Influence maps in Damian’s talk was from RTS used in an FPS setting.
Avenues of approach is something that can be reused.

How about behaviour reuse between games?
You need to standardise the things between games – the knowledge representation needs to be the same so the verbs can be the same.
The approach seems to be if a subroutine has the same function name it will work in other games even if the parameters are different.
Could in a hierarchical system plugin at whatever level – maybe the entire walk system, maybe just how a step is taken.
Doing it across the industry basically seems really hard.
Perhaps have something that plugs into a GOAP planner and get a Lego model to get different areas.
Do you think that can apply to RTS games?
Yep it can.

Maybe some kind of TCP/IP stack in the game so there is internal communications – that kind of model and multi leveled approach.
Potential for that to happen but there perhaps isn’t enough commonality since the engineering solutions need to be optimised.

Should try doing more advanced knowledge representation and other things which are not the CPU-heavy pathfinding and LOS checks

There is room to improve the AI incrementally in symmetric bot AI but the expansion pack model works for singleplayer AI.
More scope in open worlds like Far Cry 2 for modular updates for behaviours.
Unless you have a WoW subscription for more money to make it be business sense.

Should there be more AI behaviours between each other that the player can then come across – like a battle between AI that it came across.
It was brought up in the AI summit that there perhaps shouldn’t be things the player shouldn’t see, but contrast to that is STALKER where they released an earlier build and players are really interested in playing it.
In Medal of Honour Airborn Assault, it had battles between AI happening all the time but I don’t know the commercial success of that.
Don’t always go by commercial success, Burger King has sold a ton of burgers. World working in the background.
Like Fable 2 where the world changes when the player is away
It can make it unfun.
Do you need to simulate the world in the background – and just do it when they return.
Putting something in front of the player has a lot of potential to show them new things.
Bioshock popped up new tutorial hints for more advanced things if the player didn’t do them.

The AI can pickup plays in my basketball game – can really shut down the player doing things the same time each time. Easier difficulties always let them through though
Hardest problem was making stars play like star players.
What about having that optimal golden path?
It’s hard since there was a bug in the game that allowed it. Players found it in a minute – players in the top 10 were those who ran that play every time.

Anecdote about the SWAT mocap being really robotic and really creepy. You can get a personality by having the variations.
You can randomise between the top viable actions.
That’s difficult with players being certain personalities and playstyles.
Giving that option with slider bars for designers are important.

The choice of behaviours are very different from game to game. Excitement, obedience and fear for Dogz for instance
Add in desire for some decision making even.

Visual editors versus scripts?
Depends on the situation
Usually can only choose one or the other depending on time
Example of being doomed – building both at once. There are well defined transition points between them so working right now – but might find out in the future it was a terrible mistake.
Using excel to do some parts of the AI is a cheap tool.
You can enforce error checking in the tool – in a script they extend past the limits.
What about having a tool show script and tool views.
More money not less that the boss sees.
Persuade with numbers like 3% of all years.

Anyone had total tool failure?
3 tools – all abandoned so it became a running joke.
Opposite view – a tool used for a specific area and gets then built up since it is so well used to do everything. Overextending too far is a problem.
Got to have a good communication between the tools writers, the users and the AI programmers who’s items are being edited. Various feedback is required.
Name the top 3 ways you can’t use this tool for in the documents.

Using scripting languages or C++? Went from C++ to scripting language, then went to the entire game being scripting language. Everyone then an expert in a scripting language?
It’s hard enough keeping the engineers up on C++, it’s a bitch, so getting scripts for certain areas is important.
Are allowed to do C++ things but not allowed to allocate memory – an interface basically.
Need the boundaries extremely solid. Some limitations worked around in odd ways can cause problems.
I’d want to do C++ for myself, but for designers I’d not want to do it in C++.
One advantage VB has is the fact it is high level. In C++ if you had a library of things you can use it can work.
Example of converting scripts directly back to C++ when saved. How do you debug visual scripts without this? Always kind of an option.
Sometimes impossible to do – with coroutines and other things to optimise or alter how script commands run.

Post a Comment

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