It was used during multiple local hacker conferences to keep the guests entertained. For that you would run the server somewhere, then run multiple viewers all over the place (and a big central screen) so everyone could follow the current game. Players would then connect to the server through telnet and upload their Lua code. Code could be updated while the game was running so people kept tweaking their code all the time. It was really fun seeing more than 20 player competing.
The game should still work today and is basically feature complete.
Screeps (https://screeps.com/) is an amazingly great example of this sort of game. It's available online, on steam, and as it works in JavaScript you can use almost any language due to the huge variety of transpilers. It has numerous constraints that make the game more interesting including CPU and memory limits.
Thanks for posting the list. I call these programming games for lack of a better name, some of them go way back (e.g.: Core War) [1]. I remember playing Robowar [2] on toaster macs way back when.
This reminds me of Codingame, they have a similar challenge where you code an AI for a Dice Wars-like game and send it off to the ladder to compete against other people. It's great fun
I love codingame! I looked into it before recommending it to a friend and got all sucked in. I'm currently working on an AI bot there for a competition. It's fun and forcing me to go do research on AI concepts.
If anyone is interested in learning more specifically about the Battlecode competition, I wrote a blog post giving a brief overview of the competition a few years ago: http://cory.li/battlecode-intro/
The "watch" links let you watch the actual battle simulation results in a really old viewing engine written almost 6+ years ago in Adobe Air. It was amazing at the time since you didn't have to install the full Java client just to view the matches.
The devs probably have their hands full implementing the actual game -- pretty sure no one has had time to port the codebase to something more modern. The competition organizers are primarily MIT students doing this in their spare time, so they have classwork and other things to deal with as well. :)
Wow, this reminds me of GISMO from 1991 or so. Teams of 8 tanks, 2 bases, terrain included water, mountains, forests, and plains. Implemented in dos and required a modem to compete.
Neat framework, well before it's time, very few competitors that worked. They resisted the recommendation to support TCP instead of modems and linux, even after it was ported.
It was modeled after the M1 abrams as part of a research project in AI controlled teams.
I tinkered with it, I liked it because the terrain was complicated enough to lend itself to quite a few strategies. I've not seen anything similar since.
Shameful plug: with a few friends we are planning to create another platform for such fun games. If you think it is a good idea, please sign up: https://www.botolympiad.com/
It's generally custom, although we've had teams use ML strategies to tune their bots in the past. (I'm one of the people who runs this competition).
We impose tight runtime limits on the code your AI can run - generally limiting the number of bytecodes the JVM can execute per turn per robot. This is partly pedagogical; it kinda-sorta simulates embedded programming, like for a real robot. It's also practical; it keeps people from accidentally DOS'ing themselves or our servers with infinitely-looping AI.
On the other hand, 20000 instructions per turn doesn't give you much leeway for, say, matrix multiplication, so most sophisticated ML isn't possible at runtime. You can do simple things, but they have to be tightly written.
[+] [-] 13years|9 years ago|reply
[+] [-] dividuum|9 years ago|reply
It was used during multiple local hacker conferences to keep the guests entertained. For that you would run the server somewhere, then run multiple viewers all over the place (and a big central screen) so everyone could follow the current game. Players would then connect to the server through telnet and upload their Lua code. Code could be updated while the game was running so people kept tweaking their code all the time. It was really fun seeing more than 20 player competing.
The game should still work today and is basically feature complete.
[+] [-] tomtomtom777|9 years ago|reply
http://www.rpscontest.com/ is a rock paper scissor competition. All contestants are readable; very fascinating stuff.
[+] [-] SomeHacker44|9 years ago|reply
[+] [-] JoeDaDude|9 years ago|reply
[1] http://www.retroprogramming.com/2009/09/history-of-programmi... [2] https://en.wikipedia.org/wiki/RoboWar
[+] [-] kevinmchugh|9 years ago|reply
I'd like to find a community to share these with but have no idea what these things are even called.
[+] [-] ferdbold|9 years ago|reply
[+] [-] unoti|9 years ago|reply
[+] [-] Cixelyn|9 years ago|reply
Also, we open sourced our winning 2012 bot on bitbucket here if you want to see the type of code that goes into it: https://bitbucket.org/Cixelyn/bcode2012-bot
[+] [-] WhitneyLand|9 years ago|reply
In any case here is a link to the finals on YouTube which works with mobile devices:
https://m.youtube.com/watch?v=4ruUyCbhnWg
[+] [-] Cixelyn|9 years ago|reply
The devs probably have their hands full implementing the actual game -- pretty sure no one has had time to port the codebase to something more modern. The competition organizers are primarily MIT students doing this in their spare time, so they have classwork and other things to deal with as well. :)
[+] [-] sliken|9 years ago|reply
Neat framework, well before it's time, very few competitors that worked. They resisted the recommendation to support TCP instead of modems and linux, even after it was ported.
It was modeled after the M1 abrams as part of a research project in AI controlled teams.
I tinkered with it, I liked it because the terrain was complicated enough to lend itself to quite a few strategies. I've not seen anything similar since.
http://stars.library.ucf.edu/istlibrary/104/
[+] [-] javierbyte|9 years ago|reply
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] agilord|9 years ago|reply
[+] [-] erikb|9 years ago|reply
[+] [-] hkannan|9 years ago|reply
[+] [-] sliken|9 years ago|reply
[+] [-] patmcguire|9 years ago|reply
[+] [-] kazimuth|9 years ago|reply
We impose tight runtime limits on the code your AI can run - generally limiting the number of bytecodes the JVM can execute per turn per robot. This is partly pedagogical; it kinda-sorta simulates embedded programming, like for a real robot. It's also practical; it keeps people from accidentally DOS'ing themselves or our servers with infinitely-looping AI.
On the other hand, 20000 instructions per turn doesn't give you much leeway for, say, matrix multiplication, so most sophisticated ML isn't possible at runtime. You can do simple things, but they have to be tightly written.
[+] [-] spullara|9 years ago|reply
[+] [-] Iv|9 years ago|reply
I guess that working for free food is pretty amazing for a future employer.
[+] [-] bogomipz|9 years ago|reply