Slashdot Mirror


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."

20 of 59 comments (clear)

  1. ...but that would be cool, too... by BalorTFL · · Score: 4, Funny

    Totally misread this the first time around:

    ...In the game, programmers with state-machine ant "brains" battle against each other for food and programmer glory...

  2. Very cute but... by Anonymous Coward · · Score: 5, Insightful

    ...if you'd like to see a more advanced simulator which has an ant demo, see MASON. A nice paper on it was presented at AAMAS this year.

  3. Sounds like IBM's Robocode contest from... by Hollinger · · Score: 4, Interesting

    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.

    1. Re:Sounds like IBM's Robocode contest from... by Fjornir · · Score: 4, Interesting
      Let's not forget C Robots! A similiar game where you hack your robot's instructions with a psuedo-c.

      There's a C++ variant as well.

      There was a less interesting (but much more complex) programmable-robot game floating around in the BBS days which used a BASIC. Although it had a beautiful GUI (for the era) its biggest failing was that it allowed customization of your robot's chasis, weaponry, etc. Unfortunately this wasn't well balanced, and the competition we had running quickly degraded and we all lost interest.

      --
      I want a new world. I think this one is broken.
    2. Re:Sounds like IBM's Robocode contest from... by r2q2 · · Score: 2, Interesting

      This is more advanced than core wars. Instead of having one program it has the same program done multiple times (as little ants). Look at the species page and try a combination (Foo 0.1 against foo 0.4 for example). Note you need java.

      --
      My UID is prime is yours?
    3. Re:Sounds like IBM's Robocode contest from... by FnH · · Score: 2, Informative

      Robocode is still very much alive.

      Proof of this is a very active wiki.

      Join, we could use some new cannon fodder :)

  4. My entry... by Black+Parrot · · Score: 4, Funny


    [start] --> [attackjudges]
    [attackjudges] --> [checkrankings]
    [checkrankings] --> [idle] , if rank is "1st"
    [checkrankings] --> [attackjudges] , otherwise
    [idle] --> [checkrankings]

    --
    Sheesh, evil *and* a jerk. -- Jade
  5. corewars.org?! Try http://www.corewar.info instead by Anonymous Coward · · Score: 3, Informative

    http://www.corewar.info/ Is maintained by Christrian Schmidt, one of the great corewars men. Or you could go to http://www.corewar.co.uk/ Maintained by John Metcalf, corewar hall of famer.

    Or better yet, you could try www.koth.org or sal.math.ualberta.ca and go straight to the hills.

  6. Bug Brain by tuxter · · Score: 5, Interesting

    This is quite a nice visual program. The idea is to build a brain to "run" a bug. Nice educational tool....

  7. Winners will be announced at the ICFP by bringert · · Score: 2, Informative

    The winners will be announced at the ICFP (International Conference on Functional Programming) itself, not the ICFP Programming Contest. The contest took place in June. The conference is in Snowbird, Utah, September 19-22. See you all there.

  8. Forum statistics by onthefenceman · · Score: 2, Informative

    "In total there are 182 users online :: 2 Registered, 0 Hidden and 180 Guests"

    Looks like a promising audience...

    --
    Have you seen my stapler?
  9. Intro to the game by Rightcoast · · Score: 4, Informative

    Here is a very simple introduction for anyone new to the game and interested in playing.



    http://www.koth.org/info/corewars_for_dummies/dumm ies.html
  10. Check out the Google ads on the Ant Wars page by corporatemutantninja · · Score: 3, Funny

    I guess the Google algorithm took the words "ant" and "programmer" and assumed some kind of nasty infestation.

    --
    Actually, I was trying to be Insightful, not Funny.
  11. realtimebattle by Hubert_Shrump · · Score: 2, Interesting
    --
    Keep your packets off my GNU/Girlfriend!
  12. Acronym by Noksagt · · Score: 3, Informative

    Slashdot submitters: try to explain acronyms you use in your submission. Same should go to people who make the original websites too. It took a lot of poking around to figure out ICFP=International Conference on Functional Programming.

  13. Corewar links correction by lastfish · · Score: 3, Informative

    The corewars site linked to in the story has never been known to be active or complete.

    The KOTH server is home to the "pro" hills of which 94NOP is the most active.
    The most up-to-date site for info & links is Fizmo's.

    There are beginner's hills and others at
    SAL hills
    Yellow hills

    There's also an IRC channel at irc://irc.koth.org#corewars

    Ant wars looks interesting - pity the event is over

  14. Strange syntax by ceswiedler · · Score: 2, Interesting

    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...

    1. Re:Strange syntax by TheRealFoxFire · · Score: 2, Informative

      As has been mentioned, the high level language is written to be easily parsed and compiled (its recursive and LISPy). The target is actually bytecode, so there is nothing stopping people from writing any sort of syntax, or higher level frontends capable of things that aren't possible in the provided language.

      We don't use Java, one, because we don't want people to have to use Java, and more importantly we have to avoid turing completeness both to keep the game simple and elegant, and to ensure a reasonable amount of time to simulate games.

      Besides, the Java Security Manager isn't so fine grained that you can turn off arbitrary parts of the Java library. It just prevents certain known dangerous things like I/O, etc.

    2. Re:Strange syntax by j1m+5n0w · · Score: 2, Informative
      why not use Java as the scripting language?

      Part of the challenge of the IFPC contest was that the ant language is significantly less powerful than what people are accustomed to coding in. In order to write anything that isn't horribly painful, you have to write your own compiler.

      The only per-ant state that is remembered is the state number (ants are limited to 10000 states). For instance, in order to remember which way your ant is pointing you can't just remember it in some variable, you have to make six copies of your program and jump between copies any time you turn right or left.

      What this means for the game is that when an ant reaches food, it can never remember how to get back without actually marking some sort of trail (which might lead nowhere). Coordinating complex behavior between multiple ants is difficult, though not impossible.

      -jim

  15. Phones by xombo · · Score: 2, Interesting

    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.