Forums | Admin

Discussion Forums: strategies

Start New Thread Start New Thread

 

By: Ilmari Heikkinen
Avoiding getting hit [ reply ]  
2005-12-09 13:43
The idea behind avoiding enemy shots is similar to targetting. If you know where the bot shooting at you is, you can guess where he will shoot, and know to avoid that place.

Avoiding bots using head-on targetting (ones that shoot at where you are now) is the easiest. All you have to do to avoid the line from the enemy to you until the bullet has passed. A simple heuristic method would be to just drive parallel to the enemy bot.

Avoiding bots using linear targetting (shooting at where you will be at this velocity) is also pretty easy. Keep track of your previous positions and then run linear targetting from the enemy on them. You'll get where the enemy will shoot and can now avoid the place. There's a pretty simple heuristic to foil linear targetting as well, in which you oscillate in a right angle w.r.t. the enemy position (like what Kite does.)

I think you can figure out the targetting the enemy is using by getting hit, moving parallel to the enemy, and stopping. If you get hit during the movement, the enemy's using linear targetting. If you get hit at minimum time after stopping, the enemy's using head-on. If you get hit during both, the enemy is using acceleration targetting or better (or just being lucky).

Moving in orbits foils trajectory targetting algorithms up to force derivative targetting (and that's a bitchy power-8-or-something equation to solve :I). There are simpler(?) circular targetting algorithms that assume that you're moving in a circle, and then shoot at you based on that.

In a nutshell:
- velocity defeats head-on targetting
- acceleration defeats linear targetting
- moving in orbits defeats a lot of targetting
- if you know how the enemy targets, you can use that in reverse to know where they will shoot
- but what if they're using a min-max-algorithm to guess where you'll be dodging :I