Difference between revisions of "Eem.frame-lib"
m (typos) |
m (small typos fix, and updates in write up) |
||
Line 3: | Line 3: | ||
The framework is quite general with pluguble motions, virtual guns, gun managers, and bots tracking manager. | The framework is quite general with pluguble motions, virtual guns, gun managers, and bots tracking manager. | ||
− | The framework aims to be general enough to be used by others. Currently, there are two of my own bots using this framework which are different only in the gun manager part. One is ultimate pacifist bot [[IWillFireNoBullet]] and the other is quite | + | The framework aims to be general enough to be used by others. Currently, there are two of my own bots using this framework which are different only in the gun manager part. One is ultimate pacifist bot [[IWillFireNoBullet]] and the other is quite competitive bot [[EvBotNG]] which is very good in melee. |
− | One of the unique feature of the framework is that it tries to track all bots and treat them somewhat equally with a master bot. I.e., an enemy bot is just a bot which have gun and motion manager, so when an enemy fires, I just ask framework to use enemy gun manager to fire with a given gun set. I plan to extend to the motion drive too, so the framework would attempt to predict future enemy location. While it all generally quite | + | One of the unique feature of the framework is that it tries to track all bots and treat them somewhat equally with a master bot. I.e., an enemy bot is just a bot which have gun and motion manager, so when an enemy fires, I just ask framework to use enemy gun manager to fire with a given gun set. I plan to extend to the motion drive too, so the framework would attempt to predict future enemy location. While it all generally quite primitive, the gun part is quite general, so I can just check with the enemy bot class how dangerous is the bot itself, what guns it use, and what is their hit rate. |
Also, it helps with wave manager, every bot in the simulator suppose to have its own and enemy waves to track. | Also, it helps with wave manager, every bot in the simulator suppose to have its own and enemy waves to track. | ||
Line 11: | Line 11: | ||
There is still quite a lot of work to do. But it seems that motion driver is quite strong, especially the exact path one, which is the variation of the minimal risk motion driver. In melee it gives you high chance of survival. Though it is CPU intensive, so expect some skipped turns. From other hand, it does not hit walls. | There is still quite a lot of work to do. But it seems that motion driver is quite strong, especially the exact path one, which is the variation of the minimal risk motion driver. In melee it gives you high chance of survival. Though it is CPU intensive, so expect some skipped turns. From other hand, it does not hit walls. | ||
− | The available guns are somewhat primitive: head on, linear, circular, circular with acceleration, guess factor, decaying guess factor, flipped guess factor, and random gun. No | + | The available guns are somewhat primitive: head on, linear, circular, circular with acceleration, guess factor, decaying guess factor, flipped guess factor, KDTree gun, and random gun. No PIF gun yet. KDTree gun is quite weak, I think I need to work on proper parameter space here to push performance forward. |
== License == | == License == | ||
The code is open source, feel free to do what ever you want with it. It is available as github [[https://github.com/evgmik/robocode_bots.frame-lib eem.frame-lib repository]] | The code is open source, feel free to do what ever you want with it. It is available as github [[https://github.com/evgmik/robocode_bots.frame-lib eem.frame-lib repository]] |
Latest revision as of 18:20, 16 August 2017
A general bot framework developed by Beaming. The framework is quite general with pluguble motions, virtual guns, gun managers, and bots tracking manager.
The framework aims to be general enough to be used by others. Currently, there are two of my own bots using this framework which are different only in the gun manager part. One is ultimate pacifist bot IWillFireNoBullet and the other is quite competitive bot EvBotNG which is very good in melee.
One of the unique feature of the framework is that it tries to track all bots and treat them somewhat equally with a master bot. I.e., an enemy bot is just a bot which have gun and motion manager, so when an enemy fires, I just ask framework to use enemy gun manager to fire with a given gun set. I plan to extend to the motion drive too, so the framework would attempt to predict future enemy location. While it all generally quite primitive, the gun part is quite general, so I can just check with the enemy bot class how dangerous is the bot itself, what guns it use, and what is their hit rate.
Also, it helps with wave manager, every bot in the simulator suppose to have its own and enemy waves to track.
There is still quite a lot of work to do. But it seems that motion driver is quite strong, especially the exact path one, which is the variation of the minimal risk motion driver. In melee it gives you high chance of survival. Though it is CPU intensive, so expect some skipped turns. From other hand, it does not hit walls.
The available guns are somewhat primitive: head on, linear, circular, circular with acceleration, guess factor, decaying guess factor, flipped guess factor, KDTree gun, and random gun. No PIF gun yet. KDTree gun is quite weak, I think I need to work on proper parameter space here to push performance forward.
License
The code is open source, feel free to do what ever you want with it. It is available as github [eem.frame-lib repository]