This post may not be for everyone and it definitely sets itself apart from the regular news content. Just recently, Studio 397 visited Luminis DevCon, a convention held by Studio 397’s parent company Luminis to share knowledge of and in the tech industry. Marcel Offermans, managing director of Studio 397, took the opportunity to showcase some of the technical backgrounds of rFactor 2 – a side of #SimRacing we rarely get to see!
What About the New rFactor 2 UI for example?
rFactor 2’s new UI has been discussed for a long time now and it has definitely taken the team longer than expected to implement.
Firstly, it might be interesting to note that rFactor 2’s original UI was completely purpose-built, meaning that its implementation was only capable of representing the exact UI currently present in the game, nothing more, nothing less. This meant that if you wanted to add something new, you had to fight yourself through vast amounts of code/ text/ hierarchies to add your desired UI element. It wasn’t very dynamic/ agile, and considering nowadays’ standards, where you open up some kind of editor, press “add button”, and you are presented with a beautifully crafted new UI button (simplified), it was just outdated. And rightfully so, as it was several years old, which, in the tech industries, equals centuries.
This lead to Studio 397 building a new UI completely from scratch, but this time, based on current technologies. These include the use of HTML within an embedded version of Chromium (the open-source version of the Chrome browser) within the sim for example.
One of the problems development came across during the process was thread safety for example. Now, in case software development is not really your cup of tea, you can use multiple so-called threads to run your code in. The idea is that you assign different tasks to each individual thread, and calculation/ execution of the threads then happens at the same time (parallel).
Imagine multiple assembly lines carrying parts that workers then use to build something. In this example, the assembly line is a thread, the workers are parts of your processing unit, the contents on the assembly line are code and the finished product ist the UI.
Whilst this sounds super effective, it is fairly hard to implement, as you will quickly uncover the problem of managing interaction of all the threads, which basically becomes inevitable as they are all working on the same product. The worst-case scenario would be a so-called deadlock, where all of the threads are waiting for each other to finish, whilst none of them is actually doing something, because they are waiting for the others to finish – your programme will freeze.
This problem, where your app is not thread safe, is something Studio 397 came across when trying to make the new UI interact with the base game.
It really should not surprise anyone that tyre manufacturers are very secretive about their developments and technologies which is understandable but quite a pain for #SimRacing developers, as tyres cannot be adequately simulated without detailed data. Since Studio 397 takes great pride in its tyre physics for rFactor 2, what this eventually lead to was the team getting real racing tyres, completely taking them apart, feeding the discoveries into a computer and letting a simulation of the tyre compound run for 24 (!) hours to collect adequate data for physics development.
Potential New Content?
Sebring was of course mentioned in the presentation, but later on, when discussing the cloud infrastructure used for the upcoming competition system, Marcel Offermans used 4 examples for potential locations for a racing series – Assen, Spa, Zolder and Zandvoort. So, maybe … ?!
As there was lots more mentioned, like the upcoming competition system, the process of track modelling or how Studio 397 actually got the rFactor 2 gig, the talk is definitely worth a watch for those interested, and thankfully, a Ph.D. in Computer Science is not required to understand what is going on!
I Want More!!!
If this talk was not enough, you might want to check out what Stefano Casillo had to say about the development of Assetto Corsa below. And of course there is also Niels Heusinkveld to look out for.