space-station-14 icon indicating copy to clipboard operation
space-station-14 copied to clipboard

Machine Upgrading MegaIssue [Science Gameplay]

Open EmoGarbage404 opened this issue 2 years ago • 16 comments

Description

Basically what it says on the tin. Introduce machine upgrade effects as a form of science gameplay. This will give science something to do in other departments and hopefully create some actual gameplay and goals for science. For this to work, most machines need to be adjusted to be able to be upgraded using machine parts. The framework already exists, the upgrades just need to be coded.

Implementation

Currently, we have 5 different main component types:

  • Matter Bins (storage)
  • Lasers (heat, cutting)
  • Manipulators (material manipulation)
  • Scanning Modules (showing information)
  • Capacitors (power)

There are 4 tiers each, ranging from values 1 to 4. This should provide ample space to create varied effects.

To get the actual quality of parts, just subscribe to the RefreshPartsEvent, which will contain a dictionary (PartRatings) of all machine part types and their rating. The part rating is an average of the rating of every part of that type in the machine. From there, simply adjust your machines values based on whatever those ratings are for each part (see list above for rough guide).

Tasks

  • [x] Add ways to create upgraded machine parts (Ideally the tiers of parts would be spread out enough that getting lower tiers is required to unlock the higher ones) #11541

I'm going to split all of the machines up into easy/medium/hard difficulty in terms of adding these upgrade effects.

Easy

  • [X] Heater: Vera was based and already did both of these. Very Cool!
  • [X] Freezer: ^^
  • [x] Cloning Pod: Make it clone quicker, require less biomass per clone #11588
  • [x] Biomass Reclaimer: Decrease the amount of time it takes, increase biomass output. #11545
  • [x] SMES: increase the battery size. #11662
  • [x] Substation: increase the battery size. #11662
  • [ ] Reagent Grinder: make it grind things quicker (this one would be pretty pointless if implemented. /shrug)
  • [ ] Microwave: make it cook quicker (Make sure you don't fuck with the heating part so that you overcook recipes. or do, it would be funny)

Medium

  • [ ] PA: Currently this doesn't use any machine parts, but it very easily could. Could involve decreased energy consumption.
  • [ ] Lathes: Better matter bins could give resource discounts and better manipulators could decrease print times.
  • [ ] Portable Scrubber: Increase the volume it can hold, make it scrub faster, etc.
  • [x] Stasis Bed: probably just make it extra stasis-y #11773
  • [ ] Emitter: make it fire more often/consume less energy #11742
  • [ ] Gas Recycler: Currently doesn't use machine parts. Could be modified to either require less energy or have a higher output.

Hard

  • [ ] Diagnoser: Don't really have a clue what you'd do for this.
  • [ ] Medical Scanner: Not a clue
  • [ ] Chem Master: Maybe give it increased buffer capacity?
  • [ ] Chem Dispenser: ignore this one until it quietly dies on its own.
  • [ ] Hydroponics Tray: you could do a whole hell of a lot with these but most of the code for it is pretty awful.
  • [ ] Generators: increase power output. More interestingly, port fuel from OR and increase fuel efficiency.
  • [ ] Cameras: greater view range? would require modifications to existing cameras.

Keep in mind, once these upgrade tiers become commonplace, it will be feasible to nerf these machines in order to encourage upgrading them.

EmoGarbage404 avatar Sep 26 '22 01:09 EmoGarbage404

Upgraded capacitors in some machines could make them more energy efficient. Eventually I want to add an active vs idle power consumption, so for some devices (microwaves, cloners, etc) they will use more power when in active use. Using capacitors to dictate energy efficiency could mean you have a way to lessen grid demand fluctuation.

Just a thought though

theashtronaut avatar Sep 26 '22 02:09 theashtronaut

For all power stuff you can also increase ramping response.

gas recycler - higher efficiency / higher rate of change.

Diagnoser could be changed in general to either have a cool down or spit it a percentage chance of it being certain things, upgrade could narrow it down to 1 of 2 things with a certainty.

Medical scanner needs body rework really to show deeper levels of injury. At minimum you can go from just showing damage group then upgrade 2 could be actual values? Use lasers since scan.

Generators - does fuel from OR use the dead fuel branch from upstream? But yeah efficiency, less heat output to surroundings? (Should be a thing).

cameras - microphone, lasers to see through walls or like damage levels of walls, built in battery light (like emergency light but not obnoxious and light up like 2 tiles)

Peptide90 avatar Sep 26 '22 11:09 Peptide90

Honestly I think /tg/ did a good job with its upgrade system, with each component able to be upgraded individually. But when we do add this, I think it's a good idea to add the RPED to the sci tech tree so engineers can eventually have an easier time of upgrading stuff.

GoodWheatley avatar Sep 26 '22 13:09 GoodWheatley

Honestly I think /tg/ did a good job with its upgrade system, with each component able to be upgraded individually. But when we do add this, I think it's a good idea to add the RPED to the sci tech tree so engineers can eventually have an easier time of upgrading stuff.

is there an inherent benefit to making that process quicker? We already have individual component upgrades btw, but i don't see the benefit of making the process of upgrading quicker. It already is pretty fast; i don't think there's much of an issue by requiring scientists to get some tools together in order to upgrade machines.

EmoGarbage404 avatar Sep 27 '22 02:09 EmoGarbage404

Honestly I think /tg/ did a good job with its upgrade system, with each component able to be upgraded individually. But when we do add this, I think it's a good idea to add the RPED to the sci tech tree so engineers can eventually have an easier time of upgrading stuff.

is there an inherent benefit to making that process quicker? We already have individual component upgrades btw, but i don't see the benefit of making the process of upgrading quicker. It already is pretty fast; i don't think there's much of an issue by requiring scientists to get some tools together in order to upgrade machines.

While upgrading one individual machine might be pretty fast, the inherent problem is that there's a LOT of machines to upgrade around the station. The RPED helped cut down on the time spent actually upgrading so more upgrades could be performed, and the BRPED cut out the part where you have to ask for access to the machine altogether. Right now we don't have that many machines implemented, but it might be a good idea to future-proof this system.

GoodWheatley avatar Sep 27 '22 14:09 GoodWheatley

I just feel like youre simplifying out an interesting part of the gameplay? Having to manage your scientists and actively spend time in order to upgrade things around efficiently seems like a benefit. Standard RPED seems like an unnecessary simplification whereas the BRPED seems like a plain bad idea.

EmoGarbage404 avatar Sep 27 '22 14:09 EmoGarbage404

The RPED is kinda necessary. It isn't really interesting to rebuild nearly every machine on the station as the station gets more machines. If you'd like a trial of that experience, just go around a map and rebuild every machine. Making the RPED take time to do the upgrade instead of instant, like it takes 10 seconds to swap the stuff is fine. The clickfest and carpel tunnel of rebuilding isn't.

The BREPD was bad, since it meant you no longer interacted with anyone to do it. Definitely shouldn't be added imo.

theashtronaut avatar Sep 27 '22 19:09 theashtronaut

The RPED is kinda necessary. It isn't really interesting to rebuild nearly every machine on the station as the station gets more machines. If you'd like a trial of that experience, just go around a map and rebuild every machine. Making the RPED take time to do the upgrade instead of instant, like it takes 10 seconds to swap the stuff is fine. The clickfest and carpel tunnel of rebuilding isn't.

The BREPD was bad, since it meant you no longer interacted with anyone to do it. Definitely shouldn't be added imo.

Your solution doesnt sound bad. So long as it has a short range and a long doafter, that sounds good.

EmoGarbage404 avatar Sep 27 '22 19:09 EmoGarbage404

I think there should be an in-game way of seeing what upgrades are available for a machine. It could be like weapon/armor stats, where you shift click and then click an icon.

So for the biomass reclaimer it would show something like:

laser: xx% more speed manipulator: xx% more biomass yield

0x6273 avatar Sep 27 '22 20:09 0x6273

I think there should be an in-game way of seeing what upgrades are available for a machine. It could be like weapon/armor stats, where you shift click and then click an icon.

So for the biomass reclaimer it would show something like:

laser: xx% more speed manipulator: xx% more biomass yield

something like this would probably be as simple as just having special examine text. Definitely not hard but not 100% necessary either. It definitely begs the question of whether or not the numerical values of upgrades should be directly visible to players.

EmoGarbage404 avatar Sep 27 '22 21:09 EmoGarbage404

I think instead of seeing what upgrades are available, instead you can see when the machine has been upgraded and the effects.

So it doesn't show anything for base t1 stuff, but when you start adding in higher tiers is when it shows the effects. example for a lathe or something

Advanced Manipulator: +10% fabrication speed Supermatter Bin: +25% max material storage Extra-cool Lasers: -10% fabrication material cost

This would just mean the machines need to handle the special examine text which might be more work, but I think is more useful than knowing that you can upgrade stuff.

theashtronaut avatar Sep 27 '22 22:09 theashtronaut

Medical scanner should decrease the effect genetic damage has on cloning success rate. (I will write a body repairing machine one of these days too)

Elijahrane avatar Sep 29 '22 00:09 Elijahrane

So, what do you think is a reasonable time frame to achieve T4 components? iirc each of them had to be unlocked separately through bluespace technology, and they all had unique effects.

GoodWheatley avatar Sep 29 '22 13:09 GoodWheatley

definitely is up for discussion what a proper part tier system would look like. I know that classically there have been 4, but the current implementation can support any reasonable number. It's less of an issue of time frame and moreso just reasonably spacing them out to give each tier a purpose (since each tier invalidates prior ones if of equal availability)

EmoGarbage404 avatar Oct 07 '22 00:10 EmoGarbage404

So, what do you think is a reasonable time frame to achieve T4 components? iirc each of them had to be unlocked separately through bluespace technology, and they all had unique effects.

Imo if we call Tier 4 near enough top tier it should take roughly 1 hour to get to OR have a limit on how many tier 4 components / researches are achievable in a round - with some randomisation. That way you can't always max out every machine in a round, and you're forced down one path at the top end.

Regarding an interface to see what machines can be upgraded. We can easily add sprite layers to things that have been upgraded to make them visually distinct. As for examine text, personally I'd like a machine analyser or engineer HUD (former probably better) with a nice artistic schematic and lines off to parts that can be changed. Something polished your expect in a sci-fi sim game. Pretty sure SS13 had a Ui like this for the suit storage.

Peptide90 avatar Oct 08 '22 13:10 Peptide90

#11777 is generally related but doesn't apply to any of these specifically.

EmoGarbage404 avatar Oct 09 '22 00:10 EmoGarbage404

this is pretty much done. what machines that remain are unlikely to get upgrades or are slated for eventual removal. I'll continue enforcing the addition of more upgrades ~~with an iron fist~~ for the foreseeable future.

EmoGarbage404 avatar Dec 18 '22 01:12 EmoGarbage404