1. Before reporting issues or bugs, please check the up-to-date Bug Reporting Thread for the current version.
    Solutions and more information may already be available.

[Solved] (I HAD IT ALL WRONG, DISREGARD) A design flaw with lethal potential

Discussion in 'Troubleshooting: Bugs, Questions and Support' started by vmlinuz, Nov 1, 2018.

  1. vmlinuz

    vmlinuz
    Expand Collapse

    Joined:
    Mar 2, 2014
    Messages:
    1,286
    Hello,

    First of all, none of the following should be interpreted as a negative review of the game. I love BeamNG.drive and play it way too much. Even the scarecrow hunt minigame, which many wrote off, is surprisingly fun and satisfying. (Jungle Rock Island was the hardest stage!) I want to see this game succeed, improve and grow. However, I believe the success of the game is in jeopardy due to a critical design flaw in the engine.

    Recently, I performed a little experiment: I drove an Ibishu Covet on the pure grid map, on absolute minimum graphics settings, limited to a solid 60fps. The car behaved exactly as expected. Then, I cut the FPS limiter down to 5 FPS, as low as it would go.

    If the game engine had been designed with best practices, the car's apparent velocity should have remained the same. Let's say the car was traveling at one meter per second. At 60 fps, that one-meter change in position should take 60 frames, and in each frame, the car should appear to travel one-sixtieth of a meter. Ideally, if the framerate were to drop to, say, 5 FPS, that movement should then take 5 frames, and the car should move one-fifth of a meter per frame - the vehicle's movement would appear choppy, but it would still appear to cover the same amount of ground in the same amount of time.

    However, when I cut the framerate, the car did not behave as I described above. In fact, its apparent velocity decreased with the graphics framerate to (I estimate) around one-twelfth what it was at 60 FPS. The car covered roughly the same amount of distance per frame as it did at 60 FPS, but with fewer frames per second, it appeared to slow to a crawl.

    This tells me that the physics are somehow coupled to the graphics framerate, much as old PC games tied the game speed to the CPU frequency. This is a recipe for disaster, because it means that in order to get an accurate simulation, the game must be run at a perfect 60 FPS at all times. Even the highest-end machines on the market today will experience occasional framerate dips, and most computers can't even reach 60 FPS with medium graphics, so this is a nearly-impossible feat on any hardware.

    Thank you for your consideration, and please let me know if I am missing something.

    UPDATE: The problem is my craptop, not the game. The physics framerate only dips if the graphics framerate goes below ~20 FPS, in order to avoid exploding. Disregard. Thanks, @B25Mitch, for keeping us informed :D
     
    #1 vmlinuz, Nov 1, 2018
    Last edited: Nov 1, 2018
  2. B25Mitch

    B25Mitch
    Expand Collapse
    Vehicle Artist
    Staff Member

    Joined:
    Aug 27, 2013
    Messages:
    257
    While your speculation does follow a logical progression, you make one flawed assumption about the game engine - that the physics is coupled to the fps rate. This is not true for any framerate above 18-20fps, and the engine strictly maintains a 2000hz physics update cycle at normal fps. The only exception is at very low framerates, where the game forces an adaptive slow-motion to guarantee that the 2000 physics updates are delivered per simulated second. This is a fail-safe to prevent physics from exploding when the update rate drops too low to contain forces within physical structures.

    The core physics is also not written in Lua, but C++. Lua is only used for functions that operate on the graphics update cycle - far less performance critical than the core physics.
     
    • Informative Informative x 3
    • Like Like x 1
    • Agree Agree x 1
  3. vmlinuz

    vmlinuz
    Expand Collapse

    Joined:
    Mar 2, 2014
    Messages:
    1,286
    Thank you - my average framerate on the machine I usually use is around 24 FPS, dangerously low. Guess it's time to invest in a non-potato computer, or put my Ryzen 7/GTX 1080 Ti rig to use :p

    Now that I have your attention, what fuel injection system does the Gavril V8 use? Also, is it pushrod or OHC?
     
    #3 vmlinuz, Nov 1, 2018
    Last edited: Nov 1, 2018
  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