Robo Home | Changes | Preferences | AllPages



by Chase-san

Source: Closed
Created: 01-05-2007 3:07am

Special Features:

None, right now, I scrapped them and instead worked on function.

Future plans:

Get the melee bits running, then generalize more into the one on one division. (I've gone to the dark side)


OneOnOne: PremierLeague: Melee:

VersionReleasedCode SizeClass SizeClass FilesLink


It is said that genesis is the creation of the universe, whether by god, a collision of dimensions, a gargantuan explosion or a interdimensional computer being flipped on. Genesis is where it all began. It is the place where the concentration of energy, magic or matter was contained. As such this is the beginning of the end for some and for one the beginning of the longest path of all.


Boy am I gonna learn humility if this bot turns out to do really badly in the rumble. I realize its nothing new, many bots have done what it will be doing. But its hard to be original in a place where originality normally means defeat. --Chase-san

"Standing on the shoulders of giants" has its merit :). -- Simonton

When I was putting more time into Robocode, I put plenty of time into wacky ideas and experiments, many of which were never published (that being said, some of that stuff should be published in one form or another some day, if for nothing else but the furthering of others' research). However, some good (or at least interesting) stuff did come out of it. My distinct FloodMovement is one of those things. It's primitive by today's standards, but it brought issues forward about movement that only a few people had thought of (and were keeping to themselves) at the time. -- Kawigi

I didn't say I didn't try to be original, I just don't use it in my bots. Most of it is rather, meh. --Chase-san

The results from my wavesurfing are less then desirable. I can get about 92 vs WSCA but gets about 16 vs WSCB. I'm not overly happy about this of course. It kinda bugs me but I plan to tear down most of the actually surfing system I have and rebuild them. WaveSuffering was well named! --Chase-san

I really don't mean to nitpick here, so I'm sorry if it comes off that way, but if I may humbly offer a suggestion... What's the goal with rebuilding from scratch each time? Of course, there are situations where rebuilding from scratch is helpful. But the bugs that cause most problems in WaveSurfing are mostly of the "nitty gritty detail" variety, not issues with the overall code structure. Rarely do we write code that doesn't need some debugging. I tend to think you would get desirable WaveSurfingChallenge scores faster if you just ironed out the bugs instead of rebuilding. It's up to you, though, of course. =) Best of luck in any case. -- Voidious

Heh, I did do that, thats how I got that score(its the highest I got, 92 vs A). I am not rebuilding all of it. Its a pain none the less. I want to make something that will work. The confusing thing is that pretty much all the bots i'm studing do things just a little differently when they create the way. Mostly its the round they get thier data from for each part of the enemy wave they send out. --Chase-san

When your dive-in protection and distancing is ok, you should be able to get 98 vs botA and around 60 vs botB and botC. Mind that this is with unsegmented surfing. Segmenting before you can get those scores, just obfuscates the bugs. Make use of the graphics to show your predictions with should not change while evaluating the same wave. Watch the behaviour near walls, botB and botC realy try to nail you there. Try to do one thing at the time, test it and if acceptable, move on to the next issue. I do it this way, mainly because I am used to develop this way and I only have time to do small steps, but it brought me close to the 2000-barrier. Success with your bug-hunt! -- GrubbmGait

I have come up with a very inspired (and hopefully original) structure for Genesis. It consists of a abstract Skeleton that will keep track of statistics, paint systems and other debugging systems, A Common Interface that holds all the static strategy and robocode system cosntants, it even holds genesis' colors. This way all I have to do is change a value or two in the interface and the entire bot can be easily manipulated, and also since all the statistics are in the Skeleton, I can leave my robot open to actual meaningful code! Basically I have made a very nice tuning bed for Genesis. This however requires a rewrite(already a good deal there). I might add a secondary skeleton(which I would call the muscle) that would keep track of scans, RobotStates?, logs and the like. I will empty out the only prehistory to make room for this new one. --Chase-san

Sounds good! I like the skeleton-muscle naming :). -- Simonton

Okay, I plan to impliment (here we go again, right?) a k-type clustering gun. I plan to use very special methods to speed up its execution to an acceptable level (no not a thread either). --Chase-san

Hrm, I have a complex structure, that should allow me easily to change and modify Genesis. However dispite this, I still haven't moved very far with Genesis's development. --Chase-san

Mind you, Genesis is going to be released, it will just take a little more then the 7 days for me to finish. --Chase-san

Ha! That's funny. But what do you mean it's not going to be released? -- Simonton

I never said it wouldn't be, I had unrealizedantly implied that it might not be, so I posted my 7 day joke. ;) --Chase-san

Oh, sorry, I misread that. -- Simonton

Now, for some real data on Genesis, not just possiblities. As you see in the melee rumble Genesis is using a rather bad implimentation of Minimum Risk Movement (which I plan to spruce up), which uses three shells, the further one being weighted less, this is to locate possible escape routes without losing the bonus gained from the nearest one (which is about 50 distance from the bot).Basically furthest one is for escape, center one for dodging one, and nearest one for escaping the most dangerous situations.

As for the one on one movement. It uses WaveSerpent's method of surfing, it also uses a non-deformative method of flattening, putting that data into a seperate bin, then combines them during the surfing, dodging them both (however, the flat gf's are dynamically weighted, based on enemy hit rate).

-- Chase-san

Okay, after working at it for a few hours I was able to get Genesis' melee movement to accept PrecisePrediction as its primary point generating tool (instead of just a project). After all the modifications I made it seems to work fairly quick. It does okay vs head on targeting(95% currently), but thats about it. --Chase-san

I have a thought that my precise prediction might be off still, which is why its doing so badly. --Chase-san

Hey man, just wanted to let you know that Genesis gets 0 score against Dookious every single time, so I've had to hack my client not to download it for now, or else it just keeps re-running it... Something you may want to look into. (It's definitely not crashing.) -- Voidious

Note the absolutely no OneOnOne support. --Chase-san

Its surfing was a horriblily failed Experiment, using melee style minimum risk movement and wavesurfing in conjunction. It moves interesting, I think its gun is the sux part though, perhaps if I drop Prototypes gun ontop of its base... hrrrrm, perhaps fix a few bugs. Nah, not just yet. --Chase-san

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited September 13, 2007 20:18 EST by Chase-san (diff)