battlecode-server-2017
battlecode-server-2017 copied to clipboard
Official Battlecode game engine.
Currently our bytecode "cost function" - what we use to count user bytecode - doesn't account for the fact that some bytecode are more expensive than others on the actual...
If we use something like [high-performance primitive collections](https://labs.carrotsearch.com/hppc.html) we may be able to get a free performance boost. It's a pretty big dependency, though, so we probably want some way...
Make it so that users can edit what happened earlier in running matches. Possibly in arbitrary matches, if they have the player source code. One way to do this would...
Currently, in order to prevent robots from talking to each other with static variables, we just reload all of the player's classes for every robot. This is slow and memory-intensive....
Basically, when user code is done running or blocked, instead of pausing the whole OS thread, we take a snapshot of the state of their code and then switch to...
If you use System.out.println, the engine outputs the round number, robot type, and robot ID of the robot executing the print statement. The same behavior should happen for System.out.format.
For that extra comfy extra layer of security.
During the final tournament, if we use a large map, it's hard to see what's going on because robots are so small. It might be helpful to have a system...
To reproduce: have RobotPlayer.java use the following lines: Scanner w = new Scanner(System.in); w.next(); ``` [java] java.lang.reflect.InvocationTargetException [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] at java.lang.reflect.Method.invoke(Method.java:497)...
That is, change the `Config` API from being: ``` java config.getInt("port") ``` to ``` java config.port ``` This will make refactoring significantly easier, since we can know what config options...