So, when watching a lets play for my new game Production Line, I encountered the point that ‘surely compact cars should sell for less than an SUV? given the same options…?’ Which is of course absolutely true. As a result I immediately leapt into my code and made it so. There is now a price modifier for each body style, with compact cars being cheaper, sedan being the default and SUV being more expensive. So far…so good.

But in the current game, producing all 3 cars takes the same time and resources, so why would anybody ever build a compact car? Suddenly I have introduced yet another dodgy piece of game balance. Argggh. In the back of my mind, I have always planned to simulate multiple ‘markets’ for cars (sop one sort of customer is looking for a compact car, another for an SUV etc), so the strategy of purely producing SUVs would be a bad one, but there still remains the problem that I have hard coded higher profitability into the larger vehicles. Plus this means that because it only applies to the base car features (wheels, doors, roof etc), there is an additional incentive to sell ‘basic’ SUVS, whereas we all know that cars make a lot more profit on the extras…

So to quote Tolstoy, ‘what is to be done’?

The obvious solution here would be to reflect the extra effort in building a bigger (or smaller) vehicle in the game mechanics, and have everything balance out. Presumably making a door for an SUV is harder work and more expensive than making one for a mini. Also in theory I guess you need bigger stronger robots exerting more power to lift heavier doors, yada yada. The amount of steel in the roof of an SUV is likely noticeably bigger than for a compact car, and so on.

The trouble is, I have boxed myself into a design corner in my game by making resource units ‘discrete’ (ie: not fractional). Components use up ‘1’ steel or maybe ‘2’ steel, but never ‘1.2’ steel. To change this would not only be a huge endeavour, I suspect it would lead to confusion, as individual items of resources are represented graphically and fall into neat slots. As a result of this, pretty fixed, design decision, I don’t think realistically I can change the resource quantities needed to make different car body types.

So the alternative that presents itself is to instead vary the time taken to assemble them, which is fractional, and could be relatively easily adjusted. A set of robots at the ‘fit doors’ slot could easily take 20% more time on an SUV than a sedan. I could probably code that in 30 minutes. The only problem there is how to represent that to the player. The window that shows the slot status for something like this does show how long the task will take, but there is no further breakdown. Hovering the cursor over some upgrades will tell you how much time they have added or subtracted to the total, but that involves some maths by the player to work out the ‘base’ process time.

Maybe this is something I just have to accept, and possibly just provide a little ‘i’ icon to hover over which shows a breakdown saying that the task takes 2 minutes 10 seconds, plus 2.3 seconds because we are fitting an alarm as well, minus 1.2 seconds because its a compact car, – 0.65 seconds because we have extra robots…etc…

Too clunky? or a reasonable compromise? I haven’t decided yet.

11 Responses to “Design Dilemma”

  1. Ciro says:

    If you use discrete units for, say, steel, why not “inflate” the numbers for these units in such way that different costs are proportionally closer? e.g. a door for a compact now costs 10 steel, and for a SUV it costs 11 steel.

  2. Garry says:

    Could you not instead focus on the sales demand? Making the market more demanding for smaller cars (as i believe is accurate), therefore it makes sense, as a player, to focus on building smaller cars. Whilst they may cost the same and take the same time to make, you have to manage the types of cars you build as the market isn’t demanding the larger suv’s and you don’t want cars sitting waiting to be sold. So really you only build 1 SUV in 5 rather than all of the time…

  3. human_error says:

    I’d say balance it with demand – SUVs may result in more profit, but they don’t have as large a market so over producing them will result in unsold stock. You could also do seasonal demand changes by adding seasons to the game – convertibles sell better in summer, SUVs in winter. Standard cars have consistent demand through the year so are better for consistent cashflow.

  4. Adam Duncan says:

    Why not show the base time it takes for an action to occur as a static number next to the progress bar (regardless of body type) then show +/- seconds per body type that is currently being worked on.

    Alternatively, you could also show the base time and the total time for the current body type at that station.
    Ex [Base Time]/[Total Time] (Seconds difference)

    Possibly you could also make it so that players can upgrade to specialized stations that can still work on all body types but you can reduce the amount of time it takes for SUV doors vs Sedan doors. And vice versa.

  5. Panos says:


    First of all, I love your game. Well done, I’m glad you’ve found your niche market and make a living out of it while working on these great ideas.

    When it comes to design dillemas my preference would be to demonstrate “consistency” and stick to a narrative that makes some “sense”. In this case you’re basically simulating real world production which is based on demand. That makes enough sense and can provide a consistent way to address dillemas.

    You don’t need to worry about giving the player the incentive to build a certain type of car by making it easier/harder faster/slower – all you need to do is model market behavior which will in turn influence player choices (and probably make the game even more interesting).

    In my opinion a Ford Focus with similar spec to a Ford Mondeo should not be very different in terms of production / cost. A well designed production line should take similar time to build the two cars with similar cost. One of the reasons that the Mondeo is more expensive is because it’s targetting families that are often supported by two salaries while the Focus can be bought by single, younger people.
    However there are less families than single younger people so the Mondeo class will never manage to sell more than half of the Focus class (its market is at best halved).

    The more work you put on your market model the more realistic it will feel. You should probably give the competition a share of the market for each car based on available features (and even based on technological breakthroughs – e.g. the first company to make a good SUV could have an advantage over others).

    Market should also be extended to features, e.g. each feature should have market, a lot of people want a car with Clima, but not everyone is willing to pay the premium for it.

    Eventually I think you can make a very interesting campaign mode where you start off with a plant to address the needs of a market in a particular geographical location and then you try to expand on other markets addressing different needs, facing different challenges regulations etc. Single level is nice to experiment with the game but in the future you should consider campaign options.

    On the other hand, If you decide that making the suv/sedan is harder than the compact car it will be very easy to implement : base time cost * static type modifier. That will be easy but not very elegant or realistic.

    • cliffski says:

      I agree with you that this all ties in very closely with feature based demand, which is one reason I have not addressed it yet, as I would like to do it all together. I guess in some ways ‘SUV size’ is just another feature, and one that a certain demographic (and income group) will have demand for. I definitely need to write a fairly sophisticated demand model at some point.

  6. Arctem says:

    In addition to the other good suggestions on market demand, why not build the time modifier into only the base model so it’s easier for the player to look in one place and know the differences? Just give the SUV an indicator that it takes 10% longer for all body mods to be installed but the normal time for non-body mods (I don’t actually have the game so I’m not sure if those distinctions are made). That way you can set up situations where it’s more worth it to make an SUV with lots of interior features while a sedan values interior and exterior features equally.