Difference between revisions of "Ramming Movement"

From Robowiki
Jump to navigation Jump to search
(Long live the king)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
{{Youtube|sfksqk5zyMY}}
 
{{Youtube|sfksqk5zyMY}}
  
{{stub}}
+
Ramming Movement is a form of aggressive [[movement]] with the goal of ramming your bot into the enemy.
  
Ramming movement is a form of [[movement]], the goal of which is to ram your bot into the enemy. Bots using ramming movements are known as ''rambots'' or ''rammers''. A ramming movement is typically used in one of two cases:
+
== Ramming as a movement ==
 +
These bots use Ramming Movement exclusively. They are called '''rambots''' or '''rammers'''.
  
# As a [[1-vs-1]] strategy. Although rambots tend not to perform very well in overall ranking, it is difficult for even the best bots to get more than a 70% score share against a good rammer.
+
Although rambots tend not to perform very well in overall ranking, it is difficult for even the best bots to get more than a 75% score share against a good rammer.
# As a [[fatality]]. Since ram damage gives twice as many score points as bullet damage and ram kills can give a larger score bonus than bullet kills, ramming a disabled opponent can be a very effective finishing move. Also, many bots stop firing if their health is low, so ramming these bots is risk-free. As a bonus, watching a bot ram a disabled enemy is fun. (Watch [[Wolverine]] kill its opponents!)
 
  
== How ram damage and scoring works ==
+
Most rambots fire bullets (typically with [[Head-On Targeting|HOT]], [[Linear Targeting|Linear]], [[Circular Targeting|Circular]], or other such simple guns) in addition to ramming. This is because ramming without firing is dangerous, and even in the best-case scenario (against [[SittingDuck]] or equivalent) leads to the rambot becoming disabled.
When your bot rams an opponent, both bots take a constant 0.6 damage. When the battle finishes, the ramming bot gets twice the total amount of ram damage as its "ram damage" score. In addition, if an enemy is killed by ramming, your bot receives 30% of all the damage it did to that enemy as a bonus. A sample score table from one round of a pure rammer vs. [[SittingDuck]] might look like this:
 
  
{| border="1"
+
There is a [[:Category:Challenges|challenge]] for rammers, the [[Rambot Challenge 2K6]] ([[Rambot Challenge 2K6/Results|results]]), though it may be somewhat outdated.
|Rank
 
|Robot Name
 
|Total Score
 
|Survival
 
|Surv Bonus
 
|Bullet Dmg
 
|Bullet Bonus
 
|Ram Dmg * 2
 
|Ram Bonus
 
|1sts
 
|2nds
 
|3rds
 
|-
 
|1st
 
|ram.Rambot
 
|290
 
|50
 
|10
 
|0
 
|0
 
|200
 
|30
 
|1
 
|0
 
|0
 
|-
 
|2nd
 
|sample.SittingDuck
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|1
 
|0
 
|}
 
  
== Risks of ramming as a Fatality ==
+
The current state-of-art rammers are '''[[GrubbmThree]]''' (1v1), '''[[LunarTwins]]''' ([[Twin Duel]]), and '''[[NightmareTeam]]''' ([[teams]]).
 +
 
 +
== Ramming as a fatality ==
 +
Some bots use ramming only against disabled opponents (which cannot move) and/or low-energy opponents (which typically tend to stop firing). Since ram damage gives twice as many [[Score|score points]] as bullet damage, and ram kills give a larger bonus than bullet kills, ramming can be an effective finishing move.
 +
 
 +
Some endgame rammers do not have explicit ramming code, but fatality-ram as a side-effect of their [[Minimum Risk Movement]] or [[Anti-Gravity Movement]] implementation.
 +
 
 +
Risks of ramming as a fatality:
 
* You get twice the bonus but the difference can be extremely little if the original bonus is less than ten.
 
* You get twice the bonus but the difference can be extremely little if the original bonus is less than ten.
* You risk not killing the robot
+
* You risk not killing the opponent.
* The opponent can gain some more bullet damage while you can not
+
* The opponent can gain some more bullet damage while you cannot.
* The inactivity timer might get activated
+
* The inactivity timer might get activated.
  
Recommended Precautions:
+
Recommended precautions:
 
* Wait until the last bullet fired at you has passed your position before starting to ram.
 
* Wait until the last bullet fired at you has passed your position before starting to ram.
* If ramming does not succeed within 300 ticks, start firing again to prevent loosing the normal bonus.
+
* If ramming does not succeed within 300 ticks, start firing again to prevent you from losing the normal bonus.
* Whenever you detect an enemy bullet fired, you should abort the ram, evade the bullet and start firing again.
+
* Whenever you detect an enemy bullet has been fired, you should abort the ram, evade the bullet, and start firing again.
 +
 
 +
== Ram damage and scoring ==
 +
When two robots collide, both bots take a constant 0.6 damage.
 +
 
 +
When the battle finishes, each bot scores 2 points for each point of damage they cause by ramming enemies. In addition, if an enemy is killed by ramming, the rammer receives 30% of all the damage it did to that enemy as a bonus.
 +
 
 +
A rambot that does not fire bullets, against a perfectly immobile opponent, would yield the following result:
 +
 
 +
[[File:MaxRiskvsSittingDuckNoBullets.png]]
 +
 
 +
 
 +
However, as mentioned above, most rambots fire bullets. So the scores usually look more like this:
 +
 
 +
[[File:MaxRiskvsSittingDuck.png]]
 +
 
 +
== Future developments ==
 +
As of 2017, the current best rambots are [[MicroBots]] and [[NanoBots]]. No one has yet created a rammer that uses advanced movement or targeting techniques, such as [[Wave Surfing]] or [[GuessFactor Targeting (traditional)|GuessFactor Targeting]]. There is a great deal of potential in this area.
  
 
== See also ==
 
== See also ==
* [[:Category:RamBots]]
+
* [[:Category:RamBots|List of rambots]]
* [[Robocode/Scoring]]
+
* [[Rambot Challenge 2K6]]
 +
* [[Robocode/Scoring|Robocode scoring]]
 +
* [[Robocode/Game Physics|Robocode physics]]
 +
 
  
 
{{Movement Navbox}}
 
{{Movement Navbox}}
  
 
[[Category:Movement]]
 
[[Category:Movement]]

Latest revision as of 21:28, 25 September 2017

Youtube
Youtube has a video of Ramming Movement in action: click here to watch
Youtube
Youtube has a video of Ramming Movement in action: click here to watch

Ramming Movement is a form of aggressive movement with the goal of ramming your bot into the enemy.

Ramming as a movement

These bots use Ramming Movement exclusively. They are called rambots or rammers.

Although rambots tend not to perform very well in overall ranking, it is difficult for even the best bots to get more than a 75% score share against a good rammer.

Most rambots fire bullets (typically with HOT, Linear, Circular, or other such simple guns) in addition to ramming. This is because ramming without firing is dangerous, and even in the best-case scenario (against SittingDuck or equivalent) leads to the rambot becoming disabled.

There is a challenge for rammers, the Rambot Challenge 2K6 (results), though it may be somewhat outdated.

The current state-of-art rammers are GrubbmThree (1v1), LunarTwins (Twin Duel), and NightmareTeam (teams).

Ramming as a fatality

Some bots use ramming only against disabled opponents (which cannot move) and/or low-energy opponents (which typically tend to stop firing). Since ram damage gives twice as many score points as bullet damage, and ram kills give a larger bonus than bullet kills, ramming can be an effective finishing move.

Some endgame rammers do not have explicit ramming code, but fatality-ram as a side-effect of their Minimum Risk Movement or Anti-Gravity Movement implementation.

Risks of ramming as a fatality:

  • You get twice the bonus but the difference can be extremely little if the original bonus is less than ten.
  • You risk not killing the opponent.
  • The opponent can gain some more bullet damage while you cannot.
  • The inactivity timer might get activated.

Recommended precautions:

  • Wait until the last bullet fired at you has passed your position before starting to ram.
  • If ramming does not succeed within 300 ticks, start firing again to prevent you from losing the normal bonus.
  • Whenever you detect an enemy bullet has been fired, you should abort the ram, evade the bullet, and start firing again.

Ram damage and scoring

When two robots collide, both bots take a constant 0.6 damage.

When the battle finishes, each bot scores 2 points for each point of damage they cause by ramming enemies. In addition, if an enemy is killed by ramming, the rammer receives 30% of all the damage it did to that enemy as a bonus.

A rambot that does not fire bullets, against a perfectly immobile opponent, would yield the following result:

MaxRiskvsSittingDuckNoBullets.png


However, as mentioned above, most rambots fire bullets. So the scores usually look more like this:

MaxRiskvsSittingDuck.png

Future developments

As of 2017, the current best rambots are MicroBots and NanoBots. No one has yet created a rammer that uses advanced movement or targeting techniques, such as Wave Surfing or GuessFactor Targeting. There is a great deal of potential in this area.

See also