4 ms·
> 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 usi
by spuz 13y 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?
- omahlama 13y agoIt does work - I've seen it :) It does depend on a low ping between the bots and the server, but that is taken care of by the organizers.
- TeMPOraL 13y agoWell, the ping (and uncertainty of it) is just a parameter in an closed-loop feedback control system ;). You can handle it.
- mikko-apo 13y agoHi! 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.
- mcv 13y agoCan you test your own bots? As far as I can tell, the rules only specify that they're automatically tested daily. I'd like the ability to test whenever I need to.
- mikko-apo 13y agoYes, we'll provide test game servers that you can use.
- mcv 13y agoAre there limits to how much you can use them? Suppose I want to use AI techniques that require tons of tests to be run. Is that okay?
- d_theorist 13y agoI would like to know the answer to this.
- SixSigma 13y agoCouldn't you record the received messages and replay them?
- mcv 13y agoI don't see what use that would be. If the test server was a simple data repository, it would be useless for testing algorithms.
- mikko-apo 13y agoUnfortunately due budget constraints we can't allow unlimited access to test game servers. Do you have an estimate on how many rounds would you need to evolve the algorithm enough?
- mcv 13y ago