Quote:
Originally Posted by MaxMax161
I was reading some stuff about a 5th gear AI last year; does anyone know if that ever came out and where I could find it?
|
I wrote a Java Client that takes the place of the normal C#/XNA/PhysX/DirectX client.
In that client I can write any algorithm/heuristics I want and have them control the robot that is competing in the virtual match a 5th Gear Server is managing. To make life sort-of simple (and cheat a little bit) the Java client knows everything about the states of the other robots. It doesn't have to use simulated sensors to try learn things like a bot's position, velocity, etc.
I wrote the original for the Overdrive season. Then we improved some important parts of how the simulated robots drive. The Java client didn't keep up, and it languished for awhile. Over the last year I was able to get the client working again and I was in the middle of creating an interface that would let you write your own control algorithms and integrate them with the infrastructure I had created. I have a modest ToDo list left.
But... We added some new messages to the Server-Client interface, and we are in the middle of writing the Logomtiion simulation, so...
When I get back to it and can release it, you should be able to create a Java class that will integrate with the compiled code I supply, and then use your code to control one or more of our simulated robots (using one or more client computers).
Part of that ToDo list involves creating features that will let you/me/us run a series of AI vs AI matches in virtual tournaments. If that, or using the framework to help with a deeper analysis of strategies (or as the foundation of class project?), sounds good to you, then stay in touch, and maybe offer to be a beta-tester.
A couple of FYIs:
- My Java does not create a fancy 3D rendering of the match; but you can see that on the server's GUI (or maybe write one for us???).
- My "AI Client" isn't very useful for creating your real robot's autonomous-period software. The real sensor outputs and the real robot's driving characteristics are miles apart from what what software "sees" in the simulator.
- If you are interested in creating a robot that could play an entire match autonomously, then you can use the Java client to see how easy or hard that will be. Step one would be flitering out all the match info that a real robot would NOT have/know. Then you would come up with the instructions that would play the game using only the info a real robot would have at its disposal. Again - that sounds like a decent class project to me.
Blake