So I downloaded this game yesterday after watching Mangledpork’s let’s plays, and I have some thoughts. I suspect this might get wall-of-textish so I just want to say these are suggestions not criticisms, I understand it’s an alpha, and many many things are place holders. Also, I don’t know what Clifksi actually knows, so I’m not going to (intentionally) assume any subject knowledge.
This is what I was staying awake last night thinking about when I should have been sleeping.
It seems to me that currently what kind of car we are building is not really defined which is leading to some strange inconsistencies. Having a ‘base’ vehicle for the game allows for internal scaling. is a door a big door or a small door? “Big” and “small” are relative, and thus the base case becomes the reference car. Thus I suggest that the base car (at least for now) be the standard econobox that everyone makes. This is your Toyota Corolla, Ford Focus, Dodge dart, Chevy Cruze, etc, etc, etc, etc… They all have some basics in common; they are all four cylinder front wheel drive unibody four door sedans (variants excluded.) Car companies sell an assload of these cars and in many variants so it makes sense for this type to be the ‘reference.’ Vehicle. With few tweaks it describes everything from BMW 3 series to whatever POS KIA is offering today.
So If we are going to start with a Unibody (Monocoque in engineering terms) car, we will need to change some of the production order. It seems to me that the first thing that should be put on the production line is a vehicle order. Now, this doesn’t have to be from a customer or a dealer - you can have your own internal orders for vehicles to sell on speculation. However, by doing so you make it really easy to add orders from customers and dealers later. By going order first, we already know everything about the vehicle before we start - something that will come in very handy below. If you do it this way, every stage of production can check against the order for options meaning you dont need separate production lines for vehicles without bluetooth. It would be easy to add a time penalty for switching between options however. This would be a really easy way to pick colors as well. I envision that initially the order would be a physical thing in the game - a piece of paper that goes down the line, and then with upgrades you could change that to electronic orders to make things easier/faster. Another advantage of doing it this way is it would allow you to assign a unique VIN (Vehicle Identification number) to every vehicle you make. I can’t imagine the number of vehicles a factory will produce will exceed the 10’s of thousands, I wouldn’t expect this to impose technical or performance burdens on the game. A VIN has a lot of information, the who what when where of the vehicle manufacture, some of its major components (engine, transmission, fuel type etc) and the color of the vehicle, and then a few serialized digits for uniqueness. As far as I know most places in the VIN use full 0-9 and A-Z (less I (eye) and O (oh)) meaning each space can hold a good deal of info. There are long term benefits to having a VIN i will discuss below.
ok, so you have your order on the line. Currently the first step is axles and undercarriage. The Econobox has neither. A unibody vehicles is where the body components act as the frame components (this is how aircraft are built.) Cars have been built this way sense at least the early 80’s. Front wheel drive vehicles do not have solid front axles, and rarely have solid rear ones (the ride is worse). Regardless of this, you certainly would not want to paint an axle so it would be added after paint. So the current first step would be removed. The first actual vehicle component should be the roll cage, and then the body parts added to it. If we have an order system, we can make variants easily in this step. We could do things like a 3 door (a hatchback coupe) or an actual hatchback,or Wagon(estate) - (the difference is semantics) all of which would change which body parts are added at the stage, but because the vehicles are fundamentally the same, they can (and should) be built on the same line.
This is a good spot to talk about the idea of component size. If we give each component a size, small, medium, and large, should suffice then using the variants becomes even easier. A standard sedan(saloon) car has 4 medium doors. A Coupe has 2 large doors. Want a funky back seat suicide door? thats a medium and a small on one side. if you do this with most of the parts, you get a lot of complexity without unwanted minutia. It will also make it easier to go to other vehicle types. Build a larger family sedan? Just go up by one size in all the parts. It does occur to me that if you do this, it might make sense to revisit the raw resource rates. if you did something like multiply the use of raw resources by 10, and divide the cost by 10, a medium door could use something like 10, while a small could use 7 and a large could use 15, or whatever works best for game balance.
Another aside. It took me a bit to figure out what some components where. This game might end up needing an British English and an American English localisation. What you call arches we call fenders, or quarter panels.
Alright, moving down the line, next is paint, which seems to be sensical. The note I would make is that with an order system, it would be easy to add premium paints as an option (and a research) to create higher cost variants.
Next is Engine. This should be called Powertrain because it’s more than just engine. Now, the current list of parts we use to build the “Engine” looks like a random list of stuff from a auto parts catalog. It’s got some minor parts, but totally misses critical ones. In most cases, the engine is treated as a discrete unit; you build the engine and then put it in the car, not build the engine in the car. The core part of the engine is the block - a cast piece of steel or Aluminum. As casting is a serious process requiring a foundry it’s not small step to make. However, for the game adding a foundry to cast your own blocks would be a big step, and a cost saving one - many many game play opportunities in this part of the line. The next parts that are critical are the Crank shaft, and the pistons. I think we want to actually have these parts because once you have the three of them (or 2, without the Block, but it’s such a complex part that it would be a shame game wise to miss it) you know the engines displacement. This is very important for calculating the power of the engine, and its RPM (rotations per minute,) for that power. Eventually you could go as far as having power curves calculated each time a new engine is designed - but thats a ‘down the road’ thing. It seems to me that it makes the most sense to use real-world based math to calculate the engine power because it makes it more future proof - if you had some kind of arbitrary system, future expansions might break it. This brings up the idea (which i assume is on the ‘to do’ list) is sub assembly lines. the engine production should be its own line, and the engine is installed as a unit, regardless of whether or not it was made on site, or imported. Many manufacturers use the same engine in different vehicles, and having it as a discrete unit would make this easier as well.
The next component we should discuss in the powertrain is the Transmission. Currently, there is not a transmission in the game, which is weird (to me, at least.) We have a “Flywheel” which could be easily renamed transmission. This is another place for lots of expansion options as there are many transmission options. Manual or automatic? how many gears? Between the Engine power and RPM, the transmission gear ratios and, (because we know everything thats going into it from the beginning, we know what it will weigh,) the vehicle weight, we can calculate some basic vehicle performance stats. Power to weight ratio, top speeds, fuel economy statistics etc.; all of which can then be directly used by the marketing and sales systems. Also, Front wheel drive vehicles do not have drive shafts as such.
I’ve covered most of the steps thus far. the only observation I have left about the steps is that Please, for the Love-of-Engineering, can we please, please put the brakes on before the wheels? (oh, and also, because we know vehicle weight, we can calculate stopping distance for different brakes, allowing more options for vehicle differentiation, and research.)
I wanted to get back to the VIN thing. a VIN allows you to track the vehicle through its whole life. Now It would not make sense to do some kind of full simulation for every vehicle off the line, but you could certainly consult the RNG god. if you have quality factors involved in the production, they could affect this process. Then you would have an idea of the life span of each vehicle and how it died. This would be important for a manufacturer’s reputation. If they are turning out crap boxes that break all the time, it’s going to hurt the companies rep. You could also use this to factor in warranty coverage costs. The flip side, if vehicles last for ever, a reputation for that is worthwhile as well. If the vehicles are unsafe and get into a lot of accidents (see all the safety features and brake stopping distances) a rep for that is also worthy of keeping track. A few tables and a few utterances to the RNG god would sort that all out, and could be part of the export procedure.
I have more. But this, I suspect, is enough for now.
Christopher