Difference between revisions of "GITS/Targeting"

From Robowiki
Jump to navigation Jump to search
Line 3: Line 3:
 
(The original Targeting formula is from the [[WaveSurfing_Challenge/Bot_B|WaveSurfing Challenge Bot B]] from this [[Linear_Targeting|Code Snippet]].)
 
(The original Targeting formula is from the [[WaveSurfing_Challenge/Bot_B|WaveSurfing Challenge Bot B]] from this [[Linear_Targeting|Code Snippet]].)
  
==Improvements==
+
=The 'GhostGun' Targeting system=
These are improvements I made to the targeting formula.
+
The Title says it all. I'm going to try and invent (if it's already been invented, then I'll improve upon it :P ) a new gun called the GhostGun. Theoretically (in my mind anyway) it should be able to adapt to other styles and improve upon itself. But programming such a Gun is going to be ''extremely'' time consuming, since it's going to take a lot of testing and blueprints and bugfixing to develop this Gun.
  
===RadarSweep (extremely buggy)===
+
==The Idea of the GhostGun==
RadarSweep is a little glitch that I educe to expand the Radar Coverage. It's improved the detection of robots, but it also improved the chance of the Robot to switch between shooting at two different robots if they are close together. I have this disabled until I can refine it further.
+
The GhostGun, in theory, will record stats on the Enemy and store them, like Average Velocity and the sort. This will be saved on the HDD so each time GITS kills the Enemy, or the Enemy kills GITS, GITS will be able to improve upon itself slightly. Now, this will be different since robots are different, from movement to what type of gun it uses.
  
===PowerConserve===
+
==Theoretical Example==
So far, PowerConserve has been a huge success. The gun will fire the correct amount of bullets within medium distances from GITS (on a 800x600 field). It will, however, overshoot by one or two if the target is far away or undershoot by one if the target is extremely close to GITS. This has also only been tested on static terms (i.e., GITS standing still and SittingDuck). Theoretically, GITS should always be spot on if it was a dynamic test, since Robots never stand still in battle. I'm also going to implement a dynamic Bullet Power script that'll further improve PowerConserve's ability by limiting the Max Power of the Bullet (if needed) to kill the other robot (instead of the static 3.0 power).
+
GITS battles against Robot_A, which has a WaveSurfing-type movement and a Dynamic Clustering-type Gun. GITS has never been against this robot before, so it creates a new file on the HDD called Robot_A.txt. As they fight, GITS collects data about how Robot_A moves and shoots, and guesses on how it handles scans. More likely than not, GITS will lose. As the first round ends, GITS writes to Robot_A.txt everything it learned. As round 2 starts, GITS recalls this information and starts to dodge bullets and react to movements more effectively. GITS now gathers data on how Robot_A's movement and shooting changes and uses them to create averages. As the rounds continue, GITS becomes smarter and better, creating a strategy that works well against Robot_A.
 +
 
 +
A couple of Months later, GITS and an Improved Robot_A fight. GITS recalls the Robot_A.txt file on the HDD and uses it in the first round. Since Robot_A has been improved, the file GITS uses is somewhat ineffective. As GITS collects data, it recalculates the parts that have changed and updates the averages, effectively adapting to Robot_A's new style.
 +
 
 +
==Development==
 +
The GhostGun is an [[RCGPL|RCGPL]] project, which means that you can help develop and test it (and use it too). You can get the Source (in a Sandbox-type Development Area) at the top of the page (the link that says 'Source' :P)
 +
===Authors===
 +
The People who helped develop this gun
 +
* Jacob "HACKhalo2" Litewski

Revision as of 18:22, 15 May 2009

GITS Targeting - (Source)


(The original Targeting formula is from the WaveSurfing Challenge Bot B from this Code Snippet.)

The 'GhostGun' Targeting system

The Title says it all. I'm going to try and invent (if it's already been invented, then I'll improve upon it :P ) a new gun called the GhostGun. Theoretically (in my mind anyway) it should be able to adapt to other styles and improve upon itself. But programming such a Gun is going to be extremely time consuming, since it's going to take a lot of testing and blueprints and bugfixing to develop this Gun.

The Idea of the GhostGun

The GhostGun, in theory, will record stats on the Enemy and store them, like Average Velocity and the sort. This will be saved on the HDD so each time GITS kills the Enemy, or the Enemy kills GITS, GITS will be able to improve upon itself slightly. Now, this will be different since robots are different, from movement to what type of gun it uses.

Theoretical Example

GITS battles against Robot_A, which has a WaveSurfing-type movement and a Dynamic Clustering-type Gun. GITS has never been against this robot before, so it creates a new file on the HDD called Robot_A.txt. As they fight, GITS collects data about how Robot_A moves and shoots, and guesses on how it handles scans. More likely than not, GITS will lose. As the first round ends, GITS writes to Robot_A.txt everything it learned. As round 2 starts, GITS recalls this information and starts to dodge bullets and react to movements more effectively. GITS now gathers data on how Robot_A's movement and shooting changes and uses them to create averages. As the rounds continue, GITS becomes smarter and better, creating a strategy that works well against Robot_A.

A couple of Months later, GITS and an Improved Robot_A fight. GITS recalls the Robot_A.txt file on the HDD and uses it in the first round. Since Robot_A has been improved, the file GITS uses is somewhat ineffective. As GITS collects data, it recalculates the parts that have changed and updates the averages, effectively adapting to Robot_A's new style.

Development

The GhostGun is an RCGPL project, which means that you can help develop and test it (and use it too). You can get the Source (in a Sandbox-type Development Area) at the top of the page (the link that says 'Source' :P)

Authors

The People who helped develop this gun

  • Jacob "HACKhalo2" Litewski