Deadlock989 / IndustrialRevolution

Industrial Revolution 3 is an overhaul mod for Factorio.
50 stars 0 forks source link

3.0.0 balance/content manifesto #97

Closed Deadlock989 closed 1 year ago

Deadlock989 commented 2 years ago

IR-logo

Early thoughts:

rlundy commented 2 years ago

Do you envision this as a new version number of IR2, or as a new-named mod (say, IR2.4 or IR3) that would be completely separate? I'm wondering how much rebuilding would be necessary if this were to update in place.

Deadlock989 commented 2 years ago

I think it will pretty much wreck any saved game that has progressed past the steel milestone, unfortunately.

I had been assuming it would go out as 2.4.0 with a warning in the changelog that this version has breaking changes and existing saves should persist with 2.3.2 until done, but you make a good point that it could go out as a differently named mod, which would soften the impact, especially for folks that don't read changelogs - I will give it some thought.

rlundy commented 2 years ago

Yeah, the trouble is that it's easy to click "Update All" in the Factorio mod update interface, so I think someone wanting not to update would be going against the grain in the interface, and they'd have to "just remember" every time to uncheck that one.

If the new version had a different name but somebody did want to upgrade, it would simply be a matter of adding the new version of the mod, unchecking the old version, and then the migration would happen automatically, right? Or maybe a mod can't do that with items from a different mod?

Deadlock989 commented 2 years ago

If the new version had a different name but somebody did want to upgrade, it would simply be a matter of adding the new version of the mod, unchecking the old version, and then the migration would happen automatically, right?

Yes, pretty much, although technically it's not even a migration. The game doesn't really care which mod provides any specific item, recipe, etc. - if the saved game with mod set A records instances of cheese rods and the current mod set B provides cheese rods then it just gets on with placing cheese rods into the reconstructed world.

It's a shame that the in-game mod browser makes it very easy to upgrade but provides absolutely no way of "downgrading" to previous versions at all - for that you need to visit the mod portal and manually download a file to your mod folder - at which point, weirdly, the game has pretty nice handling for switching between multiple installed versions of a mod. 🤷

Deadlock989 commented 1 year ago

Have decided not to release this as a new mod, but as an update with a warning. Changing the mod name would break all of the third party mods that have made the effort to be compatible with IR2.

Deadlock989 commented 1 year ago

Arc furnaces got some love - built in production benefits for ore processing (but only ore processing) at the cost of even more gas management. They have also had the full range of modules enabled (productivity for ore products only).

rlundy commented 1 year ago

Interesting... Where does oxygen gas come from?

Edit: Actually, never mind, I read the full original text in more detail and now I see where. Will the cryogenic separation tower require some kind of input in order to create oxygen? I could see it needing filters similar to the air purification tower. (Hey, maybe this could be another use for tellurium foil?)

More sulfurous gas is definitely a good thing. Early on in IR2 I have too much and usually have to vent it out, but later I'm scrambling for it, to the point where I even send raw non-crushed ore to the arc furnaces just because of the amount of sulfurous gas they produce.

Deadlock989 commented 1 year ago

Air separation doesn't currently require any input except for a fairly sizeable power requirement. I looked at having them consume something but I'm not wild about it - the building is 1x1 in the same style as the flare stack, I don't have much time to make anything bigger/fancier (pipe-connected buildings are a nightmare), and wiring/piping/belting up arc furnace clusters is already quite spaghettified without having to belt in another product. The real life cryogenic application doesn't consume anything apart from power and air, except possibly coolant which is cycled without being consumed - it would be nice to have high tech coolants beyond water (could possibly tie into Factorio's heat pipe mechanics) but that would definitely require a bigger building for all the inputs and outputs. There is another real life process (oxygen adsorption) that uses up things like activated carbon, but I'd prefer to keep it as cryogenics because a side product of the tech is the liquified gas canisters now required for rocket launches.

I did actually reduce the amount of sulphur gas from arc furnaces recipes. I've now halved the sulphur gas requirement for making acid to compensate. I've also added ethanol which does use up some acid but replaces more acid than that in a handful of other recipes (electroplating, plastiglass).

Deadlock989 commented 1 year ago

Have decided not to release this as a new mod, but as an update with a warning. Changing the mod name would break all of the third party mods that have made the effort to be compatible with IR2.

So much has changed now that this is almost moot - there is no guarantee the mod will work even with mods that have adapted to it ... maybe it is IR3 after all.

Things are looking closer to finished - I need to do some playthroughs, which will take many many hours.

Here is the current changelog (changes since 2.3.2).

(removed - out of date)

rlundy commented 1 year ago

Wow. 🤯

Are you interested in anyone else beta testing? I'd be happy to do so.

Deadlock989 commented 1 year ago

Definitely. It will be a couple of weeks and then I'll organise it.

Fuzzician commented 1 year ago

Very happy to see that there is still gas in the tank for this mod.
Apologies if some of these have been mentioned, but here are some thoughts I had:

Regarding the "too many components/intermediates", I think this is fine, if there was more of a way to combine them. The mod already does this very well with the Large Frames, which are difficult to make, but are used for nearly all buildings. The only thing that was missing was something similar (let's call it "components") for the other things. Say, you could have a stack of, say, 10 "components", and you make them out of some combinations of rivets, rods, gears, etc....., and have a copper, iron, and steel (chromed), versions of these. Then, once you have automated their production, making structures could just require the large frame, and some number of components. The game Captain of Industry uses this idea, by having most things require only "construction parts" to build, but the actual process of making those parts is decently challenging (considering how early you have to do it).

Definitely felt like there was one too many material tiers. Copper, Iron, and Steel are fine, but Stainless Steel felt just unneeded. Chromed Steel was cool, because making Chromed components was a different process from making previous materials. So maybe toss Stainless, and just make Chromed larger (could even rename it to Stainless) part of the game. Some of the other materials, like Bronze, and especially Invar and Cuprenickel, were a bit too narrowly used.

One other thing that bugged me was that I could not use Steel to make machines that normally need Iron. Many machines did have Steel upgraded versions, but not all.

Best of luck. Honestly, if the factorio expansion doesn't improve sprites to at least this level of quality, I will be very disappointed. These sprites make the base feel "alive".

Deadlock989 commented 1 year ago

Dyson Sphere Program is another example of a factory game with a series of "major components" used in nearly everything, that you incremental add to (components -> gubbins, gubbins + more components -> supergubbins, etc.) There are pros and cons to it, it certainly makes recipe design easier, I'm not convinced it is always the best gameplay. I have added a couple more tiered intermediates that (sort of) have this spirit (rotor units which include motors and small frames, radio units which are a sort of side branch of circuits - circuits were simplified). The addition of 1x1 assemblers (handling 1 ingredient component recipes only) really changes the layouts for intermediates production as well, making them more compact without really losing much complexity. Pistons and motors were supposed to have this kind of role originally and they used to be more complex, but people complained about handcrafting times for all the components they were made from and I made the mistake of listening.

Stainless steel is gone. Invar went away, then came back as nickel steel used in military applications only, but it might go away again, I keep wavering on it because I really want multiple alloys (carbon steel barely counts, leaving just bronze now that cupronickel is an electroplating thing) but there isn't really enough scope to support more than a couple.

rlundy commented 1 year ago

So far as the intermediates, I'll mention that the first time I ever got the Lazy Bastard achievement in Factorio was while playing IR2 (with the starter pack option, obviously). Given how long it takes to craft anything by hand in IR2, it makes more sense to automate everything, and IR2 makes it much easier with those nice time ratios: 0.4 seconds, 0.8 seconds, 1.6 seconds... So it's easy to set up an assembly-to-assembly production chain. With IR2 I've never seen the need for a big bus full of stuff because it's so straightforward to calculate exactly how many of a given product I need.

Fuzzician commented 1 year ago

IR is also less intense on resources. Higher tiers of materials are harder to make, but not actually that much more expensive. Compared to vanilla, where they just stack resource cost to a, frankly, absurd degree (T3 module costs are downright comical).

By the way, Deadlock, I will also be happy to help beta-test.

aeosynth commented 1 year ago

Will waterfill make shallow water? Otherwise waterfill mods are OP versus biters.

Deadlock989 commented 1 year ago

Will waterfill make shallow water? Otherwise waterfill mods are OP versus biters.

It uses the vanilla tile "water-mud" which is traversable by players at a walking speed of 70% and can be landfilled but not built on with object layer entities except for special cases like offshore pumps. AFAIK this tile isn't used in vanilla map generation and I haven't tested biter behaviour with it, I assume if players can cross it then biters can pathfind across it.

Deadlock989 commented 1 year ago

So I am largely done with a couple of playthroughs. The first was abandoned at early purple science due to making too many changes and being too distracted by biter attacks. The second was on a Rail World with biter expansion off, which let me build in peace for the second half of the game. I launched a rocket at 63 hours (although it was rushed and quite painful) and had most non-space science done by 77 hours. I didn't have to vent any gas apart from sulphurous gas and nitrogen, didn't flare any oils. I didn't void a single item except one time when I accidentally rotated a belt and had a nasty case of belt contamination.

Generally it's in a pretty good state now, I had fun, and I am quite happy with it.

I will be organising a beta this weekend most likely, not sure how to do that right now, I don't want to post download links publicly, I might make a private repository for it.

The remaining niggles:

Current changelog:

Version: 3.0.0 Date: xx.xx.2022 New:

tburrows13 commented 1 year ago
  • I feel like with the early ore 1.5x bonus from crushing and then the 2x bonus from washing, the current ore generation is incredibly easy at default settings. I was still using the starter patch copper and tin patches on reaching yellow science. I have added a mapgen preset for the mod as a recommendation but I can't make it default because the game engine doesn't allow the default map preset to make any changes to slider values. So I may tinker with the ore generation and knock down the richness a bit for all the metals.

Have you seen https://forums.factorio.com/88702? Even though you can't change the default sliders, Rseding seems to be claiming that you can get the effect you want by changing the prototypes. I'm not entirely sure how it all works though.

The update is looking great so far!

Deadlock989 commented 1 year ago

Have you seen https://forums.factorio.com/88702? Even though you can't change the default sliders, Rseding seems to be claiming that you can get the effect you want by changing the prototypes. I'm not entirely sure how it all works though.

In this case the prototypes to change would be the resource prototypes, specifically their autoplace schemes. In fact IR already overwrites them, but for copper, iron and coal the values were picked to be very close to vanilla's (for IR1 I think). I am reluctant to fiddle with it because resource autoplace stuff is so unforgiving and difficult to tune - this is why gem rocks and fissures don't use autoplace but on_chunk_generated, because it's 50x easier to get balance right with that than letting map generation handle it - but I haven't ruled out doing it if necessary.

Raymond26 commented 1 year ago

This is looking great. If you'd like another beta tester, I'd love to help!

tuhe commented 1 year ago

Hi deadlock!

I am very happy to see this mod is getting an update. It was my first modded play-through after vanilla and I had a lot of fun -- I especially love the soundscape, in particular walking through my old copper base, and that the design and intermediates made a bus infeasible. For the longest time I felt my base was a spaghetti mall which build a bit of science on the side.

I was considering writing these observations on the forum a long time ago, but then I saw you were stepping down from development so I didn't do it. I don't know how relevant it is with the changes, but it might still be.

Basically these are observations from my playthrough which I checked with Helmod (I.e., what happens if you want to produce all sciences including space at a stable rate using the highest-tier recipes). Sorry that I am writing this from memory.

1) The first observations is that sulfuric gas is way to easy to come by; even when selecting recipes to minimize the production, you still have to void it -- there seem to be no stable production loop of the final-tier tech that does not dramatically overproduce it. Especially one of the molten steel paths (I think it was chromed) produced a lot of excess sulfur gas. I would nerf how much sulfur gas you get across the board, but keep the option to melt raw ore for extra sulfur gas so it is easy to supplement the sulfur gas production if a player is in a pinch, or need to do a lot of acid washing for gems.

2) More importantly, I found that you need very little of the secondary ores (by secondary I mean those you get with water/acid washing) for science production, i.e. I think it is was 4% tellurium and far less of the other resources. This means water washing of ores is sufficient by a wide margin, and there is no reason to set up acid washing. I would propose two things. First, to boost the base requirement of the secondary ores in the sciencepacks to the point where you need about around 5-10% of the total mined ores to be secondary. Then secondly, I think it is fine to keep acid washing as is, but water-washing should return around 1-3% of the secondary ore. These changes combined would mean a mixed acid/water washing setup becomes necessary.

3) I think acid and water washing needs a bit more separation in the tech tree as I had them at the same time (IIRC). I would lock acid washing behind a science which needs just a little bit of a secondary-ore metal. One way to do this is to let blue science require just a single plate of lead per pack. That means a player must set up basic water washing to progress to acid washing.

kchmielinski commented 1 year ago

I love the idea of mini assemblers! Just recently I was thinking about what if Factorio would allow you to extend existing building to improve their usability. So instead of upgrading electric assembler to electric assembler 2, you could attach smaller buildings to it. For example something called 'module interpreter' that would essentially let you have one more module slot in the assembler with a cost of extra tile around it. The idea came from Tiberian Sun power plants.

So thank you for the mini assemblers, this will change the way we can design factories so much! btw. I know there are mods that already did it, but I just can't watch resized/tinted sprites on my screen and IR graphics are so in line with Factorio style.

Deadlock989 commented 1 year ago

I love the idea of mini assemblers! Just recently I was thinking about what if Factorio would allow you to extend existing building to improve their usability. So instead of upgrading electric assembler to electric assembler 2, you could attach smaller buildings to it. For example something called 'module interpreter' that would essentially let you have one more module slot in the assembler with a cost of extra tile around it. The idea came from Tiberian Sun power plants.

This is exactly what I would have preferred modules and beacons to be like in vanilla. Unfortunately the game engine does not support non-square or off-centre beacon areas or I would do it in a heartbeat.

Mods like Space Exploration enforce less beacon spam by making machines shut down if more than one beacon overlaps them, I considered adding something similar to IR but there are standalone mods for that if desired ("Beacon Rebalance" by wreltaw120 and "Beacon Overhaul" by notnotmelon).

tburrows13 commented 1 year ago

Unfortunately the game engine does not support non-square or off-centre beacon areas or I would do it in a heartbeat.

True, although I managed to work around this limitation for electric pole supply areas fairly well with the “High energy interface” in my mod Power Overload. Instead of shifting the supply area position, I just shift all the collision boxes and graphics, which works as long as the supply area position center is still within the collision box (https://forums.factorio.com/viewtopic.php?p=568252#p568252).

I then had to implement rotation myself by adding a separate prototype for each direction and swapping between them when the rotate button is pressed (and translating them to the new actual position so that it stays in the same visual position: https://github.com/tburrows13/PowerOverload/blob/master/scripts/power-interface.lua).

Deadlock989 commented 1 year ago

I then had to implement rotation myself by adding a separate prototype for each direction and swapping between them when the rotate button is pressed (and translating them to the new actual position so that it stays in the same visual position: https://github.com/tburrows13/PowerOverload/blob/master/scripts/power-interface.lua).

How does that work out with rotating a blueprint? I nearly did something like this for copper labs in IR2 (labs don't support direction so for a fluid power source you have to have four symmetrical fluidboxes or nothing) but working with blueprint events is a hassle so I took the easy road.

tburrows13 commented 1 year ago

How does that work out with rotating a blueprint? I nearly did something like this for copper labs in IR2 (labs don't support direction so for a fluid power source you have to have four symmetrical fluidboxes or nothing) but working with blueprint events is a hassle so I took the easy road.

Yeah it wouldn’t work at all for that. And the blueprint APIs are so lacking that I doubt it would be possible.

Deadlock989 commented 1 year ago

I was considering writing these observations on the forum a long time ago, but then I saw you were stepping down from development so I didn't do it. I don't know how relevant it is with the changes, but it might still be.

Thanks for the feedback. The sulphurous gas issues you mention are, I think, somewhat better in IR3. You probably still need to vent it, but less gas is produced from fewer recipes, and pollution was also completely rebalanced - it is considerably less harsh now, for venting and everything else (fewer machines produce pollution and those that do produce less). I think it is still impossible to avoid voiding any sulphurous gas in an entire playthrough but it is now the only fluid or item in the mod where that's the case, and the penalty for venting it is now much easier to mitigate. Flare stacks have also now been removed because you can burn excess liquid fuels for energy in a generator, so I don't count that as voiding. Sulphurous gas is supposed to represent excess waste/pollution from intrinsically nasty processes: the value of venting it is is that you can choose where the pollution is emitted if you want to manage pollution spread to that extent, rather than having it all in one big hotspot where your refineries and high tech furnaces are.

With acid washing - it was never intended to be compulsory and in fact it's supposed to be a wasteful emergency measure. I did consider reducing the byproduct ratios, especially for lead and platinum (replacement for tellurium), but the 1-3% figure you mention is much too low. There is already something of a "nickel hump" in IR3 as you progress through mid-game technologies - essentially you can barely use up enough copper to get a satisfying supply of nickel until you start producing low density structures, which doesn't arrive until you're almost ready for yellow science - and that's at 25% nickel. If it were 3% you would need fields of chemplants churning out acid and have to destroy massive quantities of copper and iron just to be able to produce yellow science. Chromium is balanced similarly but since steel is in almost everything from purple science onwards, it's much less of a problem to use up enough iron. Blue science can't contain any secondary metals because washing is itself a blue science technology. I'm very wary about putting any secondary metals into anything earlier than yellow science, and doubly wary about having lead or platinum involved. Ore is so plentiful from the 1.5x bonus of ore crushing alone that you could probably launch a hundred rockets using the ore patches within 3km of your base just by alternating between crushed and washed ores as the byproduct levels ebb and flow once you have LDSs in regular production. However I'm not ruling out changing the byproduct chances, just not by that extreme amount; I am also still pondering swapping nickel and chromium's source ores since nickel is needed first and iron is always used more heavily.

Dommedonder commented 1 year ago

Hi deadlock. Really looking forward to IR3, played a ton of IR2. Do you have any idea on when you'll make it available?

Deadlock989 commented 1 year ago

The mod is now live on the mod portal.