Presentation is loading. Please wait.

Presentation is loading. Please wait.

The purpose behind the project was to examine computer artificial intelligence and to show that artificial intelligence could be applied to many different.

Similar presentations


Presentation on theme: "The purpose behind the project was to examine computer artificial intelligence and to show that artificial intelligence could be applied to many different."— Presentation transcript:

1 The purpose behind the project was to examine computer artificial intelligence and to show that artificial intelligence could be applied to many different projects. To do all this, a copy of Quake 2, and a computer AI bot, 3zb2, were acquired. A bot is a multiplayer opponent who is computer controlled, but designed to act like a human opponent. The hope was that by examining 3zb2 and altering its code to produce bots with variations, that it would show that computer AI can perform a number of different tasks even in a limited environment. This would imply that by removing the limiting environment the only limitation of AI would be the imaginations and coding skills of the AI creator. Packrat Guardbot Investigation into Computer AI, and the Math Behind It. Joseph Pegues, Advisor: Dr. Christopher Elmer Shepherd University http://webpages.shepherd.edu/jpegue01/ Bibliography The concept of Packrat was a bot that would horde items before attempting to attack anyone. Before attempting to enter a combat state the bot goes through a list of items. If it has enough then it is allowed to go into that combat state and ceases item searching. tem = Fdi_SHELLS;//FindItem("Shells"); if (item) { index = ITEM_INDEX(item); if (ent->client->pers.inventory[index] >= ent->client- >pers.max_shells-85) { item = Fdi_CELLS;//FindItem("Cells"); if (item) { index = ITEM_INDEX(item); if (ent->client->pers.inventory[index] >= ent->client- >pers.max_cells-150) { 1.Quake 2 was developed by id Software and the game box artwork belongs to them. www.idsoftware.com www.idsoftware.com 2.3zb2 was created and owned by Ponoko. It and the code behind it are owned by him. http://ponpoko.tri6.net/3zb2/ http://ponpoko.tri6.net/3zb2/ 3.This poster template was created by MegaPrint, and downloaded from: http://www.postersession.com/templates.php EnemiesAbound and GhostsAbound are also created from opposite logic patterns. EnemiesAbound believes itself to be constantly confronted by enemies and so is constantly ready to attack an opponent. GhostsAbound is a bot that never believes itself to confronted by an enemy so never fires its weapon. Interestingly, EnemiesAbound is slightly smarter than 3zb2, and at times, even acts more like a human opponent as opposed to a computer controlled bot. Guardbot is a bot with a job to do. It is given a specific item in the game to hunt out, and once it is found the bot stays within short distance of it. It's objective is to prevent anyone from getting the item. if(foundRocket != 1) Bot_SearchItems(ent); if(zc->second_target != NULL ) { if((zc->second_target->s.origin[2] - ent->s.origin[2]) > 32 && !ent->waterlevel) { RL = zc->second_target->moveinfo.start_origin[2]-ent- >s.origin[2]; if(foundRocket==1&&(RL = hh) { VectorAdd(zc->second_target->moveinfo.start_origin,ent- >s.origin,temppos); } Introduction EnemiesAbound /GhostsAbound 3ZB2 3zb2 was originally created by Ponpoko (internet name), and was acquired from his website http://ponpoko.tri6.net/3zb2/. The bot has not had any development for several years, but was strong enough to allow for modifications that wouldn't result in crashes over small changes in the code. Programming wise the bot has no planning in its thinking patterns. Instead the bot is reliant on information that it knows to decide what course of action is best at the moment. This information is gathered in two ways. The first is visually by recognizing what is in front of it. The second is by recorded route information that is stored in a file outside of the bot code. While this type of bot is relatively simple in terms of computer AI used in video games today, this AI excels in the simplistic environment of Quake 2. It is capable of near perfect shooting, always knows where items are on a map that it has routes for, and always chooses the best option in a given scenario. Santabot Santabot is a bot that was designed as a noncombatant. Commands dealing with firing at opponents have been removed and replaced with drop item commands. Thereby giving other combatants items that the bot is holding onto. Teleport / Backwards Telebort and Backwards are two bots born from opposite logic patterns. When taking into account things like shooting and moving to objects, the bot makes calculations based off its movement speed. For teleport this speed has been multiplied by 10, and for backwards negative one. Interestingly, Teleport exhibits an almost chaotic behavior because it can never get to where it wants to be properly. This chaotic behavior seems to stabilize as more bots are added to the game. Conclusion In this project several different logic patterns for the bots were created. Even in the limited environment of Quake 2 it is possible to create AIs that do more than simply shoot at an opponent. However the bots we're not only limited by the environment in this project, they were also limited by 3zb2. With more time and a better understanding of how Quake 2 works, it would be possible to create even more bots, possibly even some with the ability to plan.


Download ppt "The purpose behind the project was to examine computer artificial intelligence and to show that artificial intelligence could be applied to many different."

Similar presentations


Ads by Google