Difference between revisions of "Chase Bullets"
Jump to navigation
Jump to search
m (fixed link) |
m (nav box) |
||
(One intermediate revision by the same user not shown) | |||
Line 3: | Line 3: | ||
| page1 = Implementations | | page1 = Implementations | ||
}} | }} | ||
− | |||
[[File:Blue_Shift.JPG|thumb|200px|right|Example of waves that reach enemy at the same time]] | [[File:Blue_Shift.JPG|thumb|200px|right|Example of waves that reach enemy at the same time]] | ||
− | |||
== How it Works == | == How it Works == | ||
Line 30: | Line 28: | ||
<!-- i will do this after the reorganizing is finished , this contains the math behind it--> | <!-- i will do this after the reorganizing is finished , this contains the math behind it--> | ||
− | -- | + | One of the basic math behind chase bullets is: |
+ | :<math>B_{1} =\text{ first bullet power }</math> | ||
+ | :<math>B_{2} =\text{ second bullet power }</math> | ||
+ | :<math>D_{1} =\text{ distance to target when shooting the first bullet }</math> | ||
+ | :<math>D_{2} =\text{distance to target when shooting the second bullet }</math> | ||
+ | :<math>C_{1} = \text{the gun cooling rate after shooting the first bullet }</math> | ||
+ | :<math>S_{1} = \text{ bullet speed for the first bullet}</math> | ||
+ | |||
+ | If you put all this together in a formula, you can calculate the second bullet power with: | ||
+ | |||
+ | :<math> B_{2} = {20 - ( { D_{2} \over ({D_{1} \over S_{1}}-C_{1}) } ) \over 3}</math> | ||
+ | |||
+ | where: | ||
+ | |||
+ | :<math>C_{1} = {(1+ {B_{1} \over 5}) \over 0.1}</math> with a given default cooling rate of 0.1 | ||
+ | :<syntaxhighlight>double c1 = Rules.getGunHeat(b1)/getGunCoolingRate()</syntaxhighlight> | ||
+ | |||
+ | and: | ||
+ | |||
+ | :<math> S_{1} = 20 - 3 * B_{1}</math> | ||
+ | :<syntaxhighlight>double s1 = Rules.getBulletSpeed(b1)</syntaxhighlight> | ||
+ | |||
== Examples == | == Examples == | ||
Line 41: | Line 60: | ||
* [[CigaretBH]] | * [[CigaretBH]] | ||
+ | |||
+ | {{Targeting Navbox}} | ||
[[Category:Targeting]] | [[Category:Targeting]] |
Latest revision as of 18:20, 17 June 2012
- Sub-pages:
- Implementations
How it Works
ChaseBullets is a system by which multiple bullets are fired so that they will reach the distance of the enemy robot simultaneously, thereby hopefully increasing the chance to hit, adding to the damage done, or confusing the enemy's movement.
Common Descriptions
- Chase Bullets
- Bullet Doubling - BulletDoubling (Old Wiki)
- Doppler Effect - Doppler Effect
How can you use it
- confuse advanced enemy movement systems
- Since many robots' movements respond to detecting enemy fire, the assumption is that they will be dodging the high power bullet and the low power bullet will have a higher chance of hitting.
- collect more damage points
- shooting at multiple points near the guessed target position to increase the hit rate
- increase your effective bullet shadow
- just for the fun of it
Concept
One of the basic math behind chase bullets is:
- <math>B_{1} =\text{ first bullet power }</math>
- <math>B_{2} =\text{ second bullet power }</math>
- <math>D_{1} =\text{ distance to target when shooting the first bullet }</math>
- <math>D_{2} =\text{distance to target when shooting the second bullet }</math>
- <math>C_{1} = \text{the gun cooling rate after shooting the first bullet }</math>
- <math>S_{1} = \text{ bullet speed for the first bullet}</math>
If you put all this together in a formula, you can calculate the second bullet power with:
- <math> B_{2} = {20 - ( { D_{2} \over ({D_{1} \over S_{1}}-C_{1}) } ) \over 3}</math>
where:
- <math>C_{1} = {(1+ {B_{1} \over 5}) \over 0.1}</math> with a given default cooling rate of 0.1
double c1 = Rules.getGunHeat(b1)/getGunCoolingRate()
and:
- <math> S_{1} = 20 - 3 * B_{1}</math>
double s1 = Rules.getBulletSpeed(b1)
Examples
There are several implementations of chase bullets available on the Implementations sub-page.
See also
|