Robo Home | Changes | Preferences | AllPages

Bot Name






What's special about it?

Not alot.

Great, I want to try it. Where can I download it?

How competitive is it?

Its a very awemose in the RoboRumble/PremierLeague?. Beating bioths with massively higher normal score. It is currently ranked 16th, above all the other competors it went head to head with to the 2000Club (which it is still not a member of).

How does it move?

It wavesurfs mutliple waves at once by first calculating where the bot would be if she surfed the first wave for each direction, then adds on if she would surf the next wave in either direction from that point, x rounds from now. Adds all those togeather to get the best place to surf to. Hugs the walls massively close (like 1d/MAXVALUE close).

How does it Aim?

It uses a 5 buffered storage engine, combined with a wave tracker to guess the next enemy position's factor. (e.g. guessfactor gun)

How does it dodge bullets?

It guesses where the next bullet will be and dodges it. (this is all it really does)

How does the melee strategy differ from one-on-one strategy?

Its a One on One only bot currently.

How does it select a target to attack/avoid in melee?

Its a One on One only bot currently.

What does it save between rounds and matches?


Where did you get the name?

From the highest order of angels, the Seraphims.

Can I use your code?

Sure, but its RWPCL.

What's next for your robot?

Does it have any WhiteWhales?

I was aiming for it to defeat RaikoMX, which it does, just not in score.

What other robot(s) is it based on?

The bot is based on my retired bots Velshea and Beowulf. Uses Simonton's neato wall distance function. Now that its open source, alot has changed.


Version History

Comments, questions, feedback:

I know i'm kinda ruining the spirit here with a closed source bot. But apparently you get an angel when you combine a supercomputer and a school girl. Currently Seraphim seems to have problems with Rammers and Pattern Matchers. -- Chase-san

Okay, added some code in both the gun and the bot to deal with rammers, as those seem to be problem-bots for Seraphim.

Due to a stupid bug in my anti-rammer code, some bots that aren't rammers were counted as such, I have a prototype of my slope-surfing system running now, however it needs some work still. I am using linear smoothing and a reflection to flip the parts of the bins below the half point mark. But I think I should lower the half point mark (it won't be half anymore but eh), that way it will aim closer to the low points, instead of half-way between the low points and the high points. Linear smoothing is a bit more iffy then the gaussian that is used in most bots, but if this works it should make up wll more then the difference. -- Chase-san

I hope this one will pop the bot back up above 1916. Also, my bot is having some problems with Mirror bots, mainly stelo.Mirror 1.1, its not that Mirror beats it that bugs me so much that Mirror does its little victory dance after doing so. --Chase-san

Well I fixed a few dumb things I did in the last version >.<, maybe now it will get those good scores. --Chase-san

I decided not to use my new system. So I tried to bolster my old one. --Chase-san

If this one doesn't do something i'm giving up as I wasted an another entire day. --Chase-san

After a little further review of its rankings, I don't see how this one ranks lower, it has less problem bots, and less severe problem bots (Mirror bots don't totally rape it anymore, but are still problems). Though she has lost her edge vs the godbots. E.g. I need to work on the gun. but i'll be lazy for awhile anyway. --Chase-san

Weird funky logic, really, my non-interative wallsmoothing method was throwing my bot into crazy moves, very unpredictable jerks and seizures. Which is probably the only reason its still so high(its bugginess is rather unpredictable and throws off aiming). I plan to fix it though, I have to make a new wallSmoothing method. I have some good ideas on it though. --Chase-san

I just can't do anything more with Seraphims structure the way it is, its far to complex for its own good. I will after a great deal of study of Dookious, Cyanide, Chalk, WaveSerpent, CassiusClay, PhoenixOS?, Pear, RaikoMX, and GresSuffurd I will give another shot at it, maybe under this name, maybe under a new one(I like coming up with new names after all). Until then I am again flipping Seraphims version back to 0.023. --Chase-san

I fixed up seraphim what stuff I learned from making Genesis. Hopefully it will beat the heck out of everything else. --Chase-san

I have a new version of Seraphim that tears through 0.050 like tissue paper, though I hesitate to release it. It feels to much like cheating gaining ground this fast, not only against my bots, but against all the others(evident from the rankings). I will release it and if it doesn't gain ranks like the last I will be a little more glad, as I want hitting 2000 to be hard! --Chase-san

Hitting 2000 is hard no matter how you cut it. If the last step is easier than you thought it would be, I'd guess you already overcame the harder parts but something small was just holding you back. =) Good luck. -- Voidious

Good to hear, and this is my last update for awhile. --Chase-san

Holy mother of god! 1970.82 at 349 battles, not enough to prove anything but.... whoa... wait where did all the bots go?

I see you spotted it too... I thought I was dreaming. --Nfwu

Seraphim seems to have a few massively problematic bots, I mean majorly so, -50 or more! I would like to know what they have in common so I can fix it.


As two statements ago! Except even higher! Now, don't get me wrong, this is cool, but its not exactly what I call "hard" as state above. But then again i'm not at 2000 yet! --Chase-san

Strange that v0.052 has the problembots as v0.051, that seems to rule out a faulty client. The only suggestion I make is an obvious one: Run some battles against them in your development environment and check Seraphim's behaviour. Nice improvement by the way, you are really getting on my heels now. -- GrubbmGait

Ask anyone who's gotten much above 2000 and they'll tell you the same, I think - if you're not finding it hard to improve your rating right now, enjoy it while it lasts. =) -- Voidious

I'm actually pretty content right now, it was my goal to get my bot powerful enough that I didn't have to scroll down to find it. Also I have checked Freya against Seraphim and I ca't seem to find anything obvious, and nothing I tried did anything to make it better and wiping the floor with it. Luckly its only 4 bots (truthfully though if those were at where they were suppose to be, Problem Bot index 0, Seraphim would probably be very much closer ro the 2000 club). I can only guess at the problem... --Chase-san

Hmm ... maybe I should set me resolution higher ... ;) -- Simonton

Kinda risky move here with 0.054, I won't say why. I'm just adding a bit of risk to it for myself. This version still has problems with those certain bots, but I have whittled it down to a movement problem of some sort, probably not the kind I can weed out by redoing the buffers. I'm considering going drastic and fixing Mer's gun directly into Seraphims surfing dodge system. --Chase-san

Okay! I went in and banged around a little on it with a very big wrench, while I went crazy, some insane code gnomes escaped from a secret lab and retrofitted the bot while I wasn't looking and was recovering from a rather bad wrench rebound injury. In truth I replced alot of old code with new code, fixed a few "duhhhh" bugs that I cannot believe I never saw. I left the core stuff alone (such as the serfing mechinism), but it now surfs around the average center of all waves, instead of the more complex bounding box system I had, if that doesn't work i'll try a rounding stack and then give up and goto what everyone else uses, ergo the bots current location. --Chase-san

Oh, by the way, its now Open Source under the RWPCL. --Chase-san

Cool to hear about the improvements and the open source! Also wanted to let you know that I don't surf the enemy's current location (which you can't precisely predict), but the center of the closest wave. I think most others do this, but I've heard PEZ comment that it really doesn't make much difference anyway... -- Voidious

Well, you see, I did do that but it didn't work as well as I would of liked, thought that might of been caused by the bugs it has. --Chase-san

Apparently the movement is still broken, in my current dev robot (unnamed as I don't wanna make a page for a bot that might never see the light of day) I am actually using CVS to avoid losing my source again. As if I had the sourece from 0.052, I would be using that. --Chase-san

Seems like i'm not gonna be messing with Seraphim again for a long while. As every 'update' it gets lower in the rankings. So instead i'm gonna start on a new bot once again. Hopefully this time without the bloat and the bugs. K.I.S.S. all the way. --Chase-san

Okay, I have attempted to decompile Seraphim again(I used DJ last time) but this time using Jad (by far the most recently updated decompiler I can find), and i'm hoping for the best. It seems that this time it managed to decompile the gun stats, which is better then what DJ could manage (only dumped out an empty class for all the static final variables in there). Lets see if I can get 0.052 to recompile. --Chase-san

IT LIVES! MUAHAHAHA *Thunder booms and lightning arcs through the sky*. After minimal code repair it battles as hard as it used to. I though after my first attempt at decompiling it failed that the mighty angel of the heavens was doomed to death, but now I can resume her development. :P --Chase-san

Aha ha! I seem to inadvertantly corrected the error against Freya and friends with this latest release. Seraphim completely destroys Freya as it should of all along. If its the same except for this, then this one should rank higher then 0.052, but I still am very skeptic it will improve. --Chase-san

No, seriously, I do not want to know what the... ahhh.. what I was thinking when I made this thing, I swear I musta been under some sorta strange demonic possession or something because it makes very little sense at all. I mean I must of had some brilliant plan for my anti-pattern system redundantly overwriting the distances or the reason I cast many integers to double and then compaired them as integers again. I mean I only realize this now once I go back and try to really optimize the thing because, let me tell yah, this bot is very messily coded, I mean if you think you know spegetti code, but you haven't seen anything untill you have see the code of Seraphim, I mean really it is full of half-baked ideas and the other half are over-done. Did you know that with the toggling of a single boolean statement that at one point Seraphim would go from being a GF bot to a DC bot, with all the same segments, well sorta, thats what i'm talking about, I am 90% sure that if I flipped that switch now that Seraphim would not only exception out, but probably go into some sorta ritualistic spazims. Needless to say, the image in the new wiki for this bot fits, its a bunch of ill-fitting blocks forced into place, a square peg in a round hole. It also had in it something called slope surfing, I don;t even know what that does, it had something to do with surfing a linear line instead of an exponential one. --Chase-san

Heya, work has begun on it and its mostly been structural up till now, I did throw a few beta's of a NN gun into it to make sure the extension system worked correctly. But the thing I am really proud of is the graphical system in it, its a little big, but only because it overrides the Graphics2D object with MirroredGraphics? so text doesn't show up, upside down. I can directly write to the graphics anywhere in the robot, I don't have to keep a list of updates or use a special interface. Really I think it is the most elegant and simple of all solutions.

I have an sample of Seraphim that you can look at if you like, it uses its own pluggable system that is simular to but not identical to that used in CassiusClay and simular robots. This time around reading the code won't give you a headache. This structure is based off the code of a never released robot called Bel, which is based off unreleased versions of Caffeine, Genesis and Prototype.

Sample: http://www.csdgn.org/robo/chase.s2.Seraphim_1.9.1.jar

The reason its at version 1.9.1 is that this is Seraphim 2, which means its target version number is 2, so until I have all the parts in, its number will be below 2. (I looked it up and other programs have done this, cept with version 1 instead).


The rating for this robot is drifting up. --Zero

Yep, that would make sense I believe. With the current rating system, bots will drift up if most newly added bots are weaker than them, and drift down if most newly added bots are stronger than them. -- Rednaxela

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited June 16, 2008 1:11 EST by Rednaxela (diff)