Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Balance] Afterburners as Engine Multipliers #9987

Open
Azure3141 opened this issue Apr 12, 2024 · 7 comments
Open

[Balance] Afterburners as Engine Multipliers #9987

Azure3141 opened this issue Apr 12, 2024 · 7 comments
Labels
content A suggestion for new content that doesn't require code changes

Comments

@Azure3141
Copy link
Contributor

Azure3141 commented Apr 12, 2024

Problem Description

Afterburners are sort of weird. They need to fit into a ship's engine space, which is already one of the most bottlenecked areas in a ship, and therefore need to have far higher thrust/space ratios than conventional engines in order to be viable. But, because they are so space efficient, they have an additional fuel cost imposed on them to discourage relying on them. Before 0.9.15, afterburners were rarely used because their fuel costs just didn't justify the amount of thrust they produced, but with #6686 and #8080 together they have been significantly buffed in both of those aspects. This has led to the current situation, where afterburners are essentially a meta option that can let you save dozens of tons of engine space

Balancing afterburners basically comes down to how much you value fuel. A Coalition Refueling Module can produce 0.05 fuel/frame in effectively ~15 tons of outfit space, which is more than enough to run an Ionic Afterburner indefinitely with a surplus of fuel. It gets even worse when you consider that you aren't ever going to be thrusting 100% of the time, and nothing else (besides jumping) will usually be draining your fuel compared to a resource like energy, which is consumed by almost every outfit. This balancing act that revolves around fuel is really hard to get right, and severely constrains what we can actually do in the future with fuel because of the impact on afterburners, simply because they're direct substitutes for normal engines.

And, because afterburners have to fit into a ship's engine space, already one of the most bottlenecked capacities for most ships, installing one alongside your regular thrusters can often mean being forced to downgrade the size of your normal engines. Using afterburners in the 'intended' way, alongside normal thrusters, ends up just giving you the worst of both worlds, compared to simply fitting the largest regular engines (as you'd normally do) or going for an afterburner only build. This is what forces afterburners to have such high thrust densities, because otherwise it would never be worth installing one, but this same upward pressure on thrust density also makes them even better relative to normal engines.

The end result is essentially two conditions that afterburners under the current model have to meet in order to be balanced:

  • Afterburners have to have sufficient thrust/ton to noticeably improve the TWR of a ship when they comprise maybe 10% of its engine space
  • Afterburners have to be costly enough that they can't be used to simply replace a ship's thrusters entirely

We end up with a picture that looks something like this:
bde8819d6e9e9cc2a17570229205493a

It isn't hard to see why afterburner-only builds are almost mandatory. And, even ignoring balance, it seems to me that it's boring and uninteresting for afterburners to be completely interchangeable with engines. If we want engines that consume fuel, and are balanced around that, that's fine, we could probably tweak afterburner numbers to get something like that. But that misses the fact that the point of afterburners is to provide short term bursts of thrust, not to just be another variety of engine. I know there is the idea that some afterburners, such as the Asteroid-class Afterburner, are designed to be used standalone, but I think we might as well just classify this as a fuel-consuming engine rather than model the gameplay concept of an afterburner around its balance.

Related Issue Links

Balance issues with afterburners:
#7574
#8042

Afterburners being too similar to engines:
#6898

Desired Solution

For legal reasons this is not a realism argument, but an afterburner in real life (either post-turbine fuel injection on a jet engine or reaction mass injection on a torch) isn't its own standalone engine. It relies on injecting additional fuel or propellant into an existing engine to get more thrust out of it, decreasing the overall fuel efficiency in the process. I think drawing on this model and tweaking it to be suitable for gameplay makes for a good start - essentially, have afterburners apply multipliers to the engines installed on a ship.

If afterburners applied a multiplier to a ship's existing thrust rather than providing a base value, you would still have to rely on installing powerful primary thrusters in order to create a fast ship. Using an afterburner would then properly be a bonus to a ship's 'normal' speed, rather than just being another set of engines. This isn't necessarily exclusive with afterburners providing baseline thrust; it might work out that we'd want a combination of both, but the normal afterburner thrust provided shouldn't dominate the equation or have a higher thrust density than a regular engine.

In addition to this, afterburners should use both afterburner fuel and an afterburner fuel multiplier. This would discourage stacking multiple sets of afterburners, which otherwise might be a problem when using a thrust multiplier. By adding both afterburner fuel linearly and an additive afterburner fuel multiplier, stacking would become increasingly punishing, such that you'd be better off adding a larger afterburner instead of using multiplier smaller ones to stack their multipliers.

This would involve adding a few new attributes
afterburner engine thrust multiplier (multiplies thrust, not afterburner thrust)
afterburner thrust energy multiplier (multiplies thrusting energy)
afterburner thrust heat multiplier (multiplies thrusting heat)
afterburner fuel multiplier (multiplies afterburner fuel, not thrusting fuel)

and etc, for the various energy/resource types, damage types, and so on (nomenclature probably could use some work to be consistent and less verbose).

I would be in favor of using this system on new afterburners, but I suppose we could just use this on new afterburners if we really wanted to. It wouldn't help the balance ecosystem at all but at least there'd be room for more afterburner variety?

I can also imagine the existing afterburners using this system in a way to promote more varied engine use. For example, the archetype of the Ionic Afterburner is that it's very fuel efficient, but supposedly energy hungry (in actual thrust/energy terms it isn't much worse than Remnant engines but whatever). If we gave it an appropriate afterburner engine thrust multiplier and a large afterburner thrusting energy multiplier, it would become much better to use on energy efficient engines, such as the human ion set or the Pug thrusters, which don't currently see much use. Likewise, the heat-efficient Wanderer engines might synergize well with Korath afterburners if they severely multiplied heat.

Lastly, I think we should take a look at whether afterburners should use engine space, or simply just outfit space. While it really does make sense for them to do so, engine space is so tight on most ships that having to downgrade your thrusters in order to use afterburners forces them to be unnecessarily powerful to make up for this, which again only benefits the extremes of no afterburners or all afterburners.

Alternative Approaches

Something like the afterburner slots in #9968 might also help to limit afterburner-only builds, but doesn't quite work as intended due to the fact that a 9 ton Small Thrust Module can support a Stellar-class Afterburner, making only a minor impact on thrust density.

Alternatively, as mentioned in a comment on that same PR,

But realism aside (gasp), I think there's a bit of flaw in the way afterburners are set up in that they directly produce thrust while also being essentially engine sized, albeit smaller. You can more or less boil them down to just more space efficient engines that also consume fuel, which makes balancing them revolve almost entirely around how much fuel is valued.

And the fact that they take up a significant amount of engine space in a system where engine space is already at a premium means that you might just be forced to downgrade your thrusters to fit an afterburner, so you're paying the double cost of both fuel and a reduced baseline thrust. While this last point isn't necessarily a problem (tradeoffs are good!) I think it was one of the factors that contributed to players not really using afterburners much, which led directly to the massive buff they got to both thrust and fuel consumption.

I wonder if we might be better off with, instead of slots-per-engine for afterburners, giving them some sort of afterburner capacity equal to the amount of engine space they take up, and having afterburners use that instead of engine space (would probably want to shrink them all as well). That might mitigate the engine space bottleneck all ships currently face, but I'm not sure it's the most elegant solution

I'm not the biggest fan of this because I think adding another capacity value for engines is a bit messy and inelegant, but it is an option. It might be difficult to balance, assuming afterburner capacity provided by an engine equals its engine space, due to afterburners just being inherently smaller than normal thrusters, but it probably isn't impossible.

Attributes to enable 'burst' type afterburners, with time limits and cooldowns and such, could help ameliorate the current balance issues, but wouldn't be a complete solution unless we planned to give them to every single afterburner in the game. Seeing as there have been requests for burst type afterburner mechanics for special or faction specific afterburners, I think it's better off to keep that kind of mechanic as a special feature rather than force every afterburner to use it.

Additional Context

It would be more realistic.

@bene-dictator bene-dictator added the content A suggestion for new content that doesn't require code changes label Apr 12, 2024
@Zitchas
Copy link
Member

Zitchas commented Apr 12, 2024

I like this. I must admit, I don't see this as an alternative to #9968 in "solving" the problem, but rather as a complementary detail to expand and diversify afterburners and potentially create more space for propulsion related outfits. Likewise, as something that provides more interesting options.

I must admit, having recently been through the data files and seen every single ship that has more than one thruster installed in it by stock; there's an awful lot of ships that have a fairly big thruster, and then have a tiny thruster alongside it. I haven't looked at the performance of those ships to test it, but for instance the Auxillary has the 4700 and the 1700 ionic thrusters. A large and a small . That small provides a 16% thrust buff. Which isn't huge, but it's not nothing, either, at the cost of 16 space. I suspect that, given the opportunity (and especially motive) we could have quite a variety of interesting things that use that 16 space to provide valuable options. For some, having something that didn't touch thrust at all but significantly reduced energy cost or heat production could be just as valuable.

One thing that comes to mind here; if we are adding multipliers directly to thrust. I know we already have turn and acceleration modifiers, but I don't see a thrust multiplier. In furtherance of the increased diversity of thrust related outfits that I would like to see, it would be nice to see a multiplier capacity that applies directly to thrust, as well as one for maximum speed. Having something that provided a thrust multiplier just a fraction (say, 5-20%, for sake of argument) of what theoretical afterburners of this style produce, but as a constant effect, might be appealing to some players, particularly if much more energy efficient.

Regarding max speed, yes, we could always just lower drag, and that does have use cases, but that is dangerous and hard to balance, since something that lowers drag by .1 might be huge for a fighter, and do zero for a freighter; but something intended for a heavy ship by drop it by, say, 2. Which would just break the game for anything that has a drag already below 2, of which is there are some. So overall touching drag is a bad idea unless it can be very, very carefully controlled. (doable, but challenging) For most cases, probably better to have a "maximum speed multiplier" attribute. Likewise, while we can just buff thrust to change max speed, this doesn't work if we want to change the max speed without changing the acceleration.

@danaris
Copy link
Contributor

danaris commented Apr 12, 2024

Perhaps rather than requiring something relatively esoteric like afterburner fuel multiplier, the thrust multiplier should simply take the max value of all installed outfits rather than be additive.

@Azure3141
Copy link
Contributor Author

That might be nice, but it wouldn't be consistent with the way all other multipliers work in the game. And I don't think we should block stacking entirely, it just shouldn't be efficient.

@xX-Dillinger-Xx
Copy link

xX-Dillinger-Xx commented Apr 12, 2024

I think ABs should use outfit space and a small amount of engine space. Most ships have a slight surplus of engine space already. I'm assuming the multipliers would be related to the ABs size.
Would these multipliers also work on reverse thrusters? I could see some people place more value on stopping and/or reversing quickly. I don't see any need for them to work for steering.
I also think it should be 1 AB per thruster. No stacking. Following your current explanation (which is accurate BTW) of ABs you shouldn't be able to add another afterburner to a thruster that already has an AB. You just make a couple of different size for each AB. If people wanted more AB thrust they could just buy the larger version, if it fits. Same result as stacking.

@Hurleveur
Copy link
Member

I planned an afterburner in the form of an engine multiplier for the uhai, but it's part of the engine itself.
I dont like the idea of all ABs being that way though

@alexpyattaev
Copy link

How about a crazy idea wherein all engines consume a tiny bit of fuel. Like, really really tiny. Some consume more, some consume WAAAAY more. Player makes a mix that suits their ship best. Bottom line is, real rocket engines do consume reaction mass to work. This way ABs can be "rebranded" as really small, thrust-dense inefficient engines that you stick to your ship to get it going faster in a pickle. This would also open up the avenue for builds with highly efficient thrusters with inefficient (but thrust-dense) steering for ships that need to be agile. This would also allow for some races to have conceptually different engines. For example, Remnant engines could be stylized around abundant fuel, as to provide epic thrust density at the cost of fuel usage. In contrast, coalition engines could be the exact opposite, as they are not expected to have to stray from the trading routes. Wanderer engines could be somewhat fuel-hungry as well, since they have god tier ramscoops to compensate. KaHet engines would thus consume no fuel, in accordance with their lore description.

@Quantumshark
Copy link
Collaborator

Quantumshark commented May 29, 2024

Regarding max speed, yes, we could always just lower drag, and that does have use cases, but that is dangerous and hard to balance, since something that lowers drag by .1 might be huge for a fighter, and do zero for a freighter; but something intended for a heavy ship by drop it by, say, 2. Which would just break the game for anything that has a drag already below 2, of which is there are some. So overall touching drag is a bad idea unless it can be very, very carefully controlled. (doable, but challenging) For most cases, probably better to have a "maximum speed multiplier" attribute. Likewise, while we can just buff thrust to change max speed, this doesn't work if we want to change the max speed without changing the acceleration.

Max speed can be scaled multiplicatively using drag reduction, though there's an additional calculation step involved in working out the outcome that makes drag reduction slightly more awkward to use than maximum speed multiplier would be. If it was really strongly desired, we could in theory deprecate drag reduction in favour of maximum speed multiplier, but in any case the functionality already exists and it seems redundant to have both.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content A suggestion for new content that doesn't require code changes
Projects
None yet
Development

No branches or pull requests

8 participants