Game Design, Programming and running a one-man games business…

Design Dilemma

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.

Switching car body styles. in production line.

Something that is much requested, and that I am also keen on (and currently working on), is different body styles for Production Line. Currently there is just one body style: the sedan. It has optional spoiler and aerial, and a bunch of colors, but otherwise thats it. Obviously we need SUVs and compacts and sports cars and pick-up trucks and many more (I held a poll, and SUV and compact won).

Deciding that new bodystyles need to go in, and will go in, is easy. The tricky thing is how to implement it within the game.

I’ve mused on this for a while now. My initial plan was to keep things simple. Forcing the player to have completely separate production lines for each vehicle might make sense in the real world, but I think it would be pretty annoying for the player. On the other hand, some players may want to do precisely this, and feel that not doing so is ‘cheating’. We all know that factories tend to produce just 1 model, and that the same robot/person does not screw the same headlight onto an SUV or a compact car.

Actually the main problem is that if we *do* have different production lines, that also means we start needing new resources (if we follow that train of thought). So suddenly we don’t have sunroof, we have sedan sunroof, compact sunroof, SUV sunroof…etc, and the complexity starts getting ridiculous. As a result, I want to have a compromise situation where there is reason for the player to organize his production lines into separate bodystyles, but not enough realism to force them to worry about 6 different types of trunk or 6 different headlight types. There is complexity that leads to interesting and fun gameplay, and then there is just annoying busywork… I *could* allow component re-use across body styles but never allow lines to cross or meet, but then does it become more like tetris and less like a business sim? and do I now need a lot more export slots? Plus the routing code would become even more like spaghetti.

So I think I’m going to say that a ‘sunroof’ is a ‘sunroof’, and it can be fitted to any car. Obviously the final visual effect ‘on the car’ will be different, but I’m not going to force the player to micromanage different types. Obviously this isn’t totally realistic, but then sexy elf boob-armor and men carrying guns six times their weight isn’t either so throw me a damn bone here ok?

My compromise back in the land of realism is this:

Because allowing components to be interchangeable, and therefore allowing fitting slots to be interchangeable between body styles *could* lead to the weird sight of a jumble of different cars all trundling along a production line, which feels *wrong*, I’ve decided to allow this… BUT…. *drumroll* …. have a ‘re-tooling’ penalty in time whenever the bodystyle changes for a slot. In other words, when you weld the doors on an SUV, and the next car to rock-up to your slot is a sedan, you have to wait X seconds (probably some multiple of the normal work time) to realign your welding widgets, or whatever. This *allows* for bodystyle changes and thus mixed-production, but penalizes excessive swapping.

I think that’s quite a neat compromise, especially because I can then allow you to research ‘rapid re-tooling’ to lessen the impact. I actually already have tech named ‘retooling’, which I can rename to ‘asset recovery’ as that’s more accurately what it does.

Anyway, that is my current plan. When multiple body styles are researched, the player will be able to select from a drop down list at the start of the line which body style each new vehicle uses, and that carries through its entire life. Obviously it will need more tweaking at the business side of things, and also I would liked to find a way to ensure that SUVs cost more (for example), but I think its best to get multiple car styles in there sooner rather than later as its clearly something people want to see in their factories.

I do have plans for proper design studios and clay car models, but they will likely come later, if people want them.

In other news I’m working on early access readiness for steam. GoG will come too. I have to get a video named (its in progress) and I’m getting proper music too. Busy busy busy. it looks like new car types are likely to be the last new thing (apart from polish and bug fixes) that goes in before we go into early access.

 

New Production Line car design interface

When I initially designed the Production Line ‘car design’ system it sounded like it made so much sense. Cars were a list of ‘features’ such as ‘electric windows’ etc, and whenever a car came to be sold, we would see if we had sold a car with that list of features before or not, and if not, we popped up a dialog box asking the player what to call this design and how much to charge with it, along with information on the market value (fair price) for that combination of features. This seemed perfectly reasonable.

The problem is that a) there are about 999,999,999 permutations of features and b)actual cars arent really sold that way anyway.

If you buy a car, you decide to buy (for example) a Vauxhall Astra, and then you decide which options you want, effectively from a price-list of add-ons. Usually car companies bundle a set of features together as certain ‘models’ such as ‘deluxe’ or ‘GT’ or whatever, but essentially there is a base body design and a price list of features to go on top. In order to reduce the amount of pointless GUI and busywork in Production Line I decided to switch to a similar model for patch 1.13.

Now we have a new button in the GUI, which launches the ‘design browser’ in the game which shows you all of the actual properly different body types of cars you currently produce. (for now its hacked showing designs from an earlier version, so they all have the same body type, but for new games you will only have one here for now). That window lets you select which car design you want to view or edit.

That then brings up this new window, which will also pop-up when you produce a car for the first time, or when you ship a car with a feature that was not previously available in this design. (That should happen only when you have researched a new upgrade and then shipped an upgraded car).

This is where the GUI gets a bit confusing. Essentially any design is just a shopping list of features with the base feature being ‘basic car’. For each feature you can see the market value of that feature (the consensus in the market place for the fair value for one of those), the price you are currently charging, and the markup over the market value in both percentage and dollar terms (with buttons to adjust this).

You can price cars at a premium to earn higher profits, or a discount to shift them quicker. This is where the confusion will come..

This does not represent a hard profit or loss for that car.

because there are so many fixed costs, its very very hard to work out how much each feature really costs you to add, so you have to separately keep an eye on what that feature is costing you. The premium/discounts here are only a guide as to how competitive you are with your rivals, who may be more or less efficient than you. My big dilemma here is how confusing is this? and is there a better way to explain/present it? Obviously there will eventually be a tutorial.

I also think that probably what I need here is some option to copy a single premium/discount to all features, so you are not adjusting each one manually. I’m not sure of the best way to present that from a GUI POV. In terms of ‘why would you ever not want to do that?’ consider this: You rush ahead in the early stages of the game to research cruise control before anybody else. As a result, you have the ONLY cars with cruise control. You can therefore charge a whacking great premium for that feature, way above the premium you would charge for other car features.

Does that make sense? Is this an improvement on the old model? Feedback most welcome. This is hopefully going into the 1.13 patch coming this week. maybe even Wednesday! (more likely Thursday).

BTW don’t forget the price goes to $12 from Sunday. If you know you are going to get it anyway, order it below :D

Production Log Dev Blog#10 Level Editor and Upgrades/Font change

You may have thought I’d give myself a week off doing video blogs for Production Line, but you would be wrong. That line of thinking leads to failure, mediocrity and generally not succeeding, whereas doing it anyway is more in the tradition of Elon Musk and other stupidly ambitious people…so here we go.

To be fair, it is a day late. A lot of tiny things got fixed, mostly calculation bugsĀ  and GUI layout stuff. The whole GUI style is very much placeholder, but I’m deliberately prioritizing design and gameplay, the GUI can get some shizzle later. I think most Sim/Tycoon gamers are far more interested in mechanics and balance and features than they are in shiny stuff.

My big dilemma, (But I think I’m sorting it as I type), is to whether upgrades should be things that happen to existing slots, of stuff that unlocks *new* slots. I think a goods compromise is to do a bit of either, when it makes sense. For example ‘leather seats’ and ‘heated seats’ are definitely an upgrade to the existing ‘fit seats’ slot, whereas ‘satnav’ is more likely something that gets installed as a totally new thing in a dedicated slot. This might lead to some confusion on the part of the player, but as long as I explain that some research unlocks new upgrades, whereas others unlock new slots, that should be simple enough.

The big problem is do I allow the player to do stuff like ‘heated seats’ before they have unlocked the dedicated ‘fit seats’ sub-slot. I am thinking maybe no… you have to have broken down the production line at least as far as ‘fit seats’ before you can get the option to fit fancy ones…surely? What do you think?

Production Line Video Update #2

I took some time today to do another short video talking about what I’ve been working on re:production line. There will be more ‘feature-rich’ videos coming over the next few months. I’m getting quicker and more organized about the whole youtube thing now :D. I am really interested to hear peoples comments and ideas about any aspect of the game. Enjoy!

Don’t forget the website is here and the facebook page is here. Cheers :D