From all of us at BeamNG to all of our awesome community, we wish you continued good health and that you all stay safe.
We are happy to announce the launch of version 0.19 of BeamNG.drive, which contains new vehicles, renovated maps and vehicles as well as continued optimization and improvement of our technology.
Leading the pack in this release is the launch of the Cherrier FCV platform with the Vivace and Tograc models. Cherrier is a new manufacturer in the BeamNG.drive universe. Originating from France, this manufacturer embodies the European spirit of 21st Century automobile design. Aggressive lines, quirky details and a wide range of powerplants are the hallmark of Cherrier’s product line and the FCV platform is the latest expression of their style and engineering philosophy. In keeping with the future of automotive technology, an electric version of the Vivace and Tograc are available, with the FCV platform having been conceived to support both traditional and electric drivetrains from the outset. From economical commuters aimed at the family market to aggressively tuned hot hatchbacks that turn heads and burn rubber in equal measure, Cherrier has a version of its vehicles to appeal to anyone. A strong contender on the competitive driving scene, Cherrier’s chassis are used by several teams in both rally and hillclimb competitions. Cherrier also enjoys a good relationship with France and Italy’s police forces, whose specially tuned versions pursue and contain road-based dirty deeds across the autoroutes and autostradas.
Turning to our maps, we have continued the renovation project and are ready to release Small Island. This map has received a major overhaul to bring its appearance better into line with the stated geographical location. With the rebuilt harbor, research station and helipad we are introducing more points of interest to aim for. The road layouts have been adjusted for better driveability and new offroad trails have been added. Small Island may not be the largest map in the game but it now offers good reasons to go check it out.
In other areas, we have improved the ambient sound systems throughout the game. The directionality of sounds is better, pitch wobbling at high speeds should be noticeably improved and we have reworked the way impacts sound. There has also been some work put into making our sound bank loading logic support future mod banks. Those of you who continue to drive cars into the water in the hope that they will someday function as submarines will be happy to know that we now have underwater sound ambiance. The vehicle team has been hard at work not just on the Cherrier FCV platform vehicles but also a remaster of some of our older vehicles. In this release, we are focusing on Gavril, with remastering taking place on the Roamer, D- and H-Series.
To better guide our development efforts in the future we have implemented an optional game session data collection system. This collects limited game session data on things like which maps players are using, the vehicles they are driving and the additional features they have enabled or disabled. This data is anonymized before any of our employees have access to it and the collection is entirely on an opt-in basis. Those of you who are ok with us collecting this game session data can give us permission to do so in the game settings menu. This permission can be withdrawn at any time. We have also updated our privacy policy to include what data we collect, how to opt in and out of the data collection and how to request the deletion of your data.
Let’s dive into the details. We hope you enjoy this update!
Highlights
- Cherrier FCV platform launched with Vivace and Tograc models
- Small Island renovation with a complete overhaul of the map’s appearance and improved road layout
- Gavril Roamer, D-Series, and H-Series remaster continues with additional parts, configurations and refinements
- Ambient sound system improvements for better directionality, sound bank loading logic, and underwater sound ambiance
- Part 1 of the new Driving Dynamics system
VEHICLES
- Cherrier FCV platform
- Cherrier Vivace and Tograc models and associated variations released, including: Racetrack, Rallycross, Hillclimb, Electric, Gendarmerie, and Polizia
- Gavril D-Series – Remaster Phase 2
- Added 1985+ pre-facelift parts: new fascia, valance, bumpers, two options for headlights, two options for mirrors. Around half of pickup configs have been converted to this model instead of adding new ones in order to reduce UI clutter/lag
- Added D-10 Charro, D10 Zeta, D10/D30 Kentarch configurations
- Old tow-hitches replaced with ball hitch equipped step bumpers
- Added receiver hitch
- Added step-side bed
- Added Military parts: utility bull bar, tow hooks, long range antenna
- Added factory fender flares
- Added window tint
- Added rear spare tire holder
- Added two tone skins allowing for secondary colored camper shell
- Added body color offroad fender flares
- Fixed frame torsionBars being too easily deformed
- Added D10 specific bed cap
- Various skin-UV improvements
- Added new sport exhaust options
- Autobello Piccolina
- Gavril Burnside: Added race front disc brake part
- Gavril Bluebuck: Added race front disc brake part, switched radiator to heavy duty version on 423 Sport (M) config
- Ibishu Covet: Improved rally coilovers with hydraulic bump stop, tweaked stage 2 turbo for better responsiveness
- ETK 800 Series: Suspension geometry reworked
- ETK-K Series: Suspension geometry reworked
- ETK-I Series: Front suspension geometry reworked, improved rally coilovers, added rally steering, improved tire model on TT Sport, fix rear suspension vibration during braking
- Gavril Hopper Crawler: Replace 5 lug hub meshes with 6 lug, corrected axle spawn heights, tweaked suspension damping
- Gavril H-Series – Remaster Phase 2
- Added long wheelbase frame and body
- Added heavy duty frame variants
- Added H15 LWB, H25 LWB, H35 SWB & LWB, “The Vantastic” configurations
- Added custom suspension parts previously added to the Pickup
- Added body color offroad fender flares
- Added window tint
- Fixed frame torsionBars being too easily deformed
- Added new sport exhaust options
- Ambulance emergency lights now use the lightbar controller system, improved materials and fixed some minor texture mapping issues
- Hirochi Sunburst
- Hirochi SBR
- Added ‘Shiftlight’ part
- Lift and drag tweaks, Hillclimb config tweaks, fixed problem with rear shock mounting point
- Bruckell Moonhawk: Tweaked race drum brake cooling
- 9 Ibishu Pessima: Fixed rear suspension vibration during braking
- Gavril T-Series
- Fixed frame torsionBar beams deforming too easily
- Fixed inverted normals on one side of Semi sleeper cab
- Gavril Roamer – Remaster Phase 2
- Added extended frame/body
- Added LXT RWD/4WD, LXT35, and unmarked police configurations
- Ibishu Pigeon: Added ability to open tailgate with ‘O’ key
- Reduced parking brake maximum torque to more realistic values on OEM brakes, to prevent unrealistic lurching of the suspension
- Tweaked overall brake strength and bias on some cars to make them less touchy
- Wood crate prop: Reduced bounciness
- Small Flatbed Trailer: Reduced bounciness
- Tire Model: Tweaked many tires to address issues with high rolling resistance, or peculiar handling traits
- Hopper Crawler uses M in Arcade mode as well
- Implemented AWD Testroller logic and auto adjustments
- Lightbars now use pointlights to illuminate the surroundings
- Fixed noticeable artifacts visible on mirrors
- Fixed minor typos in vehicle parts
- Added a variant of the concealed flashers with dark grey casing
- Cruise Control: added
electrics.values
for active and target - Normalized spotlights value for all our cars
- Updated parts values , based on aftermarket new values
- Wheel Roller and Tilt ramp – added a new piece of test equipment for demonstrating function of driving modes/active differentials
- Fixed frame torsionBars being too easily deformed on Bluebuck, Grand Marshal, Moonhawk
- Common
DRIVING DYNAMICS – PART 1 (WIP)
- A completely new system for handling all driving dynamics related tasks, as previously covered in this dev blog
- Fully generic and extendable
- ESC now not only works based on yaw speeds but also on vehicle slip angle, not intervening during shallow drifts
- Traction control has a much better understanding of wheel slip, even with high powered AWD vehicles
- Consists of the following components
- Sensors (actual car sensors and other relevant car stats)
- Sensor Hub (central place for all required sensor data)
- Vehicle Data (measurements from the car, track width, wheel base, steering angles, etc)
- Virtual Sensors (Core of the system, trying to provide accurate vehicle speed and body slip readings based on integrating accelerations)
- Actuators
- Electronic Diff Lock (Diff “locking” by braking a wheel)
- Electronic Splitshaft Lock (control of the AWD clutch)
- Adaptive Dampers (dynamically changing damping)
- Adaptive Swaybars (dynamically changing stiffness)
- Active Diff Lock (coming in the future)
- Active Diff Bias (coming in the future)
- Supervisors (Yaw and Traction Control)
- Shared active supervisor components
- Brakes (Biggest contributor in yaw control, also used at low speed for traction control)
- Throttle (Main traction control component, also used for
- AWD (coming in the future)
- Diffs (coming in the future)
- Sensors (actual car sensors and other relevant car stats)
Drive Modes
- Implemented vehicle wide drive modes that can affect the following things
- Default transmission mode for automatics/DCTs
- Exhaust muffling
- Any controller that supports it, here are some examples:
- Digital gauge cluster colors
- Adaptive dampers
- Adaptive swaybars
- AWD control logic
- ESC settings
- TC settings
- More specific examples:
- Sport mode
- Default transmission mode to S
- Open exhaust valve for less muffling
- Changes gauges to red
- Hardens the dampers
- Stiffens up the swaybars
- Makes the AWD more aggressive
- Changes ESC to allow for more slip angle
- Adjusts TC for less action
- Offroad mode
- Different gauge color
- Soft dampers
- Soft swaybars
- AWD locked to 4WD
- ESC and TC adapted to less grip
- Sport mode
- Drive modes supersede the old ESC modes as they include that as well
- Enabled drive modes can be determined by installed parts
- Jbeam setup supports a powerful defaults system to make setting things up easier
Levels
- Small Island Renovation
- Rocks re-texturing and placement in the port area
- Improved tunnel with new textures
- Updated old clutters
- Created and dressed up 4 off-road trails
- Created new textures for the map
- Added harbor area
- Added helipad zone
- Added new props
- Improved rock level of detail meshes
- Fixed wobbly tree trunk
- Smoothed bridge and tunnel terrain transitions
- Added bumps for damaged road sections
- Added underwater mesh
- Updated many scenarios and associated objects for the new terrain
- Added depth map to simulate soft soil
- Updated old bridge – new mesh and textures
- Created new textures for the level
- Exchanged old trash decals with new textures
- Added fishing dwelling buildings
- Deleted old assets
- East Coast USA
- Fixed waterfalls using the wrong cubemap
- Deleted all floating objects in the level
- Corrected drivability of various cosmetic decal roads (material: repair1, road_pathces1, italy_road_cracks) messing with AI navigraph
- Fixed navgraph of the intersection near the default spawn point
- Utah
- Improved lighting around the garage / fuel station
- Fixed a collision issue affecting bridges
- Removed dangerous rock on a corner hidden by grass
- Fixed extreme bump on the road in the campsite
- Deleted all floating rocks
- Italy
- Fixed some AI pathing issues
- Improved the 60x7m bridge
- Fixed a hole in the large apartment building
- Removed unused object under the city
- Fixed hidden rocks / cliffs
- Fixed floating bushes
- Deleted 164 floating objects beneath the terrain
- Automation Test Track
- Fixed an issue with decalsRoad fading out improperly, adjusted river settings
- Fixed skirted tire walls to use a solid groundmodel
- Garage
- Garage mode and access to the Garage level have been temporarily removed pending improvements to the way the Garage is integrated into BeamNG.drive gameplay
- Driver Training: Tweaked pond settings
- Cleaned up unused files
- Cleaned up scenarios’ race assets location, removed several duplicates
- Cleaned up levels’ cubemap location, removed several duplicates
- Fixed a problem with azimuthOverride shifting time values. Added ‘startTimeFallBack’ field to TimeOfDay entity for compatibility reasons.
- Fixed several errors in levels
- New sky settings for West Coast USA, Jungle Rock Island, GridMap, PureGrid, Automation Test Track
Scenarios
- Fixed ‘Car Delivery’ scenario
- Added option to have purely Flowgraph-based scenarios
- Add “flowgraph”:“filename” to the scenario.json , where filename can be relative or absolute path
- Setting “flowgraph”:true will check for a flowgraph file with the same name as the scenario.json file
- Flowgraph Projects loaded like this will stop and be removed when the player leaves the current level
- This will prevent any scenario related code to execute, so you need to handle level loading, vehicle spawning, etc in the Flowgraph Project!
- Added Supply Delivery Scenario
- Added Gravity Fuel Scenario
- Added Soccer Multiseat Scenario
Traffic
- Bug fix for when deactivating traffic. Not all vehicles were being removed
- Traffic code optimizations
- Multispawn optimizations
Audio
- Tweaked engine sound EQ settings
- Normalized volume change of mufflers
- Adjusted volumes of gear whine for gearboxes
- Prepared bank loading logic for future mod banks
- Added new i3 and i4 engine/exhaust sets
- Improved vehicle filtering based on cone angle
- Underwater audio filter and ambiance sounds
- Ambiance sound filtering based on distance to ground
- Various subtle ambiance sound edits, volume and filter changes
- Improved fire sounds
- Re-worked ambiance sounds for Small Island V2
- Fixed audio pitch wobbling in several circumstances when the camera or the vehicle are traveling at high speed
- Impacts that are generated from sound absorbing materials do not generate any sound now
- Non-metal materials generate a generic impact sound now
- Detecting and exposing camera information to FMOD
- When the camera is underwater
- Camera height information – to ground and sea-level
- Improved the direction calculation for vehicle sound emitters
- Fixed Vehicle Blend sounds being missing due to incorrect data
Controller
- Fixed accidental clutch engagement with high idle roughness
- Arcade shifting now supports manually shifted automatics
- Implemented support for unrestricted top-speed limits
- Changed how sport mode affects the driving aggression
- Added an error in case multiple controllers with the same name are detected
- Improved lightbar timing
- Improved shift behavior during jumps and generally losing ground contact
- Tweaked DCT shifting logic
- Improved stall protection
- Changed behavior of all clutched transmission in arcade when using throttle and brake at the same time, no more clutch slipping
- Improved transmission clutch drop/launch behavior
- Improved top-speed limiter logic
Input
- Made lightbar input actions global
- Steering speed caps adjusted so that 540 degree steering (rally steering parts) can move even faster than 720 deg when using gamepad or keyboard
- Added a deprecation warning for vehicles still using ‘input.keys’ system instead of vehicle-specific bindings.
- Improved TrackIR head tracking sensitivity (thanks to forum users DeathCore and den_chilk for the suggestion)
Powertrain
- Gearboxes can now exist without clutches without throwing errors
- Made combustion engine aware of exhaust direction for better audio support
- Added default turbo wastegate limits that are slightly bigger than wastegate starts
- Implemented dynamic tire radius measurement to combat excessive tire stretch at high speeds
- Added API to get downstream wheels connected to a given device
- Added API to get upstream propulsion device for a given wheel
- Splitshaft default clutch value can be set from jbeam
- Electric motors now expose their “throttle” value
UI
- Changed ‘Main Menu’ icon in the sidebar, improved its tooltip
- Added warning to ‘Hardware Accelerated UI’ setting
- Improved some Graphics settings naming and descriptions
- Environment menu: Added ‘Environmental Temperature’ info, adjusted fog slider scale, made time values visible
- Renamed background FPS limiter option to a more intuitive description
- Improved a DirectInput error message that implied a steering wheel was at fault, when it’s any device that can be at fault
- Messages app now keeps order if multiple messages arrive unordered
- Renamed background FPS limiter option to a more intuitive description
- Improved a DirectInput error message that implied a steering wheel was at fault, when it’s any device that can be at fault
- Messages app now keeps order if multiple messages arrive unordered
Replay
- The replay UI app now displays fine-grained (interpolated) timestamps, rather than the coarser recorded timestamps.
- Fixed inability to load replays recorded in Time Trials mode.
Game Engine
- CEF: Fixed F5 not showing change due cache
- Prevented DragRace UI to be shown when changing map
- bitmapPng: Fixed fatal assert when reading a file that is written in multiple steps by external software (ie: GIMP)
- Fixed PNG loading/saving endianness with 16 bit
- shapePreview: Added setInputEnabledEx
- Fixed file system suppressing some notification
- Updated DirectXTex to December 2019
- Activated textureCooker (Documentation)
- Improved Json handling: switched to Rapidjson
Thumbnails Script
- Implemented a basic IMGUI window to start the script easily (available in Showroom level)
- Added tweak camera window (WIP)
Render
- Depth Of Field PostFX: Fixed near blur not working, added debug mode, changed how the sliders work, now works in HDR colorspace
- LightRays PostFX: Various improvements, improved behavior at sunrise/sunset, now uses sun color LightRays PostFX: Various improvements, improved behavior at sunrise/sunset, now uses sun color
- Added ‘occlusionScale’ property to ScatterSky entity (used to calculate flare size for occlusion)
- Water objects and caustics now properly react to sun brightness
- Fixed material generation issue making the render to use random textures for normals
- Fixed spotlight attenuation issues at the borders when using large angles
- Fixed terrain cell’s materials not updating when painted new materials
- Fixed a random issue causing invisible vehicles
- Fixed negative colors caused by detail textures
- Fixed multiples issues when using sRGB textures
- Fixed some issues with FoV breaking shadows
- Fixed bug in dynamic reflection causing random issues on reflected vehicles
Physics
- Aerodynamics and internal collision subsystems can independently sleep now when objects are at rest
- Added material information to impact statistics that are used for impact sound specialization
- Fixed continuous coupling/decoupling in extreme slow motion affecting dynamic collisions
- Small optimizations inside the physics core
- Added torsionbar_count, torsionbars_broken, torsionbars_deformed attributes to beamstats that are returned by calcBeamStats physics core function
- Renamed vehicle Lua physicsStep → onPhysicsStep, graphicsStep -> onGraphicsStep, same for the rest of the physics core to Lua callbacks. The old callback names are still supported for backward compatibility
- Added setPhysicsStepEnabled to physics core. The function is used to enable/disable onPhysicsStep callback
- Vehicle Lua now disables onPhysicsStep callback if it is not needed
- Removed code for the unused “commands” jBeam section
- Removed vehicle saving functionality, it was unmaintained so we decided that it is better to remove it
AI
- Fixed AI subsystem breaking with more than 65535 waypoints in a navigraph
Navigraph
- Improved fidelity of navigraph generated from decalRoad roads. Uses decalRoad spline subdivisions (not just decalRoad control points) to produce the navgraph.
- Improved handling of T-Junctions regarding newly created map node sizes
- Navigraph creation is more deterministic
Flowgraph Editor
- Improved Transform node
- Added various nodes: Scenario-like Startscreen , Store-Statics, Custom-Config-Provider, Vehicle Actions, Navgraph-Reload, Bundle
- Reworked Traffic Nodes
- Concat Node is now obsolete, use Format Node
- Changed many Pin names to have the same name over multiple nodes (eg. vehId vs. vehicleId vs. vehID)
- Added Blacklist Action Node, can be used to hide actions like scenarios do
- updated and-Node to support variable input amount
- Various small bugfixes, improvements
- Levels can now automatically load and start Flowgraph Projects specified in their info.jsons:
- “flowgraphs”:[“filepath”], where filepath can be relative to level root or absolute path
Racepath Editor
- Added Undo/Redo
Track Builder
- Added additional Button before spawning Track
Console
The new in-game console officially replaces the old Torque3D one (still available if you press Shift+Tilde). The main advantage of the new console is that you can now filter logs lines and even search for specific things. The console is still a work in progress and will probably see additional significant changes in future releases.
- Completely rewritten how console gets logs (safer and nested log proof)
- Added fullscreen mode
- Added option history loop and GE command sandbox
- Added settings to save column displayed and font size
- Fix loadSettings when settings file does not exist
- Fix pattern error message not displaying,
- Fix bug where first line of the multiline log would be missing
- Fix command line losing focus on command execution
- Fixed settings not saving and loading correctly
- Unlocked column width in fullscreen
- focusOnShow is now an option instead of the default behavior
Game Session Information
- Added functionality to track several data points about player game sessions on an “opt-in” basis:
- GameRunning (Duration)
- SessionStarted (Time)
- LevelLoaded (Duration, LevelName)
- TrafficEnabled (Duration)
- AIEnabled (Duration, Vehicle, Mode)
- ScenarioRunning (Duration, ScenarioName, File)
- ScenarioEnded (Count, ScenarioName, File, Result)
- VehicleUsed (Duration, Vehicle, Config, CamMode)
- VehicleResetted (Count, Vehicle, Damage)
- EditorRunning (Duration)
- UIStateUsed (Duration, State)
- ControlsUsed (Duration, Method)
- TrackBuilder (Duration)
- Added game session data tracking opt-in to the game settings menu
- Updated privacy policy with information about what data we collect and process, how it is stored and how to request data deletion
World Editor
- Added multiple terrain snap options to object and forest editor
- Added undo/redo to various tools
- Added visualization menu
- Improved file dialog
- Added mouse drag selection
- Added keyboard shortcuts to switch between tools
- Added mouse wheel control for brush size
- Fixed issue with forest item raycast
- Added copy paste for inspector fields
- Road, River and MeshRoad editor
- Select multiple nodes with Shift+Click or CTRL+A
- Fixed missing decal road edges when there is no valid material
- Cam Path Tool
- Material Editor
- Added material creation window
- Added a cubemap selection window
- Material list updates based on selected object
- Added dedicated material preview window
- Added undo/redo
- Asset Browser: Added asset sorting and grouping options
- File Dialog: Added file preview
- Terrain Editor:
- Added undo/redo
- More undo functionality and small refactor to ease the editing operations “undofication” (added transactions, grouped undo steps)
- Scene Tree, automatic notification on C++ changes to groups, adding/removing scene objects from them
- Inspector
- Various fixes
- Euler rotation edit
- Field description tooltips
- Documentation
- Added documentation for editor tools
- Added helpers for documentation writing
- Updated editor API docs
- Fixed crash on terrain heightmap importing
Settings
- Reworked Options in Graphics menu
LUA
- Implemented generic PID library for easy use
- Improved CruiseControl logic
- Implemented checks to see whether vlua needs physics step updates
- Fixed exponential computational complexity behavior of path.split
- Added compositeExtension parameter to path.split. The parameter expands the spitted extension part to include multiple levels (e.g “ext3.ext2.ext1” instead of only “ext1”)
- Added setAdd, setSub, setScaled to vec3 API. These add, subtract, scale in place without creating a new vector object
- Fixed infinity representation of jsonEncode and jsonEncodePretty functions. Infinity is now encoded as “9e999”
- Quadtree
- Prevent memory leak in the event of a single point object being inserted in the quad tree
- Implemented tree depth limit explicitly instead of via a lower bound on object size.
- Optimizations: Optimized data structure for childless nodes. Store tree node count to avoid calling expensive length operator.
Misc
- Minor tweaks to ‘Big Screenshot’ function
- Small improvements to Vehicle Debug menu
- Vehicle Debug no longer has a default key binding
- Improved ‘No DirectX11 Device’ error message
- Orbit camera zoom now behaves faster when holding down Shift key
- Improved opacity of the GPS navigation 3d overlay (used in some campaigns)
- All settings in Options > Camera now apply in real time, rather than some requiring a game restart
- Fixed slowmotion transitions taking longer the slower the original time scale was
- Fixed multiseat vehicle switch not working correctly for 1st player
- Fixed crashes in the drag racing mode when reloading LUA or when resetting a vehicle if there are no vehicles in the map
- Fixed drag racing mode sometimes entering buggy state when switching from WCUSA to a different map
- Removed changes in process priority for game and UI