Success in the world today often depends on being in the right place at the right time, rather than on knowledge or aptitude. Take Bill Gates or George Bush Jr., respectively propelled to the top by striking a lucky contract, and having a famous father. The example is humorous, but the point remains: experience is only a secondary factor. Conversely, failiure is also a consequence of being in the wrong place at the wrong time...
For A.I. in first person shooters, things are just the same. A bot with amazing rail-gun skills will not benefit from standing in a popular doorway. Similarly, a bot with a rocket launcher will have few chances of frags when perched on a high cliff. It also goes without saying that not being able to find health and amunition leads to poor performance.
Consequently, the ability to locate places within a virtual world, identify their potential, decide when to use them, and be capable of finding a way back to them around threatening enemies is one of the most important skills to have. Other abilities will fall into place around this.
This essay will discuss the creation of a robust, flexible, and extensible framework capable of dealing with a wide variety of terrains in a fully automated fashion. First, we'll start with a description of the environments which the bots will be expected to perform in. We'll then discuss the human approach to spatial awareness and terrain recognition. This will allow us to determine some thorough requirements for the system. A simple but powerful modular system will then be proposed. Conclusions will be drawn, and we'll outline the next steps involved in following this ambitious project to its closing stages
Remember you can visit the Message Store to discuss this essay. Connect($db); $result = mysql_query("SELECT children FROM threads WHERE id=15",$db) or die( mysql_error() ); $children = mysql_fetch_row($result); if ($children[0]<=1) { ?> Comments are always welcome!. } else { ?> There are already = $children[0]-1 ?> replies in the thread, why not join in? } Disconnect($db); ?>
Footer(); ?>