UI – Sneak Peek

17 August 2018

Hey everyone, Yale here.

I’ve been working with our user interface (UI) team for quite some time now and we thought it might be a good time to talk a little about what we are doing right now.

Early last year we decided to take a new approach. We would continue working on the current UI and implement the most needed features, fixes etc, but at the same time start from scratch on a new UI. This new UI should take all the lessons we learned from the last couple of iterations and apply them in it. Of course this splits up our already tight resources even more and often feels as if we are riding two trucks at the same time.

The topics we want to focus on in this blog post are the following:
    • Mod-ability
    • Performance
    • Visual redesign
This UI is nowhere near finished. So what you’ll be seeing here is a sneak peek of what we’re up to and what we are working on at the moment.

Mod-ability

One of the goals was to avoid pain points like the single file for app layouts, which required us to overwrite players’ own layouts, when we needed to make a change. So in every new system we are writing now, we are considering how and if this could be modded. This makes designing systems a lot harder and more time consuming, but it also means it will be super easy to add and modify them. Additionally, we found that designing that way includes thinking on how to scale the UI and forces thinking about problems that typically would have been an afterthought otherwise.

One example is the menu system of the new UI, which handles how new menus are picked up, integrated into the UI and finally displayed.

The menus up top (Play, Options, Help etc) are stand-alone folders, as are the menus in the middle (Freeroam, Campaigns etc). Remove a folder and the only difference is the missing menu in game. Add one and you get a new entry.

Performance

A valuable lesson from the current UI is where and when to expect bottlenecks. Of course we cannot predict all performance issues, but it does help a lot and we are keeping this in mind when working on the new systems. As much as we’d like to port all improvements back to the current UI, that is not possible, due to the fact that most systems are incompatible to each other.

One thing that made it back though and that probably shows the improved performance most visibly, is the vehicle selector grid. We used a technique called a virtual scroll, which essentially only loads the content it needs to display, instead of every single image in the list. While the concept is nothing new, we use this and similar techniques in all bottle necked menus for the new UI and are observing a more fluent and responsive UI overall.

Let’s have a look at how this is noticeable.

First there is scrolling performance. This is where we are lucky with CEF (the render software of our UI), which seems to optimize for small scrolls even with huge lists. However, you can see the problems when jumping a long section. Note how the optimized grid is faster, but also how you can actually see when it loads new images. This happens due to the scrolling being faster than it can load the needed images.

Equally noticeable is the responsiveness of the single elements due to the decreased cpu and memory load.

Both videos are recorded using a mouse recorder and with roughly 250 mods enabled.This is one very visible performance issue and of course we have heard problems like slow or freezing UIs and are working on those.

Visual redesign

As you already have seen, we removed the Material Design System in favor of our own, more gamey design. The material / android themed look didn’t bother us last time we revamped our UI, but the more BeamNG.drive became a game, the more the UI felt out of place. This was already getting obvious when we designed the garage and the mission screens.

We decided to take a very close look at general patterns that would fit the amount of menus and options we have. As well as feeling more gamey, being fast and easy to use and understand, while not restricting speed of use or being exclusively for keyboard or gamepad (to name just a few points on our wishlist for a perfect UI). These often are conflicting, but nonetheless important points to consider. Of course nothing is perfect and we needed to make a lot of trade-offs, but we then distilled all of that into something that felt suitable as UI of BeamNG.drive and that you can see as prototype in the attached images.

Approach

The first step to the new UI was to identify the core problems, pain points and lessons we’ve learned over the years, but also writing down and discussing all the new and exciting features we wanted to implement.

The current UI started to reach its limits some time ago. It was hard to find places for new menus, features and so on. Not only on screen, but also implementation wise. Additionally, there were some design choices that made a lot of sense then, but didn’t scale well over time, like for instance the app layouts, as mentioned above.

Originally we planned to keep most of the code in the current UI, adapt and revise it for the new one, since that would be a lot faster than a full re-write. However, it pretty soon became obvious that this would not address all the problems we wanted to solve. So we went forward only keeping a handful of the libraries and went for a full re-write of the UI.

Okay, but when can I try it?

There is a lot of stuff we need to finish before we can release this UI. We learned quite some things from the garage in that regard. So we’ll need to ask you to be patient. We are working on it as fast as we can, but need to split up a lot of resources to maintain and update the necessary parts of the current UI as well as internal prototypes etc.

Once public, you will be able to switch between the two UIs. That way you will be able to check out the new UI without missing features, until the new UI is feature complete.

We are looking forward to releasing the first prototype and getting a lot of feedback from all of you!

I hope this gave you a brief insight on what we are up to. Until the next time,

Yale

TL;DR

We are working on a brand new UI, that is designed from the ground up with performance and mod-ability in mind and additionally will feel more like a game UI. The following is a short dip into discussions and decisions made. It will be released when ready.

Fourth hotfix for 0.13 released

10 August 2018

More fixes/improvements as we work on the next regular update.

General:

  • Force Feedback: response is more immediate now, self-steering improved
Note: We would be happy to hear your feedback about these recent force feedback changes, please let us know if you have any issues, configuration tips, etc.

Fixes:

  • Fixed crash with some vehicle’s stock colors
  • Fixed crash when first vehicle spawned is removed but other vehicles share sounds with it
  • Fixed trailer’s reset logic affecting non trailer vehicles
Instructions on how to update the game here.
Bug reporting/Help Thread here.

5th year anniversary + hotfix: Thank you!

03 August 2018

Today is our 5-year annivesary since our first public alpha release.

Whether you have been with us since those early days, or you’ve discovered and joined our community more recently, we want to sincerely thank you for your support.

All your feedback, suggestions, bug reports, the effort to create mods, the creative and inventive video compilations… all of that is greatly appreciated and has helped BeamNG.drive grow and flourish.
Keep being awesome, it motivates us a lot to do an even better job in the future.

From the whole BeamNG team: Thank you!

We haven’t had time to make some special release for this anniversary (as a few of you expected), since we’ve been hard at work as usual, ironing out more remaining issues. Little spoiler we are working on right now:

Regardless, we’re happy to release another hotfix which, as a bonus, also includes great improvements to the force feedback system. Most of you should notice much greater detail and smoothness, even in computers with the lowest framerates.

Here’s the full list of changes:

Improved Force Feedback (FFB):

  • Much faster self-steering or countersteering ability
  • Forces are much smoother when FPS is lower than 60
  • More detailed forces, subtle changes in grip are easier to feel now
These improvements are fairly new even for us, so you may need to play with the FFB settings to extract the most out of it. Here’s some things you can try:

  • Players with below 60 frames per second may try reducing “Slow Smoothing”
  • Keep Fast and Slow Smoothing similar in value to each other
  • Some may need to boost “Strength” by 10-20%
Please refer to our steering wheel setup guide for more information.

General:

  • Added CrossJumps Track for the Track Builder
  • New time Trials on Hirochi Raceway : Medium Race Circuit, Forgotten Raceway 2
  • New time Trials on West Coast USA : Long Race Circuit 2, Alternative Race Circuit, Highway Intersection
  • New time Trials on Jungle Rock Island : Island Dirt Loop
  • Tweaked some car-specific Force Feedback (FFB) strengths
  • Updated Sunburst ‘Custom’ skin (thanks to @JungAlun)
  • Improved ‘spawnpoint’ marker in editor

Fixes:

  • Fixed rear wheel skidplates (missed entry from 0.13.0.3)
  • Fixed Semi Dumptruck and Cement Mixer steering alignment
  • Fixed Moonhawk mirrors becoming jiggly after small impact
  • Fixed several small garage issues
  • Fixed Utah Mixed Road Time Trial
  • Fixed invisible vehicle after visiting Parts Manager menu and then recording a replay
  • Fixed lag on bigger Track Builder Tracks
Instructions on how to update the game here.
Bug reporting/Help Thread here.

Second hotfix for 0.13 released

27 July 2018

General:

  • Improved Dam Jump scenario : Added accuracy score, one new target and an explanatory image
  • Tweaked Wentward DT40L config values to be more realistic for a 20-30 year old bus
  • Added white steel wheels to Wentward DT40L, standard on Base and Safari configs
  • Tuned wheel deformation – most alloy wheels will deform a bit more now
  • Cleaned up Pessima Turbo Burger info.json

Fixes:

  • Fixed broken flex meshes after use of “RESET ALL” button on Debug panel
  • Fixed shortcuts in Gravel Circuit and Old Race Track Circuit Time Trials
  • Fixed Big Air Vanster scenario
  • Fixed crash on engine Lua reload (CTRL+L)
  • Fixed tanker fender breakgroup
  • Fixed issue with the rear 4 lugs wheels on the 200BX
  • Adjusted engine strength on Sunburst, rear doors latch stronger
  • D-Series / H-Series front hub adjustements
  • Minor handling balance tweaks on 200bx,ETKi and Bolide
  • Fixed some visual issues on the Automation level
  • Fixed restarting of Bus Route scenarios

Known issues:

  • Vehicles can disappear during replays
Instructions on how to update the game here.
Bug reporting/Help Thread here.

« Newer Posts || Older Posts »