Maintenance Madness

by Arcitos

Adds a complete new game mechanic: Maintenance! Create a sophisticated spare parts logistics and bring your mall to its absolute limits! UPS-friendly and MP-tested - Now with a fancy GUI!

Tweaks
3 years ago
0.17 - 0.18
16

i Suggestion: only use intermediates for repair items

4 years ago

Many mods use T1 machines as ingredients for T2 machines. I've had a few times where these "previous generation" machines are required repair items, which makes them ~10x more expensive than the usual repair items. I would suggest to prevent this, because there is already the replacement mechanic which requires the entire factory to be rebuilt every ~12 hours.

4 years ago
(updated 4 years ago)

The logic behind the repair items already considers items as "expensive", that are only needed one to five times to construct the machine. At the moment this results in a decreased probability for choosing those items for repair requests if machines break down:
- Once used per recipe: 10% probability
- Twice used per recipe: 20% probability
- The max value is 50% for all items that are 5 or more times used per recipe

It's hard to guess what's an "expensive" item and was not. My suggestion would be to reduce the probability from 10% to like 5% for items with small amounts. But I wouldn't omit this logic completely.

4 years ago

I see, that makes sense. How many repair events do you expect throughout the lifecycle? One way to think about it can be "a major repair should happen ~50% of the time for each machine through it's lifecycle". If there are 15 repair events/lifetime, then that suggests 5% is the right number (if I got my math right : 1/(0.95^15) ). If you just want enough to encourage automated production of each building, 1% is probably enough. I leave the vision of the mod to be your own :)

One way to differentiate is by saying "once used per recipe, type ="item" -> 10%, otherwise 5%", if it is helpful to do so.

The reason I am thinking about this is 12 hours in my base is consuming ~40% of raw materials as repair items (this is tough to be precise on but I think I'm close) and build-out is very slow as a result. That said I have a hard modpack playing Expensive recipes and I made some mistakes early on and got caught by repair-cost-creep as my factory aged the first time. I'm considering either starting over and seeing if I can do a better job optimizing for maintenance and/or if I should consider the maintenance costs as equivalent to Expensive recipes and switch to Normal. Or switching to the 50% maintenance cost in config. I like the design implications (redundancy/queuing) you've created but the costs feel high to me. It may just be inexperience though.

4 years ago

I expected that due to the mechanism of this mod it might be unprofitable to use certain mod machines, because their increased productivity is too low compared to their increased running cost.

At the moment, maintenance works like a kind of "interest rate" on your already built structures. This is something no other mod will take into account, because usually the longterm cost of building a machine slowly approaches zero the longer a machine exists, regardless the initial building cost. To counter this, big mods hide their top tier machines behind extremely expensive recipes, which does not help us as it will completely cripple the player if using this mod. To change all recipes and balance them in regards of productivity gain versus running cost would be an endless endeavor, so i need to find the middle ground between "no cost in the long run" and "crippling cost that hinder all progress". 40% of raw materials into maintenance is way too much, i aimed for like 10 to 20%.

Ok, what now? I lack the experience with big mods and always thought about the ratios and cost in regard to vanilla. Your explanation shows me that
- A: Big mods are a thing and players expect this mod to be balanced also for a game with them
- B: Encouraging the player to build a powerful mall and supply all machines with spare parts are additionally "puzzle" problems that should not turn into resource problems just because you're using big mods

As a result, i will change the calculation for the repair item demand to start with 1% for items once used in recipe (it'll still be necessary to automate those items, but the cost will be 1/10th of what it is now)
The formula will be: Demand percentage = item_count ^ 2
After item count 7 the probability stays at 50%, as it is now.

Thanks again for your insights and your contribution for balancing this mod :)

4 years ago
(updated 4 years ago)

I like your idea, thank you. And I agree big mods are a thing, at least for people who install mods. The data from the portal is pretty clear. I also see plenty of feedback in mods that don't support at least Bobs to support it.

My current plan is to keep the pack at expensive recipes and add in some lower tier repair items (with the modding API) for the T0 machines added by Coal & Steam. And to bump starting area ores by a bit to account for increased consumption to get to T1 and for maintenance. Before all this, with AngelBobs, I always am just getting trains as I exhaust my local resources which is cutting too close.

One other thing I've been thinking about (though not high priority) is to one or both of the following:
- Add modules to reduce aging or increase MTTR, could be an interesting tradeoff between productivity. And/or a repair malus for overdriving a machine, hmm.
- Via the future modding API, let me set aging overrides (multipliers?) per type or per prototype. I'm specifically thinking about reactors, given their expense relative to other things.

4 years ago

The current update adds the requested maintenance unit, which should reduce the hassle in the early game. Even low level maintenance may extend the lifetime of your machines by 20 to 40% and will also reduce the resource drain in the early stages where it hurts most. Please tell me, what you do think about the changes and how they affect your gameplay. This would help me very much.

Reading about your idea to specifically set the ageing factor for certain unit prototypes, please let me add, that i also thought about a selection tool to set the replacement age manually for different machines. However, this would need something like a "Maintenance management GUI" first, so it is not on my top priority right now. This may change as soon as the other planned parts of the mod are done (primarily the first iteration of the modding api).

4 years ago

Thank you for this! It is getting better and better. I think the electricity requirement will make it hard for games using early-game-extension mods, and I could not see an easy way to create a burner version (your code is very readable btw!). That said, I will start a new game this weekend though and see how the aging fix and new repair cost curve feels and report back. If the costs are down to 20%, reaching electricity will feel like a big accomplishment on this front.

4 years ago

Thank you for this! It is getting better and better. I think the electricity requirement will make it hard for games using early-game-extension mods, and I could not see an easy way to create a burner version (your code is very readable btw!). That said, I will start a new game this weekend though and see how the aging fix and new repair cost curve feels and report back. If the costs are down to 20%, reaching electricity will feel like a big accomplishment on this front.

4 years ago

I wanted to give some feedback based on my latest game. It is only 8 hours in but I feel the level of maintenance is about right now with the aging fix and change to repair costs. It's requires automation and redundancy to manage well but isn't the grind it was before. I'll give more feedback once I reach electricity and try out the maintenance stations.

Thanks again for this mod. Super cool.

4 years ago

Hi GrimerX, i'm sorry for not responding earlier. I had to take a forced break from Factorio ;)

Your feedback is very welcome to me. I'll soon continue to work on the "improved machinery" mechanism, which in turn should be a nice reward for proper maintenance and the chores that come with this. As soon as this is implemented I'd be glad if you could provide me some more feedback!

New response