3 ms·
I was excited to give a shot at Battlecode until I heard about the broken solution to limit resources. >In order to hard limit each team’s total computation, y
by icefox 11y ago
I was excited to give a shot at Battlecode until I heard about the broken solution to limit resources.
>In order to hard limit each team’s total computation, yet guarantee equal computation resources to each team, each team is given a bytecode limit, and their code is instrumented and allowed to run only up to that limit before it is halted.
They want to give each team equal cpu time, but when you have a bytecode that has instructions like invokevirtual and multianewarray the execution time isn't' exactly similar. And then there is the story about how in 2007 to make things easier the engine counted the bytecodes of various standard library methods as a predetermined fixed number no matter what happened. So of course someone put A* inside string.matches with a regular expression. (http://realgl.blogspot.com/2013/08/battlecode.html http://realgl.blogspot.com/2013/08/battlecode.html).
Sadly whenever I hear about Battlecode I hear stories about how people abused and broke the bytecode limitation to get more cpu resources than everyone else not about how they solved the problem straight up better than everyone else.
- userbinator 11y agoI hear stories about how people abused and broke the bytecode limitation to get more cpu resources than everyone else not about how they solved the problem straight up better than everyone else. Isn't the whole idea behind the "hacker" movement to exploit the boundaries of the rules?
- icefox 11y agoIt all depends. If you are trying to learn more about vm's and bytecode then this was a success. If you were trying to learn how to make a good ai that uses few resources then you might have failed. The challenge seem to be about the latter.