A bit OT, but I remember a very cool Quake2 mod that basically built a neural network so that bots could learn how to play.<p>The useful part was that you could save the NN to a file, and so you could let Q2 run for hours (mostly I left it at night so it wouldn't prevent me from playing :) ) and the hext day I would save the progress.<p>After about a week of doing this everynight, the bots evolved from just jumping around in their spawn points without moving, to actually run around the level and shoot the other bots on sight.<p>They didn't really have a good aim, but sometimes they would land a rocket or a rail. I always wondered how much time would I have to let the bots evolve so that they would become competitive.<p>Unfortunately after some time I lost my NN files and lost the project page. Some time later I found again the project but it was not updated and the download files were broken.<p>Wish I had saved the mod :(<p>Now, honest question: would this kind of approach work for, say, programming a Hello World program? or would the number of variables and possibilities is too big?<p>It would be interesting to put several of these bots to compete against each other, but in different languages and see which one is "easier" to grasp by the bot.