Something that I have always wanted to have in Production Line (and which is popular with the players as an option) is the idea of equipment breakdown and reliability. If you have played the game already you will know that having a sudden ‘stop’ in the line is incredibly disruptive to output, and thus profits, so introducing the risk of breakdown would make for an interesting game mechanic. With this in mind, I’m starting to think about implementation.

So to start with, what are my design goals for this new feature in the game? I see them as these:

  • Add a new random event to shake up late gameplay.
  • Add a new research tree option or options to improve reliability
  • Add a new consideration regarding factory design and layout.

Right now, there is a slight problem in that, until world events get coded, the late game is one where you can simply leave your factory to run endlessly at a profit. In some ways, this doesn’t matter, as factorio has proven, the real goal is building fun and efficient layouts, not just achieving a set goal. However, it would be nice to have something that interrupts this otherwise fairly predictable process, so having a key production slot break down would be an interesting way to do this.

New research options are always fun, but I’m not sure which way to go regarding the reliability and repair stuff. On the one hand, I could offer slot-level upgrades which allow the player to (at a cost) buy more expensive robots and parts to reduce the chance of that slot breaking down. On the other hand I could introduce a global factory wide system of researchable upgrades which boosted the reliability of the entire factory? The second option is perhaps a little unbalanced because in the real world, such research would lead to systems whose cost scaled up with the factory size. I already have some upgrades that are ‘one-shot-regardless-of-factory’ like conveyor speeds, and in retrospect, these seem perhaps a little too generous. I should probably avoid expanding that.

 

 

So that would leave me with perhaps the idea of a series of ‘reliability’ upgrades for every slot in the game. Maybe ‘Enhanced maintenance’ ‘Error monitoring system’ etc, which when purchased at a slot would progressively reduce the chance of a breakdown. This might make for interesting decisions because for example if a single paint-dryer in a line breaks down, thats no big deal, so you could avoid paying for that upgrade, but if there is a single point of failure thats critical to the whole line… maybe it would be worth it.

This all leads into my final goal and would make it more sensible to plan for multiple lines, or at least partial lines, as a hedge against single line failure. I sometimes design my factories with parallel lines with cross points, which would allow production to route around broken down slots just like the internet routes around failures.

So given that I want there to be breakdowns, and researchable techs that reduce (but never 100% eliminate) them, how should the actual mechanics of a breakdown take place? The simplest and cleanest implementation that occurs to me at the moment is to give each slot a chance of a breakdown per minute of game-time.  If we assume each slot has a 99.5% uptime, then we are talking about a breakdown of ten minutes every 33 hours.  Very large factories could have maybe 200 slots, which would mean one of them was always broken and in need of repair. That sounds reasonable? (alternatively I could tie breakdown chance to time spent actually running…which makes more sense).

This allows for two different upgrade paths in terms of dealing with reliability. We can have research that decreases the chance of a breakdown, and research that decreases the duration of a breakdown. It would be interesting to have the chance upgrades be a per-slot thing (I’m thinking better engineered robots, better designed processes at the slot…) and the duration upgrades being global (maybe a better trained maintenance team to attend to the breakdowns?).

 

 

In terms of GUI, I’m thinking a new slot status notice (like we currently have for ‘no export room’ or ‘not connected to resources’ ) saying “breakdown!” and possibly a timer next to it (more realistically a circular progress count down thing?) showing how long it will be out of action until the breakdown is fixed. So with that in mind, here is my first-pass thoughts about how to implement breakdowns and reliability into the game, as a todo list for me:

  • Add a base chance for any slot to breakdown and make this trigger a breakdown of some random duration range (say 7-15 minutes?)
  • Add a new global variable for ‘breakdown repair efficiency’ which can be changed by global research items.
  • Add new researchable technologies to reduce the duration of breakdowns.
  • Add new upgrades for each slot that reduce the likelihood of a breakdown.
  • Add new researchable technologies that enable the purchasing of those upgrades.
  • Implement a nice GUI to show breakdowns when zoomed in and when zoomed out.

There are of course a bunch of other options, such as adding a repair-cost that gets auto-deducted when a slot is being repaired (but what if that sends you bankrupt? surely needs to be optional…requiring more GUI…), or requiring new repair-shops to be placed down to ‘unlock’ certain upgrades (but then can you delete them after the upgrades are in effect?). The system as described relies on the player accepting that a ‘hidden’ global variable (breakdown duration and chance) really is changing, unless I add yet more GUI options to show this to the player.

As I type this I realize there could also be the possibility (maybe as a secondary feature to code), of slots ‘silently breaking’, in that every car they work on produces a defect…This would be a bit evil, but also pretty cool, as you would have to introduce regular QA to track down the cause :D)

My biggest fear, (as should always be the case with Early-Access) is that I could screw up and make the game *worse*. I don’t want to make the game unbearable at the start (where a single slot breakdown may be more critical), but then I don’t want to make the game too easy in the late game either. I could just *cheat* and not let slots break down at the start of the game, and actually more realistically, I could just give each slot the first 48 hours or so to be totally free of breakdowns (makes sense as they are new…). Ideally breakdowns become a serious concern, but not annoying, which is an incredibly thin line to walk.

I am as usual always interested in peoples thoughts on this as a new mechanic for the game.

 

7 Responses to “Equipment breakdowns in Production Line”

  1. DaveS says:

    What about new ‘slots’ for Maintenance staff, give coverage to an area of the factory to reduce breakdown chance and speed up repairs?

    This also then balances with having to employ more staff at a cost?

    • cliffski says:

      We considered doing area-of-effect stuff for vehicle QA but generally players who commented on the idea were really against it, as it had no connection to any other system in the game. I do feel like the idea of a maintenance slot has some benefit. perhaps a ratio of maintenance slots to production slots in a factory could contribute to the fix-time for a breakdown?

      • DaveS says:

        That’s one way of going about it, the other is to perhaps have a maintenance building/office that takes up areas like research centers etc, have a tech tree to improve the staff manning them?

  2. Mark Bernard says:

    Would it also make sense to increase breakdown chance with more use. So if you have single shots at some point in the line it increases the likelihood of catastrophic failures.

    • cliffski says:

      We could actually work out some metric where if the slot is in use > 80-% of the time (for example), its overstretched and the breakdown rate goes up? Just thinking out loud.

  3. Will says:

    I’m not sure how granular you want this system to be, but I think the most interesting thing would be to, ahem, break down the system into stages of brokenness.

    Some thinking out loud about that: Machines that are in use get hot and need maintenance: if you let the machine run hotter, it needs maintenance sooner. You could invest in research for cooling technologies, better materials, etc. Machines that are unmaintained could break in different ways too, requiring different fixes: do you need to recalibrate the sensors (free) or replace the motor (expensive). If the gears are stripped, maybe it runs more slowly rather than failing outright, say. Maybe this ties into the overall design: your factory has to be robust enough to handle dynamic load because of differing maintenance schedules affecting the running speed of your machines.

    I’m not particularly well versed in Production Line (a grain might not be enough salt), but in similar games, things randomly failing with no warning is frustrating (Rimworld has lots of infuriating systems like this). I think the best kind of system still retains some of the act-of-god randomness, but also gives players advance warning and time to respond most of the time. That gives players satisfying moments (“a difficult situation happened and I successfully managed it”), but also ups the overall chaos and panic late game.

    Obviously, the more detailed the system the more UI work it needs, but signaling danger and making stages of brokenness sound like the best place to start to me, design-wise.

    • Cliffski says:

      I do like the idea of a pretty granular system. Maybe a machine runs at 50% speed for a while before totally breaking down… or maybe its defect rate quadruples until repair…that sort of thing. I have recently changed the finance GUI for car designs and need to work through the implications of that before really nailing the breakdown design…

Leave a Reply