Akshay Joshi I. Title of the Project: II. Problem Statement. To create a learning/evolving AI for use in a 3d space simulation FPS ( (First Person Shooter game) III. Purpose. The purpose of this project is to create a genetic algorithm for the NPC's (non-playable characters), the computer controlled ships, of a space FPS. The project is worth doing because it leads to a better understanding of what types of plays by NPC's are easily countered by the player, and what types of moves the player has more trouble with. This project would be of use to game designers because they can base different difficulty level AI's on how easily players are tripped up by a certain move, and translate that into a more complex AI. IV. Scope of Study. The project will require the programming of numerous different strategies and tactics, such as being in a certain sector with respect to the enemy ship, or a certain shell distance, etc; it is not so much of a strategy, but more of a goal state for the ship to reach, and each move the ship makes is towards achieving said state. Then in each instance, the remote game calls upon the "mother" for a random array of goal states from which the NPC's can draw upon, every couple minutes the states with the stronger record will reproduce while the states with the weaker record are jettisoned. After several rounds, the remote game will send the record of each state to the "mother" and receive another array of random goal states. After many games, the "mother" will be able to identify which states are clearly the best, and which ones need to be modified. Difficulty levels can be added in by changing the accuracy, aggressiveness, and decision time of the NPC's V. Background and review of current literature/research in this area. A popular way of programming game AI is the SOAR method, in which the game identifies the current state, sets an ideal state for the game to progress into, and moves all the NPC's in ways that transform the current state towards the goal state. Research being done with this method includes the development of models to predict human performance, robot control architecture, etc. VI. Procedure and Methodology. The first task will be to identify as many goal states as possible. Then to create functions to analyze the environment that are of direct use to assessing the current state and achieving the goal state. Then to code what responses the NPC should have towards achieving each goal state. The first testing cycle will be with controlled variables, i.e. a ship that is stationary; the object will be to see if the ship reacts appropriately. Next will be with a ship moving in a straight line. Then with one enemy ship or player at a time. Followed by multiple enemy ships and players, and, finally, with multiple factions and players. VII. Expected Results & Value to Others This project should clearly show what goal states cause the player a lot of trouble, some trouble, and no trouble at all. This could help future researchers and/or game designers decide what tactics should be packaged as easy, medium and hard. Future researchers could also run tests to see why a certain tactic causes a player more trouble than another tactic. The final data will be represented as several charts, e.g. record, how often reproduced, how often jettisoned, etc. This project will in all likelihood take the entire year to complete.