Minor Update v0.18.1 Released

12 December 2019

Today’s release launches fixes for several issues reported by our QA team and our community. Thank-you for all your praise and excitement through the forums and social media. It has been very motivating and heart-warming to share your comments with the development team.

Graphics engine

  • Fixed gamma setting
  • Fixed vehicle’s materials with texture animations
  • Fixed missing cached meshes causing loading time issues the first time content is loaded

Vehicles

  • Fixed Pickup ‘D15 Fleet Extended Cab (M)’ configuration having wrong transmission
  • Fixed Pickup ‘D15 Park Ranger (A)’ configuration having wrong rear shocks
  • Fixed Pickup ‘D15 Marauder (M)’ configuration having wrong driveshaft
  • Fixed Pickup ‘D15 Custom Classic (A)’ configuration missing two-tone paint
  • Fixed Pickup ‘D15 Track (M)’ configuration having wrong brake pads and interior door panels
  • Fixed Pickup ‘D15 Drag (A)’ configuration having wrong brake pads
  • Fixed Roamer ‘Drag (A)’ configuration having wrong brake pads
  • Fixed Van ‘H15 Vanster Off-Road (M)’ configuration missing roll cage
  • Fixed Pickup/Roamer/Van heavy duty brakes becoming unstable when applied
  • Fixed Pickup/Roamer/Van interior sounds being too quiet
  • Fixed Pickup/Roamer Race 6-Speed Manual Transmission missing clutch pedal prop
  • Fixed Pickup/Roamer ‘lifted’ suspension height mismatch
  • Fixed Pickup/Roamer radiator support being dragged by hood damping beams after detaching
  • Fixed Pickup tachometer on extended cab
  • Fixed Roamer side exhaust end node positions
  • Fixed Van missing red ambulance lightbar
  • Fixed Van missing radiator hoses
  • Fixed Van roll cage missing beams
  • Fixed Van wiper meshes behaving oddly in a crash
  • Fixed Sunburst rear seats not displaying with fender flares fitted
  • Fixed Covet rear caliper meshes stretching when rear wheels broken off

Utah

  • Changed tunnel lines to broken white lines

Italy

  • Fixed floating tree
  • Improved ocean visuals
  • Fixed river junction
  • Restored broken forest brushes to editor
  • Fixed minor AI issues on Fastello
  • Reduced holm oak leaves specular intensity
  • Fixed missing forest brushes

East Coast USA

  • Fixed incorrect road sign
  • Fixed pop in on town houses
  • Fixed town bridge transition

West Coast USA

  • Fixed incorrect ground models on city meshes

Hirochi Raceway

  • Updated sky to use new sky gradients

FlowGraph

  • Fixed Speed Trap Flowgraph Demo in Gridmap Demo not working correctly

Traffic

  • Fixed typos in vehicle color table for Pigeon
  • Added blank key binding for toggling traffic mode (see Options > Controls > Gameplay)
  • Made large vehicles less likely to spawn on very narrow roads

AI

  • AI will keep further off the road center when driving on narrow roads

UI

  • Updated main menu backgrounds
  • Updated vehicle thumbnails to preserve the vehicle’s colors
  • Vehicle selector : allow the use of jpg file (faster and smaller files) and convert official content to jpg

Misc

  • Thumbnail script : fix redo function, fix vehicle not being centered
An up-to-date list of known issues can be found in the dedicated Feedback & Bug Reporting Thread here.
Instructions on how to update the game here.

The 2019 Winter Release – BeamNG.drive v0.18

09 December 2019

With the long nights of winter bearing down on us we’re escaping to the warm, sunny open spaces of Utah in this update. The map has been completely renovated, featuring improvements to foliage and road textures, new and improved buildings as well as abandoned mine tunnels for you to race through. On the vehicle side we’ve turned our attention to some of the older vehicles and given them some love. The venerable pickup, the first vehicle to be included in BeamNG.drive, has received a much-needed jbeam and visuals pass along with its colleagues the Van and the Roamer. The AI system has gotten several improvements and adjustments to improve the behaviour and handling of AI controlled vehicles. Our audio team has added new groundmodel effects for mud, metal and wood along with transmission whine for most vehicle models.

Delving even deeper under the hood you will notice we have made extensive changes to our rendering system. The overall appearance of the game has changed for the better as a result of these lighting changes. This is still very much a Work In Progress effort and expect many parts of the game to look different to what you may be used to. Overall we are very happy with the way BeamNG.drive looks as a result of these improvements to our tech and we hope you will be too.

There have also been a lot of improvements to loading times thanks to optimisations in various areas of the game. In addition, our physics engine has received several bug fixes, tweaks and improvements that have resulted in better performance. This is just a high-level summary of what is being released in build 0.18. As usual you can find the whole list of changes below. We hope you enjoy the new and improved features as much as we enjoyed making them.

Highlights

Important Notices and Known Issues

  • Not all content has been adjusted to take advantage of the new lighting and rendering changes yet.
  • Thumbnails using new lighting changes are still being generated. Some vehicles do not yet have updated thumbnails.
  • The alt+down key binding has been deprecated as alt+up can be used to toggle slow-motion.
  • You may notice a rock-crawler variation of the Hopper in some videos and screenshots. This variation will be released at a later date.

Utah Renovation

  • Improved sky settings for better day/night cycle and lighting
  • Improved dirt cliff road to be more interesting
  • Improved all bridges and tunnels (correct texture pixel density and new materials)
  • Added mine shafts to numerous locations
  • Updated AI paths for the whole map
  • Improved cliff models to have back faces + randomly rotated many in the map to provide more variation
  • Modeled interior for tourist center + some exterior elements
  • Added more crawling opportunities along the cliff
  • Improved AI pathing in tunnels and on bridges
  • Added ranger station with parking facility
  • Added campground with caravan, tents, BBQ roofs and main office
  • Added auto repair building, convenience store and petrol station
  • Added car dealer building
  • Added new roadsigns
  • Added decal roads for dirt paths and damaged asphalt
  • Updated reduction mill building
  • Updated construction site
  • Created new textures for wood, plastic, normal edges, trim metal, trim plastic, concrete and cracks alphas
  • Created new decals for asphalt holes and cracks

Physics

  • Small optimizations of physics core
  • Optimized static collision initialization. Initialization time went down by ~75%
  • Fixed dynamic collision bug that caused certain triangle penetration events
  • Tweaked groundmodels to maintain more grip at small slip speeds
  • Increased ice friction
  • Reduced depthmap scaling unit from 1.5cm to 1cm. This will reduce the depth of mud/sand pits in certain maps

Game Engine

  • Level loading optimizations
  • Fixed a crash when a vehicle material used a deprecated feature
  • Allowed to use “and/or” in jbeam expressions
  • Add support for detaching locked and welded couplers via code
  • controller.lua now sends the controller’s jbeamData on all reset/init events
  • PostCrashBrake logic now also disables after reaching a certain speed
  • Small optimizations of castRayStatic
  • Fixed castRayStatic missing hits under certain cases

Render Engine

  • Improved lighting and HDR
  • Optimized decal road generation
  • Fixed lag during terrain LOD’s changes related to material generation
  • Fixed missing normals in meshes used as decals
  • Fixed bug causing random missing shadows in some materials
  • Fixed DecalRoads when used inside a Prefab
  • Fixed animated shapes using skin/bones
  • Fixed imposter render causing wrong normals and missing local transformations
  • Fixed ambient lighting in Zone/Portal objects
  • Fixed and enabled Bloom postfx (can be found in Options > Graphics)

Vehicles

  • Added 38in, 42in “Crawler” off road tires
  • Added Trial 150 and Trial 250 17×9 6 lug off road wheels
  • Added rally suspension to Bluebuck, Bolide, Burnside, ETK800, ETK-K, Grand Marshal, Legran, Midsize Pessima, Moonhawk, SBR4
  • Tweaked existing rally suspensions and configs
  • Added 225/60R16 Rally tire (fits 16×8 wheels)
  • Tweaked drift tires and related vehicle configs
  • Made transfer cases and differentials removable
  • Increase strength of ETK-I race engine internals
  • Fixed misnamed differentials in Pessima and 200BX
  • D-Series, H-Series, Roamer reworked. Total jbeam and visual overhaul.
  • Bodies/beds are now accurately separated and detachable from frames, revised front end structure for D-Series and Roamer.
  • Many more options for pickup frame lengths, allowing for long bed variants
  • WIP Short wheelbase D-Series frame with one-piece body
  • Modders rejoice! No more duplicate rear suspension jbeam files, each frame length now correctly offsets the rear suspension and its sub-parts
  • New front and rear 4-link suspensions
  • New configurations and customization parts
  • New Gavril AllSport 17×8 alloy wheels for mid range D-Series and Roamer
  • Generic disc brake meshes applied to all applicable vehicles
  • Added drift configurations for 88′ Pessima, Bluebuck, Barstow, Miramar, ETK 800, ETK K-Series and ETK I-Series
  • Bluebuck: fixes to exhaust path and rear wheel attach becoming unstable at certain offset settings with certain wheels
  • Grand Marshal: fixed instablity when door opens past a certain angle, weakened radiator support attach
  • Etk K: fixed position of headlight flares
  • Added 8 lug STX steel wheels
  • Fixed T-Series getting stuck in reverse gear after ripping off a wheel
  • Added ‘Camouflage’ skin to Ibishu Hopper

Powertrain

  • Improved clutch behavior in splitShaft device
  • Fixed DCT/automatic/sequential gearbox cutting throttle when “upshifting” from reverse or neutral
  • Tuned modern ETK auto gearbox shift behavior
  • Improved auto gearbox throttle handling during low aggression shifts
  • Made electric motor torque curve linear instead of constant power
  • Made low aggression DCT shifts less harsh
  • Tweaked TC logic to be less sensitive
  • Re-enabled TC wheel braking

Environment Art

  • Added shatter particles for plastic beams breaking, glass deform groups and wooden prop deform groups
  • Improved sky settings for better day/night cycle and lighting in East Coast USA and Italy
  • Fixed some incorrect groundmodels on objects in Jungle Rock Island and Italy
  • Added groundmodels to all materials in Gridmap
  • Added new ocean cubemap to many levels so the water looks better without dynamic reflections
  • Tweaked default post-fx to better suit the new gamma and HDR changes
  • Added new Sun Flare and adjusted sun sizes on all levels
  • Added new flare type for generic lights
  • Uniformed shadows resolution across all levels
  • Uniformed ‘NearClip’ values across levels
  • Fixed and improved ‘Gradient Files’ features in ScatterSky, now used in some levels

Camera

  • Fixed orbit camera not resetting smoothly in low FPS conditions
  • Fixed multiseat camera being affected by traffic cars
  • Fixed Field of View errors when using onboard camera
  • Reworked path camera to smoothly follow accelerating cars in more extreme situations
  • Added lookback function to onboard cam
  • Added ability to hide specific onboard cameras from the camera cycle
  • Added ability to lock onboard camera rotation

AI

  • Fixed AI’s map subsystem breaking with more than 65536 map nodes
  • Plan segment discretization scheduled on graphics step, allows for a more optimized (smoother curve) planned trajectory.
  • Improved planed trajectory curvature calculations (expanded neighborhood of calculation).
  • Fix in random mode math calculations
  • Bug fix in aiPosOnPlan relating to how the ai vehicle position is projected allong the planed trajectory
  • Relaxed error diffusion between ai position and planned trajectory. Error is now corrected gradualy.
  • Improvement in brake calculation
  • Bug fix in the planner path merging
  • Adjusted minimum distance of steering target position to allow for more accurate turns at low speeds in tight spaces.
  • Bug fix in how the planned trajectory is allowed to go off the road limits in overtaking situations (trafficSide.cTimer)
  • Bug fix for vehicle awareness getting deactivated when a change of plan occured
  • Bug fix for vehicle awareness being activated by default in AI manual mode in certain cases
  • Added “inCurvature” function to AI. It fixes degenerate path curvature cases

Traffic

  • Improved “getRandomPathG” function, used by traffic AI, to reduce path “folding”
  • Traffic is now disabling internal collisions and aerodynamics until they are hit or broken. It improves traffic performance by 30%
  • Fixed Powertrain UI app being affected by traffic cars
  • Added traffic option to bus routes gameplay mode
  • Implemented population-based vehicle selections for traffic (e.g. uncommon vehicles such as the Pigeon will be very unlikely to spawn)
  • Improved traffic respawn system
  • Vehicles may honk horns if they are being blocked
  • Vehicles may stop and pull over for emergency vehicles
  • Made under-the-hood changes to police pursuit system
  • Tweaked the Traffic UI app
  • Added 2nd and 3rd color options to the multi-vehicle spawner tool (in Editor 2.0)

User Interface

  • Significantly increased responsiveness of vehicle customization menus
  • Implemented new level loading screen providing more detail as to what is currently happening
  • Fixed and improved the placement and look of the binding keys in various places

World Editor 2

  • Added WIP Racepath Editor to World Editor Tools: This editor allows you to quickly and easily create races.
  • Racepaths consists of Pathnodes and Segments. Pathnodes are similar to Waypoints in the current race system, Segments connect Pathnodes.
  • Racepaths can have branching paths and multiple start positions.
  • Racepaths can be used by the Flowgraph editor to create races similar to Time Trials.
  • Added legend for shortcuts
  • Added mesh road editor
  • Added particle editor
  • Added datablock editor
  • Added window layout manager
  • Added tool for level related logs and for detecting static floating objects
  • Overhaul of camera path tool
  • Various fixes and usage changes to road editor
  • We have changed and added many icons in the editor for the toolbars
  • Implemented new object icon rendering system in the world space (with new icons)
  • Added camera bookmarks edit tool
  • Improved scene tree with context menu for the items (clone, delete, add group)
  • Improved search in the scene tree (remember term) and inspector
  • Added more snapping functionality
  • Inspector is now supporting arrays and had some fixing done for derived classes
  • Optimized speed of inspector field gathering in C++
  • Tidy up the main menu items
  • Editor can now run on a level-less start (in main menu)
  • Many small fixes in the editor UI, adding/refactoring editor API functions based on requests

Flowgraph

  • Added Multiseat Autoball Demo
  • Added three Races made with the Racepath tool to the Flowgraph Gridmap Demo
  • Added around 50 new nodes: debug drawing, racepath, imGui nodes to prototype UI and more
  • Added Project Referencing nodes: Allows other projects to be referenced similar to the way macros work
  • Added WIP Flowgraph Support to Time Trials
  • Added hotloading for node lua files: When changing a lua file for a node, the game will now automatically reload this file.
  • All nodes now use the new pin schema. This allows various properties for pins like description, visibility, default values and more.
  • Fixed various cases where nodes would not show up correctly.
  • Changed Mouse Tool Test into a Flowgraph Window.

Audio

  • Improved attenuation and distance filtering for vehicle sounds (WIP)
  • Added new supercharger sound (currently used for Gavril Barstow)
  • Fixed engine sound cut below 500 RPM
  • Updated FMOD Studio and low level api to version 2.00.05
  • Added mud groundmodel audio
  • Added mud scrape audio
  • Added engine/exhaust shutoff sounds
  • Added wood groundmodel audio (for bridges)
  • Added metal groundmodel audio (for metal ramps)
  • Reworked ambiences for Utah V2
  • Added reverb zones for Utah V2
  • Added new V8 flatplane engine set (currently used for Civetta Bolide)
  • Added transmission whine to all vehicles, except Wentward DT40L and Gavril T-Series
  • Changed position of aero wind sound from refnode to horn node
  • Disabled impact,deformation and scrape sounds for nodes that have cloth material assigned to them

Input

  • Always send wheel Force Feedback updates on graphics steps
  • Changed default Force Feedback resolution to 65536 (from 256)
  • Improved multiseat assignment system: input devices can now be individually assigned to any vehicle (or no vehicle at all)
  • Added new multiseat-only binding to switch vehicles (assigned by default to d-up in XBox gamepad; will be displayed below Options > Gameplay > Enable Multiseat checkbox)
  • Fixed mouse cursor autohide kicking in while UI dev console is being used
  • Fixed extremely rare crash during DirectInput initialization of devices
  • Fixed inability to change FOV of freecamera when no vehicle is focused
  • Deprecated the alt+down key binding (since alt+up can be used to toggle slow-motion)
  • Fixed ambiguous message in Options > Controls > Force feedback when no bindings have been found

ConsoleNG

  • Made the console a lot faster and use less memory
  • Added a message describing the error if the filter is invalid
  • Added View menu to hide some column
  • Fixed some bugs (exception when there is no vehicle on the map)

Misc

  • Fixed Arcade mode not supporting 0 rev match throttle
  • Implemented a few missing OutGauge data fields
  • Fixed MotionSim and OutGauge sending data for non player vehicle
  • new Json parser (rapidjson) for the whole game, increasing loading speed
  • Optimized “json.lua” parser. It is now ~30% faster
  • Added “+-Infinity” support to json.lua parser
  • Reduced vehicle Lua’ garbage collector load to 1/5th of what it was previously
  • Fixed LuaJIT’s serialization/deserialization breaking with nested tables having more than 65536 elements
  • Added “getGraphpath” and “getManualWaypoints” functions to map.lua
  • Fixed map subsystem’s graphPath positions
  • Optimized map’s “Navigraph” debug visualization to have a smaller hit on FPS
  • “Clear Cache” now doesnt create backups of the cache anymore
  • Fixed bug that prevented map change while replay was playing
  • Fixed crash on object serialization
  • Optimization for object bounding boxes
  • Added horn and lightbar states to map objects data
  • Fixed transparency of debug visualization of BeamNGTrigger objects
  • Fixed rare crash when attempting to manipulate camera and no level has been loaded yet
  • Fixed location of Coupler camera checkbox within the Options > Camera menu
  • Bug fix in map.lua node aliases calculations
  • Fixed ai path waypoints in utah crawl scenario
  • Launcher : added error code number so we don’t have to translate them when user have localized windows
  • In-game repo : fix search terms breaking comunication with server
  • Cleaned and organized Datablocks
  • Cleaned up unused main.level.json files
  • Improved the F9 Vehicle Debug menu: Won’t save the Defaults if no apps is open. Added context messages.

Application Interface [API]

  • Exposed brakeTorqueApplied to wheel data of vehicle Lua
  • Added “cardinalSpline”, “catmullRomChordal”, “catmullRomCentripetal”, “monotonicSteffen” curve interpolation functions to mathlib.lua
  • Added a quaternion distance method to mathlib.lua
  • Added “obj:setBoundedBeamDamp” and “obj:setTorsionbarSpringDamp physics core functions that allow to change the damping parameters on the fly
  • Added “obj:getCameraPosition” physics core function that returns camera’s world position
Thanks for reading the full change log. 😉

An up-to-date list of known issues can be found in the dedicated Feedback & Bug Reporting Thread here.
Instructions on how to update the game here.

Ladies and gentlemen of the speculation thread, you may start your engines:

Color Space, Lighting and HDR Rendering

14 November 2019

Greetings everybody! 👋

With today’s blog-post we want to give you an insight about our render engine, in particular about color spaces, how much they affect the look of a game and our recent work on it that will be release in future updates.

We could say that BeamNG.drive always had a clean and spartan look. This is in part an artistic choice to favor visual clarity, but also a necessity due the engine’s old-school techniques.

Let’s start talking about color spaces.

Our eyes don’t react to light in a linear way, and with the necessity to compress video signals, we use a color space that provides greater accuracy to ranges which our eyes are more sensible to. This color space is called gamma color space, and that’s what our game uses.

Because light behaves in a linear way, we cannot use gamma space to achieve physically correct results. For that reason we need to work in the so-called linear space, where the contribution of different light sources returns their correct intensity, opposed to gamma space where this is not true.

In the below scheme you can appreciate the differences between gamma and linear space, as the problems in doing math in the first:

Math in gamma space is complicated because the values do not scale linearly!

One of the main challenges of moving to the more physically correct linear color space is retaining the look of the existing assets, as well as mods. In this period we have tested various solutions in order to achieve that, with very promising results.

After these improvements, the next natural step is to enable proper HDR rendering: whereas in LDR (Low Dynamic Range) the engine works with values in a range of 0-1, in HDR (High Dynamic Range) the internal range is much higher, allowing for much more realistic lighting. Very bright things can actually be bright, and very dark things dark.

Please note that the following images contain work-in-progress content

In the former two comparisons, you can see Hirochi Raceway and West Coast USA. We managed to keep most of their original look while also allowing the lighting fixes to reveal more details in asset textures:

And here’s old Utah and its upcoming refresh, which is taking advantage of ad-hoc settings for this change:

Last but not least, a direct comparison of the vehicles, which now have a more vibrant look:

Some bonus ‘in-motion‘ clips! 😁

Bloom Post-processing can now properly work on bright pixels

Lights projecting on parallel surfaces also behave better now

In conclusion, despite working within certain self-imposed restrictions we are still able to push the envelope of what our rendering engine is capable of doing. We are very happy with the quality improvements this work has resulted in and we hope you are too. Look forward to seeing it in action on your PC with a future update of BeamNG.drive!

Fourth hotfix for 0.17

25 September 2019

With today’s hotfix we are deploying fixes to the traffic system. The police should now behave properly and the Traffic AI in general should exhibit better awareness of what is happening and react accordingly.

We are also making some changes to the game launcher. All the support tools will now be grouped together in a dedicated ‘Support Tools’ section. In the ‘Manage User Folder’ section you will find tools to move your user folder, open it in Windows Explorer and restore it to the default location. These tools should help those affected by issues caused by folder path conflicts or who just can’t remember where in the labyrinth of folders their user folder has hidden itself.

Traffic

  • Fixed error preventing police logic within traffic from working properly
  • Fixed traffic AI awareness issue

Launcher

  • Rearranged some tools into their own categories
  • Added option to force the game to launch without UI GPU acceleration

Levels

  • East Coast and Hirochi Raceway: Fir group collision modified to better reflect actual appearance.

Miscellaneous

  • Removed leftover files (/cefTest) that would make the integrity check fail
  • Fixed game crashing if map.json is an empty file
An up-to-date list of known issues can be found in the dedicated Feedback & Bug Reporting Thread here.
Instructions on how to update the game here.

Older Posts »