No way this will work over the course of a single one player game. It really needs a centralized server and thousands of players, not to mention a better fitness function than lifetime.
When it does work, it takes about 10 levels for interesting behavior to evolve. However that only happens in 1 in 20 games :-( The AI definately needs some work.
That's an excellent idea about a centralized server. that would make things very interesting.
Fitness is not just lifetime, it's fitness = lifetime + (I_Killed_Knight Reward_Factor)
Reward_Factor ~ 4 max lifetime.
There's not too much special about the formula, or the reward factor, those are just what made it work once in a while :-)
I think yes and no. Something like the centralized server is a good idea to learn from lots of players. Did you have something else in mind for collecting data?
But I think machine learing is about selectively ignoring information, cutting to what's important. But of course you do need enough information to start with.
An idea I always wanted to play with: competing learning agents, where the players 'train' the characters somehow (perhaps specifying parameters, or playing against their creations, or selectively pitting one character against each other...), who then independently fight and learn over time. Then you could have big melees, and try to evolve the most useful/fun behaviours.
The formula should evolve dragons which are running away.
He gives higher fitness for dragons which live longer, therefore all dragons which attack the player will be the first which are killed. And giving a big reward for killing won't help much. As only one dragon can kill, all other dragons will still profit from keeping out of reach of the player.
Nice idea, but to impress me it should actually work ;-)