Category Archives: production line

Hi all. This is a reminder that on Thursday-Sunday this week, Positech Games will be at the EGX games show in Birmingham, England. I will only be there Friday-Sunday, but the booth will be manned by suitable experts :D Come say hi!

Youtubers most welcome, I am always happy to give thrilling interviews for anybodies channel. I even have a silly hat to wear while I do it.

We will have a nice happy booth with 2 PCs running the latest build of Production Line, comfy leather cube seating, a whole pile of leaflets, stickers and badges, maybe some silly little toy robots to decorate it with. Come tell me all the design decisions I have made wrong. Oh and obviously if you are from the games media, email me at cliff AT positech dot co dot uk if you want to arrange a specific time and place for an interview. We love that sort of thing.

If I look grumpy, have sympathy. Its not my natural environment. I’m more scared of you than you are of me :D

 

There are no comments yet

Not of interest to many, but I made a little demonstration video (using Production Line) to show how I can check out the concurrency of threads in the game using Intels VTune software. Enjoy:

There are no comments yet

I was never convinced that the cars in Production line looked shiny enough. The average car on the average street looks…ok, but when a car is BRAND NEW, they look insanely polished and shiny, and I think that we were not achieving that in the game until recently.

Some messing around with re-rendering off images, and some adjustment of shaders and some code has allowed me to produce the following images, which I’m happy with, although I may end up toning them down ‘a bit’. (its a shader where I can easily adjust the strength downwards a bit).

Exhibit A is a car that is still being assembled. Structural bits are matte, and the final external panels are a bit shiny, because they are brand new shiny steel/aluminium:

Exhibit B is a car that has received an undercoat. Currently this is way too dark, so I’ll be adjusting that to be much lighter:

Exhibit C is a car with its final coat of colored paint. This is a standard car:

Exhibit D is a car that has had the ‘polished paintwork’ feature researched and applied to it, so it looks extra shiny:

I may adjust these a bit, depending on feedback. Interestingly I asked a lot of people for their opinions and although a lot of people on twitter preferred an unglossy look, the players of the game on my facebook page tended to prefer a more glossy look, so obviously those people are my priority. I also still intend to maintain the ‘glossy cars’ option so players can just toggle off the shader entirely if they dont like it. The cars will still look a bit glossy, because its baked into the textures, but it wwill tend towards the look of the undecorated cars (matte) rather than the glossy or super glossy.

Open top sports cars with gold plated wheels are going to look super over the top :D. (and they should be for the price).

For a long while I have talked-the-talk about putting slot breakdowns into Production Line, but recently I’ve actually been doing the code, and I now have a working implementation in the game, ready for imminent release to the unstable build on steam, and eventually the full early-access alpha build.

The implementation is fairly simple to describe. basically slots break down for a random duration between X and Y, and you can research and then place down maintenance facilities that vastly reduce that repair duration so that the line is stopped for a shorter period.  The maintenance facilities UI has two different circles that illustrate the two levels at which they can reduce repair times.

Thats all very simple, but coding it was harder than it sounds, combined with the fact that it needed some tutorial pop-ups, and it needed a GUI that looked nice and was also clear and usable. All of that is done, and I’m happy with it, so all it comes down to now is a simple case of getting the numbers right.

In a game like Production Line, the numbers you set for items are basically the WHOLE game, in terms of long term playability. I can wreck the game immediately by getting these numbers wrong, or less drastically, I can make this new feature and all the work that went into it irrelevant if the numbers are wrong in the opposite direction

In an ideal world, the breakdowns introduce just the right amount of complexity, and light-frustration which keeps the game interesting and something that demands the players attention, while the maintenance facilities provide just the right solution, which should come at a price, and with interesting trade-offs. To put it another way: If the breakdowns are no big deal, the maintenance is irrelevant. If they cause mayhem despite maintenance, they make the game worse. Meanwhile if maintenance is too cheap and easy to place, its irrelevant as a decision. Too expensive or difficult and its going to be annoying.

There is no real easy way to pick these numbers, they just have to be experimented with. Right mow, the chance of any slot breaking down after completing a task is 1 in 200. The time it takes (in seconds at 1x speed) to fix them is between  24 and 48 seconds. That time is reduced by either 37.5% or 75% depending how close the nearest maintenance slot is. The slot itself costs $98,800 to place, and requires 8 engineers which cost slightly more per hour than a scientist (researcher). Power draw for the slot is equivalent to most other manufacturing slots, and its footprint is 4×4.

All of those numbers MIGHT be wrong. Maybe the slot is too cheap, maybe we need more (or less) engineers to adjust the ongoing cost of maintenance? Perhaps the breakdowns are too frequent and annoying? or maybe so rare, and so cheaply fixed by spamming maintenance that the mechanic becomes irrelevant?

Hopefully none of the above! and I also think that the fact that maintenance requires research, and has an area-of-effect mechanic will add new interest to factory layouts, both in preventing sprawl (which works against the mechanic) and also ensuring the expert player leaves regular areas for future maintenance facilities that they cannot yet afford, or have not researched.

Expect to see this in the next update for the game, and I hope people agree it makes things a bit more realistic and interesting.

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.