Aritficial Neural Networks - Cooperative Learning Agents - NEAT
Version 1.0.1
An acedemic project aiming to see how effective the agents in a simulated environment co-operate with each other when pitched into a battle encounter against a difficult opponent.
Inspired by a couple of in-game mechanics from various MMO(Massively-Multiplay Online) games, the AI agents will use an advanced learning neural network to display appropriate game class specific behaviours and then evolve to further enhance on their learning.
The tools used in this project :-
- OGRE (Object-Orientated Graphics Rendering Engine)
- Control in-game AI agents 3D visual display as well as interactions between user and simulation.
- NEAT (NeuroEvolution of Augmenting Topologies)
- An AI API to control the learning and evolution of game AI agents in the simulation.
A more detail documentation can be found on the project report which can be found in the application folder or here:
ANN Learning Agents Report
New in this version:
- Doxygen documentation.
- Cleaned unwanted/unused variables and functions.
- Added a few comments to code.
- Left out header code documentation for NEAT classes.
- Removed all functions that cause OGRE crash when trying to run additional window.
- Fixed problem with OGRE root crash after exiting program.
Previous change:
- Added TinyXML files. To set ready for generation details export rather than to txt format.
- Change particle effect on enemy aggro.
- Added control to change group visibility.
This project simply runs off directly from the project file. The IDE that's highly recommended for use in this project is
Miscrosoft Visual C++ Express 2005.
OGRE SDK pre-compiled version is also required for the project to run. The version used in this project is version 1.4.5 and I recommend installing this version rather than the lastest version in order to compile the project.
Download the pre-compiled SDK here (version link) Download 1.4.5 version:
After setting up Ogre SDK and simple open up the VS project. Before compiling check the following things:
- Open up the ANN project properties and on the "Configuration Properties" check the following:
- In Debugging tab check if the Command setting is set to "<b>..\ANN\bin\$(ConfigurationName)\$(TargetFileName)</b>" without quotes.
- In the same tab check if the Working Directory is set to "<b>..\ANN\bin\$(ConfigurationName)</b>" no quotes.
- Fill these in for both debug and release version of the project.
- This will simply run the .exe application when ever you build the project.
That's it for now!