We’re back from a somewhat long Dev Diary pause and with a bit of delay, lots happened behind the scenes. We’re going to talk about Unity, Quest 3, car physics and testing!
It’s been a bunch of rough days lately. I’ve been sick with flu after the second half of October, and in the last week I had to live with a returning toothache, which I’m hoping to cure definitively very soon. Aside from that, things are going pretty much normally. This year me and my friends decided to skip our usual week at Lucca Comics and Games and despite we’re missing on a lot of exclusive events and releases, we also dodged really problematic weather and what seems to be their worst event organization in recent years. On the other side, recently I was able to spend a nice free-ticket day at Autodromo di Vallelunga, watching plenty of quick events and races (F4, GT3, TCR, Prototype…). Sssh, it was field research!
The Unity situation today
I’m sure some of you readers recall what happened with Unity in September, for which I wrote an extra article here on the blog. Since then, things at Unity have sure changed a bit:
- Unity changed their pricing model to a more acceptable one
- CEO John Riccitiello resigned from its position
- Performance issues with XR have been fixed
I still don’t have the energy to talk about the first two points, sorry for that, but you can follow the articles there to catch up with the latest changes, which I really hope are for the better. What I want to focus a bit more is on the third point, which was a big problem for me.
I’m glad to say that right now the performance DTC is on par between Unity 2020 and Unity 2022. This is a major win because I was stuck on Unity 2020 due to better runtime performance, but the editor itself was getting too slow for my machine, to the point I couldn’t bake lightmaps any longer (I work on an Apple Silicon Mac, but Unity 2020 is only for Intel Macs, so it was running via Rosetta emulation which is a very heavy task). Unity 2022 on the other hand ran perfectly on this machine, but then the runtime performance on Quest was really bad.
Now, Unity 2022.3.11 seems to have fixed whatever the issue was. I didn’t test this further to the point of having exact data, but what I tried was enough to convince me that I could finally stop worrying and move to Unity 2022 once and for all, which in fact I did for DTC. It’s a refreshing feeling being able to no longer worry about the technical environment, but only worry about developing the game itself. V-Speedway and Neodori Infinity will stay on Unity 2020 instead, to ensure maximum compatibility with Quest 1 for the time being.
Quest 3 and visual quality
Last month saw the launch of Quest 3, a very remarkable piece of hardware. I did my best to release a day-one update patch for V-Speedway and Neodori Infinity, but I was already doing changes in DTC to take advantage of the extra power of Quest 3.
That Red Matter 2 video sure raised the expectations of everyone about Quest 3 visuals, but that game is on a league of its own for many reasons. DTC won’t have such massive improvements- here’s the list of what to expect when playing on Quest 3:
- 90 fps instead of 72 fps
- ~23% higher resolution
- 2x higher shadow resolution
- 2x texture resolution on cars, drivers and select scenery elements
- Higher framerate and resolution for mirrors and reflections
DTC is already very GPU intensive on Quest 2, with long rendering distance, realtime soft shadows, mirrors, realtime reflections and a number of hefty shaders, in fact going from 72 fps to 90 fps on Quest 3 was enough to use already a lot of the extra GPU power. The list above is still not final since there are some more tests to be done, but it’s a good indicator of what you can expect.
My idea is that if I can squeeze anything new into the Quest 2 version, then I will do it. I recently added some nice reflections on the road at night, and working headlights for the player car. These two effects are currently running well on Quest 2 because they use approximations and are not physically based, nor they follow real life lighting rules. Regardless, I won’t be sure about which effects will make it in the final build until proper stress tests are done. To run those tests, I will basically need the game to be almost complete, and scale down from there.
Rediscovering DTC physics
As I’ve mentioned back in June, DTC is now using 3rd party car physics instead of my own solution. I was scared before going for it and I was still scared after taking the choice, but as time passed and I got the hang of the new physics, I’m glad I went that route. I’m really enjoying how cars handle in DTC and going back to V-Speedway now, it feels almost unresponsive and shallow. It’s not bad, but it’s a limited experience for sure.
DTC can really be considered a simcade today. It’s not a realistic simulation by any mean, but it’s no more as arcade as V-Speedway was. Cars now are roughly set up after real world data (size, weight, engine power, gear ratios, tire slip, traction control…) but even so I find them very enjoyable to drive. Push the car too hard and you will lose it and spin out, or even flip it if you find yourself in a bad accident. Drive them for some time and you’ll notice the difference between FWD and RWD- something I really appreciate personally. Of course nothing of this is new to any racing games player, but I’m just happy to have all of these details in DTC. I feared using 3rd party physics would kill the soul of the game, but after playing with the car setups, I’m glad it’s not the case.
Something that instead I made on my own and that I’m particularly proud of is a custom system that approximates road imperfections. The city road is not going to be perfectly smooth everywhere, and you will find some areas that are more irregular than others, both visually and physically. The more the road is irregular, the more the car will bounce around when driving on it. I wanted to replicate the same real life feeling of learning where potholes and bumps are in your hometown, and I think this system is working nicely.
Testing begins soon
Yes, you’ve read well! Aside from physics and visuals, I’ve updated other areas of the game and it’s finally nearing the Alpha state. This November I will add a bunch of extra users to expand the testers outside the development team, to get more quality feedback about the whole experience. Please note this will be an internal Alpha, so I will manually add select people to the test users, and it will be limited to certain game modes and content.
Once the internal Alpha is successful the game will move to the Beta state, but I will have more details on this later on. There’s still some time to go before I will be able to announce a release date, so please be patient- we’re getting there, I promise.
Before closing with the final comment, please let me first say sorry for not delivering yet the preview video I mentioned back in August. Since then, a number of tasks piled up that made me postpone the video until it eventually became a secondary matter. It will arrive soon.
With this said, I’m finally starting to feel like I’m nearing completion of the very first release of DTC, after all this time, after way too much time. Even if I’m not a fan of Early Access practices, I think it’s the best way to launch DTC given the capabilities of our small Commuter Games team. I can’t be sure of how the game will be received at launch, but I believe a lot of players will ask “Wait, this is all?” to which I will only be able to reply “Yes, this is all I could do”. It feels pitiful to me and it’s a constant feeling I can’t shake away. But again, it will be an Early Access launch, so we will start to add more content soon after. I hope you’ll be in for the journey.
Danjel Ricci “SkyArcher”