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

Get to your cubicle and stay off the factory floor. (Production Line 1.27)

I released a patch for production line recently, then found a minor save game bug that I patched right away. There is a long list of stuff we improved and added and changed, so here is the full list:

[version 1.27]
1) [Design] Touchscreen is now an upgrade for fit dashboard instead of fit electronics.
2) [Bug] Fixed bug where the AI would be very reluctant to research air conditioning or polished paintwork.
3) [Bug] Placing facilities and slots is now correctly recorded as a capital expenditure in expenses charts.
4) [Bug] Bubble next to car sales icon now expands to show numbers greater than 999 correctly.
5) [Bug] Fixed visual bug where scrolling in the sales showroom resulted in invisible cars.
6) [Balance] Research costs of some later-game research items have been increased.
7) [GUI] Various improvements to the style scheduler window.
8) [Feature] Marketing campaigns can now be launched to boost brand awareness, and thus visits to the showrooms.
9) [Bug] Fixed crash bug if the game autosaves within a minute of a manual save, the next time the save dialog was launched.
10) [Bug] Fixed bug in slot-picker where expand icon buttons (+/-) would not unlock when research triggered if slot picker was open.
11) [Bug] Fixed bug where the market screen doesnt show the correct market segment of cars until you have viewed them in the car design screen.
12) [Bug] Fixed bug where cars would have a red error message on them if the next slot was a really long conveyor journey away.
13) [GUI] The style scheduler at the start of the production line now lets you edit existing quantities of entries.
14) [Feature] Wingmirrors can now be manufactured, and also have folding and heated upgrades.
15) [Balance] Costs of wingmirrors and alloy wheels has gone up. Making alloy wheels requires more steel.Keyless entry worth more, requires 2 chips.
16) [Balance] Resource prices are now affected by demand from AI competitors.
17) [Balance] Crossing up to a new price category now produces a ‘bump’ in value which prevents pricing anomalies.
18) [Tutorial] New pop-up explains what to do when you have researched a new body style.
19) [Balance] Increased price of last robot upgrade so its less of a no-brainer upgrade. Also slight increase in power-draw.
20) [Feature] Offices (marketing and research) can now only be placed in office areas zoned on the map. Non office items cannot be placed there.

There is some cool stuff in there, and I think that 8) is a big change (ooh look! actual marketing!) and 14 adds new stuff to research and play with, plus the combination of 16),17) and 19 is actually pretty vital (and much needed) to increase the extent to which the long term game is balanced. The game has definitely tended towards easy, with cash becoming a non-problem once you have put a good few hours in and done half or most of the tech upgrades. balancing a game is hard, and a constantly moving target as new features and bug fixes go in, so this is something I will have to constantly revisit.

However, probably the biggest obvious gameplay change in there is that last one, which frankly was a last-minute decision to add. (I have mused on the mechanic for a while, but made a last minute decision to actually include it now rather than later).

Basically the old game let you slap down a research office or marketing office anywhere on the map. The new game sets aside dedicated office space which cannot be moved or expanded. Nor can you build production stuff in there. It adds a new restriction on the game which may annoy existing players used to the free-form style of the previous version. So why did I do it?

  • Firstly, the  corralling of offices like this prevents ‘research spamming’. Essentially you could ‘cheat’ in the game by slapping down 30 or 40 research centers right at the start using a loan, and then splat through all of the research in record time. You then had an advantage over the AI, and could quickly start producing cars with high tech, and never put down a single production slot without access to a bunch of upgrades. I disliked the ‘spirit’ of this approach, and it seemed unlikely to be practical in the real world. You wont get financiers to back a 10 billion dollar car company that employs nothing but researchers. I like the idea of encouraging research alongside the game, not as a prelude to it.
  • Secondly it introduces some new difficult and strategic decisions. The layout of the factory is now slightly more complex, and the positioning and size of research centers is more tricky. it also encourages upgrading to more efficient research offices (space-wise) which otherwise had little to recommend them. Plus when it comes to expansion, it means you have another factor to take into account when choosing potential lots to acquire.
  • Thirdly it feels more ‘real’. In a real factory researchers desks are not next to car-body stamping machines, for obvious reasons. This makes the layout look more like a real factory and less like a game, which has to be a good thing :D.

Its always going to be difficult making a gameplay change during early access. So far I haven’t got any angry shouts at me, and we have over 20,000 players, so that looks like its a good sign. I *do* need to include a LOT more tutorial hints as to what is going on, as its not explained at all, but I think in the long run, the effect this change will have will be seen as positive for the experience of the game. I guess only time, and checking of forums, reddit, twitter and facebook posts (and blog comments) will really tell. I expected more outcry YTBH, so it seems things are going well (or people upgrading slowly :D).

In unrelated news my construction hat for my EGX booth is now here, along with Production Line stickers :D

Production Line Marketing: Balancing out the factors

Not marketing the game…but marketing *in the game*. As You may be aware, my car factory sim Production Line got its first taste of marketing as a feature in the last patch (1.26). The current setup is very simple, you can research marketing, then place down marketing facilities that generate ideas, but nothing else (yet). In the next patch, the games marketing system will be fleshed out more, introducing marketing campaigns which you can use to generate brand awareness. here is a screenshot of the resulting new dialog box:

This is all in, coded, tested, and works. So hurrah. SHIP IT.

Maybe not yet, as it requires balancing, and when considering how best to do this, I made the following list of potential balancing factors I should consider to get things right first:

  1. The research cost of marketing as a base research item
  2. The purchase cost of a marketing facility
  3. The running cost of a marketing facility
  4. The idea requirements of each campaign
  5. The idea generation rate
  6. The cost requirements of each campaign
  7. The effects of each campaign and the variability of those effects.

Obviously this is effectively a system of counterweights, where increasing or decreasing one will impact all the others. There are reasons for/against changes to any one of these. Ideally marketing campaigns last long enough that they are not too ‘needy’ in terms of interrupting the player. The effects should be noticeable and strategic, but not unbalancing or sure-wins. Marketing will work great as a mid-to-late game feature, so it shouldn’t be attainable too early. It should be something that requires an investment, but not a crippling one, and one that generates a positive ROI in general.

Thinking about the real world, a marketing campaign is essentially a fixed cost, one that you hope makes a positive ROI when spread over a sufficient number of sales. I would like to engineer a system that means it makes sense to run a $500k print campaign if you are selling 10X cars, but maybe not worth it if you are selling just 1X. To put it ion car terms, if you have a single showroom in one city, spending $500k to increase footfall in that showroom by 50% wont be worth it, but if you have 10 showrooms and 10x the potential customers, it will be.

Right now we have a system where there are 3 car body types and 4 price points, so 12 customer categories. Those categories have no fuzziness, so if I want a mid-range compact car, no amount of bargain pricing or marketing will change my mind on that basic fact (I may introduce some fuzzy logic to this later). What this means is, if I have a single car model, then 11/12 of my customers are wasted anyway…

With a general ‘brand awareness’ campaign (the only type I’m working on this month), it will not make any sense (hopefully) to do this for only 1/12th of your customers. In effect, I’d be generating even more footfall from people who come into the showroom and say ‘I keep hearing about positech autos, but they don’t make SUVs in my price range’. A waste of money… If I have a fully kitted out range of cars, that calculation changes.

Lets examine my test numbers:

A print campaign lasts 24 hours and costs $500,000 to run. It boosts brand awareness (and thus footfall) by (on average) 10%. Current footfall is 5 customers per ‘sales interval’ (which is 4 seconds, or 4/120 of an hour) That means we get (on average) 150 customers per hour, and this campaign will mean a bonus 15 customers per hour. 24 hours means a bonus 360 customers. This means its cost us $1,388 per customer through the door.

Assuming that we offer cars to 50% of the possible market (note not all of the 12 categories have the same market share), then we have to double that to $2,777 per customer. Assuming an average car sale of $20,000, we are selling cars with a 13% marketing spend. That actually sounds pretty reasonable.

Of course, the real strategy for the player comes in when they have cars piling up in stock, or not. When you have excess stock building up, you can ALWAYS shift them by dramatically lowering the price. The strategy will be in knowing whether or not it makes more sense to lock in $500k to bring in *more* customers to view those cars, or to lower the price.

I like the way this is balancing out, because without explicitly saying “this is a late game feature”, it becomes evidently true because its not worth advertising to the mass market without having a mass-market range. The real problem is how I convey that to the player. Player-feedback is something that production line is currently bad at, and something I need to work on. I could maybe have a pop-up from your head of marketing that runs through those numbers… a dialog saying “our campaign has resulted in X new customers, so $X per customer, but only Y% of them found a model in our range they would consider. Maybe we need to expand the range?”

As usual; in complex sim games, it becomes a case of 25% code the feature, 25% test the feature, 25% balance the feature, 25% explain the feature. I guess I’m half way there for brand-awareness marketing…

Deliberately frustrating fun

A lot of words have been written on the topic of flow in game design. Mentioned frequently alongside ‘mastery’, the general concept is that players enjoy a feeling of relatively stress free-calm travel through an experience where they encounter little resistance or setbacks, and preferably no ‘hard stops’.

With one aim of commercial game success being tied to keeping people playing longer (often because the highly connected gamer effectively ‘broadcasts’ their choice of entertainment to logged-in friends), creating and maintaining a sensation of ‘flow’ within the player is seen as highly desirable.

A typical game design that works well with this system is the match-3 puzzle game, or tetris. A never-ending game with a simple, but satisfying mechanic that rewards mastery yet will allow uninterrupted play in relaxed, stress-free state.  Such games can be very popular, no doubt very popular. Obviously, we have lots of them.

My latest game ‘Production Line‘ is a weird hybrid of two different design goals, to create a sense of flow, but to interrupt, pause, disturb and frustrate that flow, deliberately so as to create the endorphin rush as that frustration is fixed. Effectively what I’m doing to creating a design where the enjoyment comes not just from the state of flow, but the satisfaction and catharsis of fixing an impediment to that feeling.

Creating a ‘well-oiled machine’ creates a strong sense of satisfaction and happiness in many gamers. Its perfectly natural to look upon something you have arranged and see it work flawlessly. For some reason, this seems to appeal particularly to Germans. It also appeals strongly to me, I enjoy the sense of scale, control, to be honest- POWER that come from having built a large impressive, complex, working… *thing*.

But watching something you created do its job is only half of the pleasure. Something in our brains seems hard wired to want the next challenge, and the next, and the next. To this end, Production Line is designed as a deliberately unsolvable puzzle, an impossible balancing act. A simulation of a system so complex it has no practical perfect solution, only progress towards perfection, but no risk of attainment.

As a car-factory simulation, this feels both natural and believable. Producing something as complex as a car requires a huge number of tasks, many of which have dependencies, and none of which will take the exact same amount of time. As a result, regardless of production scale, bottlenecks are absolutely inevitable. Flow is impossible, a dream to aspire to, an unachievable goal, but one where the struggle to achieve the goal is nonetheless enjoyable.

I suspect that the general consensus of game designers is that frustration is the enemy of fun. Frustration is a negative feeling, and one to be avoided, but games balance out the good and the bad to achieve greater pleasure all the time.  The satisfaction of finally tracking down and counter-sniping someone in an FPS who shot you six times in a row is far greater than it would be without the frustration of being picked off by them again and again and again…

I’m sure some people will look at my best known game (the political strategy game Democracy 3) and my newest car-factory sim (Production Line) and think there is little in the way of a common theme, but in design terms there definitely is. Economics is a system so complex pure balance can never be achieved. Push here and the system pulls there, just like fixing a bottleneck on a car production line, or improving the effectiveness of a part of your fleet in Gratuitous Space Battles.

Positech. We make frustrating experiences fun :D. (Hopefully)

How to fix research in Production Line’s design…

Although in general I’m pretty happy with the design of Production Line, its clear that there are some issues with the way research is implemented in the game. Something I really like is the idea of a BIG tech tree, and players making decision as where to concentrate their resources in terms of competitive advantage. For example, you may focus on production efficiency, or maybe on product range, or maybe on costs, or on high-technology to making high-end cutting edge cars. Different strategies should work.

The trouble is, despite the big tech tree and different approaches, the research-choice decision (which should always be *interesting* as every decision in a decent strategy game needs to be), tends towards more of a nuisance in the late game than a joy. The reason is that research seems to get quicker and quicker, and the costs of doing it become trivial.

At the start of the game, I really need the player to be able to buy some research facilities, otherwise they cannot progress. The problem is, as we go from a tiny little factory to a big one, the cost of ‘one more facility’ becomes relatively trivial. Of course, I can make later techs more expensive in points to research, but you can’t go ‘too far’ in that direction without it automatically herding the player towards doing ‘lvl 1′ techs first and removing that initial flexibility. The flip-side is that if you *not* scale the tech costs, then later in the game, someone who has ignored a specific branch of the tree can normally just go click click click’ and research it in seconds. again: unsatisfying.

FWIW I note factorio has this problem to some extent too, although generally it works better overall because the mechanics of research there are way more involved, rendering the ‘cost’ of the facilities fairly minor compared to the manufacturing of tech ingredients.

Anyway, how do I achieve the following in my design?

  1. Make tech tree choice interesting from the start, with multiple paths accessible.
  2. Allow tech to continue to be researchable at a reasonable, but not annoying rate.
  3. Prevent tech-spamming where the research cost becomes moot.

I’ve mulled over a lot of possibilities. here are some solutions that I have considered, either together or separately:

  1. Have hard caps on the number of research facilities that can be built before some other (expensive) admin tech unlocks ‘advanced’ research, thus putting the brakes on research in the mid-game
  2. Have variable costs to run or buy research (probably let scientist wages rise as more are hired), making research spamming non-viable in the late-game.
  3. Allow research queueing, so that the player can ignore research for longer periods. (Not ideal, as each research SHOULD be a catalyst for production line and car model re-evaluation).
  4. Have different ‘types’ of research require purpose built facilities. Maybe design-related research requires dedicated design studios? Maybe super-high tech research requires very expensive dedicated and large labs?
  5. Reduce or prevent the immediate construction of any research facility, but require a construction or hiring people for staff. Maybe placing a research facility means it takes 3-4 hours before the staff can be located to fill the facility and start work?
  6. Maybe introduce licenses, or patents that act as gatekeepers for research. To research reversing cameras perhaps you need to license a patent for it ($400,000) AND then research it once you have put that money down.

The problem with 1) is it seems very ‘gamey’ and arbitrary, and not intuitive for the player to understand. 2) sounds like it would actually make sense, although I need a decent way of letting the player know about the changes. 3) seems a quality of life improvement in general, but its also treating the symptom (research-popups are annoying) rather than the true cause (research happens too quickly in the late game, and does not seem to have enough of an impact to demand attention.

4) is interesting, and certainly one I’m attracted to. I like the idea of having to place down a design-studio facility, and to effectively research car designs entirely separately. I like the idea of a purely ‘design’ based arm of research for stuff like interior styling changes, new paint colors and types, and so-on. It also seems unlikely that someone who helps design the tire-making press is also working on voice-recognition software.

5) Sounds like its acceptable because build times for facilities are quite common in games, but then how do I justify the fact that everything else in the game is placed down instantly?

6) Could be interesting, and probably plays into a wider revamp of the research system where I need research-pre-requisites not to be limited just to other research items.

I need to get this right, so I don’t want to rush into a solution. I also feel this post is way too designy, I haven’t even tried to pimp the game. QUICK! Add a steam widget!

Production Line: towards a better financial model

The hardest part of game design for Production Line has been the sales model. Not hard as in technically hard (frankly after 36 years of coding, not much is *technically* hard), but hard as in balancing the various needs.

The current system for selling cars in production Line works like this:

Each feature in a car has a ‘base value’, which is essentially derived from the resources and time/power/research required to make that component, plus a normal profit margin. That gives a value of say $100 for the feature, and if we include that feature in our car, we will get $100 for it when it sells, assuming we sell cars at a ‘normal’ rate.

If we are wildly profitable, more companies will enter the market and put general downwards pressure on prices, squeezing the profit margin thats considered normal, and forcing us to reduce prices. The reverse is also true.

The value of a feature decreases inversely with its ‘rarity’ as more and more competitors make that feature available. Some features (most) can eventually be considered ‘universal’. There is a multiplier applied to the final value of each feature based on how rare or common it is.

Finally, ‘customers’ appear on a regular basis and shop for cars. They have a probability based approach to buying. So a cheap car is likely to sell immediately, an expensive one will get passed over again and again until eventually a customer buys it.

So that is the current system as it stands, in build 1.22 of the game. Its not bad, it achieves a lot of my objectives. Competition acts a a balancing factor, research is incentivised, and mass market production means you need to lower your prices to compete. However, its not perfect because it assumes that basically there is just one model of car and one type of customer. This needs to be fixed.

My current thinking is that I need to reflect a number of new characteristics in the model:

  • Demand for your cars need to be scalable with marketing (not implemented yet)
  • There needs to be different overall demand for each body type (sedan, compact, SUV etc), which I can control with events.
  • The ‘rarity’ of features needs to be associated with final price. Everyone expects sat-nav in a $50k car. Not so much in a $10k car…
  • All of these factors need to be clearly presented to the player so that they understand how the market is working and WHY cars are selling or not selling.

So in other words, if our car showroom has a dozen SUVS where we set a 20% price premium, all of which have the rare and modern climate control, but none of which have electric windows, and competition from other car makers is currently extremely high, we need all of that to be displayed in a way that shows the player why its taking so long to shift those SUVs, and what they can do about it. The current system does none of this.

Also, because the game is in early access, I can’t just take months off to faff around, I need to make steady progress on this stuff. So with that in mind:

The current sales(showroom) GUI does nothing to show the level of price competition with other car manufacturers. This is already in the game, but not being shown. Maybe a pie chart or bar chart showing our current market share would be a good indicator to add to the showroom?

The number of customers who visit the car showroom that do (or do not) buy a car is also currently modelled but not shown. I should probably get some GUI added to reflect this, even if its just (for now) a percentage indicator showing the number of people who did/did not buy a car. (Plus I could also show the average length of time each car was on the showroom floor?

Once that is in the game, I can start thinking about modelling those per-body-style markets. This could be a multiplier that reflects the needs of each customer, so instead of being open-minded, they could now be SUV buyers or Sedan Buyers. This would allow me to show a breakdown of the visits to the showroom by each customer, and also breakdown showroom-times and sales percentages for each body style (or each car model) in an additional stats tab in the showroom window?

And then phase III would be modelling the different expectations of features on a car-price based model (electric windows expected on cars above price $X…). That would require a fair bit of internal code wrangling PLUS some fancy GUI changes.

Anyway, I’m interested to hear peoples views on all this, does this sound like its going in the right direction?