Pollution revamp visions

From GT New Horizons
Revision as of 21:31, 24 February 2021 by Dvdmandt (talk | contribs) (Created page and added my vision for pollution)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Please add a description of your vision for what you want pollution to be. These are not considered final, but rather something we can vote on to get a direction on where we want to be heading with this revamp.

DvDmanDT's vision - Make pollution control possible and beneficial, but not game breaking if neglected

Mission Statement

The goal is to use pollution to make more choices viable and interesting in progression. It's strictly a balancing mechanic that can be used to give a weak machine/generator with nothing going for it a little edge over its alternatives.

Key points

  • Pollution should not be destructive (as in cause damages to constructions or setups). No block changes, no mob damages, no biome alterations etc.
  • There should always be an alternative or counter to (heavy) pollution production
  • All numbers should be revised. Some things that are currently producing should perhaps not and vice versa.
  • It's not about realism, it's about having a mechanic that yields fun, interesting and varied gameplay
  • It's a gameplay rework, not an optimization pass. Some performance implications may be acceptable, but reasonable care must be taken to ensure to ensure no game breaking performance degradations.

Proposed mechanics

Pollution can be negative

  • Pollution pulls towards 0, that is neutral. At 0, there are no effects at all.
  • If pollution drops below 0, various light buffs start to happen. Note, I'm thinking between 5% to 25% increases, nothing completely game breaking.
    • Bees yielding more output?
    • Crops growing faster or yielding more output?
    • Fish traps increased yield efficient?
  • If pollution levels get high..
    • Visually indicate this somehow. Maybe the current smog effect but capped and significantly scaled back? Maybe do some light "graying" fullscreen effect to make the world feel a bit sad? But again, minor effects, nothing too crazy.
    • Could block update (not sure about the technical term, but the thing that turns dirt into grass) rates be slightly reduced in heavily polluted areas?

Smoke stacks / pollution processing

  • Machines produce pollution similar to currently (but with revised numbers!), but if you place a fluid container/pipe on the muffler, a pollution fluid can be captured. This fluid can be sent to a processing thing to reduce pollution and extract resources.
    • If the fluid is not captured, or if it's voided or similar, nothing happens, but if you process it, you can bring pollution level down again.
    • (optional) There can be different processing modules with different cleaning efficiency and outputs
    • What about single blocks generators etc? Just have them generate the fluid and void if not captured?
  • Temporary producers like rockets should perhaps produce less pollution (if at all), or produce "smog" which could be some short lived entities poisoning nearby players without protection etc.

Revise what produces pollution

  • At the moment, there's a lot of stuff producing pollution that has no business producing pollution, or at least nowhere near the levels of pollution they are producing. Nothing should produce ridiculous amounts of pollution just because it's powerful or late game, or because it makes sense from a "lore"/realism perspective. If it does, it should do so to discourage (not prevent!) it's use (ie, it's stupidly OP or there's a more interesting alternative). For machinery where large amounts of pollution make a lof of sense and is part of main progression, there should be counters, like the smoke stack setups.
  • It could make sense to also tie pollution levels to fuels rather than generator types. For solids, I don't think it matters too much but it could make some fluids more interesting.

Other ways to reduce pollution

These are loose ideas.

  • There's been a lot of talk about having plant life reduce pollution levels. I think that make sense, but it's tricky to do well without major performance implications.
    • Perhaps a plant/tree reaching it's final state would flat out subtract a bit of pollution? Care must be taken to not encourage tree planting spam just to bring down pollution though.
    • Trying to keep track of some rough estimation of leaf blocks or whatever in each chunk and subtract by that? Wouldn't have to be super accurate, maybe you could update each loaded chunk once per minute or less and only count connected "green" blocks that see the sky or something? Very tricky from a performance perspective..
  • Perhaps some "green" machinery would just artifically drag it down, like kinetics or solars. Doesn't make any sense from a reality perspective, but again, it's about gameplay rather than realism.

Make pollution spread more

  • Pollution should be less local than currently. At the moment, it's basically chunk-local until you reach absurd levels. It needs to do a better job at covering a "base".
    • (implementation detail) My proposal is to move the pollution data storage and processing out of the chunk and into a new much coarser grid structure, maybe 4x4 chunks or coarser. Ideally I'd even like a hex grid just to spread it in more of a circular shape, but the annoyance of working with hexagons might just not be worth it. The idea is to be able to work with this grid without loading as many chunks and to need less processing. Things like getPollutionInChunk() etc could be forwarded to lookup the value in the new structure instead of its own data.