AI Code War - An idea in progress..
#1
Posted 04 April 2012 - 09:01 PM
The code war staff (consisting of myself and a few other handpicked people) will create an undisclosed, simple game. On the day of the actual event, we will publicly release the game. Each contestant (or team) would then make an AI to play the game autonomously. After the deadline (something around a day or two), all of the submitted AIs will play each other (1v1, 2v2, 3v3...) in a bracket-style tournament, eventually winding down to one winner. The games will be streamed live so both contestants and the general public can watch the AIs battle.
Some details would have to be worked out, such as how exactly contestants should program their AIs. It may be a good idea to simply encapsulate all coding and functionality to one object that the contestant will submit (this will be their entry). To have two AIs verse, we would then import both objects (both AIs) into an empty game source file, place them both in the game room, and run it.
What do you think? Questions? Comments?
EDIT: Just to note, I got this idea from a recent competition, though I didn't participate.
#2
Posted 04 April 2012 - 09:21 PM
Sounds like a fun idea. +1 But I agree it would need structure/rules to make it fair (and possible to judge).Some details would have to be worked out, such as how exactly contestants should program their AIs.
So for example, you could define a playable character, and the objective. And then competitors would write the code for the STEP event only (except for variable initialization in CREATION event). For more structure, you could even specify specific behaviors, and then let competitors program those.
But you've probably already thought about this. So I'm eager to hear more details.
EDET: tpeyos.
Edited by chance, 04 April 2012 - 09:27 PM.
#3
Posted 04 April 2012 - 09:25 PM
+1
#4
Posted 04 April 2012 - 09:36 PM
Right, the game would be extremely structured. And just like a regular pre-existing game (chess, for example) the specific rules of that game will have to be followed (rooks move in straight lines, bishops move on diagonals, etc... though the actual game will be more interesting to watch than chess.) Most likely, it would be some sort of turn-based game as well. We'd also have limits on computation time per turn (something like 2,000ms). Thanks for the support!But I agree it would need structure/rules to make it fair (and possible to judge).
Some details would have to be worked out, such as how exactly contestants should program their AIs.
#5
Posted 04 April 2012 - 10:00 PM
(whether or not I'll manage to enter.. is entirely another matter!)
I use to do something like this with AT-robots back even before I knew how to use GML. Although my creations were pretty shonky designed, and relied on a lot of hard-coded guesses, they performed pretty well in the tournaments I use to run them against of the other AI.
#6
Posted 04 April 2012 - 10:32 PM
An AI loses automatically if it hangs in a while loop.
#7
Posted 04 April 2012 - 11:18 PM
Just make sure both AI's have a lot of health so the fight is long and dirty.
Are coders allowed to make their AI camp?
Edited by orange08, 04 April 2012 - 11:36 PM.
#8
Posted 05 April 2012 - 12:02 AM
Yes, that's what I'm referring to when I talk about how they need to follow a certain set of rules. For each move, there is a set of valid moves that an agent can take. This set of moves can be included in the code of the program as to ensure standardization. Of course, we'll check manually to see if anyone is cheatingWhat you could do to ensure none of the AI's perform illegal moves is to provide a list of functions of what the AI can do.
I do plan on releasing a few tutorials on this sort of programming (known as adversarial search in AI) before we start this event, if we end up going through with it.
As for camping, we won't disallow any strategy as long as it isn't cheating
#9
Posted 05 April 2012 - 12:02 AM
On an actual useful note: ....Nah, I got nothin'.
#10
Posted 05 April 2012 - 12:25 AM
#11
Posted 05 April 2012 - 04:51 AM
#12
Posted 05 April 2012 - 09:56 AM
Have you considered how the fighting would happen? Like shooting projectiles, with a set delay for firing?
Swifty
Edited by Swifty, 05 April 2012 - 10:13 AM.
#13
Posted 05 April 2012 - 10:07 AM
#14
Posted 06 April 2012 - 09:49 AM
Edited by Druid TC, 06 April 2012 - 09:50 AM.
#15
Posted 06 April 2012 - 12:23 PM
1-2 days is a pretty short submission period -- even compared to the 3-day Jam. I'm OK with it, but just wondering if there's a particular reason for keeping it so short.On the day of the actual event, we will publicly release the game. Each contestant (or team) would then make an AI to play the game autonomously. After the deadline (something around a day or two), all of the submitted AIs will play each other (1v1, 2v2, 3v3...) in a bracket-style tournament, eventually winding down to one winner.
#16
Posted 06 April 2012 - 02:13 PM
#17
Posted 06 April 2012 - 04:17 PM
Can assume that it'll work this time too. Perhaps could be interesting to restrict 'access' of AI's on code level, meaning that it would not be possible 'cheat out of limit' even if trying (i.e. changes to X\Y position are overriden by movement to offset location).
#18
Posted 06 April 2012 - 04:40 PM
We could make it longer. Though I'd still rather keep it somewhat short, just so people don't have all the time in the world to sit and brew on the subject and code.1-2 days is a pretty short submission period -- even compared to the 3-day Jam. I'm OK with it, but just wondering if there's a particular reason for keeping it so short.
On the day of the actual event, we will publicly release the game. Each contestant (or team) would then make an AI to play the game autonomously. After the deadline (something around a day or two), all of the submitted AIs will play each other (1v1, 2v2, 3v3...) in a bracket-style tournament, eventually winding down to one winner.
#19
Posted 12 April 2012 - 02:39 PM
Didn't we have a similar event some years ago? Though I think that did not add development time constraints.
Can assume that it'll work this time too. Perhaps could be interesting to restrict 'access' of AI's on code level, meaning that it would not be possible 'cheat out of limit' even if trying (i.e. changes to X\Y position are overriden by movement to offset location).
Yeah, we did. It died before I actually had the chance to submit anything
That was a TDS environment, where it did indeed have strict restrictions on the bullets that could be fired (had to use the same image), health amount, etc. Really, I think that came down to feeling like a movement-optimization script more than anything else because it was rather strict.
Perhaps you could implement (this is just an idea) a system where you can "buy" the right to break certain rules, perhaps by bartering off other stats in return, like movement speed, defense, health points, etc. This would shake things up greatly, I feel. Instead of having a set amount of health and damage I could do, give the player a set amount of points they could point toward leveling up any stat, with some super-stat options, like the ability to fly or have more freedom with bullet design itself. The programmer would have to include what points they spent where when they present their creation.
#20
Posted 12 April 2012 - 04:18 PM
Good idea! I haven't thought of that. It would certainly add a new dimension to the competition. It would also pave the way for more defined strategies. An easy relation I can make here is in Age of Empires II (and other RTS games, I'm sure) different civilizations have different bonuses which make different strategies more effective for different civilizations.Perhaps you could implement (this is just an idea) a system where you can "buy" the right to break certain rules, perhaps by bartering off other stats in return, like movement speed, defense, health points, etc. This would shake things up greatly, I feel. Instead of having a set amount of health and damage I could do, give the player a set amount of points they could point toward leveling up any stat, with some super-stat options, like the ability to fly or have more freedom with bullet design itself. The programmer would have to include what points they spent where when they present their creation.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users











