Robot Game

Games

programming battle game

SHOW HN2013

Robot Game

Game where you write Python robots to fight other players

robotgame.org

#python#programming game#robot battle#ai competition

142points
98comments
#145of 1,739 in 2013
Top 9%of 2013 by points

How HN took it

CuriousMostly questions and neutral comments

13 positive, 51 neutral or asking, 1 mixed, 9 critical, out of 74 comments about the project. Thread score +0.09.

Execution: 2 for, 8 againstIdea: 8 for, 0 againstPrivacy: 1 for, 1 againstDocs: 1 for, 0 againstDesign: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Fun concept and clean minimal UI

    From 3 comments
    • Oh, this is right up my street. I love the minimal UI.
      special on HN
    • Really cool idea! High five for you
      taber on HN
    • I'm having a lot of fun with this. I'll submit something soon. You swallow all exceptions and make the robot guard instead. This is nice, but it makes it hard to develop, because…
      Xephyrous on HN

Objections

  • Python cannot be safely sandboxed

    From 4 comments
    • As pointed out in another subthread, Python code is practically impossible to sandbox. Most competition isolate player code by running it in a separate process which has the…
      praptak on HN
    • You may want to bear in mind that, at least last I knew, the official position of the CPython dev team is that it is not possible to sandbox CPython. If they can't do it.... At…
      jerf on HN
    • I am working on a marginally similar concept (interface in browser, battles on server) game, but I chose Lua as the scripting language since it is much easier to sandbox. I could…
      gamegoblin on HN
    • Id run in docker containers or zerovm. You _cannot_ sandbox Python.
      sitkack on HN
  • Sandbox escape found, server security holes

    From 3 comments
    • I was looking through the code and saw someone submitted this but didn't run it: ``` def x(): g = yield yield g.gi_frame.f_back.f_back g = x() g.next() frame = g.send(g)…
      brandonhsiao on HN
    • The problem is that he managed to essentially bypass my jail. He could've wiped my server if he'd wanted.
      brandonhsiao on HN
    • Sad, I spent two days writing a program I was sure to beat all the rest. Now I won't be able to run it :( Hope you fix the "gaping security holes" soon (whilst keeping the code…
      lemiffe on HN

Requests

  • Use process isolation or language-neutral communication such as HTTP

    From 3 comments
    • As pointed out in another subthread, Python code is practically impossible to sandbox. Most competition isolate player code by running it in a separate process which has the…
      praptak on HN
    • Make it language neutral - communicate by HTTP. That would also greatly reduce security concerns.
      code_duck on HN
    • What is the advantage of trying to sandbox native python code? Why not expose a RESTful API and let people implement in whatever language they want and not have to worry about…
      asdddd333 on HN
  • Add replay viewer or better match logs

    From 2 comments
    • It looks like I won. There's no log from the battle, though, so if I had lost I wouldn't know what to improve. In the page for the battle there's just some kind of weird string…
      cosarara97 on HN
    • Yeah, that's the game data (zlib + base64). I'm working on making some sort of replay viewer in JS.
      brandonhsiao on HN
  • Support more languages or write bots in any language

    From 2 comments
    • What is the advantage of trying to sandbox native python code? Why not expose a RESTful API and let people implement in whatever language they want and not have to worry about…
      asdddd333 on HN
    • The Google AI challenges had the bots communicate over stdin and stdout with the game server meaning they could be programmed in any language.
      aerique on HN

Questions

  • What methods are used to sandbox untrusted code

    From 1 comment
    • Brandon - what methods are you using to run untrusted Python code in a secure sandbox?
      benhamner on HN
  • Why certain builtins are disabled

    From 2 comments
    • interesting! Question regarding the security restrictions - why disable built-ins such as `all`, `set`, `list`, `enumerate`, `min`, `sum`, `sorted`, etc?
      shoo on HN
    • Many of the builtins that are disabled seem quite harmless to me (especially something like "min"). Curious how you decided which ones to disable.
      michaelmior on HN

Alternatives named

  • Robocode

    From 2 comments
    • Is this anything like Robocode? http://robocode.sourceforge.net/ Because I had an amazing time in high school doing some local Robocode competitions. This could really bring some…
      nilkn on HN
    • Or, more notably, Robocode (http://en.wikipedia.org/wiki/Robocode)
      fbnt on HN
  • Crobots

    From 1 comment
    • Similar to crobots (http://en.wikipedia.org/wiki/Crobots).
      pmiller2 on HN
  • Core War

    From 1 comment
    • So did anyone else ever play Core War back in the mid '80s? http://en.wikipedia.org/wiki/Core_War I wonder whether modern virtualization techniques are secure enough to allow you…
      bigiain on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/6656419)