So, considering engineering costs across families will be more limited, we’ll want to reuse the engines families we make as much as possible.
Now if we’d want our lightweight sports car’s V6 to work with that hatchback to make a hot hatch, we’d first have to make the hot hatch (possibly in transverse placement) before making the sports car, or to make sure that that i4 family you’re about to make fits into the smart body aswell, or to make sure that the V12 from your GT fits the luxury car too, etc.
In short: being able to select another (smaller) body and engine placement would enable us to comfortably max the size of the block without building the smallest car first, with automation taking the smallest sizes of both current and selected engine bay. Being able to select multiple bodies and engine bays would be even better, but I imagine that would be a proper UI nightmare
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.
Yeah, at some point we have to make a cut and say that it’s your responsibility to plan ahead it would indeed be pretty difficult and potentially confusing to have several engine bays selected at once, hard to do too with a lot of testing and maintenance issues. Also consider that in order to know if an engine fits you need to know both engine orientation (transverse / longitudinal) and drive type (FWD, RWD, AWD, 4x4). So unfortunately we have to say no to that!
Idea: Just show a pop-up window on each body style available that states the maximum engine dimensions. Then you could see from the given measurements if your engines will fit or not.
No, you wouldn’t be able to tell that… if it only was that easy. Like I said: “in order to know if an engine fits you need to know both engine orientation (transverse / longitudinal) and drive type (FWD, RWD, AWD, 4x4)”
I like the thought of the game telling me which engines will fit into my cars, but I don’t think it needs to be as complex as adding UI checkboxes or additional information, per se.
What if, in the drop down list for engine families, it would only list engines which will fit in the currently loaded bay with the currently loaded configuration? Obviously, if no engine bay is selected (as in the engine designer by itself) it would show all engines loaded in the game folders. Alternatively, the game could show us the calculated bay dimensions so along with engine dimensions we can determine before attempting to load an engine if it would fit. Sometimes, only using a 2nd or cloned trim so far, my game crashes when an engine is loaded which is too large for the current space, popping up a UI error no matter which engine I attempt to load next. I usually end up deleting the new trim to make it behave again. Are either of these options remotely possible?
Interesting stuff to see behind the scenes.
That is so neat can we have a go? j/k