# Talk:Oscillator Movement

Jump to navigation Jump to search
 Credits - Oscillator Movement Old wiki page: Oscillators Original author(s): Albert

Thanks for the idea, Albert - I did some tweaking and fiddling with your "complex oscillations" formula and wrote a perceptual NanoBot called SillyBot (after the movement) that can beat a lot of fairly good bots, including MogBot (one of my first WhiteWhales). Credit definitely goes to you on that one (although I suppose I've been creative enough to do things like that before in other programs). Note - it can't beat Aspid ;-) -- Kawigi

Note: oscillate, oscillator and oscillating have two ls

Thanks, though I encourage you to also correct spelling directly in the page. -- PEZ

Maybe, it's a logical statement rather than a correction? - perhaps he was hoping you would learn ;P

I have an idea... though it may be way out of wack. What if one were to generate the oscilation pattern at the start of the round. This would be randomly generated at the begging of each round, making it slightly less vulnerable to pattern matching bots that use static variables to keep track of it. Just a thought, and I haven't thought of a way to implement it. Perhaps you guys would have some ideas. ;-) -- Torahteen

You can take it a step further and make each leg of the 'oscillation' a random length of time, within some range. e.g. if( ( b + a * Random() ) > timeSinceReverse ) { /* reverse direction, set timeSinceLastReverse to 0 */ } 'b' is the minimum period, 'a' is the variability. You'll have to cast stuff to doubles to make it work. -- Martin

How would generating the lengths at the beginning be any different than generating them on the fly? I would agree that making your randomness independent of the current situation would help avoid being vulnerable to PatternMatching, but you can do that without pregenerating random numbers... (Maybe I'm missing something here. :)) -- Voidious

Yeah you are just a bit ;-). I mean that the oscillation patterns most commonly used are just that, patterns. They are pre-built into the bot. But by generating the oscillation pattern at the beginning of each round, the pattern isn't built into the bot. This means that a pattern matching bot would not truly be able to keep a set of patters for your bot, as the oscillation pattern is never the same. I'm rambling too much aren't I =P. -- Torahteen

There are no threads on this page yet.