Alpha Test Game 5

Okay so I've finally got myself a php IDE that I can run locally, meaning I can do things like put in breakpoints and do line-by-line stepping with watches. This has also already given me a few good pieces of feedback and I squashed some bugs we didn't even know we had yet.

That said, the going is very slow, since I apparently can't do conditional breakpoints with this software, so I've got to step and evaluate every order being processed and every piece on the board to find the ones in question.

As such, I haven't gotten to the parts involving missile evasion yet on the end turn phase. I am looking at some of the missile shoot-down code however, although I haven't yet confirmed it is properly killing the missiles.

Given my schedule for today, I may not get to this until either late this afternoon, or more likely, sometime over the weekend.
 
Why didn't I do this years ago? Even without conditional breakpoints, being able to step through my code line-for-line and see what is going on is like seeing my creation truly for the first time. You guys have no idea what a miracle it has been that this works at all. Up until now, I'd have to either put in crash-out errors to debug, or make changes and hope they'd work (if there was an on-going game). Much of what I've been doing has been guess-and-check because I've had to work semi-blind. I could make a change, and see the end result, but I couldn't ever - in an effective manner - track or stop things mid-processing to see what was going on for a specific instance.

I was able to clean up, just by trying to fix the two above issues, about half a dozen completely unrelated, and relatively minor bugs that would have taken us forever to find normally, but were so obvious while debugging!

Additionally, I discovered that while the combat phase has a good 'death' cleanup, the end phase reserved its check for missile death until the very end...meaning zombie missiles were still able to smash into targets. This solved (hopefully) the point defense issue mentioned above.

Separately, being able to step through my 'chase' routine for missiles has really helped me see where some of the flaws were, and I've cleaned them up. Previously, missiles effectively gave up on chasing if the target was outside a forward-looking 180deg arc. That wasn't my intent, but it was the implementation. Now missiles are smart enough to chase through an entire 360deg arc. Their goal will be to find the motion which best indicates they could hit the target next turn. Of course, this doesn't at all factor in the pointing vector and likely motion of the ship... only the ship's present location... but that is still a huge improvement over before.

This isn't to say that I've completely fixed/implemented the missile chase routine, but I've certainly solved the specific issue that came up today. I Believe that the missile fired by 'Zombie' at 'Violent Breeze' concluded that a Turn 3 (aka 180 degree turn at max velocity) was its best plan. It isn't a perfect strategy/detection, but I'm open for algorithmic suggestions from you guys.

Hmm, looking at the actual turn resolution, things were a bit unluckier the 2nd time around. Although in a lot of my debugging, Zombie shot down the incoming missile, looks like we had some low rolls this time. Sorry! Also, Violent Breeze didn't get the Shelton Slide the 2nd time around either.

This new IDE isn't going to overnight help me clean up all the bugs, but it is really going to make some things a lot easier. I suspect next time we have an FF tracking bug (if I haven't squashed them all yet) this will be the tool that will really help me solve it. (Unfortunately, I'll still need to take a turn offline to do this kind of debugging, since I have to mess with the 'live' database).

As of now, you guys can proceed with 9MP, unless someone pipes up with a yet a new bug.
 
Um.......I don't like those dice results...........

Just out of curiosity, are there any plans in the works to report on missile movement? I mean, we mentioned that Zombie's IR pulled a turn 3...is there plans to have the game at some point report "Image Recognition missile moves with speed 12 and turns 180 degrees." (or whatever the speed is; I don't have the rules in front of me at the moment believe it or not).
 
Noticing there are no pilots listed in yellow (for awaiting tailing data). Granted, in the Zombie/Violent Breeze case it's because Breeze has already "moved", but there are a couple of other folks who should be listed in yellow.
 
Congratulations on finding a great tool! :) Sounds like it will help you a great deal.

Why didn't I do this years ago? Even without conditional breakpoints, being able to step through my code line-for-line and see what is going on is like seeing my creation truly for the first time. You guys have no idea what a miracle it has been that this works at all.

Ah, good old WTF bug...
 
Um.......I don't like those dice results...........

Just out of curiosity, are there any plans in the works to report on missile movement? I mean, we mentioned that Zombie's IR pulled a turn 3...is there plans to have the game at some point report "Image Recognition missile moves with speed 12 and turns 180 degrees." (or whatever the speed is; I don't have the rules in front of me at the moment believe it or not).
You know, this would be a piece of cake to implement. ..... done.
Noticing there are no pilots listed in yellow (for awaiting tailing data). Granted, in the Zombie/Violent Breeze case it's because Breeze has already "moved", but there are a couple of other folks who should be listed in yellow.
Unfortunately, everyone who had successfully tailed has put in orders now, so I missed the window of debugging on that one.
 
Okay, it seems I don't have the Orders button for the Drakhri and Ferret (Boo'ya and Cupcake, respectively). Out of all three fighters, those two are the ones that matter the most now. :-D Also, this is the first time happening for me.
Checked and the system says it's not waiting for orders for these two (they are green on the list). It probably hates me. :-(
 
Um...shouldn't Dead Meat be able to take a shot at Sivar's Fist?

Could be the same deal that's happened to Humungus this turn; both of those fighters also have valid shots.

I won't issue orders for my fighters for now, in case this is something we want to investigate.
 
Okay, it seems I don't have the Orders button for the Drakhri and Ferret (Boo'ya and Cupcake, respectively). Out of all three fighters, those two are the ones that matter the most now. :-D Also, this is the first time happening for me.
Checked and the system says it's not waiting for orders for these two (they are green on the list). It probably hates me. :-(
Okay I will look into it.
Um...shouldn't Dead Meat be able to take a shot at Sivar's Fist?

Could be the same deal that's happened to Humungus this turn; both of those fighters also have valid shots.

I won't issue orders for my fighters for now, in case this is something we want to investigate.
Tempest should also be able to shoot at Harm's Way... Something's fishy! ;)
CP9, I think Magna should have Opportunity fire at Thor.

Cheers,
Definitely sounds fishy. So the question I have for each of you: I see your ship is in the green already. Does this mean that the turn predictor incorrectly realized you could opportunity fire (and pre-submitted a blank order on your behalf) or that you guys submitted the blank order and then reported it here? (The distinction is important as it completely changes the nature of the bug and where the bug would be).

Overall, all the above sound collectively like a problem with the order predictor. I've arbitrarily added 1 extra ship to the 'ships required' so that if Humungus and Capi (who haven't submitted their other ships yet) were to do it accidently, the turn will won't process until I manually add back in the correct number of ships remaining and unlock some ships to need orders. (i.e. I'm forcing it to not process on to end phase until I at least look into this bug).

That said, Legend of Zelda: Skyward Sword has occupied my usual "personal time" wherein I would be debugging and coding for you guys. I suspect it will continue to do so (I'm a huge fanboy) for the next few days, so check back later in the week. (Who knows, maybe I'll take a break from one of my breaks and look into it sooner than that).
 
So the question I have for each of you: I see your ship is in the green already. Does this mean that the turn predictor incorrectly realized you could opportunity fire (and pre-submitted a blank order on your behalf) or that you guys submitted the blank order and then reported it here?

Avacar, the turn predictor did not realize Dead Meat could opportunity fire at Sivar's Fist (i.e. Dead Meat was "in the green" when 9CP started; I never got the opportunity to issue any orders for him). From the sound of it, this happened to at least two other players this phase.
 
Noticing that the targets of some of the fighters mentioned (Dead Meat, Cupcake, Magna) are all either range 2 or 3 shots with the target to port. The others (Cupcake and Tempest) are generally straight ahead shots at range 1 with the target moving either directly towards or directly away. Don't know if that's significant towards this bug or not; I'll leaning towards not since Zombie's been given a shot at Sivar's Fist (its directly facing its target at range 1).

Also noticing that nobody's fighting Ironduke...
 
Okay... finished LoZ: Skyward Sword last night. Amazing game; anyone owning a Wii and who likes adventure games owes themselves to play this game, even if you've never played a Legend of Zelda game before.

I'm busy with some personal matters today and tomorrow, but I'll look into the orders predictor issue with opportunity fire on Saturday, and we should be able to resume the game that afternoon/evening.
 
Okay guys, sorry for that unnecessary week long interruption. Zelda games only come out every so often, and it is one of the few series that I pretty much drop everything to play (aside from work).

So the good news is, I found the problem. You may remember about two weeks back I did a fix on turret fire. The rear-arc of turrets weren't wide enough. Well...ends up that when I fixed that, I accidentally forgot about forward guns in the predictor calculation (and put in a turret orientation-specific check). As such, all forward guns were viewed as having no shots available if it was an opportunity shot. This has been solved for the future.

I used my new IDE to check that it was working in the Dead Meat->Sivar's Fist case. Then I manually edited the database to enable orders for:
  • Boo'ya
  • Cupcake
  • Dead Meat
  • Tempest
  • Magna
These ships will use the actual turn pre-processor to determine if they have a valid shot. (If you feel they should, and they don't, this is now a different bug, having to do with this turn, and not the turn predictor). Unfortunately there isn't a great way to test the turn predictor aside from setting up more such situations in the future.... so while I am fairly confident I found this particular bug, keep your eyes peeled, especially next turn, as we transition from movement->combat to make sure all ships that "don't need orders" really don't.

All players controlling a ship listed in red should now immediately check, and submit your orders.
 
Am not sure with the "reserved refires" on opportunity fire. It's greyed out at "none", while it probably should be max-1. But then, I don't know how you treat it, so it could still work alright. Should I submit the orders for Cupcake?
 
Yeah, go ahead and submit your orders. Porcupine2 is not directly ahead from Cupcake, so it's an opportunity fire shot; you only get one shot per gun in this case. You could set refires if Porcupine2 was along the direct line-of-sight.
 
Back
Top