GTNewHorizons / GT-New-Horizons-Modpack

New Modpack with Gregtech, Thaumcraft and Witchery
https://www.gtnewhorizons.com/
Other
936 stars 294 forks source link

Rebalance Electric Air Filters. #14202

Open AbdielKavash opened 1 year ago

AbdielKavash commented 1 year ago

Your GTNH Discord Username

abdiel_kavash

Your Pack Version

2.3.6

Your Proposal

=== The issue ===

I will refer to values according to the Pollution wiki page: [https://gtnh.miraheze.org/wiki/Pollution#Electric_Air_Filters]() Disclaimer: I am the primary author of this page, and to my knowledge these values are accurate as of 2.3.6.

The amount of pollution removed per second by an Electric Air Filter (EAF from now on) depends on several factors:

In the following I will always assume 8 muffler hatches of the highest tier allowed by the energy hatch, a 100% efficient turbine, and no maintenance issues for simplicity.

The power draw of the EAF is always constant (30 EU/t for T1, 480 EU/t for T2, and 7,680 EU/t for T3). In other words, the EAF does not overclock at all, a T1 EAF with an HV energy hatch will still only draw 30 EU/t and work at the same speed per cycle (10s) as with an LV energy hatch. However, higher tier energy hatches allow one to use higher tier mufflers, which in turn clean more pollution with every cycle.

This T1 EAF with an HV energy hatch and 8 HV mufflers will then clean:

30 [base] * 1 [tier bonus] * 1 [rotor efficiency] * ( 8 [number of mufflers] * 2.5 ^ 3 [tier of mufflers] ) * 1 [maintenance] = 3,750

gibbl of pollution per second from a 3x3 chunk area around it.

A player in HV would naturally want to upgrade to a T2 EAF, which offers a larger working area and a bigger bonus for its tier... which is 1.05. So the new calculation with the same setup (HV energy and mufflers) would be:

30 [base] * 1.05 [tier bonus] * 1 [rotor efficiency] * ( 8 [number of mufflers] * 2.5 ^ 3 [tier of mufflers] ) * 1 [maintenance] = 3,937.5

gibbl per second.

This is a very negligible difference for the upfront titanium cost. Moreover, the T2 EAF now consumes 480 EU/t, 16 times more than the T1 filter above. Sure, the T2 EAF now works in a 5x5 chunk area --- but you could also cover the same area with four T1 filters, and be able to clear a combined total of 15,000 gibbl per second for a total cost of 120 EU/t, four times the amount for one quarter of the running cost of the T2 filter.

The T3 EAF is comparatively even worse, it offers only a 1.1 times increase in pollution cleared per second, for the cost of 256 times more power used over the T1 filter.

And just to be clear: the values above are the total pollution cleared over the entire work area, not per chunk. The EAF removes pollution from only one chunk from its working area in every work cycle (10 seconds), regardless of the area's size. So a larger working area does not mean that the same amount of removal affects more chunks at the same time, it just means that the same amount of removal is spread over a wider area.

Yes, there are some incidental benefits to upgrading to a higher tier filter when the resource and power costs become insignificant, such as easier centralization and fewer absorption filters consumed (though the absorption filters can be perfectly recycled starting from EV, so this again only comes down to centralization). But I still think that just placing one T1 filter in every 3x3 chunk square, and equipping it with the highest tier energy and muffler hatches one can afford (at the constant running cost of 30 EU/t no matter the tier) is significantly better than ever investing into the higher tier versions.

=== The proposal ===

There are several ways in which this behavior could be improved in order to incentivize using higher tier EAFs:

Your Goal

Players of the pack should be incentivized to progress and build more advanced machines. A high-tier machine should perform better than several low-tier ones, even if it comes at a higher power cost (as in regular overclocking). With the EAFs, building a higher tier machine brings in only a very negligible increase in performance at a huge price in materials and running cost.

The (lack of) overclocking behavior on EAFs is unintuitive to the player, and it is not immediately obvious that a T3 EAF with an IV energy hatch consumes enormously more power than a T1 EAF with the same, while performing only 10% better work.

Your Vision

I am not going to beat the pollution dead horse again. This is not a proposal to remove or completely redesign the entire system. I would merely like to smooth out some of the sharper edges and make the already existing options of dealing with pollution more understandable and accessible. This could in turn lead to more players deciding to interact with the mechanic and not simply editing the pack to disable it.

Final Checklist

chochem commented 1 year ago

yea I agree. The 5% or 10% bonus is basically a joke compared to the rest of the modifiers. Its very much out of place. Could maybe be 1x/2x/4x.

Hikari1nVoid commented 1 year ago

Consider the working area the the coeffcient could be power of 2 based on working areas*0.12.

github-actions[bot] commented 9 months ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 3 days

github-actions[bot] commented 6 months ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 3 days

Dream-Master commented 6 months ago

Your GTNH Discord Username

abdiel_kavash

Your Pack Version

2.3.6

Your Proposal

=== The issue ===

I will refer to values according to the Pollution wiki page: https://gtnh.miraheze.org/wiki/Pollution#Electric_Air_Filters Disclaimer: I am the primary author of this page, and to my knowledge these values are accurate as of 2.3.6.

The amount of pollution removed per second by an Electric Air Filter (EAF from now on) depends on several factors:

  • The tier of the filter (1 - 3),
  • Efficiency stat of the turbine rotor in the controller,
  • The number and tier of muffler hatches used in the multiblock...
  • ...which are gated by the tier of the energy hatch powering the multiblock,
  • Maintenance issues of the multiblock.

In the following I will always assume 8 muffler hatches of the highest tier allowed by the energy hatch, a 100% efficient turbine, and no maintenance issues for simplicity.

The power draw of the EAF is always constant (30 EU/t for T1, 480 EU/t for T2, and 7,680 EU/t for T3). In other words, the EAF does not overclock at all, a T1 EAF with an HV energy hatch will still only draw 30 EU/t and work at the same speed per cycle (10s) as with an LV energy hatch. However, higher tier energy hatches allow one to use higher tier mufflers, which in turn clean more pollution with every cycle.

This T1 EAF with an HV energy hatch and 8 HV mufflers will then clean:

30 [base]

  • 1 [tier bonus]
  • 1 [rotor efficiency]
  • ( 8 [number of mufflers] * 2.5 ^ 3 [tier of mufflers] )
  • 1 [maintenance] = 3,750

gibbl of pollution per second from a 3x3 chunk area around it.

A player in HV would naturally want to upgrade to a T2 EAF, which offers a larger working area and a bigger bonus for its tier... which is 1.05. So the new calculation with the same setup (HV energy and mufflers) would be:

30 [base]

  • 1.05 [tier bonus]
  • 1 [rotor efficiency]
  • ( 8 [number of mufflers] * 2.5 ^ 3 [tier of mufflers] )
  • 1 [maintenance] = 3,937.5

gibbl per second.

This is a very negligible difference for the upfront titanium cost. Moreover, the T2 EAF now consumes 480 EU/t, 16 times more than the T1 filter above. Sure, the T2 EAF now works in a 5x5 chunk area --- but you could also cover the same area with four T1 filters, and be able to clear a combined total of 15,000 gibbl per second for a total cost of 120 EU/t, four times the amount for one quarter of the running cost of the T2 filter.

The T3 EAF is comparatively even worse, it offers only a 1.1 times increase in pollution cleared per second, for the cost of 256 times more power used over the T1 filter.

And just to be clear: the values above are the total pollution cleared over the entire work area, not per chunk. The EAF removes pollution from only one chunk from its working area in every work cycle (10 seconds), regardless of the area's size. So a larger working area does not mean that the same amount of removal affects more chunks at the same time, it just means that the same amount of removal is spread over a wider area.

Yes, there are some incidental benefits to upgrading to a higher tier filter when the resource and power costs become insignificant, such as easier centralization and fewer absorption filters consumed (though the absorption filters can be perfectly recycled starting from EV, so this again only comes down to centralization). But I still think that just placing one T1 filter in every 3x3 chunk square, and equipping it with the highest tier energy and muffler hatches one can afford (at the constant running cost of 30 EU/t no matter the tier) is significantly better than ever investing into the higher tier versions.

=== The proposal ===

There are several ways in which this behavior could be improved in order to incentivize using higher tier EAFs:

  • Adjust the multiplier based on the tier of the filter. For example, it could scale proportionally to the working area: so a T2 filter would have an (25/9) multiplier, and a T3 filter an (49/9) multiplier. This would mean that the average pollution removed per second per chunk would stay constant between the tiers, but higher tier filters could remove much more total pollution as well as affect a larger area.
  • Change the removal mechanism and/or formula so that the value derived from the multiblock is amount of pollution removed per chunk, and therefore large working area of higher tier EAFs also increase the total amount of pollution removed. If the removal mechanism itself is changed (for example, removing pollution from all chunks in the working area at once, instead of one at a time), care should be taken that this does not impact performance too much. (n.b.: however the current removal algorithm is already potentially slower than it could be than simply iterating over 49 chunks and subtracting a fixed amount from each of them. So this rework could actually result in a negligible performance gain.)
  • Let the EAF actually overclock. This would also fix the strange constant power draw regardless of energy hatch tier, unlike almost any other machine in the game. However this would still need an adjustment of the tier bonus, because with just a direct 4/2 OC applied to the T1 EAF running on HV power it would now clean pollution ~3.8 times faster than a T2 filter consuming the same amount of EU/t.
  • Cap the allowed tier of energy/muffler hatches based on the tier of the EAF. This would mean that if the player wants faster pollution removal, they eventually have to upgrade to a more expensive multiblock. While this is the option that I personally like the least, it would be in line with other multiblocks in the game that require a more expensive construction the higher tier of power the player wants to run them at.

Your Goal

Players of the pack should be incentivized to progress and build more advanced machines. A high-tier machine should perform better than several low-tier ones, even if it comes at a higher power cost (as in regular overclocking). With the EAFs, building a higher tier machine brings in only a very negligible increase in performance at a huge price in materials and running cost.

The (lack of) overclocking behavior on EAFs is unintuitive to the player, and it is not immediately obvious that a T3 EAF with an IV energy hatch consumes enormously more power than a T1 EAF with the same, while performing only 10% better work.

Your Vision

I am not going to beat the pollution dead horse again. This is not a proposal to remove or completely redesign the entire system. I would merely like to smooth out some of the sharper edges and make the already existing options of dealing with pollution more understandable and accessible. This could in turn lead to more players deciding to interact with the mechanic and not simply editing the pack to disable it.

Final Checklist

  • [x] I have searched this issue tracker and there is nothing similar already. Posting on a closed issue saying I like this change please reconsider adding it will prompt us to investigate and reopen it once we confirm your report.
  • [x] I understand this change request may not attract enough attention and thus not be implemented.
  • [x] I understand this change request may be rejected due to other community members think it's inappropriate.
  • [x] I believe this feature would make the pack better.

feel free to make a pr

AbdielKavash commented 6 months ago

feel free to make a pr

Will work on it.

github-actions[bot] commented 3 months ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 3 days

Dream-Master commented 3 months ago

@AbdielKavash hope you remeber the issue? The Filter need some rework to clean up your base much better and quicker.

dgealow commented 3 months ago
  • Adjust the multiplier based on the tier of the filter. For example, it could scale proportionally to the working area: so a T2 filter would have an (25/9) multiplier, and a T3 filter an (49/9) multiplier. This would mean that the average pollution removed per second per chunk would stay constant between the tiers, but higher tier filters could remove much more total pollution as well as affect a larger area.
    • Change the removal mechanism and/or formula so that the value derived from the multiblock is amount of pollution removed per chunk, and therefore large working area of higher tier EAFs also increase the total amount of pollution removed. If the removal mechanism itself is changed (for example, removing pollution from all chunks in the working area at once, instead of one at a time), care should be taken that this does not impact performance too much. (n.b.: however the current removal algorithm is already potentially slower than it could be than simply iterating over 49 chunks and subtracting a fixed amount from each of them. So this rework could actually result in a negligible performance gain.)
    • Let the EAF actually overclock. This would also fix the strange constant power draw regardless of energy hatch tier, unlike almost any other machine in the game. However this would still need an adjustment of the tier bonus, because with just a direct 4/2 OC applied to the T1 EAF running on HV power it would now clean pollution ~3.8 times faster than a T2 filter consuming the same amount of EU/t.
    • Cap the allowed tier of energy/muffler hatches based on the tier of the EAF. This would mean that if the player wants faster pollution removal, they eventually have to upgrade to a more expensive multiblock. While this is the option that I personally like the least, it would be in line with other multiblocks in the game that require a more expensive construction the higher tier of power the player wants to run them at.

As someone who just spent 3 hours yesterday reading the code and futzing around in a creative world to try to understand this thing, these sound like excellent suggestions to me. I'd volunteer to help with the PR...but I get the sense this might not be the best thing to jump headlong into for a first or second contribution.

AbdielKavash commented 3 months ago

I have a pretty decent idea of how I would like to change both singleblock and multiblock filters, to make both actually viable and allow for a rational choice of which to use when. I just don't have the time to work on it immediately due to IRL obligations. I might write up a more detailed proposal at some point soon before making big code changes. I know that this tends to be a sensitive topic; and I will be upfront that most of the changes I am considering are going to be direct or indirect nerfs. (In the sense of creating new gameplay decisions by way of nuking the one option that is currently miles above everything else.)

dgealow commented 3 months ago

Just keep in mind that...checks spreadsheet...over 7 stacks of ingots is a pretty stiff price to pay for this thing for a poor MV-level engineer, and I'd like it to be able to keep holding up to a single EBF at least 😅

and I don't think you'll be able to make the singleblock viable with just nerfs to other options, since powering it with 2 combustion generators literally produces a net increase in pollution lol.

github-actions[bot] commented 3 weeks ago

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 3 days