Replies: 4 comments 10 replies
-
Hi Davide, Hot-reload? "hot reload" is not something I will look into for Robocode Tank Royale. That is up to the bot developers to do or provide. You can read about the schemas and protocol used in Tank Royale here: |
Beta Was this translation helpful? Give feedback.
-
Running Tank Royale without a GUI This is definitely possible. Again, you can have a look at the schemas and the sequence diagrams that gives an idea of the protocol being used. You need to:
Robocode Tank Royale was designed with the server, controller, observer mindset so it would be possible to control the server and the game. But I have not provided any API similar to the |
Beta Was this translation helpful? Give feedback.
-
TPS (Turns Per Second) What you really need to look for is the If you want to have a higher TPS, you could set the turn timeout to e.g. 1000, meaning that the bots will have 1000 microsecond to make their move (send their intent, which is the same as calling Notice, if bots do little computing and almost send their intent to the server right away, and all bots do that, the TPS will increase as all bots sent their intent before the You could try out a low |
Beta Was this translation helpful? Give feedback.
-
Movement of the Wall sample bot This can be seen as a bug, with it depends on how "exact" the bot API should behave. A real dominating killer bot will probably not be using turnLeft() and turnRight(), but call the setTurnRight() and setTurnLeft() each turn to adjust its current turn depending on what is going on here and now. So the turnRight and turnLeft should be seen as methods you use for simple bot or newcomers of the game to get started, as the bot will not be able to change it movements for several turns and adjust its movement to the current situation, which can be pretty fatal. My advice for bot developers is to take SkippedTurns into account and make sure the bot can handle when it is skipped one to several turns now and then. It makes the bot more stable... and dangerous. I might have a look into making the blocking calls like turnRight(), forward() etc. more reliable for the bot apis taking skipped turns into account. But it is not a high priority right now. |
Beta Was this translation helpful? Give feedback.
-
Hi
I'm trying to start developing a bot for this version of Robocode but I'm meeting a couple of big walls that I don't know if I'm missing to see the way around them or if these are features that still requires development.
First of all, is there a way to hot-reload the bot during the battle? In the classic version of Robocode I just need to restart the battle that my bot is reloaded with the new code. This helps a lot with the speed in the development of a bot. Here I see the with a restart the bot can't be reloaded because the bot is a different process itself, and if I reboot the bot for the battle is a bot leaving the game.
Is there a way to "update" the bot code without the need to recreate a battle from start?
This leads me to the next question: is there a way to launch a server+bot+observer+any other requirement prgrammatically and without the gui? This would be required to create some automatic process useful to train bots with, for example, machine learning algorithms. I can't figure iut right a way how to achieve it but I see that should be possiible, I just don't know If it's only still missing documentation or is not possible at all.
I have an old 10+ yers old macbook pro, it can start battles but I noticed a couple of issues that I fear is related to the slowness of my machine and I would like to ask confirmation to this.
I noticed that if I raise the TPS the server registers my request but the game doesn't look like is affect, maybe a little if not at all; is this because is already running at the maximum speed my computer is capable of handling the game?I've found out the little tooltip that raises up if you keep the mouse over the TPS cursor. Is now clear why I could not go over e certain amount of speed, the turn can't go faster the allowed timeoud for a turn, still would be nice to see the actual TPS is the game running at, at this point.
Using "Walls" sample bot I've noticed that it sometimes is like not turning 90 degrees on hitting the corner but a little more so the bot start taking a diagonal path towards a wall, turning 90 degrees and keeping that new diagonal path angle until a new change occurs.
Is this known? Maybe a bug in the bot? Or is my computer so slow that the bot receives/gives out a wrong informations due some latency answering to the server?
Sorry If put down a loto questions, but I preferred to take my time to try and undertand all this by myself and in my little free time I couldn't give answers to these.
Cheers!
Beta Was this translation helpful? Give feedback.
All reactions