Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology Entertainment Games

2004 ICFP Contest Spinoff Game 59

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 discussion has been archived. No new comments can be posted.

2004 ICFP Contest Spinoff Game

Comments Filter:
  • by BalorTFL ( 766196 ) on Sunday September 12, 2004 @11:32AM (#10227772)
    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...
  • Very cute but... (Score:5, Insightful)

    by Anonymous Coward on Sunday September 12, 2004 @11:40AM (#10227817)
    ...if you'd like to see a more advanced simulator which has an ant demo, see MASON [gmu.edu]. A nice paper on it was presented at AAMAS this year.
  • This sounds like IBM's Robocode [ibm.com] 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 [robocode.ie] built a competition around IBM's Robocode.
  • My entry... (Score:4, Funny)

    by Black Parrot ( 19622 ) on Sunday September 12, 2004 @11:45AM (#10227844)


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

  • by Anonymous Coward on Sunday September 12, 2004 @11:47AM (#10227859)
    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.
  • Bug Brain (Score:5, Interesting)

    by tuxter ( 809927 ) on Sunday September 12, 2004 @11:48AM (#10227863) Journal
    This is quite a nice visual program. [biologic.com.au] The idea is to build a brain to "run" a bug. Nice educational tool....
  • 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.
  • will the ants take the turing test do determine who gets to be the queen? i'm not witty.
  • Forum statistics (Score:3, Informative)

    by onthefenceman ( 640213 ) <szoepf@hotmai[ ]om ['l.c' in gap]> on Sunday September 12, 2004 @12:02PM (#10227930)
    "In total there are 182 users online :: 2 Registered, 0 Hidden and 180 Guests"

    Looks like a promising audience...
  • Intro to the game (Score:4, Informative)

    by Rightcoast ( 807751 ) on Sunday September 12, 2004 @12:05PM (#10227950) Homepage

    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 [koth.org]
  • Google ads (Score:1, Funny)

    by Anonymous Coward
    The best part is the Google ads on that page. The algorithm totally failed, with four ads for ant-control. Yes, real ants.

    Oh well.

  • by corporatemutantninja ( 533295 ) on Sunday September 12, 2004 @12:05PM (#10227952)
    I guess the Google algorithm took the words "ant" and "programmer" and assumed some kind of nasty infestation.
  • man, there were tanks and shit. BOOM!

    some related stuff, as i was looking for it:

    http://www.gammax.net/aiforge/game-links.htm
  • realtimebattle (Score:3, Interesting)

    by Hubert_Shrump ( 256081 ) <cobranet@@@gmail...com> on Sunday September 12, 2004 @12:34PM (#10228102) Journal
    here's what i was looking for - a robot programming game you can use any language in [sourceforge.net]
    • The ants in Ant Wars are defined using a bytecode, so you can create/use any language which generates said bytecode.

      An example ant species genome:

      .f6..2..81....5...2....l...6.2..b..d0.....6.1..g..
      i0v....1.......8.f3..o..t1....r...3.....6.2..w..y0
      ....l6.1..B..D0v...l1....l..t
  • by Anonymous Coward
    corewars.org is a quite unlucky link for corewar. Much better sources are:

    http://koth.org
    http://www.corewar.info
    http:/ /www.corewar.co.uk

    Fizmo
  • Acronym (Score:4, Informative)

    by Noksagt ( 69097 ) on Sunday September 12, 2004 @12:50PM (#10228167) Homepage
    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.
  • by lastfish ( 246549 ) on Sunday September 12, 2004 @01:31PM (#10228349)
    The corewars site linked to in the story has never been known to be active or complete.

    The KOTH server [koth.org] 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 [corewar.info].

    There are beginner's hills and others at
    SAL hills [ualberta.ca]
    Yellow hills [sourceforge.net]

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

    Ant wars looks interesting - pity the event is over [upenn.edu]

  • Strange syntax (Score:3, Interesting)

    by ceswiedler ( 165311 ) * <chris@swiedler.org> on Sunday September 12, 2004 @01:45PM (#10228399)
    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...
    • Dude have you ever heard of lisp? It uses an interpter programmed in java but it implements the scheme programming language. Google SISC. or RTFC
    • S-expressions are a easy to parse notation, and is so simple, that "standard" could surely describe it. At any rate, they mention that while you could write the whole program yourself, having code, that generates your program, would be optimal. Java code, that generates java code? I would hate to see that. S-expressions are easy to generate, consider Lisp code, that generates, or evaluates Lisp code.
      • Java code, that generates java code? I would hate to see that.
        .. don't follow this link [sun.com].
        • Ok ... so I did ;)

          Now, I've never done much (if anything) with JSP, so please tell me how Java can easily, and naturally, without much string mucking, can both a generate, and interpreter of itself? Some simple code examples would be great, since of course, I can't really spend time learning all of JSP.

          Now, generating bytecode objects, or stuff like that, isn't the idea. It's generating plain text files, with Java. From Java. With my limited knowlegde of Java, I don't see anyway, this can easily be done,
          • "...so please tell me how Java can easily, and naturally, without much string mucking,..."

            Well, since source code is usually text, eliminating "string mucking" certainly makes it harder, don't you think?

            Can you think of some other ways to ham-string your request?
            • Either you're being facetecious, or you don't know how to write a language, and a compiler. The extreme simplicity of s-expressions, versus the full grammar of the java language should alone tell you that string parsing the java language is going to be 100 times as difficult.
          • Well.. a JSP implementation is java code which generates java code, not java bytecode.

            If you want to generate/manipulate bytecode directly you should take a look at the Byte Code Engineering Library [apache.org].

          • Take a look at the JSP specs. The semantics of JSP constructs are specified by saying that they are equivalent to a bunch of constructs using the java servlet spec. There really is no magic; JSPs can be converted into java servlets (dynamically, if required) and compiled into classes (again, dynamically: the stock java compiler's written in java and is available from runtime). The final (often dynamic) piece of the puzzle is to use a classloader to grab the generated class files and make them available in t
    • What I personnaly like, is the fact that you can actually write it in asm or a higher language language, while I haven't got enough time, I can think of some people who'd enjoy writing a little interpreter for, let's say, perl to handle the syntax and then run the asm file through the assembler.

      I always thought these kind of things were great, reminds of me of gridwars and stuff

    • 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 reasonab

    • Re:Strange syntax (Score:3, Informative)

      by j1m+5n0w ( 749199 )

      why not use Java as the scripting language?

      Part of the challenge of the IFPC contest [upenn.edu] 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

  • Phones (Score:3, Interesting)

    by xombo ( 628858 ) on Sunday September 12, 2004 @02:23PM (#10228598)
    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.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...