The underlying logic is the following one: Why trying to create a new movement if there are bots with VERY GOOD movements (pe. SandBox)?
A cannibal bot identifies good movements and is able to reproduce them for his advantage. I canīt give more details (because the bot is not finished) but be ready...
Actually, I have given this some thought. You record each move of your opponent, and remember during wich moves you had lots of trouble hitting him. Then just redo what your opponent did. Most pattermatchers already has a huge record of it's opponent's past moves anyway, so the same data can be used for both gun and movement. You just have to becareful not to bump into walls, but it should'nt be too hard to prevent that. --Dummy
Very smart idea. One issue that concerns me. If a robots moving pattern is hard for you to hit, that does not necessarily mean that if you copy the movement, it will fool their shooting mechanism, does it? - Taqho
Taqho makes a good point. Rather than copy the movement that you have trouble hitting, why not try out a lot of different movement styles and use the one that THEY have trouble hitting. :-P Personally I agree with Paul Evans when he says that the best movement is one in which all methods of firing have an equal chance of hitting, meaning that no matter what aim they use they won't hit you much. Changing your movement pattern on a per-opponent basis in an effort to evade their fire is probably more useful among mini/micro/nano bots than full-size ones - they tend not to have very good aim. Except for Predator, DuelistMicro, and MicroAspid, of course. :-D --David Alves
Aaw... who cares? It's FUN to make a video-recorder-like bot. ;-) --Dummy
Alcatraz' bot Axraelic seems to steal the opponent's movement in this way! :-) --Dummy
This is cool. Just remember to steal and STORE good movement for future use. Its a waste of time to steal it for the current battle only. It kind of sucks if you steal DT's movement in one battle and then face suckyBot 0.001 and dont outmove him. -- Jimpa
Well this is kind of getting into something that Ive been thinking about. A system which registers a movement and tries to replicate the calls that it is making to cause that movement. It will go through all the events that it is probably recieving, trying to reconstruct the values with constants and random values, so that over the course of 1000s of rounds it will be able to reconstruct the code for the movement. This way, it will be able to plug in the factors directly to both canabalize the movement and get incredible hitrates for the targeting. If someone could achieve this it would be the real HolyGrail of Robocode. It is kind of my assumption that this is basically what neural nets are doing when they are implemented, and from my point of view it will probably be impossible (unless I can achieve the exact same random number seed and so forth), but it is kind of cool to see this Ultimate pattern matcher in action. -- Jokester
How did neural networks pop up here? Leave them alone and let them be what they are supposed to be - automatic non-linear function aproximators. Still quite useful, but no black magic included. They simply take a set of points in some multidimensional coordinates and try to draw a line that passes most of them. Maybe it's not an accurate description, but should help in some basic understanding of what ANNs realy are. --lRem
Actually, my bot was currently using Mirror Movements (e.g. flipped 180 degrees) and SandBoxDT? killed itself by firing and seemingly dodging its own bullets for my bot, my bot wasn't even firing. Unfortunately this seems to only work on the first round. I also noticed simular results with DustBunny(though it works every turn >:D), RaikoMX, and amazingly to some extent on FloodMini. However most of the pattern matchers seem to catch on rather quickly and exploid my bots movements. I was considering mixing it up, so that each tick it would constantly moving and not only directly mirrored of the opponent, but sometimes only the x or y aswell to throw them off (use a Math.Random). This could be a fairly decent tactic and would make it semi immune to other mirror movement bots. -- Chase-san