Welcome to the Smith Project - a software project on Locale Prediction using Artificial Neural Networks. The Smith Project is a rudimentary 3D computer game that utilises artificial neural networks to enable computer agents to anticipate a target's location and shoot (bullets) in the corresponding direction.
The computer game is a pretty simple shooter game that is played on a 2D plane (but the environment is actually 3D). The human player gets to play as one of the agents against multiple computer agents. [I use the word "agent" here but it is the same meaning as a "bot"]. As you move, the agents will train their respective neural network in real-time and optimise their aiming to how you move.
The neural network training set is fairly samll (approx 30) for each agent as excessive iterations of large training sets can significantly hinder the performance and playbility of the game. New samples are continuously added to the training set.
So how well does it work (as of 12/12/2005)? Well overall it works as "expected". The agents could roughly only remember the last 30-35 seconds or so and can optimize to a particular movement in about 100 epochs (the time to reach 100 epochs depends on how the human plays). But if you do something drastically different immediately, the computer agents will have to take roughly 100 epochs to optimise your movement again. It was quite clear that if you zig-zag all over the place, the computer agents couldn't optimise to that movement as you are changing directions all the time.
A good example for testing the learning: go up to one of the agents and move in a circular fashion around the agent for approximately 30 seconds. Try to be consistent in your circular movements and you'll start seeing the bullets hitting you more often and eventually it will hit you everytime. Move in the opposite circular direction, the agent will again take time to optimise and you'll see the same behaviour. However, if you started moving in the original circular motion, the agent will have to optimise all over again and this is a flaw in the agent design and is something I hope to improve on.
Issues of consideration: training set size - as this essentially correlates to how much the computer agents can remember; utilising deterministic techniques to help the neural network train; using genetic algorithms.
This website will continually be updated along with http://sourceforge.net/projects/smith-project/ which is mainly for project development/management and configuration control. All file releases can also be found here.
Special Release Smith Project v1.01a source
Special Release Smith Project v1.01a program
Note: This is a "special" release that doesn't have any additional functionality related to the core AI aglorithms. New things include a particle system and GLSL shaders. The particle system is a simple Euler approximated particle system that has particles attracted to each other by gravitational force (gravity constant is 1.0) in a simulated vacuum. Collisions are non-elastic. Your graphics hardware must support pixel shaders.
Smith Project Thesis Documentation