In addition to having spicy opinions about politics, I like making games (well trying to make them anyway).
As a result this article might be a little different that what else is on this site. (who am I kidding, no one reads this site.) I’m mostly putting this out there to help motivate me to finish this one. So to the one person out there reading this thank you.

So what even is this game? Well, It’s an untitled racing game from a top down perspective. Beyond that, not much. I frankly don’t know what this will turn into aside from that.
For those that care.
This section is for people that like to know what engine a game uses and other technical minutia. This game uses Bevy, a rust game engine/framework depending on you definitions. As the website says, it’s a ECS, meaning you end up writing small functions that manipulate “Components” and “Resources” (basically different ways of storing data) called “systems”. “Entity” are where “Components” live. While “Resources” are global for the world.
The physics are handled by Rapier, a rust physics library. Specifically through the bevy_rapier crate. Get the Car Physics to feel right took a long time. Mainly due to bugs in the movement code I wrote. Now that collision and movement is working right I can focus on making tracks and adding game play.
The thing that I’m most proud of is the debug features, specifically the debug
menu. Currently, you can only reset the cars to the default positions and enable
freecam using the numpad for movement. It can be accessed by using the `
key. But that isn’t what makes me proud, what does is the fact that the menu is
configurable. Any Plugin I write that needs or wants to add some thing to that
menu can just register a struct with it and it will be render in there. It also
allows reading internal state of the modules registered. This is so you can add
buttons or whatever you want and use their values.
