|
|
|
|
|
by spuz
4455 days ago
|
|
> 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? |
|
Very good question :) The message protocol is synchronized because of latency. When the developers test their bots against the game servers, the server allows long response times. When automated races are run in the cloud (with low latency), the response times need to be more strict.