Mon Jan 18, 2016 9:07 pm by Madrias
My thought on the idea would be a two-part strategy.
First, let us pick our engines out of the list, like we already can do, but have some options.
"Show Engines that Will Fit" - Obvious. Engine, in current production, that fits just fine. Includes Variant sensitive sizing (turbos, fuel system, exhaust headers)
"Show Engines that Can Fit" - Engine, in current production, that will fit with a new variant. Choosing it will automatically start you with a new variant.
"Show Engines in Use that Will/Can fit" - The above two options, but showing only the engines that are used in at least one other model or trim.
Second, if we're building two or three cars in a model year, and they all share an engine, we need some restrictions on engine size modification. I see two possible solutions, one easy-to-implement and highly restrictive, the other hard-to-implement, but allowing greater freedom of modification.
1: If the engine has been installed in another car, simply lock out the Engine Family tab like having multiple Variants does.
2: If the engine has been installed in another car, use the engine-compartment-size from the smallest vehicle the engine has been installed in as the restrictions.
Now, that's just for the Engine Family. Variants, as mentioned in the first part of the strategy, need to be handled separately. The idea being that, perhaps, the Engine Family takes a 'snapshot' of the smallest possible assumed size currently available for the "Will/Can Fit" check. (effectively, if you've just made a, say, 4.2 liter V8 in 1980, the 'snapshot' will pick the smallest available parts for a "Can Fit" check, while a "Will Fit" check compares to the Variant instead)
The idea being that, no matter which order you build your cars in, eventually you'll have a list of engines that can be worked with, and an auto-sort that pretty much filters out the obvious "No Way That Will Fit" engines. Like trying to fit an 8 liter V12 into a Kei car.
Another possible addition to the "Can/Will Fit" check would be a "Might Fit" check. Essentially, the idea would be to tell you that, while this engine doesn't currently fit with the options available right now, after some advancement, you may be able to fit that engine in the car. Effectively, this is for early gameplay, when you're starting off in the 40's and 50's and 60's, where all you have are these big, obnoxious carburettors that need miles of airspace above the engine. It'd tell you that, sure, this engine won't fit with the tech you have right now, but once you get (insert fuel system here), it might fit. (the 'might fit' part being that at least one combination of components from the whole list of parts will work.) Obviously, once you've got all the fuel systems unlocked, the "Might Fit" checks won't happen anymore.
Alternatively to the above ideas I've had, possibly allowing us to choose a car body and layout for a "car #2" would go a long way for compatibility. Effectively, letting us have a guaranteed "This engine has been designed to fit in both this executive car and this hot hatch" setup.
Another strategy, though this has to be done by the player themselves, is to have a bunch of what I call "Common Blocks." Basically, it's a bunch of go-to engines for everyday use. 1.6, 1.8, 2.0, 2.5 liter I4, 2.8, 3.0, 4.2 liter V6, 5.0, 6.2, 7.0 liter V8. Stuff like that. Have stuff set up to where you've got the opportunity to use specific technologies. (an example in the above is that my 1.6L i4 has VVL, but my 1.8L doesn't, or that my 2.8L V6 has VVL while the bigger counterparts don't, or that the 6.2L V8 is a Flatplane in Aluminum compared to Cast Crossplanes) Build those common blocks and you'll do well.