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?

 

 

13 Responses to “Production Line: towards a better financial model”

  1. SlimNasty says:

    Not to throw another curve ball in, but there is another factor that plays a huge part in car pricing which is apparent in the Motor Industry and that’s one of Quality. Higher quality brands like BMW, Porsche, Jaguar etc demand higher prices.

    This can be done in a number of ways, initially these brands would spend more time and money in development into the engineering of their vehicles something which is kind of reflected in the research tree, but once this is completed is then not a factor. Each part has a standard time to research and therefore doesn’t set itself out for quality options, currently there is no way to spend more time researching the part to make it a higher quality then say you competitors. Something I feel would add more depth and challenge to set yourself apart from your competitors. How you would then reflect this in the competitors would be even harder to code I’m sure, but more realistic. It maybe could be tied in to a system on how you play the game too, like Easy, Medium or Hard, the latter would add in the ability to adjust the amount of time spent on each development.

    Also Quality control could be overhauled in a similar manor so that the more time a car spent in there looking for imperfections the higher prices could be demanded as you’d be making more of a prestigious vehicle. You could add in options here and after paint to do certain tests, although you would need to research a little on which tests would be applicable.

    One thing I could never understand with Quality Control is that all the cars seem to pass, none are sent back down the production line or either to an alternative area to be corrected, is there some code which affects the sales for bad quality cars in there, or is this just a time penalty at the moment?

    Anyway hopefully some of these ideas may help, or hinder you for the development of the title :-)

  2. cliffski says:

    Yup at the moment QA is just a time sink, but that will change. I already have(Or used to…may have just removed it) a field in the car details that shows ‘brand boost’ and ‘quality boost’. I absolutely intend to make it viable to build a rolls royce quality brand, or a cheap metal box band-em-out-ans-sell em brand instead.
    I think that we could definitely add some researchable / upgradeable options to the car finish, currently we only have ‘leather interior’ whereas obviously some cars go to town with footwell lighting, and hand stitched leather thingies and so-on…

  3. OZ says:

    Hey there Cliff,

    Love your work, the game is going really well.

    I think your initial idea of a pie / bar chart is good. This is used a lot for management reports in the OEM world of the auto industry to provide a quick snapshot of what is going on in the market. The basics that you would want from an information perspective to be presented to the player would be two graphs per vehicle type (let’s call them segments from here).

    1. Market share graph of own / competitor company. I’d generally present this as a line graph for historical data or a pie chart for static data. I’ve always preferred the line graph as it shows you trends emerging within the segment although when you have a lot of competitors they can tend to look a little messy.

    2. Total market size per segment. Generally presented as a bar chart. I think it’s important to have both so players don’t fall into the trap of chasing market share of a tiny market. This graph would also be the most important for players to be able to recognise shifting trends in the marketplace regarding customer tastes for which segment they wish to purchase into. Perhaps you could also pair this with a Total Vehicle Market pie chart that shows the segment splits for the market (ie 25% SUV, 35% Hatch, 40% Sedan). It can be hard to know how many to include I guess haha. I think you’re on the right track regardless.

    Ideas for Future Challenges of Sales & Marketing.

    Dealership Network.
    Although it makes things possibly a little more complex, the majority of vehicles are sold via a dealership network (be that privately owned or owned via the OEM manufacturer with many taking a mixed approach). Having a sales force on the ground is not something that can really be substituted by that many other approaches. So how you would simulate this or take it into account I am unsure. From a financial perspective the basics of it would be that you make more money from the sale of a vehicle via a factory dealership than a private one (Specifically you retain more revenue). From simulating a dealer network I guess you could have a map system with defined territories where the player / AI can build / appoint dealers with each of the territories having separate market / segment demands (ie metropolitan areas will probably have a higher demand for hatch backs than a rural area). Obviously this could be difficult to simulate but from a sales and marketing management perspective from an OEM standpoint it is probably a more realistic approach.

    Marketing & Branding.
    As you’ve already said, marketing would have to have a multiplier effect on the sales probability decision of the customer. I would propose that this has to have a staggered effect or delay between investment and reward. The same would be true for removing marketing investment. I believe that this would more accurately simulate how the automotive market behaves. Quality could also feed into this from a sales perspective.

    Warranty & Quality
    Quality obviously plays into the purchasing decision of a customer for a vehicle. Likewise, as does warranty coverage. Perhaps based on your vehicle quality score, from a sales perspective you could add say 1-7 year warranty with the cost of said warranty (to be determined by a multiplier against the quality score of the vehicles) to be incurred over that time there by creating a more realistic need for quality improvements.

    That’s pretty much all I’ve got at the moment. Happy to discuss ideas further, this is a great project that is going really well!

    Cheers.
    OZ.

  4. Alan says:

    One possible avenue of feedback is “Why customers decided on a different car.” When I bought a new car a just a few years ago, several of the dealers I visited called up a week or so later to see if I was still interested. When I said no, they asked what I did buy (and perhaps why?). And, of course, the information could be supplemented with active polling research.

    I’m imagining something like:

    17% of people who viewed this model purchased one.
    Those who didn’t purchase said:
    ????? 52% It lacks power steering.
    ????? 38% It lacks a sunroof
    ????? 27% It was too expensive
    (Percentages do not add up to 100%, as a given customer may have multiple complaints.)

    • cliffski says:

      Indeed, I have been thinking about doing this, as I have that information to hand already in the games code, maybe a ticker showing customers scrolling by and what their purchasing decision and reasons were?

  5. Alan says:

    Pretend those ????? are a little bar graph.

  6. Jeff says:

    Cliff, love the game; keep up the good work.
    As an advanced feature, have you considered “pre-orders”?

    The current model is based on purchase of already manufactured vehicles, however many new cars are made to order with a set of chosen options. Inclusion of this would add an extra complexity from a manufacturing point of view, as for a given model, different options may be applied to meet a customer requirement. There could be time based restrictions on delivery (i.e. build takes too long, order cancelled), but completion of the order would demand a higher premium.

    Thoughts?

  7. Shank says:

    It would seem that the speed of the game needs to change in order to take advantage of more complex financial mechanics. Cars are seasonal items. Boom and bust cycles. With the current build of the game it takes a long time for an hour to pass, and at normal game speed a 24 hour day is extremely long. With the current pace of the game, we research and have in the showroom many new options within just a few days from the start of the game.

    Instead, each movement of the conveyor belt should be 1 hour(maybe even 1 day??). This would mean that each car icon on the conveyor wouldn’t represent 1 car anymore, but the cars per hour. The time needed by slots would need to change from mins/secs, to cars per hour. With time moving forward at a faster speed, this would allow for seasonal cycles of customer demand.

    Daily sales of cars could be determined by what day of the week it is, what’s the weather doing, is the economy in the tank, advertising, bad PR, reputation, Reliability ratings(Quality), Seasonal/Monthly cycle, etc….

    Research timelines would be more realistic.

  8. E&B says:

    Well just dont forget to add some degree of unpredictability (randomness) to demand.

  9. Bernard says:

    Value does not decrease inversely with rarity, but rather similarly. You maybe wanted to use ‘commonness’, although stripping the double negation altogether might be the best option.

    As for providing advice to the player, I think cost and guidance should be 2 separate matter.
    A costy addition is neither good or bad, or both, depending on the circumstances. Hard to highlight anything when trying to explain why competition is winning over him.

    On the other hand, you could have a ‘points’ system used when evaluating a vehicle and comparing it to something else (other own ranges, competitors products, etc.).
    Attractiveness, high demands, everything making consumers wanting to buy the product would generate positive points (scale the value based on consumer priorities/awareness).
    Repellants, low demands, ‘commonness’, etc. would generate negative points.

    That would help to:
    – synthesize against which other products a specific one wins/loses
    – have immediate comparison between the same feature in 2 different vehicles (satellite positioning might be seeked for in SUV, but not in city traveling cars, thus having a positive score contribution for SUV and a negative one on city traveling cars because of the cost of the feature badly impacting the one of the car, thus its price)
    – allow to compare all the features provided on one side of the comparison but not in the other

    You would then show all that in reports, as it is done IRL, only better because they would be, by design of the game, tightly connected to the information source, thus accurate and real-time, rather than IRL massively overused yet totally ineffective/hard-to-maintain/non-understandable/nightmarish spreadsheets…

  10. Greg says:

    It seems like you’re proposing to tell players how their sales are going, which is fine, but why not show them as well?

    Have a literal showroom with a representative cross section of your vehicles. Customers come in, look around, and some of the leave, and some of them drive off with a new car. Each customer has a tooltip showing what they’re looking for in a car.

    • cliffski says:

      Oh absolutely I would LOVE to do that, in the long term, as its lots of GUI work, I just want to prioritize the games core mechanics before doing stuff like that. Right now the game definitely lacks character, but it will come :D