There's no fast way to rate movements I think. But you can do it rather accurately by using something like Vuen's CalculatingScore code. Swiffer does this. Take a look at Swiffer's code if you want to see how it does it. -- PEZ
I have been toying with the idea of using Vuen's CalculatingScore code, but decided i wanted to try and avoid it if possible. By using overall score, i was concerned that a change in gun may mislead the move manager into continuing to use a bad movement or vice versa. I'd have to do some testing to confirm this, but i just wanted to canvas opinion first... --Brainfade
I'm currently working on something similar...but having a lot of trouble with it.
Hmm, how much is this used any more. I started off making a fully pluggable interface with event listeners, and still use that since it is really easy to develop bots this way, but it seems that most bots now just keep it as concise as possible (probably due to MiniBot and other codesize work). I havent even seen an enemy class in the sources ive looked at. In some ways this is very good, because it means that our movement and targetings are much more multipurpose and addaptible on their own, but does anyone have a multimode system in place in their robots? -- Jokester
UnderDark3 makes use of a Learning Finite-State Machine, which is a multi-mode system that adapts to its current foe --UnderDark
In fact, most multi-mode multi-guns and multi-movement ideas have failed. That's because it's easier to develop one good general movement than two specialist ones and a system that would wisely choose between them. The last realy successful attempt at movement was MusashiTrick, yet it was an easy one. Also Krabb and GrubbmGait keep trying at this. But comparing their effort with the outcoming rankings, I would say that the multi-mode idea failed them too. --lRem
You make a good point. From how I see it, we have two systems of targeting and movement, both of which play off the alternative opposite section. For targeting there is PatternMatching and GuessFactorTargeting, while in movement we have RandomMovement and WaveSurfing. WaveSurfing pretty soundly beats all lesser targeting methods and some of the best GuessFactorTargeting guns, but is vulnerable to PatternMatchers?. Truly RandomMovement defeats PatternMatchers? but is vulnerable to GuessFactorTargeting. I feel that there is something out there more effective than RandomMovement against PatternMatchers?, but that is currently one of the best systems. Where current Movement and Targeting is going is trying to combine the two methods into one, but a bot which can effectively use the 4 will be highly effective for the time being. With regards to which we will combine first, my money is currently on the targeting side. There has not been enough work with AntiPatternMatching strategies, while there are several targeting techniques that are starting to combine the two. In the beginning there was a fairly wide array of FastTargeting systems, designed to both work as LogTargeting systems (PatternMatching) and StatisticalTargeting systems. Movement strategies were still pattern oriented, and so the development of PatternMatchers? became more widespread. RandomMovement came about to defeat that, and so the StatisticalTargeting came to the front. While WaveSurfing is quite effective against StatisticalTargeting, where it really comes to the front is its ability to defeat lesser targeting methods and get those scores up. -- Jokester
It seems that multi-movement only has sortof a future in melee, although a good movement should be capable of handling both Melee and OneOnOne. The Stop'nGo movement is quite satisfying against simple targetters, but lacks the simplicity of the MusashiTrick, and again, a good movement should be capable of avoiding the simple targetters aswell. For multi-guns I only see a purpose as starting-gun, until the heavy PM or GF gun kicks in. -- GrubbmGait
I second lRem's statement on why more great bots aren't using seriously MultiMode concepts - aside from obvious things like using different techniques in melee and one-on-one, it just hasn't proven to be more effective. It's really quite hard to make one good movement as it is, but making several useful different movements is harder than almost anything except choosing between them. I'd also add, however, that I believe (as I have said elsewhere on the wiki) that MiniBot development was part of the reason we started to realize that MultiMode wasn't the answer to all our problems.
Also, I think it may be more a myth that WaveSurfing is weak against PatternMatching. Sure, it may be particularly good against GuessFactorTargeting, and there could be better movements against PatternMatching, but flat movement doesn't have to be easy against PatternMatching (on the contrary, it makes it less likely to just get lucky). -- Kawigi
IMO, multimode is perfectly viable, but WaveSurfing is better. If you can't fit WaveSurfing (eg. in a Mini, Micro or Nano) the MultiMode is the only effective solution. The MusashiTrick effectively handles HOT, but StopAndGo is effective agains HOT, LT and CT so would be preferable. This switching to RandomMovement seems to be the current movement of choice. -- Skilgannon