Miracle Karts - Vintage go-kart sim

Hi, I’m defomort and I’ve been making Miracle Karts, a surreal vintage karting RPG. :melting_face:

The game is single player focused with you moving up through the ranks of local karting clubs. Currently there are 4 kart types, over 40 parts, and 6 tracks.

The racing is physics based, inspired by vintage karting (1950s-80s). It’s not quite a full sim but I’m simulating terrain types per wheel, and dynamic weather with a forecast system. Part selection has a significant affect on the way your kart performs, and they will need to be maintained and replaced throughout a season.


I’m hoping to release towards the end of 2024 but I’m alone so I reserve the right to delay things for my own health!

This is made with Godot 3.5 entirely with GDscript. I make my models in Blender with hand-painted textures, and my sound and music in Cubase. This isn’t my first Godot game but it’s the first game of this size I’ve attempted.

Miracle Karts on itch
My Youtube devlog series

11 Likes

Wow, this looks awesome!
Great grapics and the UI isn’t completely cramped up, good job :slight_smile:

1 Like

Thanks @newtodevelopment - it’s been a fight to keep from adding more details to the UI but other than needing pop-ups for parts breaking and pickups I’m pretty happy with it.


In Miracle Karts you’ll get to witness the leaves change with the seasons.

To make things a bit less insane for myself I chose 1 leaf type that will change almost every other day that is present in most tracks. This way all my other trees can have significantly less variance.

PBR values, normals, and transmission are all made based on the lushest variant of the texture, with only the albedo being swapped. While I could (and am tempted) go in and make unique PBR and transmission values for the winter trees it’s almost impossible to tell in game.

For background trees I’m using 2D planes so I made a “photobooth” scene where I can screengrab the different passes. I take a screenshot of the raw colour values, ambient occlusion (shadows + texture), and transmission for each season, then clean them up and re-import them into Godot as PNGs. I was initially capturing normals as well but they didn’t add much.

Transmission values for a background card.

This was a huge time saver and is thankfully something I can re-use anytime I need 2D versions of my models.

To manage all these textures I use a procedural forecast script. In it I have dummy Meshes with each of my leaf Materials that I can update before a track is loaded. My trees are made in Blender from very simple shapes so it’s relatively quick to make a new tree Mesh that will work with any of my leaf Materials.

There are still some issues, specifically how bare the tracks look in winter but maybe that’s accurate? All I know is it feels rad to watch the leaves change as you progress through a cup and that’s all I care about!

If you have a question on how I did anything feel free to ask and I’ll do my best to share.

Bro, I gotta say, the amount of effort put into this is highly respectable. I will most definitely keep up with the game.
By the way, the leaves watch over time is just really unique. Hope you could find more interesting things to add, for example a map that changes over time.
Track wise, I mean. You could drive through a portal and the track is not the same anymore, that could maybe be really cool. Just an idea tho.
I might give it a try soon!

1 Like

One question:
How did you make the breaking system of parts?

Part wear still hasn’t been balanced or tested but here’s a brief overview of how it’s implemented.

There are repairable, and disposable parts. Parts wear down from use, but a crash or impact will also degrade parts depending on where you’re hit and how hard. Once parts are broken it can lead to overheating, backfires, and reduced performance.

I don’t want to go into more detail yet but it’s more like an RPG status effect than a realistic consequence. You can still compete with a broken kart and sometimes you’ll have no choice.

That sounds great! Pretty cool mechanic

How is it already the end of May…

I’m supposed to be finishing up all the mechanics in the next two weeks so the last 4-6 months before release can be spent adding in the rest of the game content, polish, and balancing. This week I’ve been connecting all the menus and sorting out input mapping.

This is the main screen you’ll be seeing when you’re not in a race. The map can be controlled with the keyboard, mouse, or a controller - and snaps to the nearest point of interest. The map is how you find new clubs to join, unique story events, or practice on tracks you’ve been to.

From here you can also access your Profile, Outfitting, and the Event Calendar.

The Outfitting screen has been one of the hardest to figure out. Showing the player stat differences with just number values feels too abstract so I’m going to add bars under the stats like they have in the Horizon games that use a simple 0 - 10 range.

I want so badly to bring RPG like mechanics into the inventory but I find it hard to adapt them to vehicle stats that use realistic numbers. If anyone has any advice or know any games that manage this well please feel free to share! :sweat_smile:

Hopefully I’ll find the time to do another video update soon. I had some family stuff over the past couple of months so between that and work I’m not always in the mood to make content when I could be working on the game.