Hey folks,
First: Sorry for the huge delay - this blog post is a long time in the making. We are working on lots of things at the same time and some things got delayed.
In this post we’ll focus on the past, present and future of BeamNG.drive. But first we’ll make a brief flashback.
We, the initial four guys (estama, ljfhutch, gabe, tdev) got together in 2013 with the dream of advancing vehicle simulation to the next level. Since then the team has grown into a full professional games studio always following the initial vision.
If you had asked us three years ago, we would never have imagined that this would be possible and that so many people share our vision.
You guys rock!
Without your continuous feedback, comments and financial support this wouldn’t have been possible.
For this very reason, we are super grateful about all the support that we received over the years. We value transparency a lot as we are gamers ourselves and want to be open and honest about where this journey is going and what the end result will be. That being said, we try very hard to not disappoint you - we try to finish the promised features and not promise anything that is not financially possible or otherwise not achievable for us.
The past
Since August 2013, we were able to release 56 updates. A short timeline of our company:
- August 2013: 0.3.0, 0.3.0.1, 0.3.0.2 ( blogentry)
- September 2013: 0.3.0.3, 0.3.0.4, 0.3.0.5.
- February 2014: greenlit on Steam
- June 2014: 0.3.1.0, 0.3.2.0, 0.3.3.0.
- July 2014: 0.3.4.0, new office.
- August 2014: “Coming soon” in Steam
- September 2014: 0.3.6, 0.3.6.1 ( blogentry), 0.3.6.2, 0.3.6.3.
- November 2014:
0.3.6.5,
0.3.6.6,
0.3.6.7,
- December 2014: 0.3.6.9, ( blogentry)
- January 2015: 0.3.7.1, 0.3.7.2, ( blogentry)
- February 2015: 0.3.7.4 ( blogentry), 0.3.7.5, 0.3.7.6 ( blogentry), 0.3.7.7 ( blogentry)
- April 2015: 0.3.7.8 ( blogentry), 0.3.7.9, 0.3.8.0, 0.3.8.1 ( blogentry)
- May 2015: Released as “Early Access” on Steam, 0.3.8.2 ( blogentry), 0.3.8.3 ( blogentry), 0.4, 0.4.0.1, 0.4.0.2 ( blogentry)
- June 2015: 0.4.0.3 ( blogentry), 0.4.0.4 ( blogentry), 0.4.0.5 ( blogentry), 0.4.0.6 ( blogentry)
- July 2015: 0.4.1 ( blogentry)
- August 2015: 0.4.1.1 ( blogentry), 0.4.1.2 ( blogentry)
- September 2015: 0.4.2.0 ( blogentry), 0.4.2.1 ( blogentry), 0.4.2.2 ( blogentry)
- October 2015: 0.4.3 ( blogentry)
- November 2015: 0.4.3.1 ( blobentry), 0.4.3.2 ( blogentry)
- December 2015: 0.5 ( blogentry), 0.5.1 ( blogentry)
- February 2016: 0.5.2 ( blogentry), 0.5.2.1 ( blogentry)
- March 2016: 0.5.3 ( blogentry), 0.5.3.1 ( blogentry), 0.5.3.2 ( blogentry)
- April 2016: 0.5.4 ( blogentry)
- June 2016: 0.5.5 ( blogentry), 0.5.6 ( blogentry), finally finished writing that blogpost …
What we worked on
We worked on lots of things over the years, so following is a very brief summary.
The Game Engine
- Fixed major render bugs
- Implemented required render features, like per vehicle color, dynamic reflections, gpu vehicle skinning
- Ported renderer from DirectX9 to DirectX10-11
- Improved render performance a lot
Vehicles
- Released many new cars
- Started with just 6 vehicles
- Now up to 20 cars and over 200 variants, with more coming, attempting to cover every archetype
- Improved existing vehicles - bug fixes, design and engineering changes
- Optimized vehicles’ performance - removed unnecessary nodes and beams
- Added more customization ability and variants - wheels, body parts, skins, and much more
- Greatly improved handling and drivability
- Several iterations of the new tire model have gotten us close to real tires in their performance data
- Re-engineered suspension with precisely adjustable alignment
Terrains
We released several new maps:
- Derby
- East Coast USA
- Hirochi Raceway
- Utah
- Reworked the entire Dry Rock Island map with new vegetation, textures and a whole new layout (now called Jungle Rock Island)
Terrain evolution
We improved the visual quality of our terrains immensely over time:
We worked on a lot of scenarios as well, but we’ll skip over that here.
Physics
- Ported to 64 bits and use of SSE2
- More than 2 times performance improvement of physics core
- Improved parallelization of physics core over many CPUs
- Stable dynamic collisions (for example to carry other vehicles around)
- Added simulation of pressure (air inside tires), buoyancy (balloons), lift (separate from drag), slidenodes (nodes moving on rails) and fire
- Added more beam types in physics core to improve tire simulation
- Improved friction simulation
- Added physically based steering wheel force feedback that is being driven by the simulated vehicle’ skeleton
- Created an AI that is able to freely drive around, at speed, over a rural road network (making decisions as it goes) and using exactly the same controls that a human is using (a gamepad to be exact). The AI is under exactly the same physics that a player is and is completely Open Source
- Implemented lifelike simulation of vehicle Electronic Stability Control (ESC), Traction Control System (TCS) and turbochargers
- Huge improvements in tire construction/driving behavior. Our tire construction/characteristics are tested using in-game simulated tire testers
Input
- Revamped the input subsystem to support all kinds of controllers (mouse steering, force feedback joysticks, steering wheels, h-shifters&handbrakes, etc), allowing you to customize the bindings directly from the game’s user interface.
- Added support for multiseat gameplay (several controllers plugged into the same computer, each driving a different car on the shared screen)
- Added ability to navigate the game menus using your gamepad or favourite controller
Phew, lots of things. If you want more detail, please have a look at our full changelog.
The present
What we are working on for the upcoming 0.6 release (this will take some more weeks) and beyond:
The Game Engine
- Optimizing render on CPU
- Shader optimization
- Refactoring code for future changes: working towards PBR
Vehicles
- Finishing the last few vehicles we have promised
- Adding more customization parts
- Continuing to improve existing vehicles
Terrains
- Working on the new Italy map. Being both the most ambitious map to date and still early in development, this will still take some time to complete.
- Implementing the campaign mode
- The campaign will start out teaching basic concepts and showing capabilities and expand into light story to prepare for the open world section.
Physics
- In depth engine thermal simulation with advanced damage modelling
- Accurate supercharger simulation
- Drivetrain and transmission optimizations
- Suspension simulation improvement
- Add couplers that are able to glue nodes (from the same or other vehicles) together
- Add AI chase and racing (round a lap) modes
- Continue optimizing physics core
Audio
- We got an audio specialist (Sebastian) now that is doing research on how we can improve our game sounds.
- Current topics being worked on (these should not be expected soon):
- Models for different surfaces
- Model for engine sounds created with Max/MSP
- Various car interior sounds: handbrake, indicator, gear shift, horn, light, hazard light
- Destruction sounds: model for car being on fire, tire bursting
- First attempts to create realistic, interactive tire squeals
- Sounds for blow-off-valves, turbos and superchargers
- Focus will now be on the implementation side and making the assets created so far work in game, then improving the assets and sound system
Gameplay
- Campaign mode: will feature 15 minutes of quickstart, then light story introduction. Story will be light and shallow, told by short comic strips and a simple dialog system. Some examples of our art style:
It will be presented in classic comic strip style:
- Gamified user interface: we are working on a garage mode that features a new parts selector with many more features. Sneak preview:
So, this is also the time to present the current team to you 🙂
Our team
Our current BeamNG team: (Please note that not all of us are working fulltime)
- Thomas, programming, CEO/management
- Eleftherios, programming, CTO/physics
- Sam, art, art director
- Gabe, art, vehicle lead
- Luis, programming, programming lead: Game/Render engine
- Ludger, quality assurance, mod moderation/compatibility
- Bruno, programming, generalist/input
- Corey, vehicle, tire specialist
- Mitchell, art, level/vehicle designer
- Konstantinos, administrator, systems and network administrator
- Chris, business, consultancy
- Saskia, management, secretary
- Yale, programming, user interface
- Lisa, art, 2D concept art
- Christin, art, 3D art
- Sebastian, audio, audio designer
- DSam, art, vehicle designer
- Georgios, programming, user interface
- Ananda, customer support
- Nour, programming, generalist
- Fabian, programming, vehicle systems: ESC/TSC
- Moncef, programming, vehicle systems: turbocharger
- Winston, art, vehicle designer
- Jali, art, vehicle designer
- Petros, programming, artificial intelligence
- Colin, quality assurance, mod moderation
- Andrew, programming, senior generalist
- Pascale, programming, generalist
- Annisa, art, assistant level designer
- Timo, programming, junior generalist
- Mark, programming, GPU optimisation
- Janne, art, vehicle designer
The future
We have so many things we want to do still, here are some of them. 🙂
Most of these topics represent ongoing research. For some of the items we don’t even know if we can make them work out correctly. So: No guarantee or promise for anything below for the final game!
The Game Engine
- Replay system: rewind/replay
- Online leaderboards/multiplayer
- Improved render quality:
- Vulkan renderer
- Physical Based Rendering [PBR] for a more realistic representation of ligthing
- New Material definition, simple to understand and more optimized for render
- Deferred Shading
- New Terrain renderer for improve visuals and more optimized for render
- New post effects for improve visuals and performance
Vehicles
- Expanding into more diverse vehicle types
- Vastly expanded library of customization parts
- Designing and building more cars!
Terrains
- Releasing the Italy map
Physics
- New thread scheduler that packs objects together into one thread
- New dynamic collision engine that also supports edge collisions
- Physically based particles (maybe also used for aerodynamics)
- Tire Thermal Simulation
- Improved simulation of transmissions and differentials
Gameplay / Campaign Mode
- Vehicle ownership - buy a car, upgrade it, and enter it in events
- Car dealerships populated with random car configurations
- Earn in-game money to buy upgrades and more cars
- Experience the satisfaction of finally buying that supercar after saving up for it
Everyone loves statistics
We also created some graphs for you:
Updates vs time:
(however, we changed recently into a monthly update schedule to allow more time for breaking changes)
BeamNG Employees vs time:
Number of SVN Commits vs time (these are the changes to the game’s content):
We will try to publish more blogposts about our work in the future that are not changelogs 🙂
Thank you so much for your ongoing support
- The BeamNG team
Please use this thread for feedback - thanks!