Thursday 23 October 2008

WorkSheet 2

Honours Project Worksheet — #2

(Annotations in Courier with Italics)

You should have decided upon a broad topic for your honour’s project and identified some issues associated with the topic that you want to research.

1. Formulate a research question for your project. Details on the research question can be found in presentation 1 in the module folder.


“Is it possible for a combination of A.I. and A-Life techniques to not only be used to create an enduring eco-system, but also to calculate the boundaries that allow this system to remain stable and identify if the techniques can help the system to recover from “natural” disaster and/or user interaction and thereafter return the system to a state of equilibrium.”


The topic sounds really cool but the question is a bit of a mouthful. Does the stuff about natural disaster and returning to a state of equilibrium need to be mentioned as they are already partially implied. The recovery could then be discussed further once the question has been stated.


2. When developing a research question you must produce a question that can be answered by performing literature research, practical experimentation and critical analysis. The question should also focus the activities of your project.

a) What is the focus of your project?

The focus of this project is to combine specific A.I. and A-Life techniques to allow the creation of a self-maintaining 3D eco-system. The boundaries that allow the system to remain persistent will be determined. The eco-system will then be subject to random “natural” disasters and/or user interaction. The main focus would therefore be to see if the techniques could be used to create the eco-system and if these techniques can recover from the disasters and restore the system back to a state of equilibrium.

What sort of eco-system will be created? Underwater? land? Ailen? That might be outside the scope of this worksheet, but I think it would definitely need a lot of consideration.

b) What information do you need to find out about?

There are numerous differing A.I. and A-Life techniques existing that could be used in this project. These techniques would have to be studied to find those that are most relevant and appropriate and that would best suit the task.

The framework that the project will use will be researched, i.e. will it be built from scratch using OpenGL or DirectX? Or would it be easier to use a pre-existing 3D-engine.

Although largely depending on how you want to approach the graphical side of things, I would recommend a pre-built engine (ogre?). Animation, lighting, model loading atc are usually already implemented leaving you to focus more on the topic at hand. What sort of visual assets would you be using.

c) What Experimental work do you need to perform?

The experimental work will take place once the most appropriate techniques have been selected. Small demo applications showcasing each individual technique may have to be constructed to get a better understanding of the implementation issues surrounding the technique before the final application that combines them all is constructed.


Might be a good idea to look into already existing eco-system simulations outside of the games world.

3. How will the information that you obtain in 2 allow you to answer the research question?

The research mentioned above will provide better knowledge of the selected techniques and allow a better judgment to be made of whether or not it will be possible for the selected techniques to perform the task. It should also supply the knowledge to construct a working three dimensional model which can show case if the techniques can firstly create a stable eco-system, secondly, determine the boundary conditions and finally, allow the system to endure disasters and/or user interaction.








Worksheet 1

Comments are in Italics.

1. State the topic of interest that you may wish to take forward into a project

The topic of interest is the use of combined Artificial life (A-Life) and Artificial intelligence (A.I.) techniques to create a self sustaining, believable eco-system within a game environment.

Very good, you seem to have a clear idea of what you want to achieve from this project.

2. Indicate the issues surrounding this topic that you may wish to investigate.

The issues would be if the eco-system was to be populated by different groups of autonomous agents, how would these agents know and be able to behave and respond in an appropriate manner as to create the most believable and immersive application possible.

The agents would not only have to be able to respond to other agents and objects within the eco-system, but also able to respond to user interaction – the user would be able to alter aspects such as the amount of food and water available, and also be able to select and kill agents at will. The user would be able to observe the effects of their actions and see how the eco-system would respond to the changes that they have made.

A.I and A-Life techniques would have to be investigated in order to offer the best solution to the issues mentioned above.


3. Outline your initial ideas about how you would carry out the practical aspects of the project. i.e. what do you envisage yourself actually doing for the project.

Finding and creating a list of both A.I. and A-Life techniques that would be the most useful and appropriate for the project. Research into each of these techniques would then be conducted in an attempt to find not only the most appropriate techniques, but also the techniques that would be possible within the given time limit.

For the practical side of the project, I would create either a 2D or 3D (ideally 3D for a more immersive experience) environment. The agents would then be placed within the world and free to roam around. Water supplies and foliage would be randomly located throughout the environment. The herbivores would track down the foliage to feed from and the carnivores would hunt down the herbivores for food. In order to make the eco-system self-sustainable, both groups would have the ability to reproduce.


The demo seems to be pretty impressive, if completed will show the techniques that you have learnt at work. Also look good for the show case at the end of the year.



Wednesday 15 October 2008

Some Notes

Defining Artificial Life (A-Life)

Strong A-Life -> Truly alive, synthesized life.

Weak A-life -> Not truly alive, but modelling lifelike behaviour.

Genetic algorithms and genetic programming. These are similar and related yet subtly different approaches to breeding solutions and behavioural models.

Genetic algorithms (GA) – Take a best fit solution to a specific problem.

Genetic programming (GP) – modifies the solution to fit the problem by changing the actual algorithm.

Both use algorithms borrowed from our observation of life – mutation, inheritance, and genetic crossover – combined with some selection criteria. These selection criteria may differ accordingly to what the designer is trying to achieve, but they are commonly linked to the success of GA/GP implementation with respect to a given problem domain.

In our case, the algorithms are derived form classic AI building blocks and A-life theory to create more natural in-game behaviour models.


Calculated A-Life and Synthesized A-Life

Take for an example, a tile in sim city, which is designated as residential. If the population is already housed, then the square will remain empty until a calculation indicates there are more bodies than houses – at which point the square will be built apon. This is calculated A-life. The synthesized A-life might allow a passing sim to see a virtual for sale sign, which beginning a series of decisions that lead it to build on that square or not. Another visiting sim might see the 1st sims house for sale, note that there are good jobs in the area, a nice shopping mall, and decide to buy it. The result is the same. On the one hand we have dictated the outcome and on the other hand we have allowed it to take place.


I would be looking to make use of both Calculated and Synthesized A-life in my project.


If the player chooses to influence the game somehow, we allow it to react to that interaction from the ground up, whatever the consequences.