Overhaul how the Engine customization works.

Discussion in 'Ideas and Suggestions' started by Dr. Death, Oct 5, 2018.

  1. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    I want to make right now a warning for a long read.



    As you know, the way engine customization worked in BeamNG has gone through a few iterations, from requiring a heavier clutch for some reason to make more and more power through having the turbo magically increase the RPM limit to today's system in which you can modify the engine internals to suit your need. However i think that the game could go for a little bit more of realism without sacrificing ease of use.

    My idea isn't too complex, really, i am not asking to go for full SLRR type simulation of each part, but i think it would be nice to see a few things here and there.

    ECU

    Small things like having an Air to Fuel Ratio that the customizable ECU would be able to touch, or to be able to modify the Idle RPM, etc. Small easy things that dont reach Automation-level of complexity but would really be nice. I dont think that its necessary to get into stuff like ignition timing or injection timing at all (although to be able to set launch control, custom made TCS, and Anti Lag through aftermarket more expensive race-tier computers would be a nice detail)

    Internals

    One thing i do really want to see tho, its to be able to modify the internals and the valvetrain of the engine separately. I, again, dont ask for too much complexity, but having to pick between reinforced internals or high revving valve train doesn't make much sense when in real life you can have both at the same time.

    Granted, technically you would start to have conflicts when you need internals so reinforced that they start earning weight, or when you want to increase stroke to increase torque down low you are gonna have a harder time to increase the RPM limit, but other than in those very specific cases, you are more than able to buy reinforced lightweight super expensive cranks, conrods, and pistons to pull a Supercharger level 3 and mix it with heavy shots of N2O and THEN add a high revving valvetrain to make an OHV V8 reach 7 000 RPM.

    It would allow the players to have even more customization to play with power and settings, and when the career mode comes out, you can do like in real life and have everything, specially the high revving heads, be prohibitely expensive to buy for an engine.

    Torque Curve

    Another minor complaint of mine is that the torque curve is set automatically when you put a "high performance" or "high revving" engine tune. I wont be asking for much more specific, but sometimes i want to modify the torque curve of the engine separate from making the engine rev higher. Say, i want to get the Covet to reach higher power in the high RPM without using a high performance heads that would make it rev to 8k or 8.5k RPM. For this i think either a slider or a drop down option to pick between low, medium, medium-high, or high RPM cam profiles would be enough as far as interaction and customization goes without getting to be too complex.

    But i am not dumb enough to not see the issues with my own ideas, the separate internals from valvetrain options dont seem too hard to integrate, but i do realize that the torquecurves on the stock cars are made by hand individually, and that having to let the user decide his or her own torque peak would mean that you would have to draw too many torquecurves for every car or to decide to use a dynamic engine graph, which would be too hard to code at this point, so i think it would be the least feasible out of all the features im suggesting right now.

    Fuel Injection

    This is probably the smallest complaint, but its somewhat present. I think that Intake options and fuel systems should remain as different modifications for the engine. While its not common, i've seen and i know its possible to make turbo charged carbourated engines, or Turbo Fuel Injected SOHC cars, while (IIRC) the Covet only allows you to use a turbo in the DOHC fuel injected variant, while it doesn't support a carbourator in the DOHC head at all, or in the V8 american cars, it seems that whenever you bring out the Torque Curve App and check the N/A vs SC graphs, it seems that the supercharged is always placed on top of the two-barrel carb, instead of the better more powerful 4-barrel carb, which could probably increase the power somewhat more.

    Regarding superchargers in V8s, i dont know how many people agree, but i would love to be able to pick a bug catcher without having a supercharger installed, or having a supercharger level 1 or 2, or to have a few different bug catchers to pick from with a supercharger (like the two you can see in GTA V, for ease of example, the ones with red circles or the all-hole one, and i call them like that because i dont know their names)

    PS: More interior customization would be great, having to pick between stock to bucket seats is fine, but it would be really nice to be able to pick between different gauges, dashboards, gear shifters, or be able to remove most of the interior for the race cars.
     
    • Agree Agree x 2
    • Like Like x 1
  2. Sithhy™

    Sithhy™
    Expand Collapse

    Joined:
    Apr 5, 2017
    Messages:
    3,345
    So you basically want SLRR levels of engine customisation? :p
     
    • Like Like x 1
  3. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    Har Har Har.

    Still, it would be nice to pick a drag barstow and put in a 500kw shot of N2O and see how much power it can make.
     
    • Agree Agree x 1
  4. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    Im sure i will get more replies soon.


     
    • Agree Agree x 1
  5. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    When you say ECU or Turbo tuning, but don't want it to be too crazy... are you referring to something like this?

    (start at 30 seconds)


    Because that's about as simplistic as you can get without going too nuts. Heck... in this your just like, "give me some power here and loose it else where." That's about as simple as it gets...
     
  6. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    Not a bad idea. Although i thought that it could be a slider of the intake valve timing, in which depending on where you set it you will have power peak at different points, and something similar with the exhaust.

    That way we can reach crazy high power with a stock revving engine.
     
  7. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    What do you mean, "reach crazy high power with a stock revving engine." I don't really follow how you would create crazy power on a stock engine by just changing the ECU program or the cam timing. There are many many MANY different parameters that need to all be adjusted in unisun to compliment one another before you can end up making "crazy high power."

    Anyways, what it sounds to me like your asking for more than anything is a more comprehensive engine simulation. Right now we (the creators) input the engines torque values, and then the game just regurgitates those values when we load the file. What it sounds like your asking for is more of like an engine builder where you specify things about the engine (eg... bore, stroke, # of cylinders, so on and so forth) and then have the game generate it for you.

    While that would be cool, at the end of the day, the game would still just be generating a torque curve just like it runs off of now, except it would be using a ton of math in order to do it rather than us just putting the numbers in ourselves.

    While fun, that is a ton of work... either in creating all the torque curves, or in creating the simulation. I have actually done both, so here is my input on it.

    With creating all the torque curves, mostly the biggest thing is just entering them all in game. If you go have a look at the Vendetta, I created the customizable engine of that car. there are 2 different options (I think if I remember correctly) on each level of part placed in that engine. That doesn't sound like a lot, but that... even only being 5 levels deep with only 2 parts per level, meant that I had to create 64 unique torque curves for that engine. No small feat mind you...

    The way that I managed to do that (even on my crazy tight schedule) is that I created an engine simulation in Excel. It can calculate the entire torque curve of an engine with only a few of the specifics for that engine, then actually run a simulation for the 0-60 or 0-100 time (depending on the units you specified). This was a rather simple engine simulation which used a lot of cheating, so I then started from scratch (on another sheet... I didn't just scrap everything) and have been working on a full blown simulation inside of Excel that DOESN'T do any sort of cheating.

    On that simulation I am calculating the pressure and temperature inside each individual piston every half a degree of crankshaft rotation. It is mindlessly complicated and when I actually run the simulation (I have to calculate each RPM individually the way I have it set up, so I created a button macro to do so with just one click) it will actually lag my computer as there is so much insain number crunching going on... granted its not perfect yet. That second simulation can't do boosted cars yet (well... it can.... but I can't simulate how that boost is built yet... I can only change the atmospheric pressure at the intake and fake a constant boost) and can't do different kinds of fuels yet.

    What it can take into account, though, and (mostly) simulate correctly is bore, stroke, altitude, AF ratio, ignition timing, intake cam lift, intake cam duration, intake came phaze, exhaust cam lift, exhaust cam duration, exhaust cam phaze, valve size, number of valves, compression ratio... and honestly a host of other parameters.... Honestly... it's not done yet, so it does have some issues sometimes, but it is getting there... heck... its pretty good seeing as I only created it in my spare time (not tooting my own horn or anything... I am just surprised it works at all)
     
    • Agree Agree x 1
  8. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    Then even after you get turbo modeling done and all that, there is challenge of get it exported to BeamNG so that you get actually correct power, which is not quite as simple as one might think.

    Turbo efficiency of 1 should result certain percentage of increased power, however despite all my best attempts it is not really working so, there is some variable that I have not been able to figure out, despite having boost pressure correct in game, power is not ending up to what I calculate in excel, using as much of same formula as I have observed from LUA, there just is something and nobody seems to know what, that can make huge errors possible.

    Turbo torque curves are notoriously difficult to get right in game, but then again I have been attempting to calculate NA torque curve from turbo torque curve as that really is only way to get correct torque values to be used in jbeam, except nothing seems to work.

    Then trying to do all that with tens of different torque curve manipulations, things will get quite labor intensive.



    I don't know if adding multiplying etc. of torque curve is already in game, some of that was added to variables already, but not sure if it is added already for torque curve. It might simplify things a bit and I remember there was some talk about it coming maybe, so you could add cam timing +5 and you could use expressions to modify each rpm bin or something like that.

    It might be thought that in a future more engine customizations becomes more feasible with such expressions.
     
    • Agree Agree x 1
  9. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    Oh yeah... that's very true... I guess with my method (not trying to calculate backwards and build a suitable turbo and NA curve) I would probably have to run the engine NA, get the curve, then export the turbo... granted a lot of experimentation will be needed to know how exactly to set up the turbo to make the jump from real life into the game.... on the other hand... I feel like you have already done most of that experimentation.

    That's a good point. Was that actually added yet? I guess you could build an equation for each of the rpm values on the torque curve (like I have in my Excel sheet... well... with my older, simpler simulation) and that could really let you go nuts with stuff... but I don't know how the game would handle having to recalculate all of that each time you reload the car... I feel like that would be adding a lot of unnecessary calculations to something that really doesn't need any more calculations weighing it down.

    The plus side to that I guess is that it would only calculate on vehicle refresh... once the vehicle was already spawned in, it would operate just like normal... so perhaps it is possible to do.
     
    • Agree Agree x 1
  10. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    6,782
    If you change exhaust, whole tree is currently read, then torque curve is generated, difference would really be that instead of riding exact value, it would be reading multiplier or something like that, adding things up, it would be quite simple as it does not need to go to great lengths simulation gas flow etc. It is similar if you change camber adjustment and hit apply, whole jbeam tree is walked trough and that new value is just added to node's coordinates, adding negative of course subtracts.

    It probably would have surprisingly small impact to performance of car loading as it will read all those thousands of lines anyway, doing such simple math is probably just few milliseconds.
     
  11. Dr. Death

    Dr. Death
    Expand Collapse

    Joined:
    May 12, 2016
    Messages:
    1,963
    Yes, i AM aware that the engine cam timing would be probably the hardest part to get in the game since it would mean the devs would have to add torque curves individually or set up a way to dynamically do them, which is why i stated that it was the least realistic feature.

    Would still be nice tho, not in the sense of "if they can add it it would be nice" but that it would be nice that they could stop working so hard on realistic torque curves and let a dynamic program (a lite version of automation?) do it for them.

    The main issue with engines that have or dont have power in the high RPM, at least in petrol engines, IS the timing of the intake and exhaust valves, yeah, the valve lift too, but you cannot modify that without VTEC or adding new cams. If, lets say, you are given a DOHC engine, and your computer can magically adapt to any fuel flow given, which means that as long as you dont turbo a car you are allowed to run the stock ECU and gain power over factory stock, adjusting the cam timing to have increased intake opening time, or to have them open earlier, will mean that there is much more air flooding the cylinder at high RPM. Mix that with opening the fuel injector of that cylinder for a little bit more and slightly advanced spark timing and you ARE given more power than factory stock over that RPM.

    When i say "crazy high RPM" i dont ask for the covet 1.5 to do 200hp at 7k RPM stock, but what i mean is that sometimes i yearn to get an engine that can have power in N/A form in the high RPM powerband (since most stock engines have the RPM drop hard in the last thousands) without having to pay a ton of money for high revving valves, springs, lobes, etc. that would also increase torque in the high end of the RPM on top of adding more RPM to play with safely.

    In case you are given a car IRL, your own custom ECU, and you know how to adjust the cam timing, you can easily make much more power with stock rev limiters at the sacrifice of totally hogging the engine at anything below 4k RPM.


    Of course, there's other issues IRL too, like oil pressure, coolant, making sure all sensors work at high RPM, metal stressing, and so on, but if we want to have a representation of this sort of things in beamng, we can ignore this.

    Again, the least expected thing to be added, but a nice touch that i like to fantasy could be added if possible.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice