Page 1 of 1

Power Is Too Cheap

Posted: Mon Jan 13, 2020 7:40 pm
by mindstormy
Power Is Too Cheap

Idea
I think power is too cheap on the station. By that I mean a default round start SM setup generally powers everything without any problems. The idea is as machines are upgraded, they drain more power. This would give engineers reasons to wire solars, get turbine producing power, and creating more robust sm setups.

This is something I plan on coding up myself and wanted to get feedback from the community before I dive in further.

Why this is good for the game

- Gives engineers a reason to generate more power
- Possibly slows power creep and thus extends round times
- new antag options
- get to hear folks scream "I NEED MORE POWER!!!"

Constraints
- default sm setup (wiki setup) should work fine until 80% of (critical) machines are upgraded to t2 parts
- Thanks to TheFinalPotato for letting me know it's around 300-400
- It will work on a tier based system.

Tiers
- default sm = 0 | 80% (critical) machines at t2
- default sm + 2 solar = 1 | 80% (critical) && (trivial) machines at t2
- default sm + 4 solars = 2 | 80% (critical) machines at t3
- default sm + 4 solars + default turbine (wiki) = 4
- byond the pale, all of the above plus or minus some crazy sm setup = 5 | 80% (critical) && (trivial) machines at t4

These tiers represent a suggestion and obviously custom sm setups can quickly satisfy higher tiers.
If you know what you are doing.

Math

TODO: research the actual numbers to define the tiers above correctly

- need power output of a wiki defined default SM setup
- figure out which parts I want to apply `power_coefficent` too. Currently thinking lasers, scanners and manipulators will do the trick and makes sense in universe. i.e. better lasers need more power

Machine Splits

The only reason I chose to split machines into two groups like this is to have way to calculate the coefficents correctly i.e. how many parts are in each machine to reach each tier level. Only round start machines will be listed. Most power generation items will be excluded too. This list is speculative for now and will change as the math is researched.

Critical Machines

- Each department should have at least one thing on this list except kitchen/sec

Totals

MM - 12, MB - 8, ML - 5, SM - 5, C - 2

- Ore Redemption Machine
- 1mm,1mb,1ml
- Plant DNA Manipulator
- 1ml,1sm,1mm
- Chem Dispenser
- 2mb,1c,1mm
- Protolathe
- 2mm,2mb
- Circuit Imprinter
- 1mb,1mm
- Cloning Pod (only here until it is removed or something)
- 2mm,2sm
- Limb Grower
- 1mm
- Destructive Analyzer (may move down)
- 1mm,1sm,1ml
- DNA Scanner
- 1mb,1mm,1sm,1ml
- Microwave
- 1ml,1mb
- Lifeform Stasis Unit
- 1c,1mm
- Surgery (I can't remember if these get upgraded?)

Trivial Machines

- Recycler
- 1mm,1mb
- Biogenerator
- 1mb,1mm
- Chemical Heater
- 1ml
- Cryogenics Tube
- 1mb
- Cyborg Recharing Station (may move up)
- 2c,1mm
- Exosuit Fabricator
- 1mm,2mb,1ml
- Freezer/Heater
- 2mb,2ml
- Gas Turbine generator
- 6c
- Gas Turbine Compressor
- 6mm
- Hydroponics Tray
- 2mb,1mm
- Mech Bay Power Port
- 5c
- Gibber
- 1mb
- Food Processor
- 1mb
- Smart Fridge
- 1mb
- Protolathe
- 2mm,2mb
- RnD Server
- 1sm
- Nanite Chamber
- 2sm,2ml,1mm
- Public Nanite Chamber (round start exception)
- 2ml,1mm
- Nanite Program Hub
- 1mb,1mm
- Nanite Programmer
- 2mm,2ml,1sm

Part Power coefficient

- Basically to achieve the idea. I'm going to need to modify `active_power_usage` in a lot of places.
- To do this each part will have a power coefficient prop (is that the right word in DM?) added to it

### Example `power_coefficient`

Code: Select all

// code/modules/research/stock_parts.dm

/obj/item/stock_parts/capacitor
	name = "capacitor"
	desc = "A basic capacitor used in the construction of a variety of devices."
	icon_state = "capacitor"
	custom_materials = list(/datum/material/iron=50, /datum/material/glass=50)
    power_coefficient = 1 // NEW THING HERE


### Example power modifications on machines

Code: Select all

// various machine files like code/game/machinery/autolathe.dm

/obj/machinery/autolathe/RefreshParts() // the function were looking for
    for(var/obj/item/stock_parts/the_stockpart in component_parts) // for each part in it's parts
        active_power_usage += (the_stockpart.power_coefficient * the_stockpart.rating) // increase power usage of machine

Thanks cobby for the code snippets

### Notes

I would love to hear everyone's feedback before I dive into coding this up. I know I still need to workout the math on this idea too. I don't want to create a situation where everyone is running out of power constantly BUT I do want to create a tiny push for engineers to seek new and exciting methods of generating new power. I imagine the `power_coefficient` will be very very small to start with, but further testing and math are required before I can lock that down for sure. Also sorry for formatting, I wrote this up in markdown initially before realizing the forums hated that.

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 2:20 am
by Super Aggro Crag
3/5 rounds no one sets up the damn engine for the first 40 minutes of the rounds and if you're lucky a borg will wire the solars so you can atleast keep the airlocks working

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 2:34 am
by cacogen
didn't read but provided we're redoing everything we ever loved about the game you're on the right track

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 5:45 am
by cybersaber101
Your intention is good but the need for efficient power kills the fun for engineers/atmos. if you have to start power quick and optimal before getting lynched it's just plain a chore.

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 1:33 pm
by Ghilker
Yes, i love this.
Is not too hard at roundstart to make a basic setup and wire the solars so that the machines can work for at least half an hour and then upgrade the SM setup so that it can make more power.

Sure there are problems.
If you are in low pop and there are no engineers or atmos techs you could be screwed
If there are engies but noone does their job you could be screwed
If you are in the RP server it would make it harder to setup the engine in case there is a shortage of staff since you can't tide your way in

Buuut i think this is a well done idea that would definetly improve the engies game!

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 1:45 pm
by Tlaltecuhtli
can we have power consumation from upgraded machine skyrocket? so its not an insta power goes out and engis can deal it over time

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 2:23 pm
by deedubya
Tlaltecuhtli wrote:can we have power consumation from upgraded machine skyrocket? so its not an insta power goes out and engis can deal it over time
That's why APCs exist as a buffer between the machines and the SMES, which itself is a buffer between the engine and the APCs.

Re: Power Is Too Cheap

Posted: Tue Jan 14, 2020 2:34 pm
by Tlaltecuhtli
deedubya wrote:
That's why APCs exist as a buffer between the machines and the SMES, which itself is a buffer between the engine and the APCs.[/quote]

im talking about roundstart machinery still being 200 kw and it goes up as the more important machines get upgraded instead of having every machine require more power and engis just make X Y Z modifications to the roundstart engine and have free power as nothing was different

Re: Power Is Too Cheap

Posted: Thu Jan 16, 2020 12:43 am
by Anonmare
One way to get around the power hungry machines eating all the power at roundstart would probably be via substation SMES.

Could update the APC control console to be able to control SMES too so power could be managed remotely, and give legitimate usage of that console so traitor engies have a pretext for using it to turn off power to places.

Re: Power Is Too Cheap

Posted: Thu Jan 16, 2020 6:21 am
by Domitius
To not hamper round progress for when the population is <30~ another option would be for large amounts of power to have some sort of use. Would be cool to see maybe an energy-matter fabrication process or being able to sell off excess power to CentCom.

Just my two cents on another way to approach it.

Re: Power Is Too Cheap

Posted: Thu Jan 16, 2020 9:51 am
by Vekter
I've been throwing this idea around and like nobody has responded to me on it - make upgraded machines require a shitload of power.

Re: Power Is Too Cheap

Posted: Thu Jan 16, 2020 11:11 am
by peoplearestrange
I like the idea of sub stations for each wing or department. A smess that provides all the APC's for say, medical. OR a smes that provides power to Chapel/Libary/Medical corner.

These Smes could be remotely turrned on and off to allow critical areas to remain powered. I.e. keeping medbay and engineering whilst shutting off other areas to reserve power.

Maybe it doesn't even have to be SMES's but a "SUPER BREAKER" a switch that deals with a large amount of power that can be switched on/off

Re: Power Is Too Cheap

Posted: Thu Jan 16, 2020 12:04 pm
by zxaber
Selling power to Centcomm has been ruled by Oranges as not viable right now, as balancing cargo's purchase ability is currently based around time gates. Allowing the crew to sell power would allow them to get some of the more dangerous crates earlier than intended, and such.

Making upgraded machines use more power than with base components was (IIRC) greenlit when it was brought up in the code channel on the Discord like months ago, but it's in a sort of "WYCI" situation.

I think it would be neat to remove most of the battery storage across the station, at least for shift-start. Keep the APCs, but don't spawn them with a cell. That way too much power draw of a machine could cause brownouts in the room (if the APC can't draw enough power for everything in said room) and possibly elsewhere too (if there's not enough power available on the network). Tie this in with substations (which transfer power from the main grid to a subgrid at a set rate and changeable via engi ID or possibly a remote console) so that no one department will brown-out the whole grid with overuse, and allow APCs to be upgraded to allow more power draw from the grid. Keep the SMES units in engineering to smooth out the engine's output. We could even copy Barotrauma's system where the substations take damage if the grid's available power gets too high, eventually leading to isolated blackouts as substations fail. This wouldn't alone fix power being too cheap (unless we massively ramp up the power costs for upgraded machines), but it would make power management of the station more of a thing.

Re: Power Is Too Cheap

Posted: Fri Jan 17, 2020 4:53 am
by SpaceManiac
Advice to anyone thinking about redesigning power: don't forget about power cells and cell chargers. The cells need to charge quick enough to be useful without instantly draining the APC, whose cells are usually smaller than T2. Currently this is achieved in a very hacky way.

Re: Power Is Too Cheap

Posted: Sat Jan 18, 2020 9:33 pm
by Critawakets
You should be able to make machines be a tier better but take like, 5x power. That way engineering making lots of power has use but it doesnt completely break science if engi doesnt do perfect.

also tier 5 could be great