Robot Game
Games
programming battle game
SHOW HN2013
How HN took it
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 HNReally cool idea! High five for you
taber on HNI'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 HNYou 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 HNI 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 HNId 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 HNThe problem is that he managed to essentially bypass my jail. He could've wiped my server if he'd wanted.
brandonhsiao on HNSad, 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 HNMake it language neutral - communicate by HTTP. That would also greatly reduce security concerns.
code_duck on HNWhat 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 HNYeah, 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 HNThe 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 HNMany 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 HNOr, 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