This version has been a combination of smaller features with a focus on filling out track environments with a splash of world building. As such it's been super fun drafting out what the future track builder could look like, and how I could make it as simple as possible for a player to create rich, built up tracks.
Track Visuals
A massive part of the experience is big feeling tracks with plenty of height and depth - so I needed more environment blocks to add. With the current tester world as Saathea (a red planet world not unlike Mars) I wanted some cool 3D tileable canyon blocks that preferably automatically tiled correctly when placed. I found a really cool extension called MGL 3D Rule Tiles that allowed me to create rules for 3D tiles and place them down on a grid. When generated, the rule tiles would adopted the shape needed for that part of the shape, depending on what was next to it. This worked great, however it only really listened to tiles on the same grid/plane and not above or below it. I have some work to do extending this awesome tool, especially if I want the depth of the tiles to be honoured.
In terms of texturing, I would usually create a seamless texture then UV map to the texture (crunchy pixels and all) but the package came with cool tri-planar shaders that render the sides together of a mesh, then popped the top on and blended them together. I experimented with some prompted seamless AI generated canyon texture, edited it to make it super crunchy and made it seamless; then slapped it on a tri planar material. The result was awesome, and really helped speed up the development of the game.
As well as a tileable block system, I added a start grid with garages. This was super fun to implement, the garages actually have the team colours in as well as a graphic showing their drivers. The garage door is open if it is in use, and shows lights to illuminate the pit. This illumination showed an error in the livery shader I created a couple versions ago. The shader doesn't show any changes when a light is shining at it. I've since changed this so the livery can show light changes. The effect is especially striking when night mode is on, and the vehicles emit a soft glow the darker it gets.
Online Leaderboards
Regardless of having a track builder, I really wanted online leaderboards with ghosts so that players could compete with each other in an asynchronous fashion. With a track builder, this feature would be even more awesome. Good news is, it all works as expected! Working with one of my besties, we've managed to create a full featured online leaderboard system. It adds player's laptimes to a database that can be ever expanded according to new tracks that are being generated. Ghosts can then be uploaded to the server and downloaded for player and track. The ghost side hasn't been fully fleshed out yet - I need to add some further work to display a leaderboard menu in-game and then allow players to download and cache these ghosts. My pal and I have already been trading laptimes and trying to beat each other!
There is a 'front-end' for the leaderboard, but the branding and styling don't quite match the designs currently, but will likely be made available closer to a public play test.
Controller Vibration
So when designing games, I try and think of how you interface with it in a sensory way. How can we make the experience more immersive? One thing that was sorely lacking was vibration. I've gone a bit wild with how I implemented this system. Each vibration event has an AnimationCurve (or line chart) that goes from 0-1 with a changeable duration. I then add these curves when triggered to change a vibration event each to the low frequency and high frequency motors in the controller. Depending on the nature of the event, will determine the shape of the curve and how each of the motor is employed. There is also a multiplier value too to show how much of the curves value to u se. This is useful for things like collisions when the force will change depending on how hard a collider is hit. To give an example, the boost is a powerful, drawn out force, and such the curve is long, and uses more of the low frequency rumble to give a feeling of power. In contrast, each shot of the laser cannon has a very short, sharp high frequency burst that syncs to the spool up effect the ability has.
This system is probably overkill, but I had a lot of fun making it. I had problems initially as my prefered controller of choice is a PS5 DualSense controller, one that when used via bluetooth is not supported by Windows...which took about 2 hours to figure out! Once plugged in everything worked great.
I also got the lightbar working on the DualSense for funsies. The light copies the emission colour of your livery.

Difficulty and other bits
I added other gameplay features such as difficulty - the game as seen from watching other people play the game was already quite difficult. I wanted to make sure easy was, well easy. I also wanted to add a challenge onto the more difficult modes. I improved the AI to make them a little bit more consistent and then on higher difficulties allowed the teams to use a higher cockpit and power unit tier than the players. This gave a natural speed and grip advantage. This is only available in the Custom Event menu path; in story mode things will be more fair. I am yet to change AI behaviour according to difficulty, that will be addressed in a future update. This will mean AI pilots of easy difficulty might not try to trigger abilities so often, or may prefer other targets than the player.
As I'm going for a more tools and utility led approach, I opted to create some more debug tools. I can now debug the API from the menus, show all available cockpits/power units/liveries/sponsors etc in one 'vehicle showroom' as well as bind functions to the number keys to help test various systems in game.
Track Basic Assets, Leaderboards and morev0.0.14
Apr 16, 2026
- Added a new Werebear wheel
- Updated Unity version following engine issues
- Refactored brake emission, brakes now render on the base shader for a much improved pixelated look with bloom
- Created animated sponsor walls
- PostSession scoreboard now shows difference times, as well as a bar chart to subtly show maximum points awards
- Added an opening message prompt showing any new information
- Added a static cinematic camera for cool camera shots
- Allowed the player in debug mode to change and map debug functions to the numbered keys and d-pad buttons on a gamepad
- Added a vehicle showroom debug garage to display all available vehicle assets
- Difficulty now added
- Created a start grid asset complete with start line, holographic checkered flag, start lights, dynamic garages and more
- Created 5 new sponsors
- Online leaderboards now work! API connects to PSE to send and receive laptime and ghost data
- Laptime data is shown at the start of a race to show quickest global laps
- Made a tileable 3D tile map rule set for canyon style blocks
- Added controller vibration and haptics for vibration events
- Add new layers of rendering for local only gameObjects for world space separation between local players
- Fixed a plethora of bugs relating to UX
- P2 can now join as a keyboard in pilot select
- Improved scene transitioning
- Improved pop ups
- AI minimap blips have been reduced to show local players more clearly
- Fixed reticules not showing
- Added back tyre smoke


