Slashdot Mirror


2002 ICFP Programming Contest

Phil Bewig writes "The 2002 ICFP Programming Contest begins today. The programming task will be posted at 12:00 noon Pacific Time." Which should be... just about... now.

215 comments

  1. Unlimited Bragging Rights by G0SP0DAR · · Score: 1

    Does that unclude a carte blanche to exempt all of my extremely boring required programming classes in school?

    --


    Calm down, it's *only* ones and zeroes.
  2. Very cool task this year by jat850 · · Score: 1

    Now that is a very cool-sounding task.

    One of the classes at my university last year had to write a simulation like this using Eiffel. Ick!

    --
    the blood has stopped pumping, and he's left to decay
    the me that you know is now made up of wires
    1. Re:Very cool task this year by cicatrix1 · · Score: 1

      What's wrong with Eiffel? I mean once you get past the $$$ issue of getting it...

      --

      I know more than you drink.
    2. Re:Very cool task this year by jat850 · · Score: 1

      I think I grew up on a terrible, terrible Eiffel IDE. Besides that, I found the language really unintuitive after having first programmed in C and C++. Personal preference, but god help me if I ever have to program in that language again :) (or fortran!)

      --
      the blood has stopped pumping, and he's left to decay
      the me that you know is now made up of wires
    3. Re:Very cool task this year by richieb · · Score: 3, Insightful
      What's wrong with Eiffel? I mean once you get past the $$$ issue of getting it...

      What's wrong with GNU SmallEiffel?

      --
      ...richie - It is a good day to code.
    4. Re:Very cool task this year by SteelX · · Score: 3, Funny

      One of the classes at my university last year had to write a simulation like this using Eiffel. Ick!

      Ugh.. I couldn't agree with you more. Writing in Eiffel is a sin. I had to do the same thing. Hmm I wonder if we attended the same university. ;)

      Here's a quote from my friend.. "They should make prisoners write Eiffel code."

  3. Solution! by Bingo+Foo · · Score: 4, Funny

    10 PRINT "I WIN!"

    --
    taken! (by Davidleeroth) Thanks Bingo Foo!
    1. Re:Solution! by Anonymous Coward · · Score: 0

      You forgot
      20 GOTO 10

    2. Re:Solution! by Anonvmous+Coward · · Score: 4, Funny
      10 PRINT "I WIN!"


      Heh I got a chuckle out of that. I won a Gifted Ed. programming challenge once using a similar technique. We were supposed to write a program in Basic that solved a word problem. Unfortunately, they didn't give us a whole lot of time. So I worked out the answer to the problem. My source code was like this:

      10 PRINT "10:30"

      Nobody else got the problem right, and the rules were vague enough that displaying the right answer was good enough. Heh. Pretty damn efficient coding, dont'cha think? :)
    3. Re:Solution! by Anonymous Coward · · Score: 0

      I remember when I was in Basic (not the language, we learned BASIC and Pascal) Computer Programming in High School. One of our first assignments was to read a list of names and find their length, print them in order in length from shortest to longest displaying their lenght, then alphabetically. Then we had to have a little thing at the bottom that reported the longest name with length, the shortest name with length, and the average length. Some guy in there figured it out by hand and just used "PRINT" statements. Needless to say, he dropped out after 4 weeks.

    4. Re:Solution! by Anonymous Coward · · Score: 0

      this reminds me of a contestant in obfuscated C contest who got a prize for most creative bending of the rules. The code was

      #include

    5. Re:Solution! by ChadN · · Score: 1

      I assume you mean:

      #include "/dev/tty"

      --
      "It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
    6. Re:Solution! by Anonvmous+Coward · · Score: 1

      Sorry to suck the fun out of the joke, but I don't speak C. Anybody wanna translate for me? :)

    7. Re:Solution! by mlh1996 · · Score: 1
      I took the Data Processing test at an academic contest one year in high school. They asked us to write an algorithm that converted decimal to Hex. Except the examples they used were converting decimal to binary. So I wrote the decimal-binary conversion, assuming it was a typo. I got third place.

      The next year, I took the test again. The same question was on it. This time, I pointed out that Hex was not binary, then wrote both algorithms. I won.

      I still have no idea whether it was a typo, or a trick question.

      --
      Lack of creativity is no excuse for not having a .sig
    8. Re:Solution! by mskfisher · · Score: 3, Informative

      In C and C++, the line "#include 'filename'" tells the compiler to act like the contents of 'filename' are inserted at that location.

      Since Unix treats all devices as files (keyboard, CDROM, hard drive, etc) /dev/tty refers to the keyboard (teletype). You can therefore type anything you want into the file at compile time.

      It works in Windows/DOS, too, with the filename 'con', i.e., #include "con" .

      --
      0x0D 0x0A
    9. Re:Solution! by scott1853 · · Score: 2

      I was the only one that knew anything about programming in my high school BASIC class. It was taught by a 60 year old lady that had taken a single COBOL class at one point so she had more programming experience than any other teacher.

      Due to my "genius" status, I got the luxury of working on the only color monitor in the class which also happened to have a HD. Everybody else had monochrome XTs with dual 5.25" floppy drives (this was probably 1990). She wanted me to do something with graphics for a final project an I was a real smart-ass so I filled the screen with a gradient. Her challenge to me was to make the gradient go in the opposite direction. She said "good job" and gave me an A for it.

    10. Re:Solution! by jeblucas · · Score: 2, Funny
      Pretty damn efficient coding, dont'cha think
      Wouldn't this have been "tighter"?

      1 ?"10:30"

      Commodore64's rock.

      --
      blarg.
    11. Re:Solution! by Anonymous Coward · · Score: 0

      I think I had the same teacher. Didn't care for her at all.

      But at least we got to play Mechwarrior on that computer with the color monitor and HD (12MHz AT) during lunch, when she wasn't looking. Thank goodness for DOS with its lack of security and the ability to hide directories. :)

    12. Re:Solution! by Zagadka · · Score: 1

      0?"10:30"

      (yes, 0 was a valid line number on the '64)

    13. Re:Solution! by Anonymous Coward · · Score: 0
      yeah, as tight as Cowboy Neal's bike shorts!

      As tight as Pat Buchanon's sphincter at a geek compound party!

  4. Robots drown... by MosesJones · · Score: 4, Funny

    I object to this test, this is quite simply awful that they are willing to risk Robot lives in such a callous fashion. I insist that all Robots must be fitted with inflatable life rafts to enable them to surive on the water squares. Anything else would a terrible waste of Robot life and would be ("two would be"s in a sentence, building up to the nutter finish) the same as Hitler during WWII.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Robots drown... by Worminater · · Score: 1

      "would a terrible waste of Robot life and would be ("two would be"s in a sentence, building up to the nutter finish)" two would be's if you count the oen in the (*);-)

    2. Re:Robots drown... by stuuf · · Score: 1

      better yet... also include waterproof casing and a retractable propeller so they can move in water, and back into other robots and use the propeller as a weapon.

      --

      Everyone is born right-handed; only the greatest overcome it

    3. Re:Robots drown... by Anonymous Coward · · Score: 0

      I agree. Remember:

      "He who sacrifices robots to gain a little temporary entertainment deserves neither." -- Ben Franklin

  5. FUN!! by I_am_Rambi · · Score: 1, Funny

    I think its time to go buy a bunch of bottles of jolt and to pull an all nighter. Lets GO!!

    1. Re:FUN!! by rblum · · Score: 0

      I wish I had the time - instead, I have to work on Mortal Kombat

  6. Do Not Trust the Pusher Robot! by Anonymous Coward · · Score: 4, Funny

    Shoving is the answer, please stand near the stairs

    1. Re:Do Not Trust the Pusher Robot! by Anonymous Coward · · Score: 0

      I AM PROTECTED

    2. Re:Do Not Trust the Pusher Robot! by Anonymous Coward · · Score: 0

      A true goon wouldn't be posting to slashdot.

      That is, I, uh...

      fuck.

  7. Great idea! by Cutriss · · Score: 5, Funny

    1. Enter the 2002 ICFP Programming Contest.
    2. Submit the site to Slashdot after downloading/caching all the instructions and requirements.
    3. Be the only person to actually have a copy of the directions, therefore, the only person to submit a solution at all, let alone a working one.
    4. ??? (Presumably, win the contest)
    5. Profit!

    --
    "Mod, mod, mod...and another troll bites the dust."
  8. missing keys... by McCart42 · · Score: 4, Funny
    The player controls the robot by issuing commands.

    • The Move command moves the robot to an adjacent square, in one of the four directions north, east, south or west.
    • The Pick command is used to pick packages. Packages are initially available from home bases. Packages may not be picked up if they are too heavy, or if there are no packages available when the robot gets to execute its command (for example if it got pushed).
    • The Drop command is used to drop packages. Packages are always dropped.
    So what button is the "Strafe" command? Are there "quad" packages?
    --
    "I may be quite wrong." - Socrates
    1. Re:missing keys... by splume · · Score: 0, Redundant

      Packages are initially available from home bases

      So are all of your packages and bases are belong to us now too?

      --

      Who is John Galt?
    2. Re:missing keys... by Anonvmous+Coward · · Score: 2

      "So what button is the "Strafe" command? "

      There's gotta be a way to mix the Move and Pick commands to Rocket Jump...

    3. Re:missing keys... by niklaus · · Score: 1

      It would rather be drop than pick... but pushing the ground would probably work best, I think (don't know the appropriate physics terms in english, so I'm not going into any detail)

  9. Language/Envirmonment by Anonymous Coward · · Score: 0

    So.. is there a platform/language that
    needs to be used?

    1. Re:Language/Envirmonment by Dark+Nexus · · Score: 2

      For those to lazy to read the links, it has to run under Red Hat Linux 7.3.

      As far as language, there doesn't seem to be any requirement.

      --
      Dark Nexus
      "Sanity is calming, but madness is more interesting."
    2. Re:Language/Envirmonment by Fembot · · Score: 1

      It says on the site:

      * Assemblers (gas 2.10.91, nasm 0.98.22)
      * C, C++, chill, objective C (gcc 2.96)
      * Common Lisp (CLISP 2.29; CMUCL 18d)
      * Erlang (R8B-1)
      * FORTRAN (g77 2.96)
      * Haskell (GHC 5.04; Hugs98-Dec2001; HBC 0.9999.5b)
      * Java (gcc 2.96; Jikes 1.15; Sun JDK 1.4.0)
      * Lazy ML (lmlc 0.9999.5b)
      * Mercury (0.10.1)
      * Modula 3 (PM3 1.1.15)
      * Objective Caml (3.04)
      * Pascal (p2c 1.22)
      * Perl (5.6.1)
      * PostScript (ghostscript-6.52)
      * Prolog (Gnu Prolog 1.2.1)
      * Python (1.5.2 and 2.2)
      * Ruby (1.6.7)
      * SML (Moscow ML 2.00; SML/NJ 110.0.7)
      * Scheme (Rice PLT 202; MIT Scheme 7.7.1, scsh 0.5.2, umb-scheme 3.2)
      * Tcl (8.3.3 with tclx 8.3)

      PLUS binaries

    3. Re:Language/Envirmonment by Anonymous Coward · · Score: 0

      Whooohooo! Malicious code!

    4. Re:Language/Envirmonment by Anonymous Coward · · Score: 0


      And I was going to try it in PL/SQL. Ah well...

    5. Re:Language/Envirmonment by Anonymous Coward · · Score: 0

      As a mainframe COBOL jockey I must protest! COBOL is the best language for dealing with money!

  10. one based array? by [amorphis] · · Score: 4, Funny

    Coordinates on the board are pairs of integers, ranging from (1,1) to (width, height), where (1,1) is the southwest corner of the board.

    What kind of programming challenge uses a one-based array?

    1. Re:one based array? by kryptobiotic · · Score: 1

      A fortran programming challenge?

    2. Re:one based array? by g00dn3ss · · Score: 1

      A Visual Basic 6.0 programming challenge?

      --
      ... rice, rice, gravy ...
    3. Re:one based array? by Wesley+Felter · · Score: 2, Funny

      Obviously this contest is rigged; the Pascal programmers are a shoo-in.

    4. Re:one based array? by SoCalChris · · Score: 1

      VB arrays ARE 0 based. Know what you're talking about before you say anything.

    5. Re:one based array? by Pfhreakaz0id · · Score: 2

      ummm, default lower array bound in Visual Basic 6.0 is 0... you have to use Option Base 1 if you want to change the default behavior (see this link

    6. Re:one based array? by cicatrix1 · · Score: 1

      Ahh, but if you used ALGOL, it would not matter. If you don't know what I'm talking about, it'll be fun to figure it out, won't it :)

      --

      I know more than you drink.
    7. Re:one based array? by joto · · Score: 2

      VB arrays can easily be set to any base you like. Know what you're talking about before you say anything.

    8. Re:one based array? by Anonymous Coward · · Score: 0


      I'm not sure which is sadder:
      The original MS/VB Basher or
      the VB defender.

    9. Re:one based array? by coyul · · Score: 4, Informative

      What kind of programming challenge uses a one-based array?

      Actually, in this case it's a great idea. The game world is bounded by walls, so you can put the walls in the 0 index (and the width+1 index) of your array and not have to explicitly test for the array bounds. Treat them like any other wall.

    10. Re:one based array? by cicatrix1 · · Score: 1

      Hahaha! You use Visual Basic and know it's compile options. HAHAHA!

      </obligatory>

      But seriously...

      HAHA! YOU KNOW VB!!

      --

      I know more than you drink.
    11. Re:one based array? by [amorphis] · · Score: 1

      Actually, in this case it's a great idea. The game world is bounded by walls, so you can put the walls in the 0 index (and the width+1 index) of your array and not have to explicitly test for the array bounds. Treat them like any other wall. Ahh, that makes sense.
      Thanks.

    12. Re:one based array? by SoCalChris · · Score: 1

      I know they can easily be set to any base. It defaults to zero.

    13. Re:one based array? by g00dn3ss · · Score: 1

      Why do you think I specifically said 6.0

      BTW, it was a joke. Your hostility is appreciated though.

      --
      ... rice, rice, gravy ...
    14. Re:one based array? by Anonymous Coward · · Score: 0

      IMNSHO, all programmers should learn Pascal before any other language. It forces you to use good habits. And it's perfect for things like this.

    15. Re:one based array? by Anonymous Coward · · Score: 0

      Option Base has been a part of BASIC for far longer than VB has been around.

      And if you wish to mock someone, you should really know the difference between it's and its.

    16. Re:one based array? by Pfhreakaz0id · · Score: 2

      Well, that's why I always can find a job :) There are ALWAYS, ALWAYS a job for VB programmers (at least where I live).

    17. Re:one based array? by uhmmmm · · Score: 1

      actually, it eliminates some of the special case processing you might otherwise need. since we are to assume that the board is bounded by walls, you can create your arrays a little larger than the board to store the bounding walls, then you should never need to worry about the border if you handle walls correctly. and you won't have to constantly convert between your coordinates and the server's coordinates.

    18. Re:one based array? by frank_adrian314159 · · Score: 2
      What kind of programming challenge uses a one-based array?

      Silly programmer! The 0 ordinates are for the walls next to the west and south side (see the rules)...

      --
      That is all.
    19. Re:one based array? by oscitant · · Score: 1

      or if you're using python, all you gotta do is
      Array.get((x,y), '#')
      where # is the symbol for a wall. gotta love those default values.

  11. first functional post! by Anonymous Coward · · Score: 0

    (function (programmming) (sucks))

  12. The obvious language for this is by Anonymous Coward · · Score: 0



    Befunge, baby.

    info.

  13. Haha, give this guy the $10,000 by los+furtive · · Score: 1

    Hmmm...but 'Football in the Groin' had a football in the groin.

    --

    I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

  14. C++ vs. SML for language by Anonymous Coward · · Score: 0

    Someone recently told me that SML would be a much better programming language -- though it has no/little support for variables -- I just red the contest problems; It seems as though it can be easily done in C++ -- anyone have insight on this?

    Thanks,

    1. Re:C++ vs. SML for language by joto · · Score: 4, Informative
      Someone recently told me that SML would be a much better programming language

      Yes, people often do that. But what they often neglect to tell you, is that it depends upon the task at hand. Still, SML is a nice language, but I wouldn't use it for everything (neither would I use C++ for everything).

      If you like functional programming, like static checking (there are no ways around SML's typesystem, you are really, really safe), like strictness (as opposed to lazy functional languages), and like to be able to do some imperative hacking for the last bit of performance, then SML may be for you. If you are into compilers, theorem-provers, computer algebra or anything similar, then SML is definitely for you.

      For tasks that are very low-level (i.e. require lot's of bit-fidling), needs to run in small memory-space, needs access to lot's of C or C++ libraries, etc, C++ is definitely more suited.

      though it has no/little support for variables

      Yes, that's the whole point of functional programming. But SML allows you to declare ref-cells which behave just like variables in normal languages. The downside is that using them makes your code incredibly ugly (something most SML'ers think is good, because it encourages good functional programming style).

      A good implementation of SML would run with more or less the same speed as C++, and could also run the same algorithms (since it allows you to use imperative constructs), but it would be better if you used functional algorithms except when you really need to tune for the last clock-cycles. Unfortunately, the "standard" implementation, smlnj, runs more like at half speed of g++. There is another dialect of ML, called Ocaml, which has much more impressive native-code compilers. It is also somewhat more geared towards other programming-styles then the functional one (i.e it supports object-oriented programming really well).

      I just red the contest problems; It seems as though it can be easily done in C++ -- anyone have insight on this?

      Yes, to avoid being blamed for being biased towards functional programming, the ICFP doesn't usually have problems that are much better suited for functional languages. And there has certainly been contestants using C++ before. The main reason C++ may not fare too well in this contest, is probably because (1) usually the biggest C++ gurus are busy doing other things, while the biggest Ocaml, SML, Haskell, etc, gurus are competing, and (2) Functional languages are often more suitable for rapid prototyping than C++, and development speed is certainly an important ingredient in this competition. But it is definitely not impossible that either C++ or Perl comes out a winner some year.

    2. Re:C++ vs. SML for language by cpeterso · · Score: 4, Insightful


      the ICFP doesn't usually have problems that are much better suited for functional languages.

      That is definitely not true. The tasks are specifically chosen to highlight the unique strengths of functional programming languages, especially compared to imperative languages like C++. This robot problem is a heuristic optimization problem whose solution would require analyzing large trees of possible moves. To do this in C++, you would need to write lots of code that many functional programming languages provide for free. Don't forget Philip Greenspun's Tenth Rule of Programming: "any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."

    3. Re:C++ vs. SML for language by Anonymous Coward · · Score: 0

      "any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."

      So THAT's what befell emacs!

    4. Re:C++ vs. SML for language by Anonymous Coward · · Score: 0

      Well, yes, the common lisp compatibility package for emacs (cl.el) is indeed ad-hoc, bug-ridden and slow. But that's not news, is it?

    5. Re:C++ vs. SML for language by ralphbecket · · Score: 1

      That is definitely not true. The tasks are specifically chosen to highlight the unique strengths of functional programming languages, especially compared to imperative languages like C++.

      Rubbish. The five contests to date have involved coding a player for a board game, a logic optimizer, a ray tracer, an optimizer for an HTML-like language, and an AI for an "action" game.

      I'd lay money on virtually all of the equivalents of these applications out there in commercial-land being written in C/C++ or Java. (One does of course wonder why things persist in being this way...)

      The problem with analyzing complex problems in most imperative languages is not that they don't have the libraries that come with most declarative languages, but rather that they just do not provide things like algebraic data types and pattern matching, not to mention any kind of sane support for higher order programming. What the program is trying to do gets buried under all the tedious and error-prone bookkeeping forced on the programmer by the lack of support from the language.

      There is a common misconception that declarative programming language designers are solely or primarily interested in writing theorem provers. This might have been true some decades ago, but for a long time the emphasis has been on finding better and more efficient ways of solving everyday programming problems faced by working programmers.

    6. Re:C++ vs. SML for language by jovlinger · · Score: 2

      Silk won a few years ago, and that is based on C (or is it C++?). May be spelled Cilk, now that I think about it

  15. More info by Anonymous Coward · · Score: 0

    If you want to befunge (God help you) you should use Befunge '98.

  16. Fifth Programming Contest by Caractacus+Potts · · Score: 5, Funny


    Man, I've been practicing all year using FORTH. Rats!

    1. Re:Fifth Programming Contest by sys$manager · · Score: 1

      You should have been working with FIFTH (from www.catseye.mb.ca):

      #18a: FIFTH
      FIFTH is a precision mathematical language in which the data types refer to quantity. The data types range from CC, OUNCE, SHOT, and JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM and BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY, CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, and WHATEVERSAROUND.

      The many versions of the FIFTH language reflect the sophistication and financial status of its users. Commands in the ELITE dialect include VSOP and LAFITE, while commands in the GUTTER dialect include HOOTCH and RIPPLE. The latter is a favorite of frustrated FORTH programmers who end up using this language.

    2. Re:Fifth Programming Contest by RevAaron · · Score: 2

      Actually, I remember a language called FIFTH that I found on a BBS probably almost 10 years ago... not the joke one another reply mentioned, even. It was based on Forth, but was OO, it claimed. Yes, there are plenty of OO systems for various Forths, big and small, but it had a bigger standard lib too.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  17. WILL SODOMY BE INVOLVED? by Anonymous Coward · · Score: 0
  18. SomeThing Awful by azizlumiere · · Score: 1

    Does anybody know if they inspired themself from The Pusher robots at Something Awful ???

    UNF UNF UNF

    --
    -Linux is SO fast it does an infinite loop in 5 seconds.
  19. I'll do this in Perl. . . by Anonymous Coward · · Score: 0, Troll



    HAHAHAHAHAHAHAHAHA!!!



    1. Re:I'll do this in Perl. . . by questionlp · · Score: 1
      I'm not sure if it will meet some of their requirements though...
      • not use more than 64 MB of memory at any point in a game,
      • not consume more than 1 CPU second per move on average in a game on our 1.5GHz Pentium 4 processor.
      Oh wait... I'm thinking of Java 1.1... my bad :)

      Now try doing it all in one line ;-)

  20. Ambiguous rules by back_pages · · Score: 1

    Maybe I missed something, but they say that the player will be controlling the robots and then say that this will be running on their machine. It's not much of a contest to just write a client for this game that a human player runs locally, but why would they even mention a player if the contest is to write the client and robot AI to play?

    1. Re:Ambiguous rules by Anonymous Coward · · Score: 0

      HUH?? What part of this is ambigous?

      #--
      The challenge is to implement a program that acts as a player in a multi-player robot game.

      In the game, simulated robots deliver packages in a simulated world. Each player controls one robot.
      #--

      Program simulates player ---> player controls robot: therefore program controls robot.

    2. Re:Ambiguous rules by Anonymous Coward · · Score: 1, Informative
      Re-read the beginning ... the contest is to write a player that controls a robot. Not to write a robot.

      My question is... could I train one of them carnival chickens to play and submit him?

    3. Re:Ambiguous rules by tybalt44 · · Score: 1

      If you can get train a carnival chicken to pass and to parse strings of ASCII characters within 72 hours, you deserve to win no matter how bad a player it is.

    4. Re:Ambiguous rules by Hayzeus · · Score: 1
      The player writes a program to control the robot.

      The program talks to the server using a tcp port and a defined protocol.

      The program itself is required to run as a process on their local server, presumably to prevent "man-behind-the-curtain" cheating if the program were allowed run remotely.

    5. Re:Ambiguous rules by back_pages · · Score: 1
      This is ridiculous.

      If I enter, I am the programmer.

      As I understand it, the programmer writes a program that is the "player" which controls the robot. In effect, it is the entire challenge to implement the AI that will control the robot and win the game, unless implementing the rules and protocol is supposed to be daunting...

      This "player" program will run on their system, locally. Got it.

      I suppose that rather than ambiguous rules, it is a case of ambiguous terms. Programmers program players, players control robots, robots play the game. Human contestants are only the programmers. That makes sense. The personification of the player program makes it a little odd.

    6. Re:Ambiguous rules by joto · · Score: 2
      Go ahead and try, but I doubt you will be able to beat the computer programs with less than one second to think per move. (Remember, you have to think, decide where to move/pick/drop, decide the amount to bid for, and communicate that to the server, all in less than one second).

      On the other hand, the rules said CPU seconds... Waiting for I/O across the Internet isn't CPU-time, that is wall-clock-time. On the other hand, this isn't IOCCC, so the judges might try to interpret the rules sensibly.

  21. They forgot the most important button... by RedElf · · Score: 1

    ...this robot will self destruct in 10, 9, 8, 7...

    --
    You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
    1. Re:They forgot the most important button... by Anonymous Coward · · Score: 0

      That button is already there. Just bid a billion, and you are dead :)

  22. Pretty neat.. by Hayzeus · · Score: 1
    Very cool -- wish I had the time. Once nice addition (which would really separate the men from the boys) would be to not download the entire map to the program.

    Instead, the robot would have to discover the world itself; i.e. it would only know about the contents of x number of squares around itself.

    And, of course, weapons, weapons, weapons.

    1. Re:Pretty neat.. by ichimunki · · Score: 1

      While I agree that having to learn the map would be interesting it really isn't adding that much. There is already a lot of problem solving to do related to package weight, turn bidding, optimal path to destination, and how to cope with the other robots. I just wish they hadn't chosen a major US holiday weekend for this... I can't even think about finding the time to write an entry now.

      --
      I do not have a signature
  23. Amateur by Anonymous Coward · · Score: 2, Interesting

    If you read the rules you will see:

    "The edges of the world behave as if there were walls beyond them."

    A common trick to implement this is to allocate a [width+2][height+2] array, and store the wall character at x=0,width+1, y=0,height+1. This is faster than testing if (x,y) is off limits each time.

    1. Re:Amateur by Ultraken · · Score: 1

      These extra values past the edge are generally called "sentinel elements", and this technique can greatly simplify and speed up algorithms when used properly.

    2. Re:Amateur by Anonymous Coward · · Score: 0

      it may be faster but costs more memory.
      Its all about trade offs

  24. looks interesting, but... by gblues · · Score: 2, Insightful

    why isn't there a reference server or a client API or something? They can't seriously expect entrants to implement the entire client from this spec without a server for debugging!

    Nathan

    1. Re:looks interesting, but... by TOCie · · Score: 1
      That's the entire point - they give you the spec, and you program to it. Whether the program you write works or not will be determined later.

      So what's the best way to make the client work? Simple - write the server also.

      Okay, mabye that's not so simple after all. :)

    2. Re:looks interesting, but... by vajcovec · · Score: 0

      They were pretty clear about how the server would act. I think you're expected to write your own test server.

    3. Re:looks interesting, but... by Exotabe · · Score: 1

      Probably a better idea to write a dummy server that reads from the keyboard and sends it to the client.

      ...However, if you do that, it'll be a violation of my IP, and I'll use the DMCA to sue you into oblivion and take home the prize myself :)

      Cheers!

    4. Re:looks interesting, but... by Hayzeus · · Score: 1
      Part of the challenge is to write the program based purely on a spec. After all, you're merely writing and reading a relatively simple ASCII protocol from a socket -- an API is really unnecessary.

      It would be nice, however, if the server were provided for testing purposes, since parsing commands from the server and properly framing replies is really the least interesting part of the task, and a mechanism to speed up development (short of writing your own test server) would be nice. I'm sure a lot of entrants will die immediately based on the malformed-command/response = death criteria.

    5. Re:looks interesting, but... by Tom7 · · Score: 2

      They explain the server, so you can implement one yourself. That's what we're doing. (Also, they plan to have a reference server available.)

    6. Re:looks interesting, but... by Anonymous Coward · · Score: 0

      DMCA jokes aren't funny.

  25. Eiffel by richieb · · Score: 2
    I think I grew up on a terrible, terrible Eiffel IDE.

    I'm guessing you used the ISE Eiffel compiler. The IDE is actually quite nice and powerful, just little different than a typical C/C++ IDE. How many C++ IDE's tell you which classes descend from a particular parent, or let you see all the members in the class (including parent classes recursively).

    Besides that, I found the language really unintuitive after having first programmed in C and C++.

    I'm suprised. What did you find unintuitive? Absence of pointers?

    --
    ...richie - It is a good day to code.
    1. Re:Eiffel by jat850 · · Score: 1

      Hey, right on, you guessed'er, ISE Eiffel. I think I was using some sort of crippled-ish student version, and it bothered me because it was really annoying to start new projects and handle the root files in the one I was using. This was a few years ago too, so things may have changed/improved since then.

      I don't know if I can put my finger on exactly what bothered me about the language, probably just a series of quirks and things that bothered me at the time (in all likelihood many things were interface/compiler related, too). Again, a matter of preference, probably; one of my good friends used to refer to Eiffel as the most "elegant" language he'd ever programmed in :)

      --
      the blood has stopped pumping, and he's left to decay
      the me that you know is now made up of wires
    2. Re:Eiffel by The+Bungi · · Score: 1
      How many C++ IDE's tell you which classes descend from a particular parent, or let you see all the members in the class (including parent classes recursively).

      Visual Studio.NET

    3. Re:Eiffel by PythonOrRuby · · Score: 2

      I can guess that it was probably the fact that Eiffel is just really really strict. It forces you to program in a certain way, and in the end you get a tighter program with far less potential for run-time bugs, but getting there can be an exercise in masochism.

      The fact that functions and procedures are strictly separated means that something like(in Ruby):

      class Stack
      def initialize(*arr)
      @array * arr
      end
      def pop
      @array.pop # implicit return
      end
      end

      bar = Foo.new("hello", "world")
      puts bar.pop

      Would require an intermediate step of binding the last item in the array to a buffer, removing the last item in the array, then accessing the buffer to get the item.

    4. Re:Eiffel by richieb · · Score: 2
      Visual Studio.NET

      Cool. Finally other IDE's caught to Eiffel. With ISE's IDE I could all these things in 1994.

      --
      ...richie - It is a good day to code.
  26. This looks like a fun one by cardshark2001 · · Score: 2, Interesting

    A lot more interesting (to me) than last year's. But the problem is that you'll have to build a server to test your bot. And how will you know how good your bot is unless it competes against another one?

    For the first time, though, I think I may actually enter.

    I love that the game is played over sockets, so any language can be used that can implement sockets.

    All in all, it sounds like fun.

    --
    WWJD? JWRTFA!
    1. Re:This looks like a fun one by Mr.+Sketch · · Score: 2

      Actually, according the FAQ, there will be one soon:

      Q1: Will a test server be available?
      A: Yes, stay tuned...

  27. dyke face fucking cunt by Anonymous Coward · · Score: 0
  28. Another solution.. by hism · · Score: 0

    I think it'd be pretty clever to simply participate in id's Technology Licensing Program (for a mere fee) and then.. profit.

  29. Programming Languages by Anonymous Coward · · Score: 5, Funny
    From: http://icfpcontest.cse.ogi.edu/machine.html
    Software
    The following programming language implementations are available on the machine:

    * Assemblers (gas 2.10.91, nasm 0.98.22)
    * C, C++, chill, objective C (gcc 2.96)
    <snip>
    * PostScript (ghostscript-6.52)
    --
    Mad, mad props to the first team to enter a working submission written exclusively in PostScript.

    1. Re:Programming Languages by Anonymous Coward · · Score: 0

      It'd be great! You could have a HP Laserjet 8000 squaring off against the Ghostscript interpreter. Can a P4 interpret PostScript faster than a LJ can execute it?

    2. Re:Programming Languages by Christopher_G_Lewis · · Score: 2, Interesting

      I guess you can't do it in VB :-)

    3. Re:Programming Languages by Lozzer · · Score: 1

      Previous years have seen valid (although crap) INTERCAL entrants. Though as they say the amazment of the elephant tap dancing is not that he does it well, rather that he does it at all. Previous years, however cat(1) has been a valid entrant, which is probably how the INTERCAL got done in time.

      --
      Special Relativity: The person in the other queue thinks yours is moving faster.
    4. Re:Programming Languages by Bingo+Foo · · Score: 2
      I've written my entry in my own language, called "ICFP":

      The language is defined by a standards body in a series of RFCs:

      1. An ICFP compiler will take any input and produce an entry which wins the currently open ICFP programming contest
      2. Feature freeze
      Right now there are no standards-compliant compilers, but, that shouldn't matter. There are no standards-compliant C++ compilers either.
      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
    5. Re:Programming Languages by RevAaron · · Score: 2

      Well, read the language list page again. You could submit a program written in a language not on their list, provided they could easily install a compiler/interpreter/VM for the language on their RH 7.3/x86 system.

      Also, VB doesn't have functional features, to my knowledge. Perhaps VB.NET does, but not VB 6. But I'd be interesting in being corrected- how does one create an anonymous function/anon sub/lambda closure in VB?

      Of course, VB doesn't fit either of these criteria. Which begs the question- why the hell did some people think the VB comment to be interesting and not Funny?

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  30. Money? by PygmyTrojan · · Score: 1

    Anyone catch how the bidding and money is important?

    --

    Trying is the first step towards failure.

    1. Re:Money? by Anonymous Coward · · Score: 0

      If you bid more, you have a bigger chance of moving first. If you run out of money, you die.

    2. Re:Money? by stuuf · · Score: 1

      I think if 2 robots try to pick up the same package, the higher bid gets it. Higher bid might move first, too.

      --

      Everyone is born right-handed; only the greatest overcome it

    3. Re:Money? by FireballFreddy · · Score: 1

      Not only first... you can bid more in the hopes of moving *last*. There's something to be said for bidding -1 per round, letting some other shmoe's bot push you to the package (reboots be damned), then blowing your wad during the endgame.

      -FF

      --
      SQUEAK, the Death of Rats explained.
    4. Re:Money? by the+way,+what're+you · · Score: 2, Funny
      There's something to be said for bidding -1 per round, letting some other shmoe's bot push you to the package (reboots be damned), then blowing your wad during the endgame.

      Somebody's going to have a field day with this comment...

      --
      example.org - powered by Linux!
    5. Re:Money? by Hrothgar+The+Great · · Score: 1

      then blowing your wad during the endgame

      I must have skipped the "Adult" section of the instructions.

    6. Re:Money? by FireballFreddy · · Score: 1

      Hmm. You're correct, I really should consider my wording more before I post. :)

      Wait... is somebody going to take "post" as a sexual reference?

      Wait... did I just say "take post"?

      I give up. :)

      -FF

      --
      SQUEAK, the Death of Rats explained.
    7. Re:Money? by pbewig · · Score: 1

      In the "Pushing and Bidding" section of the task document, just under the diagram showing the results of various moves, it says, "Commands are executed in order of decreasing bids. Commands with the same bid are executed in random order."

    8. Re:Money? by Ultraken · · Score: 1

      Actually, if you check the article carefully, the cost is the absolute value of your bid. So you pay for bidding negative numbers too.

    9. Re:Money? by pne · · Score: 1

      Or letting some other shmoe's bot push you onto the water so you drown?

      I don't think doing nothing is a terribly good winning strategy.

      --
      Esli epei etot cumprenan, shris soa Sfaha.
  31. Dropped packages by the+way,+what're+you · · Score: 1
    * The Drop command is used to drop packages. Packages are always dropped.

    You can also drop packages reliably with the shorter command, "UPS".

    --
    example.org - powered by Linux!
    1. Re:Dropped packages by the+way,+what're+you · · Score: 1

      Dammit, here is the link I was looking for. :)

      --
      example.org - powered by Linux!
  32. RedHat only by dsyu · · Score: 1

    I like how they say:

    "Your program will have to run on a PC under Red Hat Linux 7.3. (We do not regret we cannot support any other operating system.)

    emphasis added, of course.

  33. If they were going to do this right... by coldmist · · Score: 1

    The player controls the robot by issuing commands.

    o The Drop command is used to drop packages. Packages are always dropped.

    You'd think they would have better package handling standards than USPS and/or UPS!

    --
    Don't steal. The government hates competition.
    1. Re:If they were going to do this right... by Anonymous Coward · · Score: 0

      better yet, sit there for 4 weeks then drop the package in the water.

  34. If you are bored & looking for something to co by jukal · · Score: 2

    ...that really might solve someones problem, click here. </shameless marketing, inc.>

  35. Interactive? by sab39 · · Score: 2

    Could I submit a client that involved making a connection to my own machine's globally-addressible IP address and then write a GUI that ran on my machine to control my robot?

    I have a feeling that it would be a whole lot easier to win that way...

    1. Re:Interactive? by filth+grinder · · Score: 1

      That would be good, except for the fact that your program is only allowed to take about a second per-move. Damn rules and their ruley-ness!

    2. Re:Interactive? by sab39 · · Score: 2

      So you just need quick reactions and a fast connection... ;)

    3. Re:Interactive? by Lozzer · · Score: 1

      One cpu second on their machine (which is the guideline) is a lot more than one second if you are working on a different machine.

      There is no mentioin of publically accessable servers either, however...

      --
      Special Relativity: The person in the other queue thinks yours is moving faster.
  36. just to make sure noone is confused by the parent by Theodore+Logan · · Score: 3, Informative
    That is not a comprehensive list. It reads as follows:
    The following programming language implementations are available on the machine:

    Assemblers (gas 2.10.91, nasm 0.98.22)
    C, C++, chill, objective C (gcc 2.96)
    Common Lisp (CLISP 2.29; CMUCL 18d)
    Erlang (R8B-1)
    FORTRAN (g77 2.96)
    Haskell (GHC 5.04; Hugs98-Dec2001; HBC 0.9999.5b)
    Java (gcc 2.96; Jikes 1.15; Sun JDK 1.4.0)
    Lazy ML (lmlc 0.9999.5b)
    Mercury (0.10.1)
    Modula 3 (PM3 1.1.15)
    Objective Caml (3.04)
    Pascal (p2c 1.22)
    Perl (5.6.1)
    PostScript (ghostscript-6.52)
    Prolog (Gnu Prolog 1.2.1)
    Python (1.5.2 and 2.2)
    Ruby (1.6.7)
    SML (Moscow ML 2.00; SML/NJ 110.0.7)
    Scheme (Rice PLT 202; MIT Scheme 7.7.1, scsh 0.5.2, umb-scheme 3.2)
    Tcl (8.3.3 with tclx 8.3)
    Also note the following:
    Please Note that the absence of your favourite language (be it SNOBOL4, INTERCAL, or RedCode) does not mean that you cannot use it for this contest. The preferred form for submitting a program is as a precompiled executable, which you can produce by any means you want.

    If you can't supply a precompiled executable, and want to use a language which is not on the list above, let us know where to find an implementation of the language, preferably in the form of an RPM, and we will consider installing it.
    --

    "If you think education is expensive, try ignorance" - Derek Bok

  37. The winner will be... by Boss,+Pointy+Haired · · Score: 1

    the software equivalent of small, wedge shaped robot with self-righting mechanism and loads of torque.

  38. Why weren't we notified in advance? by Theodore+Logan · · Score: 1

    I read Slashdot fairly religiously but didn't hear about this until now. Now surely many people will fail to hear about it at all until it's all over. You know, some people actually don't read slashdot on friday nights (it is friday night in Sweden). I do, but I never claimed to have a life in the first place.

    Again, why weren't we notified?

    --

    "If you think education is expensive, try ignorance" - Derek Bok

    1. Re:Why weren't we notified in advance? by Anonymous Coward · · Score: 1, Informative
    2. Re:Why weren't we notified in advance? by Violet+Null · · Score: 2

      Again, why weren't we notified?

      You mean notified like in this Slashdot article posted two days ago?

    3. Re:Why weren't we notified in advance? by Theodore+Logan · · Score: 1

      I stand corrected. Thanks.

      --

      "If you think education is expensive, try ignorance" - Derek Bok

    4. Re:Why weren't we notified in advance? by Mr.+Sketch · · Score: 2

      That's because they weren't posted to the main page, but you can find them in the Developers section. If you want to get developer related news such as this, then I recommend setting up your user account to display the 'Developers' slashbox on the side of the screen, because not everything in that section makes it to the main page.

    5. Re:Why weren't we notified in advance? by Theodore+Logan · · Score: 2

      Thanks. I guess I either just wasn't paying attention or perhaps, god forbid, just don't read slashdot religiously enough.

      Now for an off-topic question that I can't help asking: did you bang your head against the wall, and in that case for how long, when you realized that you'd have gotten #111111 had you been just a little bit quicker?

      --

      "If you think education is expensive, try ignorance" - Derek Bok

    6. Re:Why weren't we notified in advance? by Mr.+Sketch · · Score: 2

      did you bang your head against the wall, and in that case for how long, when you realized that you'd have gotten #111111 had you been just a little bit quicker?

      Hehehe, no, I didn't bang my head against the wall at all, I think my id is cool enough and just as easy to remember as #111111 just because it's so close. The only thing I might have regreted is not signing up for an id much sooner and gotten a 5 digit id since I had been a regular slashdot reader for almost a year before signing up for an id so if I hadn't waited that long I could have got a coveted 5 digit id <sigh>.

    7. Re:Why weren't we notified in advance? by CTalkobt · · Score: 1



      Dude - the 5 digit numbers don't make you feel any differant. They just make you feel old.

      Very old.

      Why I feel so old.. *false teeth fall out* mdwat ivdwe datdw.
      </offtopic> </troll> </unfunny> </redundant> </self-mold mod-down>

      --
      There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
  39. UPS Vs. FedEx by silverhalide · · Score: 4, Funny
    Every package has a unique identifier, a weight and a destination. If a robot dies, its packages are lost.
    Ah, that explains what happened to all those UPS pacakges that seem to randomly disapear.

    I bet UPS is secretely sponsoring this competition so it can replace drivers with robots. The competing robots are FedEx drivers, so UPS robots can push the FedEx drivers into fatal squares. Perfect!

    1. Re:UPS Vs. FedEx by Anonymous Coward · · Score: 0

      The randomly disappearing packages actually do not disappear at all. They are torn to shreds and the contents scattered on slides and conveyor belts inside of a wherehouse. I happen to work the unloading docks at a local UPS building and this kind of thing actually is fairly common. Enough so that I will never ship UPS in the near future. Just to save face for Brown, though, it would be nearly impossible to keep the insane time commitments without the standard of package handling that is (not) enforced. I know this is kinda off topic, but just a little "The More You Know...." =)

  40. Complete Protocol? by Lucky+Kevin · · Score: 1
    "At the end of each turn the server will send an individualized reply to each player showing what happened to all robots during the turn.

    The format of the response is list of robot updates. Each robot update is of the form #robot_id and then the actions in the order they happened. A robot is listed if and only if it was alive at the beginning of the turn. The following actions are possible:"

    I think that the protocol needs to be updated a little. How do we know when the end of the list of robots is reached?

    --
    Kevin
    "It's not the cough that carries you off, it's the coffin they carry you off in" O. Nash
    1. Re:Complete Protocol? by Violet+Null · · Score: 3, Informative

      I think that the protocol needs to be updated a little. How do we know when the end of the list of robots is reached?

      It's all sent on one line, so the newline character marks the end of the list. See the examples.

  41. BF by Anonymous Coward · · Score: 0

    Hehe. The winner gets language bragging rights.

    I'd like to see the judges forced to say that brainfuck
    is "the programming tool of choice for discriminating hackers."

  42. Anyone remember the old school robot games? by wackybrit · · Score: 3, Interesting

    Anyone remember AT Robots? You created EXE files that called routines in the server's API and did robot style stuff. The aim of the game was simply to kill the other robots though, and to survive the longest.

    You could use any language (that produced a DOS compatible EXE), and I remember coding robots in the early 90's and having a lot of fun. Tournaments still continue for that game!

    There was another game in which you had to program a robot that was a race car and get it to go around a track that it had to learn. I forget the name of that, but I heard tournaments also take place for that too.

    Does anyone have any links to other cool programming games?

    1. Re:Anyone remember the old school robot games? by Lucky+Kevin · · Score: 2, Informative

      Corewars was a great game that I used to play. It has been greatly updated now, but essentially you write a program in a simple assembler that moves around in memory and hopes to crash another program that is moving around trying to crash yours.

      --
      Kevin
      "It's not the cough that carries you off, it's the coffin they carry you off in" O. Nash
    2. Re:Anyone remember the old school robot games? by Anonymous Coward · · Score: 0

      The racing simulator is RARS. When I competed, it was limited to C/C++ drivers. It's a very well-constructed physics simulation, and it looks like they've recently added a 3D interface. Drivers get info about their current position, nearby car positions, and return info about their desired acceleration and steering angle. Successful drivers range from the very basic (stay between the lines) to the very aggressively tuned. There's even a special competition category for 'learning' drivers using genetic algorithms!

      The RARS page is http://rars.sourceforge.net. It's a blast, and very easy to get started with.

    3. Re:Anyone remember the old school robot games? by breadbot · · Score: 1

      I wrote a few robots for Intergalactics -- that was fun. A simple Applet-based real-time strategy game with pluggable robot AIs.

    4. Re:Anyone remember the old school robot games? by RevAaron · · Score: 2

      Here is a list.

      Back in the day, there were quite a few options for COREWORE-like games/contests on BBS DOS CD archives, like Simtel.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:Anyone remember the old school robot games? by Sparr0 · · Score: 1

      Robot Battle is still a very popular game. Its event driven language is hard to get used to, but contests (with 30+ entrants) are still held at least every month. The game is still in development and soon (ish) to release an educational version.

  43. There will be.... by cp4 · · Score: 5, Informative

    From the FAQ:

    Q1: Will a test server be available?
    A: Yes, stay tuned...

  44. Oops, I meant PC Robots.. not AT... by wackybrit · · Score: 1

    I meant PC Robots.. AT Robots is also good but it uses a proprietary x86 style language.

  45. This Contest Brought To You By... by duck_prime · · Score: 1

    ... The United States Postal Service.

  46. Discrimination against Java by Anonymous Coward · · Score: 4, Funny
    A player should use a reasonable amount of resources. Aim for:

    * not use more than 64 MB of memory at any point in a game,
    * not consume more than 1 CPU second per move on average in a game on our 1.5GHz Pentium 4 processor.


    How are the Java folks supposed to write anything more than a "Hello World" program with so few resources?

    1. Re:Discrimination against Java by Anonymous Coward · · Score: 0

      Well you could just not store the map(i.e. only store the area around your bot). Then you could simply have your bot wander over one square away from water and try to kill the other bots. i.e. victory by elimination.

    2. Re:Discrimination against Java by Koyaanisqatsi · · Score: 1

      Not only java people, but pretty much everyone implementing a deep MINI-MAX will probably exceed the 1 second limit, so I guess I have to re-think my initial idea :)

  47. These are not funny anymore. by Anonymous Coward · · Score: 0

    These 1 2 3 4 5 ??? Profit crap posts are not funny in the least anymore. Stop posting them or I will rip out your nose hair with a toothpick.

    1. Re:These are not funny anymore. by mayoff · · Score: 1

      Step 1: Rip out nose hair with toothpick.
      Step 2: ?
      Step 3: Profit.

    2. Re:These are not funny anymore. by Anonymous Coward · · Score: 0

      I only included it to exclude someone else from making a reply post to mine saying something along the lines of "You forgot steps ### - ??? and ### - Profit!".

  48. Ambiguities and other valuable considerations by Anonymous Coward · · Score: 2, Interesting

    There's no no-op command, just pick, drop, and move. Can you no-op by picking up a package that is not there, or does it kill the robot?

    In other matters, offense seems to be remarkably underpowered. If bots aren't next to each other, the only offense would consist of sitting your bot in a strategic location knowing it can't be passed. Thus offense is only possible on maps with chokes, i.e. thin corridors with walls and water on the sides.

    Guarding the home base and packages, and other such "turtling," may be fairly powerful.

    Note: offensive and defensive considerations tend to be important only in 1 on 1. In a multi-robot free for all, playing offensive or defensive will likely lose you the game to people who simply deliver packages fast.

    As for (1,1) being the corner, I assume this is done so people can simply make (0,y) and (x,0)consist of walls, simplifying the programming.

  49. Flash 6(MX) version by Fr05t · · Score: 0

    It's too bad I forgot it was this weekend, and made plans to go out of town. I really wanted to compete using Flash 6. So if there is anyone that has used Action Script with XMLSockets give it a try. If not I'll do it later just to show off.

  50. The one with the most available time wins by Anonymous Coward · · Score: 0

    So, we have a contest where the person with the most time on their hands have a big advantage. What about those of us who are too busy? We might be a better programmer, but because of that we don't have the time to put into the problem...

  51. CoreWars by ScroP · · Score: 1

    Its a watered down version of CoreWars?

    1. Re:CoreWars by Ultraken · · Score: 1
      Not exactly; core wars was all about directly attacking the other program, not indirectly competing against it. In this contest, your program will be completely safe, even if your robot is not. :)

      (I used to play core wars in college, though I was never much good at it, and I never got into the newer versions of the programming language.)

    2. Re:CoreWars by ScroP · · Score: 1

      I played the first versions a long, long time ago too. That game was fun. No idea what its like now though.

  52. COBOL by Anonymous Coward · · Score: 0

    Damn. No COBOL??

  53. Sounds a lot like... by net_oholic · · Score: 1

    Anyone else ever played the RoboRally board game produced by Wizards of the Coast?

    P
  54. Mindrover by Sloppy · · Score: 2
    Does anyone have any links to other cool programming games?
    There's a fairly modern one that Loki sold called Mindrover, which LGP has apparently picked up.
    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  55. Can't take a joke? by Wesley+Felter · · Score: 1

    Whoever moderated me down as flamebait ought to fine-tune their sense of humor IMO.

  56. Use the right tool for the job by John+Harrison · · Score: 2

    And everyone knows that the right tool for a robot programming contest is Karel the Robot! Karel is the obvious choice for robot control since Karel is in fact a robot! Nevermind the fact that he is obessed with beepers and can't turn left! Karel will frag all other robot languages!

  57. I thought this was funny... by Hercynium · · Score: 1

    hmmmmmm, ICFP = I Can't Fscking Program???

    Seriously, when I was just skimming the front page that's what I assumed it meant!


    Yeah, I know... mod troll, flamebait, off-topic. At least slashdot karma has no real effect on one's fate! I mean, whoever would belie*KABOOM!!!*...


    --
    I'm done with sigs. Sigs are lame.
  58. It's RoboRally by deblau · · Score: 3, Informative

    It's RoboRally, published by WOTC. See here for an explanation of the rules, and compare to the ICFP rules here. Personally, I think RoboRally is more fun.

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
    1. Re:It's RoboRally by wmspringer · · Score: 1

      I have to agree. Of course, that's probably because I'm two flags ahead of the nearest bot in the current 10-player game I'm in :-)

  59. Re:just to make sure noone is confused by the pare by cheese_wallet · · Score: 2

    Wow. You are awesome. I never would have been able to read that on my own.

  60. PAK CHOOIE UMF by notCNE · · Score: 1

    Grandma is protected

    --

    Christopher N Emmick
    A good man, a better nerd.
  61. WTF moderated this flamebait? [N/T] by jpmorgan · · Score: 1

    See subject.

  62. Re:just to make sure noone is confused by the pare by grammar+fascist · · Score: 2

    What? No INTERCAL??

    Heathens.

    --
    I got my Linux laptop at System76.
  63. Team play? by tap · · Score: 3, Interesting
    Accoring to the rules, player's robots will be competing with 0 or more other robots from other contestants. What if a group of people each enter a robot, then have the robots work together.

    You could open a socket and have the other robots try to connect, then communicate that way. That might be hard, if for example the robots are running on different machines or the organizers check for open ports.

    Since all the robots have almost complete information, you don't need to communicate. Have your robot do a little dance at the beginning, left right left right up down or something, to identify it as a team member. Your robot knows what the team members are doing because it can just compute what their decisions will be. The only information you lack is the weight and destination of a package that a teammate picked up.

    You could have the robot with the lowest X & Y coordinates be the leader. The other robots stay around him so he doesn't get bumped. Or carry packages to him to deliver. Or hang next to the home bases, and when another robot moves onto them, bump them so they can't pick the package. Since it takes one turn to pick up a package, I think it would be trivial to make a robot that hanges near a base and can prevent any single other robot from ever picking the package.

  64. Re:just to make sure noone is confused by the pare by Theodore+Logan · · Score: 2

    Not everybody follow every link.

    Not everybody deem it necessary to be rude and sarcastic as soon as someone tries to be helpful.

    Not everybody have small penises.

    But then again, there are those who fit into all of those cathegories, and I'll try to take you into account the next time I post. I apologize for any inconvenience my arrogance and narrowmindedness may have caused.

    --

    "If you think education is expensive, try ignorance" - Derek Bok

  65. ick by ironfroggy · · Score: 1

    I really gotta say.. this is just stupid. Not to be insulting to them, but what kind of a contest is this? It really doesn't seem all that great or even challenging, from a programming standpoint. These kinds of contests are much better when they're about pure data processing; thats a better challenge. Plus, the entries could be useful. How about a stream compression contest? Challenging and the results could be very useful. Win the contest and license the technology to companies.

    1. Re:ick by Anonymous Coward · · Score: 0

      Hello!
      I can see you're new to thinking! That's ok, everyone has to start sometime!

      This is the annual ICFP programming contest, silly! That's right, it's held every year! And has been for quite some time now!

      This contest is about data processing! The goal is to create heuristics for carrying the most important objects to their destinations, while everyone is doing the same! There's data and it's processed! Amazing!
      There's nothing the precludes the heuristics from being useful in other tasks! If it's so easy there, tard boy, let's see you win!
      Oh yeah, you're going to really revolutionize compression algorithms with a three day contest! Brillaint! Why didn't I think of that? Hey! Maybe you should look back at the tasks for each previous contest!

    2. Re:ick by Anonymous Coward · · Score: 0

      you are dumb.

  66. Truckin at Xerox PARC, 1983 by OldButNotWise · · Score: 2, Informative
    Check out the "Truckin" game at Xerox PARC in 1983. Teams had just one or two days to design and implement their players that were then pitted against each other as everyone gathered around and watched. It was designed to teach a language, not test programming skills. At that is succeeded -- I lost big-time, but had a ball and learned a lot.

    Sure been a lot of progress in the last 20 years...

    --
    :WQ^H^Hwq!^M^M
  67. Re:just to make sure noone is confused by the pare by Saeger · · Score: 2
    I don't see anything in the rules that says your code has to be human readable. This means you could use GA to breed a good algorithm (even though no human will be able to understand how it works).

    --

    --
    Power to the Peaceful
  68. Here's a good testing strategy by cardshark2001 · · Score: 1

    How about a simple gui to allow a friend to manually play against your bot?

    If it fares well against a human, it seems likely it will fare well against other bots.

    Boy, this one is gonna be tough.

    Do tech schools have teams to do this stuff? Will there be an MIT team?

    --
    WWJD? JWRTFA!
  69. Re:just to make sure noone is confused by the pare by Anonymous Coward · · Score: 0

    Not everybody have bad Engrish.
    Not everybody be kharma whore.

  70. List of contests? by DEBEDb · · Score: 3, Insightful

    Speaking of which, does anyone run
    a (regularly updated) list of contests
    that are coming up? Like recent (more
    or less) Google challenge, etc.

    --

    Considered harmful.
  71. Re:just to make sure noone is confused by the pare by Theodore+Logan · · Score: 1

    I was confused by that post myself. I didn't want it to happen to others.

    What's wrong with you people?

    --

    "If you think education is expensive, try ignorance" - Derek Bok

  72. The organisers seem to like Haskell by Curl+E · · Score: 2, Informative

    The downloadable test server appears to be written in Haskell and compiled with GHC:

    > strings Simulator | grep GHC
    ...
    The GHC User's Guide has full details.
    RTS options may also be specified using the GHCRTS environment variable.
    ...
    --
    Backups are for wimps. Real men post their data in comments and have slashdot mirror it
  73. mod parent up! by Anonymous Coward · · Score: 0

    this might be a way to cheat!!
    well, we're all for open information right? we could see what the ICFP people have to say about this "exploit".

  74. Language ehhh? by MoogMan · · Score: 2, Interesting

    First Prize ...
    Peer recognition: Finally, the contest judges agree to state at least once during the presentation of the awards that the winning team's programming language is "the programming tool of choice for discriminating hackers."

    Second Prize ...
    Peer recognition: The contest judges agree to state at least once during the presentation of the awards that the winning team's programming language is "a fine programming tool for many applications."


    Man, someone *must* do it in BRAINF*CK or even funnier... Visual Basic. You can just imagine them saying that "VB is the programming tool of choice for distriminating hackers"

  75. Planet of the Feebs by Anonymous Coward · · Score: 0

    A long-standing demo of Common Lisp. Presumably the 64MByte/1 sec limit put in just to throw people from just adapting the Feebs code.

  76. Submission Complete! by Anonymous Coward · · Score: 0

    It's 4:47 AM PDT, I'm going to bed. :)

  77. Well, the deadline's over. by crapulent · · Score: 1
    It looks like we'll see the winners when the conference occurs, Oct 4. There is a list of the names and languages used of the entries here. Here's my simple histogram of the popularity of languages:
    162 total entries.

    Java 24 C++ 17 C 15 Perl 10 Python 10 ocaml 6 Haskell 5 Common Lisp 4 Python 2.2 4 OCaml 3 Objective Caml 3 Mercury 2 Ocaml 2 Ocaml (3.04) 2 PLT Scheme 2 Ruby 2 Scheme 2 java 2 perl 2 ANSI-C 1 Ada 1 C++ (with boost) 1 C++ STL 1 C++, InteLib Lisp 1 C++/C 1 C, pure C 1 C, raw C 1 Cobol 4ever! (hehe, no... it's C, which I bet you don't think is much better) 1 Delphi (Object Pascal) 1 Delphi (Object Pascal), IDE Kylix 1 Dylan 1 Erlang 1 Forth 1 Gwydion Dylan 1 Haskell (with GHC extensions) 1 Haskell and C 1 Haskell with GHC extensions 1 Haskell, C 1 Haskell, C++ 1 Icon 1 Java (1.4.0) 1 Java 1.4 1 Mercury (with some C, see README) 1 Microsoft Visual C++ 1 O'Caml 1 OCaml 3 1 Objective-Caml 1 Prolog 1 Python, requires python 2 1 Python, with a bit of C 1 Python2.2 1 Rice PLT v202 1 Ruby, C 1 SML 1 Scheme (MzScheme 202) 1 Scheme (and a bit of C for an X11 interface) 1 Vanilla C (plus my personal toolbox) 1 Vanilla C (with my personal toolbox) 1 VisualAge Smalltalk 1 c++ 1 erlang 1 ocaml 3.06 1 pure python 1 python 1
    (That was supposed to be a formatted table but the stupid lameness filter won't allow it.) I didn't bother to differentiate between e.g. "ocaml" and "ocaml 3.06" and "OCamel" in that list, but it's pretty clear that the most popular languages were Java, C, and C++... no surprise there. And now I must include something to get past the slashdot lameness filter to compensate for all those spaces.