News detail and comments


01.05.2022   Category: Site news


Episode 16: Creating a graphics engine from scratch…

We had already decided that we would need a whole new graphics engine for v4 and that our new man on the team Miro was going to pull that off, starting from scratch. Maybe a year, year and a half at most. Todd and Tony working on electric on-road and off-road, so we would probably launch somewhere in 2008 the successor of VRC v3.,5 now to be called VRC Pro. It wasn’t to be, it turned out a far more complex project than I had envisaged. We launched end of 2011, 6 years later…

In game structure terms, the graphics engine is part of the Game engine, which also include the physics, the sound engine and the GUI engine. Obviously with all the terrific work done by Todd on the physics engine we were not going to re-write that part, but in stead build on it to support electric on-road and off-road. The same for all the 3D artwork that Tony had already produced for v3.5, we wanted to re-use as much as possible!

Windows and DirectX
We started this development in a period of very rapid technological changes, both on graphics (or video) card hardware as on graphics software. NVidia Geforce and AMD Radeon were involved in an epic battle for graphics card superiority, and Microsoft was fighting for market leadership with their DirectX graphical platform against the open-source OpenGL. DirectX was the de facto standard for Windows PC’s and of course the Microsoft Xbox gaming console.

We opted for DirectX for obvious reasons, VRC Pro was going to be played solely on Windows based PC’s. When we started with VRC Pro graphics engine development back in 2006 we worked with Windows NT and DirectX 9, when VRC Pro was launched in 2012 we were on Windows 8 and DirectX had evolved to version 11, currently we are on Windows 10 and DirectX version 12! Fortunately for us the older versions are still supported by Windows 10 and the modern graphics cards, otherwise VRC would be in a whole lot of trouble…

3D Graphics
While Miro got to work on the basic structure of the graphics engine a lot of discussions were going on between Marek as the game architect and Tony West, our 3D graphics artist. Some of the structures we used for v3.5 were adopted for Pro, but generally speaking we needed to create a new set of conventions to implement Tony’s graphics into the new graphics engines, including all the new features we had planned for the future.

Communication was key in the early days of VRC Pro development, we not only used our Advanced Issue Tracker platform to exchange ideas, solutions and files, we also had frequent meetings with Tony and the Slovak team, both in the Netherlands and in Slovakia. Also Todd traveled several times from the US to Heemstede (NL) and Trencin (SK) and stayed there for longer periods to work on his physics engine, discuss with Michael Salven and Rene Cornella about r/c car vehicle dynamics and tires, and make sure his physics engine was working seamlessly with Miro’s new graphics engine. Tim has also spent many many months in Trencin working with the team, he was my ‘liaison’ there, his other focus was on the website and especially the business side back office. I have good memories of all the meetings with Todd, Tony and the Slovak Team here in Heemstede and in Trencin, especially the table tennis matches and the pizza’s at Marek’s office!

When the prototype graphics engine was first available in the game we could finally start using the game to evaluate our own contributions, 3D content, physics, game structure and logic, and GUI. But the first prototype graphics engine was far from perfect, it was slow and resource hungry. The last 2 years of Miro’s job focused entirely on optimizing the engine (higher frame rate) and graphics quality. I can’t tell you exactly what was worked on, so much was going on, but I do remember everything was done tiny steps. I do remember one particular aspect of the optimization process: implementing ‘LOD’ which stands for Level of Detail.

Level of Detail (LOD)
Imagine 10 cars on the track in multiplayer, or in a race replay mode. How much do you really need to see of other cars which are on the other side of the track, that’s what LOD is mainly about. This may not be all that important for the on-road cars, but we were already planning and developing off-road as well, and these cars would have animated suspension parts and shocks as they are outside the body and well visible. Are you going to ‘animate’ this for all the cars on the track or just the cars which are within a certain view-distance of the viewpoint (camera)?

This animation is not so much something that would stress the graphics engine but especially the CPU which had to do all the computations based on information sent by the physics engine, and then sent these new positions of all these suspension components to the graphics engine to create the next frame, 100, 200, or 300+ times per second.

For the new LOD feature I had specified the chassis components of the off-road chassis which could be ignored by the rendering engine depending on the distance from the viewpoint, and we could then start testing and finetuning this feature of the graphics engine. We achieved massive improvement in graphics performance with LOD, much higher frame rates essential for the feel of the sim.

Marek had developed the new game architecture for VRC Pro including a whole new database structure for game data and content, and for the website which had to work seamlessly. Tomas was working on implementing the data structures for our new database, Lubo was developing and implementing the software for the game logic and structures, and Rado was developing the structures for the graphical user interface (GUI) so Tony and I could build the GUI. Tony had started to create new artwork for the new game interface, i.e., the interactive pit table, all the commercial objects, new tracks, chassis and components and the new GUI. And Todd continued to develop new features for the physics engine to support the 1:10 and 1:12 electric on-road classes, and 1:10 short course trucks, our first attempt to move into off-road.

A lot was going on as you can imagine, but Miro was only gradually building up the new graphics engine, a process that was taking much longer than anticipated. And as you can probably also imagine, until you have a fully functional graphics engine there is nothing to see, nothing to test, nothing to evaluate. It took some 4 years before we reached a point where we could finally start working with a prototype VRC Pro game and start testing. Can you imagine how frustrating that must have been for all of us? Nothing we could do about it to speed it up, it was all in the hands of Miro who was faced with an immense technological challenge to build this graphics engine with ever increasing demands from the team. Something no other Indy sim developer has even attempted to do…

Missed opportunity: Unity
What we missed completely (much to my regret…) was the Unity Game Engine development platform, which was launched in 2005, initially for Mac OS platforms and later also for Windows. Unity was the ideal game development platform for ‘indie’ (independent) game development studios with its own 3D graphics engine with dynamic shadows, directional lights and spotlights for example, and sound engine. And even a physics engine but for sure we would need to use our own!

It also supported a so-called Networking layer which enabled the development of multiplayer, one of the features that had to be included in VRC Pro for sure. Unity came only to full floriation in 2008. Too late for us, by then we were well underway with our own development, far beyond the point of no return. VRC Pro development could then have focused on integrating our own (Todd’s) physics engine and 3D graphics artwork into the Unity Game Development Engine but that wasn’t to be.

It was very unfortunate that we missed this important development, it would have saved us loads of time (and money) developing our own graphics engine. But more importantly, the Unity platform would have taken care of all the adaptations to future changes on Windows, DirectX and graphics card levels. It is what it is, we have developed all this in house and are simply unable to keep up with these vast developments. As said before, luckily our ‘proprietary’ graphics engine technology still works!

At hindsight
I can go on and on about our graphics engine, but I think you get the point of the importance of the graphics engine development and how crucial it was for the whole VRC Pro development project. We have reached quite an incredible graphics quality level with excellent performance with our own graphics engine which we should never have developed ourselves. Fact is however, that we are now stuck with keeping up with all the technological advancements that have taken place since. Updating our graphics engine now to the current standards would take at least a year and would require Miro to be available for this job which I doubt he is. It’s simply not feasible budget-wise, we’ll have to work with what we have.

At the launch of VRC Pro we had added 1:10 and 1:12 electric cars and tracks to the available car classes. As I had no personal experience with electric on-road this was a new challenge for me and especially Todd to make them work as realistic as our nitro on-road cars. How?

That’s next.


Only active members can post comments
No comments.

News by month

July, 2022   (1)
May, 2022   (6)
April, 2022   (4)
March, 2022   (4)
February, 2022   (4)
January, 2022   (6)
December, 2021   (4)
October, 2021   (2)
June, 2021   (1)
May, 2021   (1)
January, 2021   (1)
December, 2020   (1)
November, 2020   (2)
July, 2020   (3)
June, 2020   (2)
May, 2020   (1)
April, 2020   (3)
March, 2020   (1)
February, 2020   (2)
January, 2020   (2)
November, 2019   (1)
September, 2019   (4)
July, 2019   (1)
June, 2019   (1)
May, 2019   (2)
April, 2019   (1)
March, 2019   (1)
February, 2019   (4)
January, 2019   (10)
December, 2018   (5)
November, 2018   (3)
October, 2018   (2)
September, 2018   (2)
August, 2018   (3)
June, 2018   (4)
May, 2018   (1)
April, 2018   (3)
February, 2018   (1)
January, 2018   (8)
December, 2017   (17)
November, 2017   (6)
October, 2017   (12)
September, 2017   (11)
August, 2017   (9)
July, 2017   (2)
June, 2017   (9)
May, 2017   (5)
April, 2017   (7)
March, 2017   (10)
February, 2017   (8)
January, 2017   (10)
December, 2016   (13)
November, 2016   (9)
October, 2016   (3)
September, 2016   (4)
August, 2016   (2)
July, 2016   (1)
June, 2016   (3)
May, 2016   (6)
April, 2016   (4)
March, 2016   (20)
February, 2016   (34)
January, 2016   (4)
December, 2015   (2)
November, 2015   (5)
October, 2015   (5)
September, 2015   (1)
July, 2015   (4)
June, 2015   (6)
April, 2015   (4)
March, 2015   (5)
February, 2015   (6)
January, 2015   (9)
December, 2014   (11)
November, 2014   (3)
October, 2014   (9)
September, 2014   (3)
August, 2014   (4)
July, 2014   (2)
May, 2014   (4)
April, 2014   (7)
March, 2014   (2)
February, 2014   (3)
January, 2014   (9)
December, 2013   (14)
November, 2013   (5)
October, 2013   (9)
September, 2013   (5)
August, 2013   (5)
July, 2013   (7)
June, 2013   (7)
May, 2013   (6)
April, 2013   (5)
March, 2013   (2)
February, 2013   (2)
January, 2013   (6)
December, 2012   (10)
November, 2012   (5)
October, 2012   (4)
September, 2012   (2)
August, 2012   (4)
July, 2012   (4)
June, 2012   (2)
May, 2012   (2)
April, 2012   (1)
March, 2012   (2)
February, 2012   (3)
January, 2012   (4)
December, 2011   (7)
November, 2011   (2)
October, 2011   (3)
September, 2011   (3)
July, 2011   (1)
June, 2011   (1)
May, 2011   (2)

Other news


01.07.2022   2 comments


Episode 20: More commercial features

In the previous episode I told you about our efforts to invo... read more


27.05.2022   2 comments


Episode 19: Going commercial with VRC Pro

I was encouraged by the close collaborations I had deve... read more


19.05.2022   21 comments

All events for the 2022 SEASON 2 SERIES have been published. The new season starts on Saturday July ... read more


13.05.2022   1 comment


Episode 18: First steps into offroad – Short Course Trucks

After we had finished the electric on-... read more




To advertise click here

Share on Facebook

Share on Twitter