Monday 17 November 2008

WorkSheet 3

This is my worksheet 3, comments are given in Itallics

Introduction and Motivation

 This project will investigate the use of combined Artificial Intelligence (A.I.) and Artificial Life (A-Life) techniques to create a believable, immersive and self sustaining eco-system.

 

For the first time since 3D graphics were introduced into computer games, game developers are now able to utilise levels of processing power that were previously inaccessible. One of the biggest issues restricting the progress and development of computer game A.I. had always been the absence of CPU resources. In spite of the progress made in processing power and other available resources – in both PC and console platforms – over the last two decades, game A.I. has not developed to its full potential. “99 percent of commercial games on the market in 2008 use a combination of the basic AI techniques from games of the 1980’s” (Guy.W,2008)

 

A-Life is still undergoing a great deal of development and as such is considered a fairly young discipline. “The key selling point that A-Life has over strict AI is that the result is more than just a few AI routines put together”(Guy.W,2008). If that was all A-Life had to offer there would have been no reason to leave the A.I. domain.

 

The video games industry has grown so much that it now generates more revenue than the movie industry. Until recently the technology used in games was compelled by a yearning for real-time, photo-realistic graphics. To a large degree, graphics technology has now arrived at a stage such that “visually stunning games are the norm rather than the exception…” (Faircloud et all, 2001). This technology is capable of completely immersing and captivating the player within the game universe. However, poor A.I. can effortlessly destroy this illusion leaving the player unimpressed. Game developers are now looking for fresh technological innovations, away from exceptional graphics to drive game development and search for a new selling point. With the constant advancements made in graphics hardware, a greater amount of graphic processing can now be moved over on to this specialised hardware, releasing much needed CPU resources, A.I is coming to the fore of new development.

 

 

Game developers have now started to take advantage of the greater levels of processing power available and have created very advanced and complex A.I. systems for use in games while not sacrificing any graphical fidelity. Games such as “S.T.A.L.K.E.R: Shadows of Chernobyl” and “Fallout 3” make use of very advanced Non Player Controlled characters (NPCs) that behave much more realistically than the NPCs of any previous game. These games, along with several others, exhibit the levels of immersion and realism available through the creation and use of combined advanced A.I. techniques.

If i remember correctly the A-Life system in STALKER was intended to control all agents, animal and human NPCs. However they kept finding problems with the gameplay as it was very difficult to produce a state where one faction of PCs would not be able to overwhelm the other. I think that you are underestimating the complexity of creating a system which is stable left alone, let alone one which can move toward stability following disaters and player intervention.

 

Research Question

 

“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 in a state of equilibrium.”

 

Addressing the Question

 

To be able to address the question effectively, a large amount of research will have to be conducted into the many existing A.I. and A-Life techniques that would be capable of accurately mimicking animal behaviour and managing an eco-system. This research has already begun and as such, the following techniques have been selected on the basis of best relevance to the question stated above: Fuzzy Logic; Flocking; Path Finding; Chasing and Evading; Swarming and Potential Function Based Movement. An in depth and extensive literature review of each of these techniques will now have to be conducted to find the most suitable. This review will consist of a look at the general theory behind each of the techniques, the pros and cons in relation to the research question and the specific ways that they can be, and have been, applied to game situations.

 

After the literature review has been concluded, the most relevant way to advance the investigation into the techniques listed above would be the creation of an application demonstrating the selected techniques in action. Since the application is going to model animal behaviour, it was decided that the most appropriate simulation to create would be a constant eco-system. This constant eco-system should be able to function and remain in a state of balance with or without user interaction. The agents within the eco-system will be almost fully autonomous and will go about their ‘daily lives’ just like real life animals. It is essential that the eco-system be able to reach a state of equilibrium so that:

  • Firstly, it can be observed if the selected techniques can perform such a task.
  • Secondly, so that the boundaries can be established that allow the eco-system to remain in this state of harmony. ( Since there will be a huge amount of variables being used in each of the techniques, the variables that will have the strongest effect on the overall outcome of each technique will be homed in on and these will be altered to establish boundaries.)
  • And finally, if the selected techniques are capable of keeping the eco-system within a state of equilibrium after some form of ‘natural’ disaster and/or user interaction upsets this balance.

 

To be able to create this demonstration program, an appropriate engine must be sought out and reviewed. Methods must then be chosen to be able to employ the selected techniques. The best way to select the methods would be through meticulous analysis of the literature review.

 Is the eco-system being activly managed or is it simply that you have arranged the initial conditions such that the simulation will be stable?

What kind of scale is your eco system going to be on (number and density of agents) and what kind of complexity (how many different species of agent) and over what timescale  should it remain stable?

I’m not sure if you really need to be tweaking that many variables to achieve ecosystem stability. I would think that if there will be as many herbivores as the ecosystem can support with as many carnivores that can be supported as can be had from the growth and wastage of your herbivore population. There will be some equilibrium reached after the simulation has run for long enough. It’s just a matter of whether it’s a very interesting equilibrium or one with very few animals alive.

I take it the goal is for the ecosystem’s population distribution among species to reach a new stable state as opposed to a minor imbalance from natural event/player actions leading to a massive change?  What if the player decided to eradicate a certain species of agents, would additional populations be brought in from outside the ecosystem or would the species be allowed to become extinct? It might be difficult to create a self-sustaining eco-system that can withstand a destructive player without resorting to cheating methods like spawning additional animals from nowhere.

You don’t necessarily need to create a 3d visualisation of the ecosystem. It might be better for you to save your efforts in this area and produce only a simple 2d visualisation which would be more than sufficient to allow one to see how the animals were interacting by seeing their distribution and perhaps be able to hover over a animal icon and get a status for that animal?

Have you considered implementing this as a mod for an existing game? You could make use of that game’s existing low-level AI behaviours like pathfinding which would allow you to focus on the high-level ecosystem modelling stuff.

Resource Requirements

 

The resource requirements for the project will be kept relatively simple. Access to a windows based PC with a working copy of Visual Studio .NET 2005 installed. This computer will also need to have the selected 3D engine available and both OpenGL and DirectX installed to be able to create the application. These requirements are not out of the ordinary – with the exception of the 3D engine. However, a couple of engines are freely available to students, and are also installed on certain PC’s within the University therefore choice of engine will have to be based on this.

Overall David I think your proposal is an interesting proposition. I think you need to look more into how an ecosystem actually works in order to get a better understanding of the processes you are modelling and how these can be achieved with the mix of AI techniques you are proposing.I think the difficulty will be more in creating a stable ecosystem which is interesting, (can I request you model the platypus – I have often wondered as to the point of this creature in an ecosystem) stability should be reached just by supply and demand of food.

No comments: