ACF icon indicating copy to clipboard operation
ACF copied to clipboard

Engine Designer

Open Fervidusletum opened this issue 11 years ago • 7 comments

Making a dedicated topic for the Engine Designer; moving it out of #42. I'll probably have a lot of questions on balance once I get started.

Inputs

  • Cylinder Arrangement
  • Fuel type
  • Torque
  • Powerband Locked by divisor, 1.6 for petrol, 3 for diesel. Divisor means the top of the powerband divided by the bottom of the powerband. You would set the engine's powerband within the engine's available RPM range based on its fuel type/displacement. For example, if you have set a motor to 100nm, it would probably be around 0.75-1 liter based on your piston arrangement. From this, the engine will display its maximum rpm possible, we will say 10000 (gasoline engine). From this, we will be able to set a powerband from a minimum above idle rpm (this modifier will be based on fuel type; higher for gas, less for diesel) with a divisor of 1.6 (gasoline divisor). If we wanted a torquier engine with low range power, we would set the powerband min to 3100, and the peak to 5000. 5000 / 3100 is roughly 1.6. This kind of engine will obviously suffer in horsepower. The powerband minimum, again, will be dictated by a minimum based on the fuel type and displacement. For instance, since this example engine is gasoline and probably around 1 liter (100nm input torque), the minimum powerband rpm would be between 3-5k rpm. If this engine were 1000nm, and 10 liters, it would probably have a minimum of 1500 rpm (while a diesel may be 700 minimum) Basically, whatever point in the engine's available RPM range you set the peak min/max will determine how much horsepower your engine develops, its weight, and flywheel mass. The larger an engine is in displacement, the lower amount of available RPM range. So, you won't really be able to make an F1 engine out of a 20 liter motor.
  • Sound
  • Pitch Modifier

Output

  • Displacement based on input torque, cylinder arrangement
  • Idle based on fuel type, displacement, and slightly modified by the powerband, so high revving motors will have a higher idle.
  • Redline based on displacement, cylinder arrangement, powerband maximum. if the powerband maximum is already reached by limit of displacement, then the redline will end there. Otherwise, the redline will most likely be between 1 and 2 thousand revs above the powerband peak. This will be based on displacement/arrangement, etc.
  • Flywheel mass Based on displacement/fuel type/cylinder arrangement. For example, a single or twin cylinder engine would require a much heavier flywheel than an 8 cylinder.
  • Power this is a product of torque and RPM. It will also be modified by the cylinder arrangement to balance engine types. For example, a V6 engine is supposed to be more torquey than an inline 6 and boxer 6, but produce less horsepower. So if there is an I6 set to 500nm and a V6 set to the same, the I6 should produce more horsepower, but the V6 would be lighter, and lower displacement.
  • Engine weight X amount of KG per liter of engine displacement modified by fuel type
  • Engine model size

Most of the modifiers will require a lot of fine tuning to get everything balanced, but it can be done.

Balance example

Remember, acf is centered around carbureted gasoline engines and the tech of the 30s-60s, not modern engines. Inline 4 vs V8

Both engines 500 NM torque, same power output, low-range power build

I4 would be defined around 7 liters V8 would be defined around 5 liters

I4 would be natively heavier due to cooling and structural requirements (heavier flywheel to balance etc) V8 would be lighter

I4 would be smaller (this is important to combat vehicles) V8 larger

I4 would require a lower powerband to create equal torque V8 wouldn't need such a low powerband to develop the same torque (less work))

Other Thoughts

I believe someone mentioned that engines created with the designer should have a slight power advantage over the current "premade" engines.

Fervidusletum avatar Aug 15 '13 00:08 Fervidusletum

Excellent

generalwrex avatar Aug 15 '13 01:08 generalwrex

May be able to use http://wiki.garrysmod.com/page/Entity/SetModelScale http://wiki.garrysmod.com/page/PhysObj/GetMesh http://wiki.garrysmod.com/page/Entity/EnableCustomCollisions to scale models to a custom size.

Fervidusletum avatar Aug 18 '13 18:08 Fervidusletum

My bad was trying to cancel a comment, lol

generalwrex avatar Aug 19 '13 17:08 generalwrex

:D

Amplar avatar Aug 20 '13 00:08 Amplar

How is this project going anyways? It's been awhile :)

generalwrex avatar May 14 '14 22:05 generalwrex

I've had this on the back burner for a while, though I plan to implement it at some point.

On May 14, 2014, at 3:35 PM, generalwrex [email protected] wrote:

How is this project going anyways? It's been awhile :)

— Reply to this email directly or view it on GitHub.

Fervidusletum avatar May 15 '14 06:05 Fervidusletum

Is it still on the back burner? ;)

generalwrex avatar May 12 '16 18:05 generalwrex