I’ve always had in the back of my mind developing some sort of framework for enabling programmers to pit code against each other, similar to Waterloo’s AI Contest. The aforementioned framework had some limitations that hindered development for me, namely that it took an executable but required language support on the server side, plus it ran each executable once per frame of game, so everything was immutable. Interesting, but not flexible enough for me. I’d like to solidify my architecture before starting, so any suggestions on what worked would be nice! Here’s what I’m thinking:
1. flexible enough to support multiple titles. I’d love to see people pit something as simple as tanks in a 2d level, or something more complicated like Dominion AI or Super Mario.
2. always running. This would likely mean some sort of executable/dll upload, so the server could continuously pit code against each other and generate ranks. Then as people updated theirs, it would bubble them up (or down!) the rankings.
3. multiple language support.
4. multiple platform support? I’d love to have an option for limiting memory, or execution time, or something. That’s what we’re faced with in the games industry, so it should be an option. Even running the server on PS3 and making each AI an SPU ELF might be interesting.
Any thoughts on how people would want this to work? Or have people submitted or used something similar that worked/didn’t work? Comments are encouraged!