Alpha Test Game 5

Okay, it took some time, but I think I found the problem. Essentially, once one ship needed a target update, it would turn on a flag to get udpated... and then the for-loop would stay with that flag 'on'. (meaning all other ships would think they needed the same update even if they didn't) The flag reset to 'off/false' was put outside the loop, accidentally.

I think this will stop target 'greediness' and *I think* this will also solve the other problem of bad IR locks. I believe the bad IR locks were happening because you had a valid lock, but then an incorrect, greedy lock overwrote it.

This won't fix the current bad locks; I'll have to look through and edit them manually, but I think it will fix the greediness into the future, as well as self-correct any future locks.
 
Okay. Asteroid collision is now coded. There may be some changes, based on response from Ironduke over in the core coding thread. Additionally, this in no way reflects any line-of-sight code.... i.e. you can definitely still shoot through/past asteroids without any problems.

that said, if you try to fly through one, as per the rules, some dice will be rolled and you'll potentially smash into an asteroid. Also: it really hurts. This work also laid down some of the initial groundwork for flak processing (although not for flak firing).

All of you: pay close attention to ship movement and any anomalies. Teaching it to smash into asteroids involved putting in all the hooks for collisions. The following algorithms were indirectly affected by these changes, and may no longer work (to whatever extent they once did) so look out carefully for bugs in these areas:
  1. All ship movement, especially when they're on the same square as anything
  2. All missile movement
  3. The missile 'chase' algorithm
  4. Movement listings in the 'field reports'
  5. The ship damage algorithm was extended to do 'raw' damage type; this may have impacted how ships receive damage, but I don't think it will. Watch for shots getting through shields unfairly.
So, who will be the guinea pig to smash into an asteroid? (I have a few other features finally on the books; when they're all in place, i'll probably spawn more ships for this purpose, or start a smaller, new game).


----------------
This patch also included an efficiency improvement for how I store asteroids. There's a small chance that, if it failed, all the asteroids will vanish on the next phase change. Point this out if you see it first!
 
Afterlife (the Jalkehi in the lower left being fired at by the Broadsword) is gonna try and use it's reserved shots to shoot down the missile... although I don't really get how it's gonna do it, with the angle and all, but we'll see. It says 3 shots reserved, so I'm guessing it will try it with the front guns.

Anyway, I volunteer Boo'ya for asteroid smashing. It's a nearly dead Drakhri anyway.
 
Afterlife (the Jalkehi in the lower left being fired at by the Broadsword) is gonna try and use it's reserved shots to shoot down the missile... although I don't really get how it's gonna do it, with the angle and all, but we'll see. It says 3 shots reserved, so I'm guessing it will try it with the front guns.

Anyway, I volunteer Boo'ya for asteroid smashing. It's a nearly dead Drakhri anyway.
Yeah, this one is a bit marginal, but it will try to use the front guns. The algorithm I wrote to let you do point defense makes some approximations to try to simulate shooting at missiles passing by you... but it doesn't actually do what is more gameplay intuitive (which would be to actually move the missile, then try to shoot it, then move the missile, attempt to shoot, etc.). I felt that doing the full propagation of all missile movements and attempting all shots would take too long. I think afterlife is in a funny case where it thinks the missile might pass in front of it, and therefore it is letting point defense go through. I probably need to refine the approximations and watch for this particular case... (unless Ironduke says it is okay :p, but I can't see why he would).
 
I've put into place the all-click interface that was up for vote a while back. We'll leave it in for a few turns and see what you guys think. Please feel free to provide feedback here, or in a new thread (or in the interface thread).
 
Continuing with my roll-out of new features, I am happy to announce that line-of-sight has now been coded. I haven't had a chance to do any testing whatsoever of this algorithm, but at least it isn't giving any immediate run-time errors.

At the moment, only the asteroids should block line-of-sight in this game, although capital ships also already have a line-of-sight blocking flag ready to go and in place. Currently if the target is on an asteroid's square, it will be considered blocked. (Is this how you'd want it Ironduke? Or only if they're past it?)

Obviously, putting in the line-of-sight code has ramifications for all gun target acquisition and ranging. In this up-coming combat phase, if any of you feel like you should be able to target someone and cannot anymore, point this out immediately and do not submit your order. Also, as it is currently coded, there is nothing actually telling you that you're blocked by line-of-sight, you simply won't have the target listed as an option on your drop down in the command window.

For the short term, I don't think anyone is nearby an asteroid anyway, so what we're looking for is that there is no obvious impact on your current fights. Hopefully some of these will creep into the asteroid field so we can test out the LOS and asteroid collision features.

Next on my list will be flak itself, and then I'll finally tackle the command window interface for the combat phase and end-phase for capital ships. (The movement phase for capital ships has already been tested back in a previous game).
 
Christmas seems to be a busy season for new feature roll-outs... Great stuff! :)

Currently if the target is on an asteroid's square, it will be considered blocked. (Is this how you'd want it Ironduke? Or only if they're past it?)
Actually, asteroids should only block LOS when you're shooting past them. If a ship is sitting directly in an asteroid hex, it might get some cover, but I/we haven't decided on that yet.
 
Christmas seems to be a busy season for new feature roll-outs... Great stuff! :)


Actually, asteroids should only block LOS when you're shooting past them. If a ship is sitting directly in an asteroid hex, it might get some cover, but I/we haven't decided on that yet.

Yeah, I figured that was the case, but this was faster to code. I'll make the adjustment sometime soon; it should just be a matter of excluding the final square of the for-loop iterating over candidate blocking squares.
 
13MP: Alright...let's just pull the message up here and......

"Sivar's Fist is going to afterburn and turns starboard 13."

Uh......WTH? Something's definitely jacked up here.

Fortunately, in this case the words "afterburn" and "starboard" are sufficient information for me to proceed. A Jalkehi has a Turn Rate of 1 and an AB speed of 10, so I know the only possible spot where he could wind up. Still, where did it pull the thirteen from?

Well...hell with it. We've all waited long enough, IMHO. Finished cutting out my WC2 counter set a day or two ago and this gave me a good chance to try them out. On to 13 CP!!
 
13CP: Aw, crap......

Orders windows are non-responsive for me at the moment. I am using an old version of Firefox; will try again in the morning with Chrome.
 
Orders windown is unresponsive to me too - the button is there, but clicking it does no good. But what I noticed is that that when I click it and try to refresh, an error flashes:
Warning: Division by zero in /home/agespast/www/www/avacar/phase5/indicator_funcs.php on line 174
If it helps any, it's orders for Afterlife, a Jalkehi in the lower left.

Anyway, a Jalkehi that pulled of an Immelman? Now I've seen it all. Nice one there, don't forget to give that pilot a medal... in memoriam when I finish with him. :p

But that gives me an idea. Would it be feasible to make the barrel roll turn rate-reliant in a similar fashion as the Immelman? That is, anyone can try to do it, but doing so without sufficient turn rate would incur penalties to the roll.
 
Orders windown is unresponsive to me too - the button is there, but clicking it does no good. But what I noticed is that that when I click it and try to refresh, an error flashes:
Warning: Division by zero in /home/agespast/www/www/avacar/phase5/indicator_funcs.php on line 174
If it helps any, it's orders for Afterlife, a Jalkehi in the lower left.

Good catch. This is what I needed to find the problem. Not surprisingly, this is related to the new LOS checks. It may take a fair bit of back-and-forth for us to fully test this. (since I've travelled to visit my family over the holidays, I don't have access to my IDE, and as such, I couldn't pre-simulate this). I think this is fixed now.

"Sivar's Fist is going to afterburn and turns starboard 13."
fixed.
 
Ah, now that it's fixed, I see another error: Afterlife (the Jalkehi from before in the lower left) has a Drakhri (Porcupine 3) 5 hexes in front of her, so it should be in range of the laser cannons. Yet "There are no forward targets in range.". The aft turret acquires the Broadsword target just fine. (Maybe LOS issue again. That said, do the turrets check their LOS?)
 
Ah, now that it's fixed, I see another error: Afterlife (the Jalkehi from before in the lower left) has a Drakhri (Porcupine 3) 5 hexes in front of her, so it should be in range of the laser cannons. Yet "There are no forward targets in range.". The aft turret acquires the Broadsword target just fine. (Maybe LOS issue again. That said, do the turrets check their LOS?)
Definitely the LOS algorithm, and no, looks like turrets weren't using the LOS.

I haven't found the LOS bug yet, but I did enable the LOS algorithm for turrets. I bet your aft turret doesn't acquire the target now? (edit: checked for myself and confirmed. The LOS algorithm currently blocks all visibility to all ships, all guns. Everyone just hang tight while I work this out; and don't submit orders for now.)
 
Okay: so I've fixed the LOS issues (I think). All of you can submit orders now.

I am noticing a different problem, however. Your rear turret doesn't want to target someone independently of the front guns. Since they're technically AI guns, I believe we had discussed previously that you could fire at a single forward target at a time (a separate missile forward target) and that your turrets could independently fire on as many different people as you had turrets.

This is clearly not the case at the moment. Hold off on submitting Afterlife for now, but as above, every other ship not in this situation can go in.

edit: update: okay I've got the selectors allowing you to pick targets independently of the main guns (I am not sure if they'll be independent of each other).

That said, I don't know yet if I can store multiple targets; don't submit afterlife yet until I confirm that the secondary turret targets are indeed stored independently of the primary gun targets. Sadly, I've got to put this aside for now, will check later on it.
 
Okay so near as I can tell, I already planned for multiple turrets shooting multiple targets..... so this should be no different. Try firing Afterlife's main gun at one target and the rear gun at another; it should work. We'll just have to see!
 
Message: Parse error: syntax error, unexpected '{' in /home/agespast/www/www/avacar/phase5/end_phase_engine.php on line 299
Getting this when I attempt to access the game this morning in Chrome 16.
 
Back
Top