2004 ICFP Contest Spinoff Game
TheRealFoxFire writes "Taking a page from the popular Corewars competitive programming game,
the 2004
ICFP Programming Contest task has been turned into an online
competition: Ant Wars. In the game, programmers create
state-machine ant "brains" which battle against each other for food and
programmer glory. And just in time for the ICFP contest itself, where this year's winners will be announced."
This sounds like IBM's Robocode contest from a while back. In that particular game, you wrote a robot class built around a predefined basic robot, using a provided API for stuff like "radar," and sensing when you're in the line of fire. Your robot would battle with N other robots in an arena, and the last left standing would win.
I think whoever won the contest last time won a new ThinkPad Notebook, but that was two years ago. By now, I think Robocode's been set aside within IBM.
Now it looks like some Third Party's built a competition around IBM's Robocode.
Michael C. Hollinger
This is quite a nice visual program. The idea is to build a brain to "run" a bug. Nice educational tool....
here's what i was looking for - a robot programming game you can use any language in
Keep your packets off my GNU/Girlfriend!
It's done in Java, so why not use Java as the scripting language? I imagine with Java security managers, you could give programmers access to a small set of ant-related classes, and disallow access to everything else, including lots of the standard built-in classes, even HashTable and List, so you can't build particularly complex code. At least it would be in a standard syntax, instead of their custom state-machine language.
...)
...)
...) ...) ...)
...) ... ...))
Formicidae source files consist of a sequence of constant and state
definitions. They have the form:
(DEFINE-CONSTANT )
(DEFINE-STATE
STATE-EXPRESSION is any of:
(-> )
Unconditional jump to the state named by STATE-NAME>
(BEGIN
Sequencing of states.
(STATES ((
Local & recursive (a la LETREC) binding of state names to their
respective state sequences.
(IF
)
State branches. CONDITION may be a simple branch -- a Formicidae
state whose operator takes multiple continuations, {PICK-UP, MOVE,
SENSE, FLIP}, which would not be otherwise usable outside of IFs --
or uses one of the three boolean logic operators {NOT, OR, AND},
whose meanings are obvious.
(COND (
(ELSE
Syntactic sugar for nested conditionals. This is exactly as COND
in Scheme...
I heard about a technology a few years ago nicknamed "Ants" for phone lines that found the best possible route from point to point in much the same way that ants leave chemical trails to tell the other ants where food etc. is.
I'm sure there's more practical uses of programming "ant brains" that this contest will uncover.