Robo Home | TwinDuel | Changes | Preferences | AllPages


Unlike Melee, there are only 2 enemies that you need to get the positions of. This means that it is almost always more effective to turn the radar back than to continue to rotate the radar for a full circle until you scan an enemy. There are several ways of making optimal radars:

Additionally, and similar to Melee, it is helpful to scan your target for several consecutive scans prior to firing at them, to let the gun adjust to a good angle. This can be done by switching to a 1v1 style radar if you have a low GunHeat.

Because you have a teammate, for 2v2 situations it may be beneficial for each bot to scan a different enemy using a standard 1v1 radar lock, and send the data back and forth using the messaging system. A problem with this method is that the messages are only received 1 'tick' after having sent them, making the receiving bot acting a tick late, and thus slightly less accurate. Because TwinDuel is codesize restricted, this technique may not be feasible, worth the codesize, or even have any advantage at all due to the 1-off problem.

Choosing a target

There are many ways of deciding which target should be chosen, each with its advantages and disadvantages:

The best method is all dependent on what style of bot you want. Aggressive bots should both focus on a single bot, either the leader or the non-leader. Passive bots should shoot at the closest bot to avoid missing too often. Other factors, such as which bot has more energy, or which bot is at a less perpendicular angle, can also help you build a 'targetability' factor for a bot.

Another issue is 'thrashing' between the 2 targets. This should be avoided, for 2 reasons:

To avoid thrashing you should only change targets if your enemy's 'targetability' is a certain amount higher than the current target's is. Another option is to only change your target if your GunHeat is above a certain level, although this will not help for the latter problem described above.


Two different movement styles have dominated in TwinDuel:

1v1 style RandomMovement:

Melee style MinimumRiskMovement:



If you want to clarify or add anything guys, feel free to chop and change! Kawigi's MeleeStrategy inspired me to write this, BTW. Credit where it's due =). -- Skilgannon

Nicely done! Still reading, but so far it all looks really good. One thing about the sharing radar, where each bot scans one enemy - I have fit this into a TwinDuel team and in fact, I think I could even fit it into the current LuminariousDuo. But, to my surprise, I didn't find it performing any better than my current radar, and it is about 100 bytes bigger. So I would say: feasible = definitely; worth the size = haven't found it to be yet. -- Voidious

Indeed very nice! The sharing radar is used by my team (which already is mentioned twice). The only problem with it next to the 'one-tick-off' is that in 1v2 situations you have nothing to share and loose 'connection' with the other enemy. About attacking the leader or the non-leader, I found out that there are noticable shifts in performance against some teams (and a lot more bulletdamage inflicted) but that the overall outcome (for me) is almost the same. -- GrubbmGait

Ok, I'll add in the 1-off problem. But seriously, you guys have way more experience with this than me, what I've written is just a rough guidline. I hadn't even considered the 1-off problem. The only experience I have is with NightAndDay, which is a fledgling team, and uses MimimumRiskMovement? and GuessFactorTargeting. So everything else is pure speculation on my part =). Most of it is from watching games against GrauwuarG, which I had serious problems with =). But GrubbmGait, I think it would be much stronger if you used a 'reverse chance' style flattener instead of a double oscillator. The reason is that the oscillator only works at one distance, so the other bots can hit you quite easily when you are far away. Your cornering strategy is still what gets you all your kills against me =) -- Skilgannon

Robo Home | TwinDuel | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited January 2, 2008 23:04 EST by GrubbmGait (diff)