Weekends at AiGameDev.com are dedicated to rounding up smart links from the web relating to artificial intelligence and game development. This week, as always, there are some good articles and blog posts for you to read. Remember, there’s also lots of great content to be found in the forums here! (All you have to do is introduce yourself.) Also don’t forget to consult the Wiki for an excellent compendium of material about game AI development!
This post is brought to you mostly by Marcos Novacovsky (aka “Novack”). If you have any news or tips for next week, be sure to email them in to editors at AiGameDev.com. Remember there’s a mini-blog over at news.AiGameDev.com (RSS) with game AI news from the web as it happens.
A Simple example of Artificial Intelligence using Delphi (Pebble Picking Game)
Zarko Gajic from the Delphi Programming section of About.com, wrote an article -and a game- showing an approach to AI game programming in Delphi. The source code of the game is available for download, and also some very interesting links in there to check out.
In this article we will try to demonstrate a very simple practical example of artificial Intelligence programming in Delphi using Delphi arrays.
I have chosen a Nepali game named “GATTA TIPNE KHEL” (meaning pebble picking game) for this purpose. We can see small children playing this game in the playground. In this pebble picking game a pile of some pebbles is kept in the ground. One of the two players picks one, two or three pebbles at a time in his turn, leaving the pile for the other player to pick for his alternate turn. In this alternate picking process, the player who picks the last pebble(s) will be the loser and called to be a DOOM in Nepali.
New PathEngine Release
Through GameDevKicks we got the news of a new PathEngine release (5.17.00) of their pathfinding and agent movement SDK, with the main focus being some very significant optimisations to the SDK preprocess save and load mechanisms.
Very significant improvements in preprocess save/load mechanisms.
Executable footprint reduction.
Alternative, memory efficient, organisation of connected regions preprocess.
Option for automatic removal of small disconnected regions in pathfinding unobstructed space.
Help me play some F.E.A.R.
Mikkel “FreddieFreeloader” Birkegaard Andersen, an AiGameDev.com community member, has launched a call for help for an interesting exeriment that is conducting. He posted this on the forums:
I’m currently in the closing stages of a project concerning hierarchical logic and reinforcement learning for squad-control in FEAR.
If you have the retail version, I’d be grateful it if you would participate in an experiment: By playing a couple of levels you can help get me valuable data on how my AI measures up against the original one. It’s really quite simple:
1. Update FEAR to version 1.08
2. Download file and extract it to the root-directory of your FEAR installation (probably c:\program files\FEAR).
3. Run the mod by launching FearMod.bat
4. Since this mod is incompatible with your old save games, make sure to create a new player profile if you don’t want to accidentally loose them.
5. Starting a new game, either the original AI or my modified one will be picked randomly. There are four levels from the original single-player campaign to play through. These loop indefinitely.
6. When you can’t be bothered to play anymore, save the game and email it to . If you’re having trouble finding the savegame, search for a folder named “monolith productions”, it should be in your Documents folder. You will find the savegames under “monolith productions”\FEAR\Save\ProfileXXX\Singleplayer. The ProfileXXX folder which has the highest number is the one you want (the one created last). If you have any comments/critique/observations, positive or negative, please include them in the email.
Thanks a bunch!
Jobs of the week
This time Gamasutra Jobs bring us two open positions: the long standing request from THQ Kaos Studios, and a new offer from Destineer.
THQ, Kaos Studios, Senior AI Programmer
Kaos Studios is located in the heart of New York City and is mere blocks from the Empire State Building and the thrill of Midtown Manhattan. Along with the opportunity to live in one of the most exciting cities in the world, we also just finished up one of the most exciting FPS titles to date. Frontlines: Fuel of War (PC/XBOX360) is already receiving great press and that’s just the beginning! We also offer competitive salaries, comprehensive health benefits, and an excellent compensation package. We are always looking for talented artists, developers, and designers to join our growing team, so check out our job postings and let us know what interests you!
Destineer, Senior AI Engineer
Destineer makes cutting-edge videogames for videogame players around the world as well as highly realistic training simulations for the world’s leading military and intelligence organizations. We’re led by people who helped make Bungie, Red Storm, and Atari industry leaders. Destineer is a privately held corporation headquartered in Minneapolis, MN with development studios in Minneapolis, Raleigh, NC, and Austin TX. Destineer has strong financial backing from a variety of notable investors, including In-Q-Tel, a private venture capital firm funded by the CIA, to help facilitate our rapid growth and build a group of very innovative games for the next-generation consoles.
Limited Actions in an (near?) Infinite Universe
The Forgotten Lore blog published an article on applying limited actions mechanics to a game design and comments some repercusions on other aspects of the game, like the AI.
Limited actions is an important part of the Armageddon Empires design and it’s fundamental to Solium Infernum as well. The basic idea is that it forces you to prioritize your strategy goals and that mental process is supposed to be both challenging and fun. As a design choice it has some nice side benefits as well. It’s a great way to speed up gameplay. It also minimizes micromanagement in that you don’t have to adjust the position/state of 100 agents on the game board. The game simply won’t let you micromanage. From an AI standpoint it helps to focus the decision space within which the AI must operate and that’s a big plus.
Player rant of the week
In a post entitled Artificial intelligence in PvEA, a GameRiot’s blogger posted his view about the artificial intelligence of the NPCs of the sucessful mmorpg World of Warcraft.
If there is any truth to this story I know not, but that there is a fear among game designers of the words “smart mobs” - I am certain.
Take for example WoW’s 4 year old Ragnaros and compare him with the latest of PvE boss design - Kil’jaeden. What has changed?
Several more phases at specific %, half a dozen more abilities to remember and watch out for, more dangerous and important adds but the core is the same — a scripted encounter, a well defined set of rules to play by.
Find an original answer to any of the following questions:
1. Can we create a system not based on threat, but where players are not getting one shotted?
2. Can we give AI to a Boss that will not use it to go around killing healers or change his texture to match the cave’s wall and hide?
3. We can use evolutionary programming to create bosses from scratch with there own developed abilities, but will it be interesting to players?
Or simply put - can we create a more fun and challenging system then the current scripted encounters with X phases Y abilities and Z adds?
You Don’t Want To Play This (Alone)
MTV Multiplayer published an article on Left 4 Dead about an still untouched topic, the game’s single player, in a non-cooperative way. Patrick Klepek, says the game looses much of its magic, but read it for yourself:
The A.I. in “Left 4 Dead” — at least what was present in the incomplete build shown at PAX 2008 — is functional. They faithfully follow you, firing at the surrounding zombie hordes and applying health patches when you’re wounded. My A.I. allies didn’t get lost or stuck in hallways. The A.I. accomplished what it needed to. It just can’t compensate for the absence of human-controlled allies.
“Left 4 Dead” was designed as a co-op experience among four players. You lose much of what makes the game tense and exciting without someone to scream at. When one of your A.I. teammates goes down for the count because they took a wrong turn, you don’t feel compelled to throw yourself into danger and save them. It’s easier to keep moving forward and save yourself.
World in Flames
The game from Pandemic Studios is still taking heavy fire from the specialized media, and one of the claimed bad points is its artificial intelligence. Below are some reviews transcriptions.
Enemy AI is horrific. If you’re injured you can just run behind a building to regenerate—soldiers won’t make much of an effort to find you. They won’t even go to great lengths to shoot you if you’re right next to them, often standing there oblivious to your shooting them. When you have to destroy a specific piece of equipment or vehicle, sometimes the easiest thing to do is stand next to or get inside of it and let the bad guys blow up the very thing they’re supposed to be protecting.
The biggest oddity in Mercenaries 2 is wired through the AI, or lack thereof. In the opening mission’s first hostile confrontation it appeared as if AI opponents were on the ball. One moved around a large rock using it as cover, taking shots whenever the opportunity presented itself. Then suddenly for no apparent reason the soldier stood still in the open, as if he saw Chavez’s Spirit Horse riding towards him. Needless to say he didn’t last much longer and the sketchy AI was outed.
The AI’s erratic behavior persists deeper into the game, sometimes sending enemies bull rushing to their demise with no sufficient cover or purpose, and other times leaving enemies wandering aimlessly or staring off into the abyss. They don’t always fire when you’re out in the open, or they might take a couple shots and then stop firing for a few seconds, then fire again. This behavior carries over into friendly AI, as well, who seems to operate on their own personal agenda.
UKCI 2008 to address intelligent computers in games
Develop brought us the news of the 2008 UK Workshop on Computational Intelligence (UKCI), to be hosted at the De Montfort University of Leicester, taking place Wednesday 10th to Friday 12th of this month.
The event covers the developing reserach fields of fuzzy systems, neural networks, machine learning and evolutionary computing, and aims to provide an environment where academics and researchers can discuss not only recent developments but new potential applications of the new research frontiers.
Tales of Legendia, Reader Review
At the Readers Reviews section of IGN, a user posted a long review of the PS2 title Tales of Legendia
where states some interesting claims about the game’s AI.
Another problem with the system is the AI. I found the AI to be rather stupid at times. Like for an example, in a fire dungeon one of my casters casts a fire spell thus healing the enemy (since its fire, and it absorbs that). And the worse part is that setting strategies in the menu does little to solve this problem. Your only bet is to manually turn off and on spells that you party can cast. This can get annoying having to flip between spells. And such. Again its somewhat a situational flaw but still a rather noticeable one.
Video: AIseek RTS Demo
To continue the trend of comments around the AI accelerator cards, here is a video demoing the AIseek Intia Processor capabilities on a highly dynamic environment.
Description: Two armies of hundreds of soldiers, led by firing tanks, battle each other. As the tanks crash through walls and blow up obstacles, the soldiers move intelligently through the newly formed rubble. They make skilful use of available hiding spots, cover for each other and move in formation.
Accelerated AI shown: Intelligent movement of many agents in a highly dynamic world. Since the game map is constantly changing, all path-related data must be repeatedly calculated in real-time (pre-processing is of no avail).
Stay tuned next week for more smart links from around the web!