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.
← Back to Stories (view on slashdot.org)
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.
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
10 PRINT "I WIN!"
taken! (by Davidleeroth) Thanks Bingo Foo!
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
I think its time to go buy a bunch of bottles of jolt and to pull an all nighter. Lets GO!!
Shoving is the answer, please stand near the stairs
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."
"I may be quite wrong." - Socrates
So.. is there a platform/language that
needs to be used?
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?
(function (programmming) (sucks))
Befunge, baby.
info.
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.
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,
If you want to befunge (God help you) you should use Befunge '98.
Man, I've been practicing all year using FORTH. Rats!
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.
HAHAHAHAHAHAHAHAHA!!!
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?
...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!
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.
Roving Web-Teleoperated Robot
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.
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
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.
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!
welcome to the land of incompetence (incompetents?) We can't even use our own search feature!
... michael
sigh
thanks
I think it'd be pretty clever to simply participate in id's Technology Licensing Program (for a mere fee) and then.. profit.
Mad, mad props to the first team to enter a working submission written exclusively in PostScript.
Anyone catch how the bidding and money is important?
Trying is the first step towards failure.
You can also drop packages reliably with the shorter command, "UPS".
example.org - powered by Linux!
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.
The player controls the robot by issuing commands.
You'd think they would have better package handling standards than USPS and/or UPS!
Don't steal. The government hates competition.
...that really might solve someones problem, click here. </shameless marketing, inc.>
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...
"If you think education is expensive, try ignorance" - Derek Bok
the software equivalent of small, wedge shaped robot with self-righting mechanism and loads of torque.
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
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!
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
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."
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?
mogorific carpentry experiments
From the FAQ:
Q1: Will a test server be available?
A: Yes, stay tuned...
I meant PC Robots.. AT Robots is also good but it uses a proprietary x86 style language.
mogorific carpentry experiments
... The United States Postal Service.
How are the Java folks supposed to write anything more than a "Hello World" program with so few resources?
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.
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.
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.
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...
Its a watered down version of CoreWars?
-- Eric
Damn. No COBOL??
Anyone else ever played the RoboRally board game produced by Wizards of the Coast?
PAs copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Whoever moderated me down as flamebait ought to fine-tune their sense of humor IMO.
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!
Lasers Controlled Games!
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.
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.
Wow. You are awesome. I never would have been able to read that on my own.
Grandma is protected
Christopher N Emmick
A good man, a better nerd.
See subject.
What? No INTERCAL??
Heathens.
I got my Linux laptop at System76.
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.
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
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.
Question
http://www.ironfroggy.com/
Sure been a lot of progress in the last 20 years...
--
Power to the Peaceful
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!
Not everybody have bad Engrish.
Not everybody be kharma whore.
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.
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
The downloadable test server appears to be written in Haskell and compiled with GHC:
Backups are for wimps. Real men post their data in comments and have slashdot mirror it
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".
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"
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.
It's 4:47 AM PDT, I'm going to bed. :)