Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Author Topic: What is Zero Flux, Really?  (Read 4520 times)

Wyvern

  • Admiral
  • *****
  • Posts: 3786
    • View Profile
What is Zero Flux, Really?
« on: March 01, 2013, 01:50:28 PM »

Two suggestions; originally brought up here, and now moved to its own thread.

1: Zero flux bonus should be tied to the actual displayed flux value; maintenance costs that deactivate zero flux bonus should result in at least one point of soft flux displayed.  It should be "zero flux bonus" not "zero flux and shields off and no weapons firing and no flux-using systems online either" bonus.

2: Shield maintenance costs should not deactivate zero flux bonus.  This offers relatively little benefit to the player, who can be reasonably clever about choosing when to have shields up, but has the following benefits to the AI:
 a: Small, agile ships are not penalized for over-aggressive use of shields; currently, such ships will (particularly when encountering asteroids) attempt to both dodge and shield, resulting in significant slowdowns relative to a player who would pick just one defensive behavior.  In combat, with weapons firing and probable hard flux buildups from taking hits, this is unlikely to make a meaningful difference.
 b: The AI for larger ships can actually use shields to take asteroid hits while travelling, preventing unnecessary damage (which, especially in some mods, can be rather significant - and even in vanilla, can often result in such ships reaching combat with one or more weapons knocked offline).
 c: The AI for ships with front shields can be significantly more pro-active about deploying shields, lowering shields only as needed to clear hard flux - which should bring such ships much closer to human levels of performance.  (For reference, I currently vastly prefer front shields for ships I control - assuming at least a 240 degree arc after installing extended shields - but vastly prefer omni shields for AI ships, as the AI still has occasional issues with getting front shields online in a timely manner, and is much less able to avoid letting enemies get behind it.)

Once in-combat, shield maintenance not triggering zero flux bonus becomes irrelevant - you're taking hits, you're firing weapons, you're probably not sitting at zero displayed flux.  The one advantage it offers the player is the ability to pre-activate shields - but, by and large, this is a relatively easy decision for the player (activate front shields when they'll be up - or at least mostly up - by the time you're in combat), but a much harder one for the AI.  Personally, I don't think keeping that as a decision point is worth keeping the AI flaws I've listed above.


« Last Edit: March 01, 2013, 04:45:58 PM by Gothars »
Logged
Wyvern is 100% correct about the math.

Gothars

  • Global Moderator
  • Admiral
  • *****
  • Posts: 4403
  • Eschewing obfuscatory verbosity.
    • View Profile
What is Zero Flux, Really?
« Reply #1 on: March 01, 2013, 03:44:59 PM »


It has also always bothered me from a logical point of view, that I can be flying around, at zero flux, and not getting the zero flux speed boost due to completely hidden maintenance costs.

Since you have very visible active shields I would not call the costs completely hidden. Can't say it's bothering me, a differentiation between shield and weapon flux generation would bother me more.
I did not quite get your display change idea, though.

It's not so much a convenience, as a way to remove something that really annoys me: the way the AI tends to ignore asteroids, and leave front shields off.

I had the thought of an repelling effect (like high-flux phase ships have) a ship has on asteroids as long as the 0-flux bonus is active. Kind of like the deflector dish in Star Trek. That way asteroid would move out of your (and the AIs) way while you are traveling, but stay relevant in combat. And no shield tweaks are necessary.
« Last Edit: March 01, 2013, 04:42:05 PM by Gothars »
Logged
The game was completed 8 years ago and we get a free expansion every year.

Arranging holidays in an embrace with the Starsector is priceless.

Wyvern

  • Admiral
  • *****
  • Posts: 3786
    • View Profile
Re: What is Zero Flux, Really?
« Reply #2 on: March 01, 2013, 03:59:32 PM »

But... your flux is quite clearly zero.  It's not "Zero flux and shields off speed boost", it's "Zero flux speed boost".

The display change notion is simply this: Suppose you're generating 50 flux/s from (shields / beams / whatever), and dissipating 120.  Right now, the result is that flux shows as zero - every tick of time (roughly 1/10th of a second, I believe?), you generate 5 flux, the game engine says "Hey, you have flux, no zero flux speed boost", and then you dissipate that five flux, resulting in displayed flux of zero.

My suggestion would simply pick the displayed value at the same time the engine determines zero flux bonus - so, in the above example, you'd see a constant 5 soft flux on the bar, which would go away when you turned off whatever was generating the flux.  No difference in game mechanics, but you'd actually have the zero flux bonus tied to being visibly at zero flux, rather than the current state where hidden maintenance costs can deactivate "zero flux" state, without actually causing a displayed flux value above zero.

At which point, if the shield acts slightly differently, well, it'd be downright obvious - if firing a beam causes you to display current flux at a minimum of 1, well, there goes your zero flux bonus.  While if shield maintenance costs don't cause current flux to tick up above zero, you'd keep the zero-flux bonus.  Shield maintenance comes as a percentage of flux dissipation, anyway; clearly it's just reducing dissipation, rather than generating flux.
« Last Edit: March 01, 2013, 04:47:59 PM by Wyvern »
Logged
Wyvern is 100% correct about the math.

Gothars

  • Global Moderator
  • Admiral
  • *****
  • Posts: 4403
  • Eschewing obfuscatory verbosity.
    • View Profile
Re: What is Zero Flux, Really?
« Reply #3 on: March 01, 2013, 04:40:52 PM »

With not hidden I meant that the flux producer is very visible, even if the process of flux production is not (it would be more of a problem if sensors or something subtle would produce flux).
The whole thing has nothing to do with tics or timing, "0-flux boost" really means "0-flux generation boost".

I think to just display the generated flux at the same bar as the total flux would not work, you could not differentiate between a ship at low flux and one at zero flux with some production.

I get the overall problem though, I think it is especially hard to grasp for new players that flux is still generated while they can't see an increase. I'd would be good to convey it somehow. I'll think about it.


And yes, I think it's about time to open a new thread for this, just make the OP and I will transfer the posts.
« Last Edit: March 01, 2013, 04:57:57 PM by Gothars »
Logged
The game was completed 8 years ago and we get a free expansion every year.

Arranging holidays in an embrace with the Starsector is priceless.

Wyvern

  • Admiral
  • *****
  • Posts: 3786
    • View Profile
Re: What is Zero Flux, Really?
« Reply #4 on: March 01, 2013, 04:47:32 PM »

Remember a bit ago, when someone came to the boards asking "Hey, why is there a stat for "flux generated by shields" when they don't generate flux?"  It's not visible at all.  You've got a nice little display number down by your flux bar showing the current flux total; right now, it happily sits at zero while shields are on.  Even a single point of displayed soft flux, or a single pixel on the meter, would be enough to tie the notion of "zero flux speed boost" down to "only happens when I'm actually at zero flux".
Logged
Wyvern is 100% correct about the math.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23987
    • View Profile
Re: What is Zero Flux, Really?
« Reply #5 on: March 01, 2013, 05:00:41 PM »

Right, absolutely agree re: flux generation display issue; really good idea. Changed it so that the bar shows a minimal amount and the "0" for flux instead randomly fluctuates between 0 and 9 when the flux level is 0 but there's still some generation that's being dissipated away.

About changing the mechanic so that keeping up shields didn't cancel out the boost: there's actually a "feel" consideration here, too. I like that shields are not something that's up by default. Both visually and conceptually, I think that fits in better with the atmosphere of the game. Shields coming on and every ship being inside/behind a protective bubble (because, hey, there's now NO reason to keep the shield down when your flux is 0, so even for omni shields it makes more sense to keep it up and pointed in the general direction of the enemy, to save on raising time) just doesn't feel right.

Clearly, that's all subjective - but it's also something I feel strongly about. Some of it may have to do with the visuals for shields, too.


As for asteroid damage, there's actually a larger issue here with the way that's calculated. Damage is based on the mass of  both colliding objects, so heavy ships suffer way more than they should, though it's usually more than offset by their armor. It's something I'll take a look at soon.
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 3786
    • View Profile
Re: What is Zero Flux, Really?
« Reply #6 on: March 01, 2013, 05:14:29 PM »

Right, absolutely agree re: flux generation display issue; really good idea. Changed it so that the bar shows a minimal amount and the "0" for flux instead randomly fluctuates between 0 and 9 when the flux level is 0 but there's still some generation that's being dissipated away.

Awesome, thanks!

About changing the mechanic so that keeping up shields didn't cancel out the boost: there's actually a "feel" consideration here, too. I like that shields are not something that's up by default. Both visually and conceptually, I think that fits in better with the atmosphere of the game. Shields coming on and every ship being inside/behind a protective bubble (because, hey, there's now NO reason to keep the shield down when your flux is 0, so even for omni shields it makes more sense to keep it up and pointed in the general direction of the enemy, to save on raising time) just doesn't feel right.

Clearly, that's all subjective - but it's also something I feel strongly about. Some of it may have to do with the visuals for shields, too.
I can actually see that - that's a good reason to keep it as it is.  And, certainly, the front shield AI is much better than it used to be... (Though it does, now, sometimes have issues with keeping it online too long instead - I'll have to see if I can find a simulator matchup to demonstrate that.  Still, that's way better than leaving shields off when they should be on.)

As for asteroid damage, there's actually a larger issue here with the way that's calculated. Damage is based on the mass of  both colliding objects, so heavy ships suffer way more than they should, though it's usually more than offset by their armor. It's something I'll take a look at soon.

Oh hey!  That explains why some mods cause ships to take ridiculous amounts of damage from asteroids!  Hm... Well, I guess I'll let you solve that one, then; I can think of at least three different damage calculation methods that seem intuitive, for varying definitions of "intuitive", so I imagine that will require some mucking about with formulae followed by playtesting.

And that covers two of the three AI flaws I noted, leaving just small zippy ships getting penalized for over-aggressive shield use.  Can't think of a really good way to deal with that aside from AI improvements - if they could tell that dodging would succeed (easy vs. asteroids), then they could just not mark it as a threat to the shielding algorithms?  ...Would kinda be a special case just for asteroids, and maybe non-tracking missiles?  Hm.  Possibly worth thinking about - shielding vs. stuff that it is easily dodging is one of those clearly non-human behaviors that ticks off my mental "Hey, that's an AI" flags.
Logged
Wyvern is 100% correct about the math.