Talk:Ramming Movement

From Robowiki
Jump to navigation Jump to search

Old Wiki

As the name implies, these bots attempt to ram an opponent into submision. As ram damage counts twice as much as normal (and the ram kill bonus is also double), this seems like a very valid strategy. Unfortunately, there are 2 problems. First, ramming someone who isn't almost dead does as much damage to you as it does to your opponent. This means you're also giving your opponent ram damage as well as to yourself. Second, when attempting to close with someone to ram them, you are giving them a really, really easy target to hit. Even a simple 'fire at where the opponent currently is'-routine will hit a bot attempting to ram you. That said, ramming can be useful if you know your opponent is out of energy (and therefore can't shoot you), or you're already really close to them and have a significant lead in energy. Ramming is a horrible strategy for Melee though. Even if you kill a bot, you are usually left with no energy with which to face the rest of your opponents. Just watch the sample bot RamBot in melee for an example...

-- Mike Dorgan miked0801

Many MegaBot's become RamBots if they notice that the enemy has been disabled. Marshmallow is one. I learnt it from watching PrairieWolf in battle. Interestingly enough PrairieWolf seems to make an approximation of the enemy energy so it sometimes chases the enemy bot around the battle field, which makes for a great spectator sport. (Really disabled bots can't move)-- PEZ

Known rambots:

  • bayen.UbaRamLT
  • bbo.RamboT
  • benhorner.PureAggression
  • bvh.hdr.Hodur (droid)
  • (moody)
  • demetrix.nano.SledgeHammer
  • gh.micro.GrubbmThree
  • jab.micro.Sanguijuela
  • jgap.JGAP130166
  • kc.micro.rammer.MaxRisk
  • mbh.Mbh
  • mld.Tide
  • mz.NanoDeath
  • pedersen.Banzai!
  • pmc.SniperBot (I think the name was a joke)
  • radnor.RamRod
  • rcp.Kuramatron
  • stelo.Lifestealer
  • step.nanoPri
  • wiki.micro.ARAMtocles

Ramming could be used as second (or third) strategy when the opponent is really trashing your bot. I have considered this option for my megabot, but decided not to do so. Mainly because it is not very sympatic and I just have to come up with better movement and gunnery. As far as I know, no bot is using ramming as second strategy other than killing disabled opponents. -- GrubbmGait

I believe Loki's bot Hodur uses ramming as a non-fatality strategy. It implements Droid so it isn't as keen to rely solely on its ability to aim. --Martin Alan Pedersen

Ramming a robot with .1 energy is fine (especially because you can always run down a robot in default settings) but many robots that try to do such often lose energy trying to do so because they have to avoid killing the robot yet avoid any bullet that is fired. Occasionally, the simple rammers die when they try to ram. One question I have had, is if it really is worth ramming the opponent. There are several factors that make me wonder about the advantages of ramming:

  • 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
  • The opponent can gain some more bullet damage while you can not
  • The inactivity timer might get activated

Personally, my best robot rams but it appears to work sometimes and fail at other times. -- Kinsen

Ramming the disabled is quite simple and good for (only) a few easy points. Ramming the crippled is indeed another story. My best bot tries to ram the bots with 0.1 energy, but does take some 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 loosing the normal bonus

You are right that the benefits of ramming the crippled does not really leap forward your ranking, I doubt if you could notice any difference in rating. The thing I am currently thinking about is to ram the energysavers that stop firing when they have less than approx 4.0 energy left. I have seen to often that my bots empty their magazines and loose while the other is just dancing around. Winning one extra round means 60 points (and 60 less for the other) and that is enough to make it interesting. -- GrubbmGait

@GrubbmGait Wouldn't that leave you vulnerable to being hit easily when you are going in to ram the other bot? You'll be very close, driving straight at an enemy that can still shoot full (or nearly full) power bullets. Sounds like an invitation for a comeback to me. Anyway, that's my thought on this. --wcsv

Yes it would make you vulnerable. Whenever you detect an enemy bullet fired, you should abort the ram, evade the bullet and start firing again. Probably it is better to slowly close in on the enemy, getting a better chance to hit it and still able to dodge if necessary. Ramming also only makes a point when you have more energy left than your enemy. -- GrubbmGait

Ramming with your enemy having more than 1 energy left is extremely dangerous. Too often I have seen Cigaret try to ram me with 2.0 left and me killing it. It is also hard to avoid bullets once you are very close unless you get closer without directly heading towards it.-- Kinsen

In one of my bots that im working on, i will try to make it ram when the enemy stops firing for more than 100 ticks, or the enemy energy less than 0.6 (since once you hit it the bot will die) and my bot's energy greater than enemy bot's energy.

Also, in Ares, when it tries to ram the enemy, it seems to try to corner it first-and it also fires while cornering the bot --Starrynte

Has anybody tried a pattern matcher on a RamBot? It seems the perfect gun type - quick learning, iterates movement like CT, etc. -- Skilgannon

Not that I know of. The only 'advanced targeting' rambots are RamRod and ARAMtocles, both GF, and both of them are a bit disapointing in performance. You're free to try though, and it seems like it could be very successfull. But personally I think that learning is not very important for rambots, as a lot of opponents flee very predictable or do not flee at all. Against the better 'anti-ram' bots I expect it to score better, but probably not enough to compensate for the first few bullets in every battle. -- GrubbmGait

Well, I'm not sure the point of better targetting in a rambot is completely moot, because in my first bot, I did have a "chasing" mode, which tried to intercept using CircularTargeting adapted to bot movement speed instead of bullet speed. The result of this wasn't really much more effective at chasing except against simple movement, however, as it approached the enemy the way moving with CircularTargeting would mirror the opponent, often produced effective weaving around bullets when the opponent was using good perpendicular movement. Of course that's more of a mirror bot technique than a ram bot, however it is essentially chasing like most rambots do plus ever so slightly more advanced targeting. -- Rednaxela

Sanguijuela is waiting to be defeated in the Rumble Pure Rammers Category! If the opponent is a MicroBot it will be better :P --Jab


Usually the anti-rammer code on top and mid robot will just shot power 3 bullets and try to move further away. But I was wondering, if we did hit the rammer once or twice before they got near, we'll have an energy advantage. Since when two robots moving into each other, the ramming score will be added to both side. So why, if we have an energy advantage, does we want to move away? Why don't start ramming into the rammar, due the energy advantage we will win, won't we? » Nat | Talk » 16:52, 20 August 2009 (UTC)

Yes, we would outsurvive the rammer. But remember, even if they die, they still get to their keep ram damage * 2. If we dodge away, we get free 3.0 shots on them and they get no damage on us. Even if they have a nontrivial targeting system, we'd still dish out more damage against their ramming than they would against our surfing; in most cases, it's a much larger percentage than we'd get by ramming them back. « AaronR « Talk « 18:06, 20 August 2009 (UTC)
As AaronR said, that strategy fits perfectly in a survivalist environment. But when the rank is based on APS you are giving too many points to a rammer. I believe there is place for a good anti-rammer strategy, better than trying to run away, maybe [go far; wait for rammer; while waiting turn in such a way that you'll have a chance to escape when he is close without being rammed (much at least); when he is close run (avoiding if possible any ramming) to the opposite corner and repeat] do this while blasting him away with high powered bullets, not much of a gun is needed as they are around GF0 most of the time, and have a simple movement in any case if they decided to ram. I've had this idea on my mind for a long time, but I don't think there are enough rammers for me to work on the escaping part (which is the key for the strategy to be good). --zyx 22:02, 20 August 2009 (UTC)
Just added some anti-ramminng code to Holden this past week after watching DrussGT in action against RedBull. My implementation is very crude in comparison, but definitely take a look at DrussGt's anti-rammer movement. Skilgannon has done a very nice job there. --Darkcanuck 01:49, 21 August 2009 (UTC)
I still hold that anti-ramming code is quite unnecessary. RougeDC has no anti-ramming code but does extremely well against rammers. RougeDC's approach is simply to accurately take botwidth in to account when calculating the danger of moving places caused by waves. This naturally makes the danger of close distances avoided. --Rednaxela 02:01, 21 August 2009 (UTC)
I had "rammer detection" on my todo list for Diamond until I recently realized that he already handles them pretty well (natural distancing + already fires 3.0 at close ranges). But zyx's strategy sounds pretty darn good, and every point counts. (Made a mental note to check DrussGT's strategy, too.) --Voidious 02:15, 21 August 2009 (UTC)
Just a brief explanation of what DrussGT does (or at least attempts to do =) ), to avoid confusion: when no wave is detected, travel away from the rambot at as close to straight away as possible, so that linear, circular and HOT all become (essentially) HOT. The moment they fire, evaluate surfing at more perpendicular angles to see which direction is better to travel in. It's essentially the Stop And Go of anti-rambot movement =) Of course, it needs to be tuned otherwise you end up in corners the whole time, so adding just a little bit of 'lateral' is necessary even when there aren't any waves. One other thing that helped quite a bit is the gunheat-wave surfing, as those 2 ticks give quite an advantage at close range. --Skilgannon 11:11, 21 August 2009 (UTC)
Very nice (and simple) strategy, even I understand it immediately :D Lets see if I can turn those 65% scores into 70% scores. --GrubbmGait 12:28, 22 August 2009 (UTC)
Are you talking about mine, zyx's or Skilgannon's? There are 3 strategies posted here. » Nat | Talk » 13:14, 22 August 2009 (UTC)
Skilgannon's explanation, I like it when I immediately 'get' the idea. I've tried an adaption of my surfing when dealing with a rammer, and although in theory it should work, it did not push-up my ranking. The best anti-ram I have made in my years of Robocode, is the minimum-risk movement of my melee-only bot Griezel :D --GrubbmGait 13:40, 22 August 2009 (UTC)
There are no threads on this page yet.