Difference between revisions of "Talk:Blue Shift"

From Robowiki
Jump to navigation Jump to search
(Chase bullets comment)
(comment)
Line 17: Line 17:
  
 
The idea behind [[Chase Bullets]] is shooting a power 3 bullet, observe how the target reacts to that first wave and then shoot weaker bullets in an attempt to exploit predictability in the targets dodging. If the dodging is too predictable, all 3 bullets end in the same spot. If not, the first bullet acts as a decoy for the other weaker bullets, and each bullet flies in a different angle. Observing how the target reacts to previous waves is in essence a form of [[Segmentation]]. --[[User:MN|MN]] 19:37, 9 April 2012 (UTC)
 
The idea behind [[Chase Bullets]] is shooting a power 3 bullet, observe how the target reacts to that first wave and then shoot weaker bullets in an attempt to exploit predictability in the targets dodging. If the dodging is too predictable, all 3 bullets end in the same spot. If not, the first bullet acts as a decoy for the other weaker bullets, and each bullet flies in a different angle. Observing how the target reacts to previous waves is in essence a form of [[Segmentation]]. --[[User:MN|MN]] 19:37, 9 April 2012 (UTC)
 +
 +
@Chase-san: I'm not sure if i "with any gun cooling rate" interpret right. But if you want to shot doubles with power less 3.0 you can just take this. MAX_BULLET_POWER is whatever your firepower handler wants to shot:
 +
 +
<syntaxhighlight>
 +
......
 +
distance -= 18;
 +
 +
double diff = bTurns-getTime();
 +
double buffy = (20 - distance/(diff)) / 3;  // just to make it readable
 +
double bPower = Math.min(MAX_BULLET_POWER,Math.max(buffy,0.1));  // this one should be generated by firepower handler or something similar
 +
 +
if (bPower <= 0.1)  bTurns = 0;
 +
 +
if (setFireBullet(bPower) != null)
 +
{
 +
if (diff <= (0)) bTurns = getTime() + distance /  Rules.getBulletSpeed(bPower);
 +
}
 +
.....
 +
</syntaxhighlight>
 +
As a side effect this one shots also tripels if the distance is long enough. But triples are way to unstable in my opinion, because it happens often that you shot your own bullets down. It's fun to watch. The distance adjustment makes it 2 turns more precise but is also just an option.
 +
<br>@Voidious: +1 for moving the whole thing to [[Chase Bullets]], because an example is always good to have
 +
<br>I can not say if ChaseBullets are good at 1vs1 but in melee it is very usefull for me. My tests shows that it is good against stucked (ram couples, wallhitters, slow movers) robots. Maybe if your targeting gives you a "clear" shot it is also usefull in 1vs1. Right now i play with some shifted targeting angle so it is more like Chase-san said, to get at least one hit on the target.
 +
<br>If you move this to the offical pace. I can, if you want, write some do/dont lines especially for shooting blind or targeting tracking.

Revision as of 12:15, 10 April 2012

Hm, this appears to be the same as Wolverine's finisher when the enemy is disabled. (and as an aside, I think more bots these days need signature 'moves' like that :)) --Rednaxela 20:37, 30 July 2009 (UTC)

Ah, I knew I had heard this before somewhere! It's called BulletDoubling! However, I like your name for it a lot better--CrazyBassoonist 21:13, 30 July 2009 (UTC)

I never thought that this simple of an idea hadn't already been thought of. P.S. I was never around while the old wiki was used.--DBall 21:34, 30 July 2009 (UTC)

Just pointing it out in case you wanted to make a link to it or use any of the old code--CrazyBassoonist 21:46, 30 July 2009 (UTC)

A number of robots (even semi higher ranking ones) are probably susceptible to this to varying degrees. If I ever got around to finishing my banding system, it wouldn't matter if you fired a million bullets to hit my robot at the same time (sides from processing time), it would be able to handle it. Need to work with that. While you're at it write a version that works with any gun cooling rate. :D — Chase-san 15:54, 9 April 2012 (UTC)

You'd have to do some extreme stuff to get more than 2 waves to cross at the same time in a normal 800x600 battle. But please, feel free to attempt any strategy that involves moving directly at my bot at full speed, or firing very low power bullets. :-) Btw, anyone object to merging this with Chase Bullets? (No pun intended...) Pretty sure that was the original term for this. --Voidious 16:21, 9 April 2012 (UTC)

Chase Bullets was the first thing that came to my mind as well. According to old articles, it is possible to combine up to 3 bullets with this strategy. But usually, if a bot is capable of dodging segmented GF targeting, it is also capable of dodging Chase Bullets. --MN 17:58, 9 April 2012 (UTC)

The idea isn't to fire all bullets at the same direction, but fire multiple bullets in different directions that all hit at the same time. So that your more likely to mess em up and score a strike. This is what my banding was made to deal with, all firing in the same location is easy to dodge. — Chase-san 18:34, 9 April 2012 (UTC)

The idea behind Chase Bullets is shooting a power 3 bullet, observe how the target reacts to that first wave and then shoot weaker bullets in an attempt to exploit predictability in the targets dodging. If the dodging is too predictable, all 3 bullets end in the same spot. If not, the first bullet acts as a decoy for the other weaker bullets, and each bullet flies in a different angle. Observing how the target reacts to previous waves is in essence a form of Segmentation. --MN 19:37, 9 April 2012 (UTC)

@Chase-san: I'm not sure if i "with any gun cooling rate" interpret right. But if you want to shot doubles with power less 3.0 you can just take this. MAX_BULLET_POWER is whatever your firepower handler wants to shot:

......
distance -= 18; 

double diff = bTurns-getTime();
double buffy = (20 - distance/(diff)) / 3;   // just to make it readable
double bPower = Math.min(MAX_BULLET_POWER,Math.max(buffy,0.1));   // this one should be generated by firepower handler or something similar
			
if (bPower <= 0.1)  bTurns = 0;			

if (setFireBullet(bPower) != null)
{
	if (diff <= (0)) bTurns = getTime() + distance /  Rules.getBulletSpeed(bPower);
}
.....

As a side effect this one shots also tripels if the distance is long enough. But triples are way to unstable in my opinion, because it happens often that you shot your own bullets down. It's fun to watch. The distance adjustment makes it 2 turns more precise but is also just an option.
@Voidious: +1 for moving the whole thing to Chase Bullets, because an example is always good to have
I can not say if ChaseBullets are good at 1vs1 but in melee it is very usefull for me. My tests shows that it is good against stucked (ram couples, wallhitters, slow movers) robots. Maybe if your targeting gives you a "clear" shot it is also usefull in 1vs1. Right now i play with some shifted targeting angle so it is more like Chase-san said, to get at least one hit on the target.
If you move this to the offical pace. I can, if you want, write some do/dont lines especially for shooting blind or targeting tracking.