Robo Home | PowerHouse | Changes | Preferences | AllPages

Version 1.3s marks the initial release of the source code. I think that I need to shift my attention back to my gun for a while; I seem to be losing many close matches on bullet damage right now.

Version 1.4c is an experiment with some gun tweaks. I don't anticipate that its RR performance will be much different than that of 1.4a, but I guess we'll see.

Version 1.4d consists of some tweaks to the movement that should eliminate some of 1.4c's problem bots. But of course, others will most likely pop up to replace them.

With all of the talk about virtual guns recently, I began to wonder if mine were doing more harm than good in the RR. In 1.4e I have removed 2 of the 4 guns, leaving only the general purpose GF gun and the gun that is supposed to be an antisurfer gun. I'm curious to see how it fares compared to the full 4 guns. EDIT: I almost forgot, I also corrected a small movement bug that was occasionally causing hits not to register with the surfing. It was pretty rare, so I don't think that fixing it will have a big effect on overall performance --wcsv

Evidently, those 2 guns were nothing but dead weight as far as RR perormance is concerned. I think they do boost performance against some bots, but I gained points without them so obviously they are not useful. wcsv

1.4f has the same gun setup as 1.4e, but I have made some fairly big internal changes to the wavesurfing, so time will tell. --wcsv

I wasn't happy with 1.4f, so I rolled back most of the changes. A few are still in there though. --wcsv

1.5d addresses a few things, I worked out a few small bugs in the enemy waves, although I think there is still another little one lurking in there somewhere. I also restored the rolling to my surfing stats, It is rather light for now, but I may increase it later. I expect a bit of an improvement with this version, it shows a fair improvment against simple targeters in my tests. I just hope it doesn't sacrifice too much to advanced targeters in the process. --wcsv

OK, I just noticed something. Apparently its gun stops actually aiming when the opponent is disabled, instead it just continues firing at the same angle. I've never seen it do that before, so I must have done something to it in 1.5d that I didn't mean to.--wcsv

In 1.5e I am using a new way of entering the surfing stats into the buffers. It shows a bit of a performance boost, and is less cpu intensive than the previous way. If this release goes as expected, I will switch my focus to my gun for a while. It is definitely holding PH back against many opponents, and besides, I like working on my gun more than movement :) --wcsv

1.5f6 has a segmentation bugfix and several surfing changes. I now seed the stat buffers with a hit at GF 0, and I have changed the rolling depth to .5, so it should adapt very quickly.

1.5f8: I restructured the gun, so it should be a bit faster now. It's still only using the general purpose GF gun, I want to push it solidly above 2k w/o an anti-surfer gun. I also made a few gun segmentation changes, that (I think) improve performance against non-adaptive movements. --wcsv

The last few versions have not lived up to expectations, so in 1.5g I have reverted back to 1.5f8 and made some big gun changes. It now more accurately tracks all GFs that a wave hits and takes bot width into consideration when selecting a GF to fire at. --wcsv

I am currently focusing on improving the gun against non-surfers, right now I don't even test it against surfers so I won't be surprised if it doesn't perform as well against them as it used to. --wcsv

==Comments, Questions and Feedback== PowerHouse is a robot that I have been building on and off for a while now. It's statistical gun is loosly based on gun used by another of my bots,Stampede2; the other gun is a relatively weak pattern matcher. The movement is a form of adaptive movement that is a combination of wavesurfing and antigravity. I will make a proper page for this bot soon. --wcsv

Nice job! At #32 with almost 1,000 matches. I'm curious to know what kind of "combination" of WaveSurfing and anti-grav you're using, like if it uses elements of both or just switches between them. In any case, he whooped (dev version of) Dookious pretty hard, and harder than Stampede2 has been of late (on the rare occasions I test against a bot that highly ranked...). -- Voidious

Sorry I took so long to respond, Voidious; I just noticed your comment. The "combination" that I spoke of actually does use elements of both simultaneously. Unfortunately, I have disabled the antigrav elements in version 1.2b because they were causing problems with the "near wall" performance. I do think that it is a viable concept and I hope to include it in a later release, after I work out the problems. So anyway, for now it is using only wavesurfing. -wcsv

Wow, way to bring in the new year, cracking into the Top 25 and beating SandboxDT. :) -- Voidious

By the way, the MovementChallenge scores are specified as 500 rounds... I noticed that PEZ said CC scored a fair bit lower over 1,000 rounds, so you might be shortchanging yourself on your scores there. -- Voidious

Thanks, I guess that I should have read the directions more carefully. I'll give that a try now. --wcsv

Well, It doesn't seem to make a whole lot of difference with my current movement. Over 500 rounds my CF index is a bit higher than over 1000 rounds, and my APM index is a bit lower; so it averages out about the same. Thanks for pointing that out though. It may make a difference later. --wcsv

Ah, thanks man, that WhiteWhale comment kinda made my day :) The new tank is lookin' good, at #20 right now! That's cool that you released the source, too. Keep up the good work. -- Voidious

Thanks Voidious; it looks like I didn't break anything like I feared. +50 points in one update? I'll take that! By the way, Dookious has been officially added to my test set. I think that this release actually sacrificed a few points to him in exchange for others. --wcsv

Oops. I think that I just found a rather large problem with v 1.4; I removed the weightings on the various buffers for the gun and forgot to put them back. I'll probably be doing another update soon to correct this, but first i'll wait and see how it does without them. --wcsv

pssst.. your gun weights sucked ... your rating is up -- Martin

Well, maybe. I completely changed one of my GF guns to specialize against surfers, so that is probably affecting the rating as well. --wcsv

Yeah, I like this version... It beats two of the top ten (at least?), but loses to Dookious. ;) -- Voidious

Also, I don't think it's a big deal if you have two versions in for a night until they stabilize... I know there's some rule of thumb about not having 2 versions of the same bot, but it would be a very temporary thing. -- Voidious

I figured out what happened. It seems that I accidentally packaged the wrong dev version. It had its fast-learning gun disabled and no weightings on the buffers. I (very) temporarily posted 1.4a, which addresses these issues, along with 1.4. I'm curious to see if 1.4a is better or not. And yes, Voidious, Dookious is very strong and is mean to my robots :( --wcsv

It turns out that both versions were with a point of each other, but i've elected to keep 1.4a because it is the one that I feel is more complete. --wcsv

Those are some nice scores in the MovementChallenge, congrats. And by the way, I don't think you're allowed to make sad faces at me while PowerHouse still outranks Dookious by a good margin :P -- Voidious

Yeah, but Dookious still wins by a good margin head to head with PowerHouse, which was the reason for the frown. (And congrats to you too, author of the new top bot in the APM Challenge.) --wcsv

I know, I'm just kiddin' around. And thanks - it was actually the result of tweaking my movement against lower ranked bots, and was honestly a huge surprise. Maybe it was just lucky. I should run an average over a few seasons and see what happens. -- Voidious

Grrr! I think i'm going to have to just break down and do a real movement overhaul if i'm going to make any more serious progress. Trying to tweak the current movement has shown less than satisfying results (in fact i've made it worse). --wcsv

You probably have a bug or two in your surfing. Tweaking buggy surfing can look like it works a while, but then it just drives you crazy instead. I suggest you try this:

  1. remove all segmentation and anything that even looks like tweaks and then work with bug hunting your movement until you are closing in on 99% against WaveSurfingChallenge Bot A.
  2. then apply segmentation on distance, velocity and acceleration and go for near 98% against WSCB.
  3. then release the new beast onto the rumble and start tweaking/adding features to see what works and not. Also in this phase use the MovementChallenge2K6 heavily.

All the while you are struggling with this, remember that it is not called WaveSuffering for nothing. =)

-- PEZ

Thanks for the advice PEZ, this may take a while so i've rolled back to 1.4e for now. I may as well have my best bot defending my colors while I'm busy. EDIT: By the way, PEZ, how much does distancing affect CC's WSC scores. With PowerHouse, even a small distancing change can have a really big effect (like causing a drop from 96% to 80% against bot A). --wcsv

That, if anything indicates you have a bug. For CC distancing doesn't matter too much. Optimal distance against Bot A is somewhere around 400 because it is fewer bullets in the air then, and CC is running more free of the walls. But, things are stable above 99% regardless of distancing as long as I don't fight foolishly close. That said, it is pretty funny distancing CC at about 200 and see Bot A struggle to hit it. =) Pitting Pugilist against Bot A is torture for me as a bot author though... That is broken surfing! -- PEZ

Dookious was at 1935 when PEZ convinced me to bug-hunt my WaveSurfing a couple weeks ago... merely fixing the (several!) bugs resulted in 0.69 jumping to 1995. Another strong indicator is that you are getting ~94% vs Barracuda (saw 93% with 1.4fa), a score that could easily be 97% or more. As someone who has just recently gone through this, my best suggestions would be to check your detection of enemy firing (do you take everything into account, like them firing in the same tick as hitting you/gaining energy or being hit/losing energy?), and make sure all your ticks are lined up perfectly for the segmentation & wave source coordinates (good info on the GamePhysics page). Anyway, good luck, I fear the results if you do fix some bug in your WaveSurfing :) -- Voidious

For me graphing the EnemyWave's was extremely helpful. See CassiusClay/GL -- PEZ

Thanks again for the suggestions, guys. Voidious, I suspect that the problem probably does lie in one of the places you mentioned. I use RoboCodeSG? to graph the waves, so I know that they physically line up with the bullets, but maybe I am off by a tick in the segmentation (I currently use data from t-2). Well, right now that "real life" thing requires my attention, so i'll work on this later. --wcsv

I don't think T-1 or T-2 matters all that much. It matters, and I don't remember which one is right, but it's not going to be the bug. If your waves line up and you can't almost shut Barracuda out, then something worse is broken. You sure your prediction works? What movement options do you evaluate by the way? -- PEZ

I evaluate full forward, full back and stop. My prediction may very well be at fault here, It is close, but I don't know how close. I need to test that more rigorously. --wcsv

I really like Albert's FuturePosition class, I just had to make the one method "public" so that I could compute WallSmoothing tick by tick. The EnergyDrop was probably "the" bug for me, and a glance at your 1.4s code indicates you might have the same problem (though I can't tell for sure). -- Voidious

I tested my predictions by "manually" deciding for each wave what movement option to go for. Then stick to it for the duration of the wave and check if my prediction was right when the wave hit. I used negative reporting and just printed when the difference was larger than whatever tolerance I used. Another thing to watch out for is to mistakingly use a reference to the gun location in the waves. Don't know if you use Point2D's like I do, but if you do, make sure you the one you store in the wave doesn't get updated when the current gun location is updated. -- PEZ

The opensource version does not have any consideration for energy drop. I added that later. Although, I do not consider the situation of the enemy hitting me in the same tick that it fires; I think that is fairly rare, but it won't take long to put in. I'm definitely going to take a serious look at my prediction when I have an hour or so, I'm becoming more suspicious of it as I roll this over in my mind. Thanks again guys. --wcsv

It's probably not fair to say EnergyDrop was "the" bug for Dookious, but it was one of several flaws causing me to "not find" more than 1 EnemyWave per round on average. It's definitely rare, but every point counts, especially when you're holding an opponent to like 100 points =) You're welcome to check my /utils/DookiScanLog?.java to see my code for it, of course. Again, good luck! -- Voidious

Do you rule out wallhits of the enemy, as it will generate false waves. -- GrubbmGait

Actually, I don't yet, but it's on "the to do list". -- Voidious

I've nailed it! 99.2% vs. bot A! --wcsv

Nice one! How you doing against Barracuda? And what was the problem? -- Voidious

Sorry I was a bit brief there, I'll let you know about Barracuda shortly, I just put my segmentation back in. The problem was a really stupid prediction bug. I was calculating the max turn rate in degrees rather than radians for some reason, my predictions were off by as much as 100 units. Thanks to PEZ and Voidious yet again! --wcsv

Mostly PEZ, I think, but you're welcome =) Now go break that 2K mark to keep me motivated to work on my gun here! ;) -- Voidious

I've still got a bit of work to do before release, my segmentation doesn't work that well anymore since it was tuned to broken movement :) --wcsv

Wow, that was a quite serious bug. One of the dangers of WaveSuffering is that even broken WaveSurfing works so well. That's why testing against the simplest targeting methods is so important. 99.2% is a very good start. I guess from there it is about your surfing against opponents close to walls. Check what PH does when Bot A is sitting close to a wall. But don't do that stuff now. It's for when you want to squeeze a few more points out of your movement. And you should ensure bugfree behaviour in the current functionality before tweaking anyway. Congrats on nailing a nasty bug. I guess I never stumbled across that particular one since I moved to radians-only math long before I started with wave-surfing.

As I said before, next thing is probably to see that basic segmentation on distance and velocity gives expected results against Bot B. I can recommend the segmentation technique I use in CC. Like so:

    public static int segment(double[] slices, double v) {
	for (int i = 0; i < slices.length; i++) {
	    if (v < slices[i]) {
		return i;
	return slices.length;
    static final double[] DISTANCE_SLICES = { 150, 300, 450, 600 };
    static final double[] VELOCITY_SLICES = { 1, 3, 5, 7 };
    private static double[][][] stats = new double[DISTANCE_SLICES_FASTER.length + 1][VELOCITY_SLICES_FASTER.length + 1][ACCEL_INDEXES][BINS];
    distanceSegment = segment(DISTANCE_SLICES, distance);
    velocitySegment = segment(VELOCITY_SLICES, absVelocity);
The code is scattered around in my files, but the main idea should be visible. With this set-up it is really easy to experiment with different segmentations and segmentation depths. I guess it can be taken even further, but this works pretty well as long as I am careful to index the stats array the way the segmentation demands. Usually I get array-index out-of-bounds exceptions when I screw this up. But not always.

-- PEZ

Easy to avoid. Just write a method that calculates the correct index given a value and the corresponding slices array... --mue

That's what the segment() method does, no? What I meant could be improved is the now manual management of segmentation order. If I in the above example access the statsArray with stats[velocitySegment][distanceSegment] there is only the out-of-bounds exception to hope for. But if the two dimensions are of equal depth then this sort of bug could be harder to find. -- PEZ

Oops you're right, didnt notice that method :-). And i also have to agree completely about the problem you were actually talking about. --mue

Well, it's in the RR, let's see what happens... --wcsv

Looking pretty good, and a few very impressive wins, like Pear, Cyanide, and Toad. I guess finding out that broken surfing does better than "real" surfing against some opponents is part of the whole WaveSuffering experience, eh? =) Good luck on your quest for 2K. -- Voidious

1981 is a bit of a dissapointment, in'it? Maybe you should try PowerHouse.Bee version and see how your movement compares to CCs. I think something is still broken, but it could also be your gun I guess. -- PEZ

Do not give in to the dark side. Forever will it rule your destiny. -- Martin

No way, dude, we all know that keeping your source closed is the real dark side... =) Bust out the PowerBee?! (Or the HouseFly?! heh...) -- Voidious

Somehow I think wcsv is already as damned as the rest of us to forever walk the land of robot design problems. =) -- PEZ

Well, 1981 isn't exactly what I'd hoped for, but it's certainly an improvement anyway (I've been stuck at ~1970 for about the last 4 updates), and 1.5's premier league performance is much better. My gun is definitely weaker than Bee, but I don't think it's the real problem here. I fairly sure there are still some bugs I have to hunt down. Also most of the special cases were disabled in 1.5, such as the anti-ramming code and the "in-corner" behavior. --wcsv

By the way, anyone who looks at my code will see just how long i've been walking in that land PEZ mentioned... --wcsv

The idea with plugging in Bee for a test version was to test your movement, not your gun. Bee with Butterfly movement gives 2066 points. Bee with PowerHouse movement gives X points. X - 2066 points is a measure on how your movement compares to Butterfly. If the difference is too large then that indicates you have serious bugs. Butterfly movement might not be the best around, I know. But it is still good. Maybe the third best today even. -- PEZ

Hey Wcsv, do you take any other waves into account besides the closest? When I took a (brief) look through your code, it looked like you didn't, but I didn't dig deep enough to know for sure. Anyway, 1981 is a very good rating... -- Voidious

I maintain that it isn't very good. Something must still be broken. Surfing one wave isn't as good as surfing all (with bullets) from my experience, but it doesn't make for a huge difference. Continue that bug hunt. This time I think you have something wrong in the segmentation. And Bot B is a good test for the segmentation infrastructure. If that's not what's wrong then maybe some of the segmentations you do. And I could be completely wrong. Lots of things can go wrong in surfing. But your 99.2% against Bot A suggests that lots of things go right in your surfing too. -- PEZ

That makes me wonder - what do you think of Dookious's movement, being around the 2K mark? Since DookiFly? got to 2024 and I got Dookious to 2002 with almost no improvement on the gun, I figure there's about 25-30 points left to (reasonably) gain in movement. I'm not sure it's any better than PH's movement, since Dooki's gun seems a bit stronger. Now I really want to see the HouseFly? or PowerBee? rating. -- Voidious

You're right. I think Dookius' movement must be quite good and that you probably must let the gun nut inside you step forward a while now. I don't know enough about PowerHouse's gunning to rule out the movement as buggy. But still... 1981, I have a feeling there's some ugly bug lurking that denies PH some 20 points at least. -- PEZ

It only considers the closest wave right now, i figured that if I couldn't get that working reasonably well then surfing more than one would only complicate any problems. About the segmentation, the way it is right now it gets 96-97% vs. bot B, but I think there is still a problem in the prediction under certain circumstances. I may just sit down and rewrite the prediction loop, paying really close attention to details. --wcsv

Alright, my tests show that the prediction is now accurate to within 1 unit about 97% of the time. 1.5b is exactly the same as 1.5 except it's using the new prediction. I don't expect a big change, but I want to see if it works at least as well as the previous version's prediction in the RR before continuing. --wcsv

Now i'm sure that the prediction is working as intended, so I can turn my bug-hunting focus elsewhere. Now maybe i'll take a careful look at my EnemyWave creation to make sure that all of the internals are actually doing what I think they are. Another thing, PEZ or Voidious (or any surfer better than me): One weakness is my dive protection, i've seen it slam into Barracuda too often for my liking, any suggestions? --wcsv

I have a "safe distance" variable set in my movement, which I think is currently 200. If Dookious is closer than that, he reverses his WallSmoothing to move away from his opponent instead of towards him; and if he is "currently smoothing away", he doesn't switch back when he's past that point until he stops wallsmoothing. It adds a kink into your prediction, because you have to simulate those decisions, but you just have to be careful when doing it. I used to actually multiply the movement scores by a ratio of current:new distances, but I am pretty sure I've disabled that now. (You did mean slamming into him when WallSmoothing, right? That's the only situation I would guess that could happen in.) -- Voidious

I generally refuse to smooth too hard. If passing an enemy means smoothing harder than 80% i flag that direction as dangerous. If I am close I flag at 20%. Usually that means that CC is left with the other direction and the stop position to choose between. "Flag" is the wrong word maybe, because I set the danger really high, but it is in proportion to how much smoothing is needed. This is for the special case when CC is cornered and both escape directions call for heavy smoothing. (Happens a lot against rammers.) Then CC smooths out the most open way (not evaluating the stop position then even). I just wish I could fit this logic in Pugilist! -- PEZ

What do you mean by 80%? Do you mean 0% = perpendicular and 100% = going right at them? -- Voidious

Yes. -- PEZ

Sometimes I impress even myself with the kind of mistakes I can make. Contrary to my previous post, the prediction in 1.5b did not work. I broke a big rule and changed something prior to release and didn't test it well enough. Anyway, NOW the prediction is very close to perfect. --wcsv

Changing a simple something that just couldn't go wrong, huh? =) -- PEZ

Precisely. --wcsv

It looks like now maybe PH is doing a better job at avoiding simple targeters (judging from the rr@h detailed stats). But if that score against Tityus are representative then maybe you are not adapting quick enough? How fast do you roll your surfing stats? -- PEZ

Yeah, it looks like doing this the right way has cost me some points against more advanced guns. Actually, right now the surfing stats are not rolled at all. I disabled that when I began bug hunting. --wcsv

I'm pretty happy with PH's WaveSurfingChallenge scores, I think I need to work on better distance control and dive protection to make the Rumble scores against simple targeters better reflect the wsc scores. --wcsv

Actually dive protection is most important in the WSC I think. In the rumble you have moving opponents. But, yes, against some opponents the dive-in happens anyway. Many of those Melee targeted movements tend to result in bots moving close to the walls in a funny way. -- PEZ

I roll my WaveSurfing stats extremely quickly, a rolling depth of 1.0; so, basically, each new piece of data counts as much as all previous data combined. I even had it set at 0.7 for a while. I would think that it would hurt to have it so low against simple targeters, but it doesn't seem to, and it very much helps against advanced targeters. -- Voidious

Yuck. I can't make 1.5e get less than 60% against Crusader here, and then it goes and gets 37% in the Rumble, but I guess thats how it goes... --wcsv

I just saw something interesting. PH does not detect when an enemy fires a .1 power bullet. At first I thought that my energy drop monitoring must be flawed, but its actually something to do with the precision of doubles. The energy difference is reading as .099999999975, since its less than .1, PH was ignoring it. Anyone else encounter something like this? --wcsv

I can't remember if I've actually seen a value like that for an EnergyDrop, but I do know that my energy detection uses 0.09 and 3.01 because I know that doubles can round like that. I've definitely seen that happen in other parts of Java coding. -- Voidious

Yeah, I knew it happened, but its just one of those little things that are easy to forget and will bite you when you do. --wcsv

For sure. It's probably a safe bet that I have seen this happen, and that may be what prompted me to make my energy detection like that, but I just can't remember. Anyway, I guess you better release a new version before you face BitchingElk?, eh? ;) -- Voidious

I'll wait it out for now. As far as I know, every version has had the same problem and they have all scored around 97% against it, not as good as some bots, but not too bad either. --wcsv

You roll your stats yet? I would maybe go for replacing them with the last sample. Here's a way that smooths the data at the same time:

for (int i = 1; i < BINS; i++) {
    stats[i] = 1.0 / (Math.pow(Math.abs(i - index) + 1.0, 0.5));
(From my Anti-surfer gun in CassiusClay.) If you think that's some heavy smoothing you should know I have 107 bins.

In any case. That would make your surfing learn immediately when a learning gun has caught up. If you keep accumulating stats, guns like those of Aristocles and Pugilist and lots of other bots will be given an unnecessary chance to you. I'm guessing you have some 20+ points hiding here alone.

-- PEZ

Hmmm... I hope I did something wrong, because when I made the surfing replace the stats with the newest data it showed a sharp drop in performance. The WSC score is about the same, but it only gets about 35-40% score against Tityus and Aristocles now. Probably an indication of another bug somewhere :( --wcsv

That sounds really strange. What if you plug in rolling stats and lower the rolling depth? -- PEZ

When I use rolling stats with a low depth it appears to help, although I haven't tested it all that thoroughly yet. I think maybe replacing the stats wasn't working that well because my segmentation is tuned for accumulating stats without any rolling at all. I'll have to look into this more. --wcsv

I got a few hours to work on PH tonight, 1.5f is using a rolling depth of 1. It's a bit of an experiment because I completely reworked the segmentation on the surfing in order to make it work at all with the rolling. The wsc scores are basically unchanged, but it shows a bit better performance against some of the learning guns. I think the gun is long overdue for an update, I might work on that for a bit next. --wcsv EDIT: I'm curious to see how it does against Cigaret. My (excruciatingly long)tests against it never seem to accurately reflect the RR score against that bot.

Cigaret is bad-ass. It makes me wonder if WaveSurfing is even worth the trouble against a top-notch gun. The new version looks really good so far, but it's still very early in the going - my fingers are crossed for you, though! -- Voidious

Alright, congrats! I'll let you do the honors of updating the page yourself =) wcsv_2000.png Nice work! -- Voidious

Thanks! I'm not sure if it counts though, after 1077 battles PH is at 1999.3 --wcsv

I would think it still counts, and as far as the rules on The2000Club page go, it counts. Since Dookious 0.80 peaked at like 2035, he and almost every tank him around him has dipped about 2-3 points; the ratings simply do fluctuate, so I wouldn't be surprised if PowerHouse does go back up over 2K in a bit. -- Voidious

My goal was to get it to 2000 with only movement upgrades. I think 1.5f is close enough; i'm gonna do some work on the gun for a while. --wcsv

Didn't get much chance to work on PH today, but I released 1.5f1. Basically the only thing i did was make the gun more aggressive. It fires higher power bullets and the threshold where energy managment takes over is lower now. I've though for a while that it might be losing bullet damage points just b/c it wasn't shooting hard enough. It's time to find out. --wcsv

Hey, thanks for grabbing that screenshot for me Void. I was sleeping then :) I've put it in my own webspace, so if you don't want it cluttering up yours go ahead and take it down. --wcsv

Cool, man :) Congratulations on reaching 2,000! -- Voidious

Congratulations! Despite the current increase of RamBots you managed to enter the Robocode Walhalla! -- GrubbmGait

The last couple releases have been mostly with some experimental antisurfing gunnery attempts. 1.5f4 uses only the main GF gun. I think the VG array might be hurting PH against some bots. By the way, sorry about the double update today, hope nobody minds. --wcsv

Any successful tricks you can share with us? (Yes, a VG array can definitely be a dangerous thing.) -- Voidious

No, I didn't really do anything that was wildly successful. It was mostly just some variations with bin smoothing and rolling stats. One thing that (surprisingly) did seem to help a bit was to decay the stats immediately prior to firing, and just accumulate them otherwise. I also fire waves every tick and weight bullet-carrying waves 10x more than the others. --wcsv

Nice work, it's nice to see PowerHouse a comfortable margin above 2K... I felt a little sympathy for ya every time I saw it at 1999.9 =) -- Voidious

Early indications for 1.5f9 show that I completely broke something... but I guess we'll see. --wcsv

I'm not so sure... Comparing it match for match with the previous version, it's a total of 35.8 percentage points (over 173 opponents) better. I've found that's usually a pretty good indicator. -- Voidious

It seems that prior to 1.5g3 my wall segmentation (for both surfing and gunnery) was essentially doing nothing. My function that was supposed to return the index to use was always returning the same value. Fixing it only gained me a few ranking points, but it significantly help my PL rating (went from about 23 losses to 8). And it doesn't lose to that darn Smoke anymore. Not too bad for a 2 minute bugfix if you ask me. --wcsv

Ah, that's always nice =) The worst is when you spend an hour "tuning" a broken segmentation like that, only to realize all your tests were only differing by pure randomness! I've had stuff like that happen an embarassing number of times... -- Voidious

Grrr! I somehow lost my source files, but I think i've managed to cobble PH back together from my backups. 1.5g4 is mostly just released to make sure that i haven't broken anything in the process. I'm crossing my fingers that it stays at about the same ranking. --wcsv

Well, I hadn't planned to do any more work on PH this weekend, but I had to find out why I lost 12 ranking points with 1.5g5. I did some investigation and found out that although my waves were lined up with the bullets when i was drawing them to the screen for debugging, they were not lined up when I was actually using them. I don't know if this is a new problem that I just introduced or if its been lurking in there for a while, but I *think* it is correct now. I forgot how confusing this can be. --wcsv

I'm really sorry to hear about the loss of source code, that really sucks! Glad to hear you've gotten at least most of it salvaged. That's another advantage of open source, of course ;) I had that exact same problem in Dookious's waves just recently (and the same cause), and that bug is even still in the gun as a result... little to no difference in TC scores, but I bet it makes a bigger difference on the movement side of things. -- Voidious

Robo Home | PowerHouse | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited April 23, 2006 5:22 EST by Wcsv (diff)