Dev Diary – Summer 2024

Welcome back, the Dev Diary is live once again, and it’s a big one! We are going to talk about the DTC launch, the main store, the upcoming DTC update, and more.

Cars are undergoing some maintenance…

What’s up?

It’s been a while since the last Dev Diary, I haven’t wrote one since before the Downtown Club launch! Starting from this post, Dev Diary publications will be more sporadic, mostly seasonal, or every time I have something particularly interesting to share. I’ve taken this decision just to ease out a bit, nothing more than that.

Speaking of the DTC launch, I can say I’m mostly satisfied. The launch day and the first two weeks were good enough to make me able to continue working on the game and not having to worry about rent and food for a while, which is already a big success considering I depleted all my budget to bring this game to life. Truth be told in my heart I hoped for a bit more success during the first days, but it’s fine: the game is in Early Access so the road ahead is very long, but I’m both able and willing to walk it.

It’s summer now, and each year we reach new heatwave peaks in our country, particularly so in the area where I live. This makes working at home really tiring, especially without an AC unit to compensate. During July and August I had two separate weeks of break so I could wind down and spend some time doing other things, but in the end I never left DTC alone for more than a couple days straight, even if working on it for just one hour a day. Same can be said for the artists working on the new cars, which have been updated on a lot in the last few weeks and which I will begin to test soon. Vacation is over now so I’m back to my routine this week.

On a different note, in my never ending struggle about understanding the essence of racing games, I’ve found this new video about the rise and fall of the genre, and it hit really close to home. If you are interested in racing games even for one bit, this is a very recommended watch:

From AppLab to main store

Starting August 5th, Meta began merging all AppLab games into the main store, as they announced some time ago, in a gradual process that will take some weeks. Luckily for Commuter Games, at the time of writing this post, all our games have been moved to the main store already! V-Speedway and Neodori Infinity are there as full releases, but for Downtown Club I enabled the Early Access label. It’s really just a label to make players aware of the game status, but it also marks all reviews made during this phase as “Early Access review”, which is really convenient.

The big merge didn’t come without issues, as many games that were moved to the main store don’t regularly appear in search anymore, or they don’t appear up in the results even when the search keywords are matching. Unfortunately these are the kind of bugs that happen every time the store undergoes major renovations, but they usually sort out with time. Once everything is up to speed again, I hope to see increased traffic on all games that were previously hidden in AppLab, but this will all depend on how good the store curation will be. In the meantime we developers still have to do our best via socials to keep our games in the spotlight- and cross fingers that merging AppLab into the main store will actually be a positive change.

Our games are in good company up there on the main store.

About the next DTC update

The upcoming DTC update has been under works for quite some time now, much more than I hoped for. I thought it would have been a quick fix requiring just a week, but it turned out to be like opening the Pandora’s Box, for the amount of things that need fixes and changes. This update is also the reason why the game is not out yet on Pico and YVR headsets: this update is very impactful and should improve the game feel to the point that it doesn’t make much sense to release the current version on the other headsets, just to have it radically updated after a few days. I believe it’s better to launch on Pico and YVR directly with the next update ready.

The amount of changes is enough to relabel the update from v1.0.3 to v1.1.0. For now I don’t have an ETA yet because there’s still quite some work to do there, but finally everything is proceeding smoothly. The following paragraphs will highlight the major changes in the update.

Car handling

To all you players, please accept my most sincere apologies– especially to those who think the cars are too slippery: you are in fact right. After updating the vehicle physics to a new version some days ago, and messing with the car stat values, I noticed that the changes I made in v1.0.1 to improve car handling didn’t have any tangible effect. This is caused by a bug I accidentally introduced earlier and I am not sure how I missed it even after testing. I believe it’s because I’ve been blind to my own project for plenty of time now, an unavoidable effect that kicks in when you have been working for something for too long. Glad I’ve found this bug somewhat early on.

This will be fixed in update v1.1.0 and the difference will be night and day. The cars will be a ton more stable even under pressure and I’m sure this will make the game a lot more enjoyable for everyone. Just remember that pushing the cars way too hard will still result in a loss of control- this is not a racing game on rails like V-Speedway was!

Opponents physics and AI

Despite working and struggling a lot on opponents AI to make it enjoyable, it has been a sore subject since the launch of the game. There are two core problems associated with it:

Cheating. The opponents use extra physics help to stay on track and on trajectory, specifically better stability and cornering than the player. On paper, they use that to compensate for their lack of advanced driving skills compared to a good player, rather than for making them harder to beat. This worked well enough during my tests, but it took little time for players to notice the opponents’ advantage. It’s especially noticeable in collisions, where opponents almost never crash or lose control, while the player is constantly in danger of spinning out even after small contacts. Which leads us to the next issue…

Collisions. Opponents don’t seem very aware of the other cars especially when closing from behind, leading to a lot of unnecessary collisions, leaving a sour feeling of dirty racing. I swear they haven’t been coded like this on purpose! I tried my best to make them aware of the surrounding cars and avoid unnecessary contacts as best as they can, but it simply didn’t work as well as I hoped.

It’s easy to see how these two problems can lead to frustration, and when playing on higher difficulty, the opponents feel downright unbeatable. This too will all be fixed in v1.1.0: opponents physics will be completely on par with the player physics, all thanks to the handling updates described above, to new racing lines, and thanks to a new editor tool I just created that can automatically test and improve different AI value combinations until the best one is found. Think like training a neural network, but it’s really just good old “handwritten” AI (check the video below)! Collision avoidance instead will improve just with better code and by making the opponents a bit more careful generally.

Game loop

I am mostly happy with the game loop of Downtown Club so far, but it turned out to be problematic on the long run for a couple of reasons: Events become harder as you progress through them, and Tickets to buy new cars are only won in harder events. Combined with how difficult the AI opponents can get, it means the game gets frustratingly hard early on and buying new cars might feel like a daunting grind. I also have to remember that many players are not fond racing enthusiasts and just want to have a good time with a game, maybe with a forgiving difficulty. And so to improve the game loop and make the game better for literally anyone, version 1.1.0 will bring the following changes:

Customizable Events difficulty. You will be able change game difficulty before starting any Event. Certain Events will still be easier or harder than average, but the average is picked from the chosen difficulty, not from the global difficulty scale. The selected difficulty will affect the amount of Tickets and Experience won after completing races and Events.

Persistent Event progress. When Events are completed, they will save and show your best result to mark your progress through the Events mode. You will still be able to replay Events as much as you like, to win more Tickets and improve the final Event result.

Tickets will be merged into a single currency. No more Car Tickets, Paint Tickets, etc, but just “Tickets”. All shop items and event fees will be paid with the same Ticket currency, so there won’t be the need to grind specific events anymore, and you won’t have a load of useless tickets sitting around forever. I first proposed this idea on the Discord server and it was quickly well received, so I opened a week-long poll and it concluded with an overwhelming 88% of preference for this new system. All the game economy will be rebalanced and your currently owned Tickets will be converted once the update drops. As much as I like the current Ticket system because it’s quite unique, unfortunately it just doesn’t work well enough.

Steering wheel grab

Last but not least, v1.1.0 will bring an updated logic for grabbing the steering wheel, and the best feature is that it won’t “lock” anymore as long as you grab it with two hands. Unfortunately even if the tutorial explains how to avoid it, many players still don’t figure it out. To get rid of the problem at its core, I decided to change some of the steering wheel logic, trading some code cleanliness for a better user experience (it was really a headache to seamlessly blend this new logic into the existing one). So from the next update, no matter how and where you move your hands, the wheel won’t “lock” and you will always have full control as long as you hold the wheel with both hands. At the moment I don’t have a solution to prevent the “lock” when holding it with one hand only, but I’ll try a few ideas later on.

Just to be clear, at the cost of repeating myself: I write “lock” in quotes because the wheel is in fact not locking, even if it feels like so. The problem happens when a player moves the hands too close to the rotational center of the wheel: since that area is extremely sensitive to hand movement by nature, it’s very easy to inadvertently turn the wheel all the way to one side. At that point the wheel reaches its end of rotation and won’t rotate further, giving the feeling that it is locked. Keeping the hands away from the rotational center is a 100% effective way to never cause this, but unfortunately it’s not easy to tell a player where it should keep its hands, and also for a player it’s not always easy to tell where your hands are. Looks like the tutorial and the visible wheel alerts were not enough, so here we are.

Night racing on the freeway.

After the update

I can’t wait to finish with update v1.1.0 so I will finally get to work on all new things, rather than changing what is there already. As I mentioned at the beginning of the post, the artists have made a lot of progress with the JDM car models, which I will test soon both to check how the visuals feel, and to start tuning the car specs and the drift physics. This will be exciting!

There is also another nice gimmicky feature we started working on around the launch date, for which the assets are ready but the code is not there yet, due to the work that piled up for the updates. I hope to be able to show and include this one soon enough, it’s really nice and makes perfect sense in the context of the game. And I can’t wait to finally work properly on online multiplayer and the Japanese Togue map- two of my most hyped updates personally.

Remember to check the Downtown Club roadmap at the game page.

Wrapping up

This was a moderately long post, that’s everything for today. Thanks for taking your time to read. As usual keep an eye on our Discord server and on our socials, as I hope to have news about DTC v1.1.0 as soon as I can. Time to get back to work for me!

Before I leave, please accept two non-VR recommendations for recent indie racing games I love, mostly made by individuals:

Aero GPX: probably the fastest racing game in more than a decade, heavily inspired by F-Zero GX and with speedrunning backed at the core of the driving system. It’s insane and the OST slaps hard. Really, check the reviews. Currently PC only, demo available.

Super Woden GP II: a top down racing game with a blend of classic-inspired gameplay and menu navigation which is a clear love letter to old Gran Turismo games. Looks nice and plays well, a nice change of pace in the motorsport genre. For PC and consoles.

Danjel Ricci “SkyArcher”