Thursday 11 November 2010

Worksheet 3 - Draft Project Proposal

Honours Project Worksheet 3


 Introduction
What is the aim of the project (general overview)?
 
The aim of this project is to develop an AI system which will govern an ecosystem of different virtual creatures with believable lifelike AI. I want to use genetic algorithms to simulate evolution and a “survival of the fittest” system. For this project to be a success I would like to see a lot of varied behaviour within the simulation, and hopefully a “never the same twice” experience. The AI decisions will use a mixture of fuzzy logic techniques to add a random nature to the behaviour.

 Motivation
Why do you want to do this and why would anybody be interested in what you want to do?

Advances in 3D visualization and physics-based simulation technology make it possible for game developers to create compelling, visually immersive gaming environments that were only dreamed of years ago. But today's game players have grown in sophistication along with the games they play. It's no longer enough to wow your players with dazzling graphics; the next step in creating even more immersive games is improved artificial intelligence, or AI (Bourg & Seemann, AI for game developers 2004).
As today’s games industry pushes more and more towards realism and immersion within their games, the need for believable AI systems is greater than ever before. Recent advances in gaming hardware – separate GPUs and more powerful processors- allow a lot more scope for games developers to include more complex AI systems in their games, where in the past most processing power and memory was dedicated to graphics.
This AI system will pave the way for a whole new side to gaming, where a players character can grow alongside the world around him. Allowing for systems where the game becomes harder as the enemies you face evolve and become stronger while you play.
 Research question
 "Is it possible to simulate an ecosystem involving a variety of different species with realsitic behavior in real time?"

 Addressing the Question
What will be done to answer the question

To test my hypothesis I will need to implement this AI system in a program and observe its operation, noting factors such as populations and the generations of different species. Also the virtual creatures should behave in a pseudo-random manner; their behavior should not be predictable.
The implementation will be a 2D world rendered using openGL. The AI system will use fuzzy cognitive maps and other fuzzy logic techniques to give the illusion of intelligent decisions. The world will include deposits of food and water which creatures will need to consume to survive, these will be regenerated periodically. The main goals of the AI will be gathering these resources, finding mates and survival. 
As the creatures mate and go through generations, they will grow faster/stronger and be able to survive better. The fittest parents will have the fittest offspring. The creatures will actively try to find the best mate they can, and try to avoid mating with lesser creatures. This "survival of the fittest" system will be implemented using genetic algorithms.

 Resource Requirements
What equipment/resources will be needed/used

The project will require the use of a modern computer with a software development environment i.e. Microsoft Visual Studio 2008. The code will be written in C++ and OpenGL will be used to render the graphics. 
 
 References and Bibliography


References
David M. bourg & Glenn Seemann 2004 AI for game developers [online]
Bibliography
Bart Kosko 1994 Fuzzy Thinking