This is a bit old, but I had an idea earlier that I didn't get to try, so I might as well put it here.
Instead of evolving a path, the enemies might evolve an Artificial Neural Network
. They work quite well
(in simulations, at least
), so I though about using ANNs as the base of an evolution game.
Code: Select all
| < E |
| > > > |
| P < E|
| < < E |
Like the player and enemies are flying over... Something. And they shoot you, don't lose all your HP, etc.
The input neurons to the enemies' ANN would basically be everything about the game state: height above ground, horizontal distance to (left/right) wall, X and Y velocities, relative (absolute?) X and Y distance to player, relative (absolute?) X and Y distances to bullets, and probably some other stuff I haven't thought of. The output would be acceleration (X and Y), probably capped, and whether or not to fire (firing should knock back the enemy/player a bit, so they don't fire continuously).
Each level, 10 or 20 enemies come, and you have to shoot them all before they kill you. After every level, the enemy that survived the longest would create the next generation (with mutations), the weights in the ANN changing.
There could be a lot more features (walls/floor may kill the enemies so they don't hide there, upgrading weapons, increase enemy HP after every round, etc), but this is just a general idea. It's quite similar to what actually happens in biology (usually, the weights adjust themselves), and should be very realistic. Only problem is it might be hard to implement.