1. How Can Genetic Algorithms best be used to create non-playable characters which are capable of adapting to better compete against different types of player in a real time game environment and what are the issues associated with their use?
2a. Using Genetic Algorithms to create enemy A.I. capable of altering behaviour in order to better compete against a player or other A.I. in a real time game environment. This will involve a scenario where there are numerous possible options for what the character should do, as well as numerous "inputs" which will help it decide. Theses inputs will be used to choose from the options based on a set of "genes" that the character has. The most successful characters will then pass their "genes" onto later characters which should mean that new characters evolve in the direction of greatest success.
2b. The usage of Genetic Algorithms and the various ways in which they can be implemented. This includes things like chromosomes, genes, crossing over of chromosomes and mutations. This will also include how the characters will make decisions based on their "genes".
2c. I will need to create a multiplayer game with a reasonable amount of decision making. There will need to be numerous stimuli for the characters to take note of and numerous options for them to choose based on these stimuli. Then several different variants of a Genetic Algorithm will be implemented to allow the non-playable characters to evolve, and these will be compared, along with a test case containing no evolution, to see which provides the best evolution in a way that positively impacts gameplay, while not having too large an effect on performance. The A.I. will be evolved over a number of generations and the results will then be able to be compared. The optimal results for the experiment will be to create A.I. entities which adapt to counter a players tactics while still being flexible enough to perform well if a player changes tactics. However it is important to note that the aim is not to create an unbeatable A.I. and as a result modification of the standard genetic algorithms, which seek the optimum performance as standard, may be necessary. To provide suitable range for the A.I. I am thinking about testing the Algorithms in a game based on Bomberman. This would allow decisions between being offensive or defensive, decisions about going for powerups, and which powerups to go for as well as other strategic decisions. This would allow for a fully developed A.I. with plenty of scope for adaption while still being a relatively simple game and hence allowing me to concentrate mostly on the A.I. itself.
3. Once the various methods of implementing Genetic Algorithms have been researched and one has been implemented within the demo application it will be relatively simple to adjust the way in which the algorithm works to provide numerous variants. These can then all be put through stages of testing to see which provides the greatest gain at the lowest cost. Throughout the experimentation it is likely that any issues with the Algorithms will become apparent and so this too can be documented.
It is worth noting that after my meeting with Dr King and further research the aim of my project has shifted a bit from what has been mentioned in previous posts.
No comments:
Post a Comment