1. Thread posting restricted: Only the BeamNG team members can post new threads in this sub-forum in order to prevent spam. Posting is available on unlocked threads.

Vehicle Ignition System Changes

Discussion in 'Microblogs' started by Diamondback, Oct 3, 2022.

  1. Diamondback

    Diamondback
    Expand Collapse
    Vehicle Systems Lead
    BeamNG Team

    Joined:
    Apr 8, 2014
    Messages:
    1,957
    Hello everybody,

    we are currently working on some large-scale changes to how our ignition system works. Since this is a fairly drastic change that affects many different usage cases, i'd like to avoid developing it in a vacuum.

    Here's an overview of how things worked in 0.26:
    • Ignition was not handled by a central authority, instead the combustion engine powertrain device was controlling it
    • Any other torque-providers did not care at all about ignition (think electric motors)
    • Other electric systems within the vehicle generally did not care about anything to do with ignition (lights stayed on etc)
    • There was no clear indicator which state the ignition was actually in
    Assumptions:
    • I call this particular system "ignition" even though it makes no sense with EVs
    • I am not going to make 20 different ignition systems like there is IRL
    • Our ignition system will be based on the traditional 4 position "key-ignition" system
    • The possible ignition states will be
      • Off
      • Accessory Only
      • On
      • Starter Motor Engaged
    • EVs will re-use that and simply ignore the last state
    Now, let me show you what I have right now:
    Video - Click to Play - Direct Link


    Things you can see here:
    • Using the "V" key (default for ignition) toggles between three ignition states:
      • Off
      • Accessory only
      • Ignition On
    • HOLDING the V key switches to ignition state "Engage starter" immediately from any state and turns on the engine if possible
    • Note: You now again have to keep holding the V key to actually turn on the engine, if you release too early, it won't start propely:
      Video - Click to Play - Direct Link
    • The UI app for manipulating the ignition/engine mimicks the behavior of "V" with the same effects of clicking vs holding. Additionally it has the LED to communicate the current ignition state (off -> off, blinking -> acc only, on -> on
    • All sorts of electrics systems are now affected by different ignition states, lights can't be turned on, brakelights no longer work, screens turn to a different mode or off, etc. Note: The reall ife behavior of these things vary largely between countries and manufacturers. Do not expect a 1:1 real life replication. Adding options here complicates things massively and opens the door to a ton of bugs further down the line.
    Notes:
    • "Arcade" mode automates all these things, no matter what ignition and engine state you are in, the system will automatically make the right adjustments for you and start the engine etc. These super detailed things only really apply to "Realistic" mode
    • The screens in "Acc only" mode will obviously get some logo or something rather than "NO MATERIAL"...

    Now, finally I have a few questions for you:
    1. Currently the ignition toggle order when using V is: OFF -> ACC ONLY -> ON -> ACC ONLY -> OFF -> ... Another idea would be to use: OFF -> ACC ONLY -> ON -> OFF -> ACC ONLY -> ON -> ... What do you prefer?
    2. Is there anything you really feel that is missing from this?
    3. How do you feel about the change from having to press V just once for it to completely turn on the engine to having to HOLD that button for the starter to activate?
    Thanks a lot everyone :)
     
    • Like Like x 62
    • Agree Agree x 4
  2. CaptainZoll

    CaptainZoll
    Expand Collapse

    Joined:
    Nov 10, 2016
    Messages:
    2,985
    this sounds awesome.
    1. for the first question, while most things, like headlights, tend to be off>low>high, I feel like having this be off>acc>on>acc>off works better, because it follows the intuitive positions of the keys, and for 3 positions it's not too clunky. (if I'd programmed the headlights, I probably would have made them off>low>high>low>off as well.)
    2. my only request is to the art team: for the "boot" screen on the wendover, make it do a really long-winded screen "test" procedure before showing any information, to add to the spaceship feel :p (0:54)

    3. I like the idea of having to hold for the starter to run, it makes inputs feel more direct rather than "computer, start this car for me!", and also adds to the distinction between cars. a vivace you hop in, bump the starter, and it runs, the semi you'll have to crank for a few seconds to get it running.
     
    • Agree Agree x 25
    • Like Like x 4
  3. Srockzz

    Srockzz
    Expand Collapse

    Joined:
    May 16, 2015
    Messages:
    2,185
    1. Automatic cars should not start unless they are in neutral/park
    2. What about the possibility of bump-starting manual cars?
    Everything else seems about right imo, it reminds me a lot of the implementation in ETS/ATS. Hit once to turn the key to eletronics, high it again to crank the truck, you are just adding the fact that you gotta hold to crank like you would have to in a real car.
     
    • Agree Agree x 20
  4. LucasBE

    LucasBE
    Expand Collapse

    Joined:
    Mar 22, 2015
    Messages:
    2,481
    1. OFF -> ACC ONLY -> ON -> OFF -> ACC ONLY -> ON would probably be better. I can't really see myself going back to accessories mode irl, you just bring the key all the way back. In some cars it even disallows you to go back to accessories from ON, sends you back to OFF automatically.

    2. I can't think of something that's really needed to be fair. Maybe an electrics output of the ignition state to animate props (i.e. keys)? so OFF would be 0, ACC would be 1, ON would be 2 and starter would be 3. Could be a great opportunity to add car-specific key models (might even be used for carrer animations and all that, considering you buy cars you could get some sort of spinning animation of said car key) and use them in the key barrel. You could argue that that's entirely not needed though.

    3. I feel like the V tapping/holding mechanic is perfect as-is. Easy to understand and intuitive. Great stuff!

    That's all for me :)
     
    • Agree Agree x 10
    • Like Like x 2
  5. bmwcrazy456

    bmwcrazy456
    Expand Collapse

    Joined:
    Mar 26, 2018
    Messages:
    537
    The only thing I noticed is that the brake lights dont engage with the key in off - in real life they do, as well as that headlights will work (though this will trigger an interior chime while the door is open).
     
    • Like Like x 4
    • Agree Agree x 1
  6. LJ74

    LJ74
    Expand Collapse

    Joined:
    Oct 27, 2018
    Messages:
    1,905
    1. I prefer the looping back option OFF -> ACC ONLY -> ON -> OFF -> ACC ONLY -> ON
    2. Nothing that I can think of at the moment
    3. I love the fact that you have to hold V to start, like Zoll said it fells less like a computer doing it for you
     
    • Agree Agree x 11
  7. TrackpadUser

    TrackpadUser
    Expand Collapse

    Joined:
    Aug 24, 2019
    Messages:
    468
    1. Would there be a functional difference between ACC and on other than the engine running (and dash screens)? I'm almost wondering if the "hold-V" system could be used for the acc->on state switch on all cars including EVs? Else I don't really have a strong preference. off->acc->on->off fits better with the way high beams currently work, but the other way makes shutting down the car more "progressive" if that makes sense?
    2. I know it's more of a racecar thing, but wondering if there would be any way to assign the starter to a separate key from the ignition?
    Also to add to srockzz idea, if some sort of interlock system is added, it could be interesting if it was made optional (all or nothing). So newer cars require the car the be in Park, Neutral, or the clutch fully (or mostly) in, but older cars/race cars do whatever.
    3. Would be pretty cool. I imagine there will be some ways to adjust how long a car takes to start (jbeam wise)?

    Also wondering how it's going to be handled for preexisting mods? Especially since it sounds like it's going to be part of the vehicle controller now? I imagine just sensical default values, that all vehicles made before the change will default to?
     
    • Agree Agree x 2
  8. Szycha13

    Szycha13
    Expand Collapse

    Joined:
    Jul 28, 2016
    Messages:
    6
    1. I personaly prefer first option. Maybe it be good idea to add second choice in game options?
    2. I think it will be fun to add even more realism to this system. For example, if the engine is cold then starting the engine will be harder and take more time, especially old diesels. Adding option to heat glow plugs would be cool too.
    3. I think it's add more realism, so I like it.
     
    #8 Szycha13, Oct 3, 2022
    Last edited: Oct 3, 2022
  9. Diamondback

    Diamondback
    Expand Collapse
    Vehicle Systems Lead
    BeamNG Team

    Joined:
    Apr 8, 2014
    Messages:
    1,957
    Hehe, yea we're not entirely sure yet how we handle the HTML screens, there's the option to just use a different texture (what you saw in the video) or alternatively, the screen itself can display something else, make funny animations etc). The first option is much easier to do and cheaper, however, it limits us in what we can do, we can't do animations, can't fade between different things etc.

    Just keep in mind, that the holding applies to ALL cars, for some it's shorter than for others, but you WILL have to hold the key for a certain time.

    That's one of those things that I am not really a friend of, it makes things so much more complicated both from a code and a user experience side. It needs lots of new UI messages for the user to explain why suddenly holding V doesn't do anything etc. So not sure yet if this is really worth doing.

    Nothing has changes about that, it was possible before and still is possible if your ignition is actually on.

    That's exactly how it works atm there is a new electrics value with a range of 0 to 3.

    That's one of those country and manufacturer specific things... Sparked a passionate discussion about whos brake lights work in what state etc already :D

    The biggest difference would be that you can't bump-start the car and that certain screens and lights work differently. It doesn't pose a huge added benefit but omitting it would be weird and actually complicate things...

    Good point, that should be easy to add.

    That actually is already the case in 0.26 (and much older versions)

    So far, there is not really anything that impacts your average mod, I've kept all the code structure intact as far as possible (helped by the fact that originally it was indeed "hold-to-start" and the one press start was only added on top. But yea, ultimately this will certain cause some headache here and there with more advanced mods...

    That is something I never really wanted to add since it didn't make much sense with old "press-to-start", maybe it's time to revisit this, but not sure.
     
    • Like Like x 16
  10. titantls

    titantls
    Expand Collapse

    Joined:
    Feb 9, 2014
    Messages:
    686
    1. The first full loop is fine IMo.
    2. Would it be possible to have a starter chime that some cars have irl? Or is that falling under the manufacture/country specific debate. Also I agree with Szycha when they say having temp affecting starting time. That old cold diesel start would be fun to replicate.
    3. Hold is perfect. Always disliked how games just had you press a button. That little bit of realism is cool.
     
    • Agree Agree x 8
  11. NicOz

    NicOz
    Expand Collapse

    Joined:
    Oct 14, 2019
    Messages:
    109
    Off>ACC>On then Hold V to Start would be best in my opinion. Then back to Off again if you press it once more.
     
  12. esesel

    esesel
    Expand Collapse

    Joined:
    Feb 18, 2019
    Messages:
    741
    id love the option to have the different ignition states set to different inputs to make it easier for us to make a custom "fake" key for our sim rigs. This also goes for all other auxilliary inputs like headlights and Sirens... irl as a emergency vehicle you dont drive to the scene with your siren on the whole time as it would be annoying af and less safe, but at the moment i cant really simulate that becaause if i turn off the siren it also killes the lights (Blaulicht idk the english word). The flight simulator DCS has a very well thought out key binding settings menu i recomend taking a look at that...
     
    • Agree Agree x 5
  13. Stiles

    Stiles
    Expand Collapse

    Joined:
    Sep 9, 2016
    Messages:
    15
    Maybe with multiple improper uses of the starter it can slowly loose its durability like the clutch system? Also a probability on old cars for the starter to skip instead of grabbing as well would be a nice touch. To expand, I guess improper use can be two key pressed too fast can trigger the starter to skip, causing the grinding noise that everyone loves. Cold starts gonna suck ;):rolleyes:
     
    • Agree Agree x 6
  14. KèrozéN

    KèrozéN
    Expand Collapse

    Joined:
    Feb 14, 2014
    Messages:
    389
    Maybe a small thing to add:
    When you turn ignition on irl, the lights, radio, gauges leds, etc..(all electric things) turn off for a little time during ignition, until motor starting. (or have a little power loss instead)
    Can you reproduce this ingame?
     
    • Agree Agree x 3
  15. Stiles

    Stiles
    Expand Collapse

    Joined:
    Sep 9, 2016
    Messages:
    15
    That would be good to fill in that 'No Texture' part of the startup. Maybe for the more modern cars just show a slow Manufacture logo that fades out? I know on old cars since it draws so much power there's usually the flicker with each revolution on the starter. Would be satisfying to see implemented.
     
    • Agree Agree x 3
  16. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,710
    Very interesting... a few things I would like to make note of.

    1. I think like... probably the better part of 95% of vehicles on the road today use OFF>ACC>ON>START like you made mention of, so a cyclic OFF>ACC>ON>ACC>OFF would probably work fine... maybe even implement a "long press" state to just skip over ACC mode in either direction as most players probably won't use the ACC state all too often.

    2. With this new ACC mode, it may be fruitful to have a new GUI button made up that can better communicate what state you are in rather than the current on off button we have now. I can see that it is glowing/flashing but that's so subtle. Maybe light a ring up around the outside a different color depending what state your in? I dunno... just something that's a bit more obvious "why car not go vrum".

    3. You showed off that the car doesn't have the brake lights work when the key is off... this may just be a gap in my knowledge with modern vehicles (my newest car is a 95) so anyone, feel free to fill me in... but do modern cars not have functional lights/brake lights when the key is in the off position? All of my stuff is functional, but then again my stuff is all 25+ years old... vehicle standards have shifted a lot since then.

    4. To add onto that... perhaps a new tag should be added to things in the JBeam to identify what ignition state they can and can't operate in? So... for example... even on old old cars like my junk, the lights, brake lights, and 4 ways will work (well... the 4 ways should always work... I think that's regulatory) but the turn signals won't work when the cars are off... so lights, brakes can have an functional ignition state of 0 and turn signals need a functional ignition state of 2 (for on)... 4 ways can just be an override added into the game as those should work no matter what. If the tag is not included, then it should just be assumed that it functions in all states (to keep compatibility?... I'm just spit balling here)

    5. I won't really comment on screen states as I have no experience with any of that, however I will point out that what you have now I think it already great. Maybe adding in a "boot up" state where the gauges cycle or it plays a little animated video that can be added in would possibly really add to the realism.

    6. Starters. In real life, as you are aware, they really only have 2 modes of functionality. Some need you to hold the starter till the vehicle starts. Some are one touch and done and the car will take care of it itself. I think that another tag could be used to denote what type of starter it has. I also DO NOT think it should be in the engine section (which I originally wrote here but then deleted as I thought about it) as it would be the vehicles electrical system and NOT the actual starter that give this functionality. So technically... if you change the engine... it should still have that one touch start functionality (if done correctly in the real world anyways). This way old cars you have to hold... new cars just one tap and you go. Again... adding to that realism bit.

    Final note... these are just my ideas/opinions.
     
    • Agree Agree x 3
    • Like Like x 1
  17. DamienDutch

    DamienDutch
    Expand Collapse

    Joined:
    Feb 9, 2016
    Messages:
    418
    Id say it shoundt really be a vote, but one solid system where you can choose your own!
    Like could be usefull to go back to ACC if your on like some tow truck.
     
  18. Srockzz

    Srockzz
    Expand Collapse

    Joined:
    May 16, 2015
    Messages:
    2,185
    Then dont code it in, make the car behave as a car would if you start it in gear, and im sure at least some people will figure it out why their car launches forward when they start it in gear, without their "foot" on the brake. Maybe it can be a loading screen tip too
     
    • Like Like x 2
  19. Ezo

    Ezo
    Expand Collapse

    Joined:
    Jan 11, 2016
    Messages:
    877
    off-acc-on-acc-off is just about what most average cars do, i'd bet that would be the best to implement...
    however, there should be a small exception for brake lights to behave independently from ignition, (i can't say all) but most cars i've met engage brake lights even if there's no key in ignition, to keep them operable in case of a ignition malfunction, however if its too complicated to implement i'd say to not bother and its a small detail
     
  20. KèrozéN

    KèrozéN
    Expand Collapse

    Joined:
    Feb 14, 2014
    Messages:
    389
    Another nice feature to implement, if possible:
    The engine startup duration, according to engine/environment temperature.

    More cold= more longer startup
    More hot= easier and faster startup

    _________________________________

    Yeah, my most recent car is a S4 Avant from 2002 and i can see the power loss on startup on this car (and on all my past cars)
    But i've see that most modern cars (past 2010) don't have this power loss.
    Maybe devs can split this ignition system in two ways: for modern vehicles and for old vehicles.

    This is a little comparaison too see what i'm meaning:

    Modern, from 2010 to Today: (zero power loss on startup)


    Old: from older cars of the game to end of 2000s: (big or total power loss on startup)
    (59s)
    (1m54s)



    In conclusion:
    On most recent cars from 2000 to 2009, the light are voluntarily disabled to bring all to power to engine starting.
    on very old cars, before 90s it seem to be a voltage drop, in term of how the engine eat the power to his startup.

    --- Post updated ---
    Another thing to implement, if possible: The engine startup duration, according to engine/environment temperature.
    More cold= more longer startup
    More Hot= easier and faster startup
    --- Post updated ---
    Another thing to implement, if possible. The engine startup duration, according to engine/environment temperature.
    More cold= more longer startup
    More hot= easier and faster startup
    --- Post updated ---
    Another nice feature to implement, if possible:
    Variable engine startup duration, according to engine/environment temperature.

    More cold= more longer startup
    More hot= easier and faster startup
     
    • Like Like x 3
  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