from Hacker News

Win $10,000 by creating a race car bot in haskell, scala or clojure

by brutopia on 3/31/14, 10:21 AM with 82 comments

  • by jfim on 3/31/14, 10:38 AM

    It's not only those three languages.

    From the rules[1]: Programming languages that are currently available for selection are C, C# / Mono, Clojure, CoffeeScript, Haskell, Java, JavaScript, Python, Ruby, Scala, Go. At the moment, due to technical reasons, we cannot 100% guarantee that all of these will be supported, but we'll do our best. You can change the programming language at any time.

    [1] https://helloworldopen.com/rules

  • by bencoder on 3/31/14, 11:47 AM

    Was about to apply but I'm confused about the rules requiring all members to be the same nationality.

    I have a French passport, so my nationality would legally be French, but I live in the UK, and work with English, Polish, Hungarian, Romanian developers(all living and working in the UK), some of whom I was considering asking to join a team with me. I think this rule needs some amendment.

    Edit: also to explain some more, my French passport is a consequence of some awkward laws - I was born in the UK and have lived here all my life and can't even speak the language of my legal nationality. If I happened to win I wouldn't like to be a representative of "France" and I really dislike this "Passport must match" for the team - it makes no sense.

  • by spuz on 3/31/14, 11:58 AM

    > The server will send you track details and car positions and your job is to send car control messages to the server. You'll communicate with a game server using JSON over TCP. More details will be delivered later.”

    I don't understand how this could work for a real-time game. I don't know what the input format is like but assuming you need to provide control commands eg:

        {accelerate:1.0, steer:-0.01, brake:0}
    
    Then the behaviour of my car depends wholly on when that command arrives at the server. If there is a small delay it could have a dramatic effect on the position of the car. Similarly, my AI needs to react to information sent by the server which similarly could be delayed when sending over TCP.

    Assuming the input format is the actual status of the car, eg:

        {positionx:123, positiony:234}
    
    Then what is to stop me from submitting illegal inputs? Validation might work but it will be impossible for me to validate the output of my AI without access to the simulation code (apparently that is being kept closed source).

    Maybe there is another technical solution I haven't thought of? Or maybe the simulation won't run in realtime but will actually work on fixed time steps?

  • by davidw on 3/31/14, 12:10 PM

    Perhaps they don't let Erlang race cars because of the "let it crash" philosophy?
  • by kriro on 3/31/14, 11:20 AM

    Are there any limitations on the licensing of my AI (didn't see anything on the front page rules)? I'm somewhat concerned this is just an cool way of outsourcing the AI development for one of their mobile games :D [at the very least it seems like a smart investment for recruiting]

    Otherwise the competition seems cool and Helsinki is a nice place. Will certainly think about participating. All members being from the same country is a strange constraint though. I was actually looking forward to using this as an opportunity to co-develop with some US-based friends (I get why it's done though but I think allowing multi-country teams and having them participate as the country of the majority of the team members could have worked).

    Edit: The screen shot makes me think it'll be a 3d game but since one of the company behind this is in mobile games it could be 2d (micro machines style). That's one point that should be clarified. Some more info would be helpful as well i.e. how is the world represented, what can we control etc.

  • by tinco on 3/31/14, 11:06 AM

    It sounds like a cool competition, but it would be nice if they gave a little more explanation about their technical solution. If it's true that the only way to test your bot is by uploading it to them and waiting for the CI to finish (once per day), then that's not very nice at all.

    Will the participants get an environment in which they can test their bots outside of the competition CI?

  • by Gonzih on 3/31/14, 11:46 AM

    > All team members must be from the same country. By the same country, we mean you should all be of the same nationality.

    Why? What if I don't have any coding friends from my country? Silly.

  • by Kurtz79 on 3/31/14, 1:50 PM

    "The AI must have have near real time performance on CI and qualifying round. Slow response time is grounds for disqualification."

    Will bots with a fast response time have an advantage over "slower" (but still meeting the minimum response time) ones ?

    If so, for the sake of argument, won't a C bot have an inherent advantage over a python bot ?

  • by Oculus on 3/31/14, 1:51 PM

    Emailed them and just got this:

    > We just made a little change to the rules:

    > "Team represents one country. At least one member of the team must be a citizen of this country."

    Looking forward to competing now!

  • by rakoo on 3/31/14, 10:55 AM

    This sounds exciting, and I'm sure I'm not the only one in thinking that coding an AI for a race car bot is at least as interesting as the final prize.

    Will the server be open-sourced later ? I think it would be awesome to be able build a bot at home.

  • by ravich2_7183 on 3/31/14, 1:28 PM

    Its a good guess that the simulator or game engine behind this competetion is TORCS (The Open Racing Car Simulator) [1].

    Simulated Car Racing (SCR) [2], is an existing annual AI car racing competition based on TORCS, though without the attractive prizes. It also has a client-server architecture with controls and sensor information sent over UDP using what seem like lisp sexps.

    [1] http://torcs.sourceforge.net/

    [2] http://scr.geccocompetitions.com/

  • by ah- on 3/31/14, 10:43 AM

    Signed up in the hope to find some time to have a go at this. But it would be great to have some idea what the task will be beyond "creating a race car bot".
  • by macmac on 3/31/14, 5:59 PM

    There are no clear rules regarding rights in the code submitted, but the combination of "All content the team provides can be used for marketing purposes without notifying the team by the organizers of Hello World Open 2014." and "Reaktor may change these rules, the contest or its prizes, at any time for any reason without incurring liability to any of the contestants." aren't exactly comforting.
  • by d_theorist on 3/31/14, 3:52 PM

    From the rules page:

    "Access to game servers where they can test their bot and compete against other bots"

    Does this mean that teams will be able to run their bot an unlimited number of times against other bots before the actual competition?

    I'm wondering whether neural network/genetic algorithm approaches will be feasible given the testing infrastructure.

  • by yaddayadda on 3/31/14, 8:30 PM

    I don't have a passport, and even if I did and I were to miraculously become a finalist, I've already got other obligations for the first weekend in June, so no formal entry from me.

    BUT I'd still like to compete, is there anyway someone can unofficially compete?

  • by C-- on 3/31/14, 3:47 PM

    It would be interesting to know if C++ support is on the table.
  • by bamdadd on 3/31/14, 12:46 PM

    this is stupid : "ALL MEMBERS FROM THE SAME COUNTRY". Why? I don't really understand the reason behind it
  • by imdhmd on 3/31/14, 7:37 PM

    where does it mention that oly haskel, scala or clojure should be used?