Hah, yep. --Chase-san |
Hah, yep. --Chase-san Here are my thoughts on making a nano surfer: * Keeping track of multiple waves probably takes up too much space. So instead the nano could stay at a distance of about 150 from the other bot so there is only one wave in the air at once. * I think bins are the way to go instead of a list of hits; its very easy to say if(hits[forward] > hits[backward]), and I'm not sure how you'd do it the other way. * There is a really simple solution that gets rid of a need for keeping track of bearing offsets or and any sort of prediction. You could just keep track which average velocities you've been hit the least at, and then try to stay at those velocities. * Of course, this now is so unlike wave surfing it hardly deserves to be called such. It's more of a simple type of adaptive random movement that doesn't use Math.random(). I've written a "surfing" nano with a very simple random gun. It's fairly strong, but not near the level of top nanos like Splinter. But if anyone is interested, the code is here. I also have a micro one (again quite a bit weaker than Thorn), that I might release into the rumble later. -- Kev |
I started this page so I can voice ideas on how to make this theoretical little bot come into being. First of all space is so limited in a nano that to impliment surfing in a nano will require looking at the subject in a completely different way.
First of all, the NanoSurfer? (here by refered to as NS or the Nano from here on) wouldn't have room for the precise prediction found in larger bots, also most the advanced techinues are right out. I think that the best result for a nano would be to use the WaveSerpent bin system, another words recording either the gf (or in NS' case probably the angle offset, as wouldn't have the luxury of a nice gf to angle conversion). Also NS would most likely use a system that gustimates about where the the bot would get to in the time that the wave would hit, like timeToImpact?*8*direction-velocity, but probably a much better equivilent.
Personally, I think the things that make a WaveSurfer so powerful will probably be lost in a NanoBot implementation, perhaps even in a MicroBot implementation (eg, Artist, and rozu is no slouch). I think a combination of RandomMovement and StopAndGo are better choices in these two weight classes. But I've never actually completed a MicroBot or NanoBot, so I'm no expert, and I will definitely be interested to see what you come up with. -- Voidious
I think task one is coming up with a decent Micro surfer. --Chase-san
Or maybe a Nano S&G movement --Starrynte
I know a couple bots you could look at for that code ... -- Simonton
I mean me making a micro, I have plans for a Micro-surfer called Nightingale, and a Nano-surfer (maybe) called Hummingbird, and yes i'm on bird names now, Genesis' surfing is being problematic so i'm gonna drop its development for now and only use it as a test bed for awhile. --Chase-san
Just a heads up, Dummy already has a bot named HummingBird?, along with some other bird names. -- Voidious
Blast, oh well, I guess I have to name it Wren, also a small bird, one I happen to like. --Chase-san
What is a wren? (Sorry, just some Baseball Stars humor. Anyone remember that game?) -- Voidious
Hah, yep. --Chase-san
Here are my thoughts on making a nano surfer:
I've written a "surfing" nano with a very simple random gun. It's fairly strong, but not near the level of top nanos like Splinter. But if anyone is interested, the code is here. I also have a micro one (again quite a bit weaker than Thorn), that I might release into the rumble later. -- Kev