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




Friday 29 October 2010

class workshop response

In yesterdays lecture we were given a short questionnaire regarding our progress and our knowledge of our projects.

Here are my answers:

Section 1

Q.What is this module called and how many credits is it worth?
A.Honours project planning and reporting - 30 credits

Q.How many times have you met your technical supervisor?
A.Once

Q.What other module is associate with the honours project?
A. Honours project execution

Q.How often do you update your blog?
A.Whenever I complete a task related to the project

Q.Have you included in your blog resources found through research/literature?
A.No

Section 2

Q.Have you subscribed to any game related forum and posted your RQ search ideas and got feedback?
A.No

Q.Have you looked for additional feedback other than the ones iv prescribed?
A.No

Q.What back up procedure have you implemented?
A.Home computer and university save files

Q.How long do you spend on honours project activities?
A.Average about an hour a day

Section 3

Q."what" is your RQ?
A.This isn't final yet but I'm thinking "Can an evolving ecosystem be simulated with lifelike AI governing the creatures behaviour?" sums up the aims quite well.

Q."why" is it important?
A. It is important because if it is successful it will allow games designers to create more immersive game worlds with lifelike wildlife.

Q. "How" will you answer it?
A. I will attempt to implement this program and note the results

Q."So what" will be
                              1. your measure of success?
                              2. the significance of what you have done?

A.     1. I will measure my success by the realism of the final simulation, by how well the ecosystem maintains balance.
      
         2. Whilst it won't change the world, i hope my work may one day allow for much more realistic and immersive gaming.



This questionnaire highlighted a lot of the areas where I will need to act if  want to be successful with this project, like seeking forum opinions or putting more effort into maintaining this blog. Next post should be worksheet 3, a draft proposal.

Thursday 21 October 2010

Work Sheet 2

This project will look at the different possibilities of creating a diverse array of different AI creatures and try and achieve realistic results, and eventually some kind of balanced, sustainable ecosystem. To do this we will have to create a program which can simulate a world for these creatures to inhabit. The program could be implemented in 2D and still be a good indication of whether or not realistic behaviour has been achieved. However a  3D implementation should still also be considered as if it was possible would make for a much more impressive demonstration.

The kind of characteristics I would like to try and implement:
territorial defence.
instincts like safety in numbers or camouflage. 
desire to mate.
interspecies competition. 
pack hunting.


The best test to see if this can be achieved will be to test how long the program can run before the ecosystem becomes damaged, for instance a single species takes emerges too dominantly or all species die out. 


I think the research question will be along the lines of "Which AI implementation produces the most realsitic results when simulating a variety of species coexisting? However this needs some refining.

First Post

The main focus of this year of study is going to be this dissertation, so the choice of topic is a very important one. It has to be an area which I have interest and experience in. I have chosen AI because it has always been a feature that I enjoyed programming. I also feel that it is the area which modern games developers need to look into to create the next big leap forward in gaming.

For this project I want to explore how AI could be used to simulate a natural ecosystem of different creatures. Using different AI methods, such as rule-based and goal-based systems, I want to see how effectively this idea can be implemented.

There are several areas in computer games which could be explored for this project. The decision to work with AI was not taken lightly. It will require a lot of work to properly implement and test this program especially if different versions are to be compared. However I feel up to the challenge.