A brutally fast, futuristic, and beautiful racing game. Find yourself speeding down straights at 400+ km/h and hurtling through hairpin corners on tracks in exotic locations throughout the galaxy.
No AI was used at any point of this project!
A brutally fast, futuristic, and beautiful racing game. Find yourself speeding down straights at 400+ km/h and hurtling through hairpin corners on tracks in exotic locations throughout the galaxy.
No AI was used at any point of this project!
Minimaps! Really wasn’t hard.
Also by popular demand, sensitivity slider. This was something that at least makes the game a little less difficult to play on a keyboard.
Log in to leave a comment
So I’ve finished a few little things:
Firstly is raised 3D track walls. This massively improves readability, as multiple testers pointed out - thank you all again!
Secondly, you can now use the joystick to steer. D-pad is still an option and best replicates the original F-Zero experience, but the joystick feels great.
Lastly, I added a SFX volume slider. I couldn’t even hear my music (highly recommend listening to your favorite music while playing!) over the engine sounds, so this solves it.
Log in to leave a comment
Time to talk about the future of Galactic Grand Prix! Given that there’s still quite a bit of Flavortown left, I’m hoping to at least ship Silver League before the end of Flavortown.
What I’ve done in this devlog, and in the next few devlogs, is mostly addressing issues brought up in feedback from those who voted. Thank you!
I’ve made the walls a 3D object (and it’s normal mapped!). Stylistically, the flat tracks were faithful to the mode 7 racing games of the Super NES era, but as a result, playability suffered, so I’ve been experimenting with the walls and I’ve settled on a nice design that still feels like Galactic Grand Prix.
I’m also thinking about how to do minimaps, because that’s something that I didn’t even think about but would have included if I did. I feel like this shouldn’t be too hard, but we’ll see.
Log in to leave a comment
So… I’ve made a high-speed, challenging pod racing game called Galactic Grand Prix! It’s beautiful, plays great, and it’s now one of only two or three projects I’ve ever finished in my life. Most challenging was getting the player movement right; a major inspiration for this game was F-Zero for the Super NES, so I wanted it to feel similar handling-wise. This took several hours of just tweaking values. Once I added more player-selectable machines, I made a tool to help me tune it. Additionally, the visuals are something I’m quite proud of, as it’s fairly lightweight while looking quite nice. Every design choice was intentional. I hope you enjoy my little game!
Thanks to feedback, I’ve made the main menu wrap around, disabled motion blur, made the How to Play page better, and fixed a little typo. This is it!
Log in to leave a comment
Made a few more tweaks, and also fixed the bots rear-ending each other, for real this time, I promise. At this point I’m just getting friends to try it and give feedback. I’ve also added engine sound effects! Idk what to do about music tho 
Log in to leave a comment
So I’ve created highly specific, precisely tuned, unique engines for each of the three machines. The Tracer is definitely my favorite, as the low acceleration and poor handling, in my opinion, outweighs (literally) the immense speed. It’s very heavy, but sticks to the track nicely. The Vector is the exact opposite, but maybe it will suit how you want to play, or perhaps the Ray is your favorite. Try them all!
Now the fun part of tuning them was making a little side program that I call Galactic Dyno (second image), which I used to help me get the acceleration curves just right.
Log in to leave a comment
I’ve made more tweaks to the bots and fixed a few bugs, and just overall I’ve started putting the finishing touches on this. It really needs sound though, and that’s one thing I’m not sure about. I also made the Grand Prix save your best points/finish, and, at the end, there’s a fun surprise. I’m really proud of how far this game has come.
I’ve added two new player-selectable machines! Each will eventually have its own individual acceleration, top speed, and handling stats so you can choose one that suits your play style. Additionally, there’s now a slick machine selection screen. Stats are going to be shown there as well, but I haven’t done any tuning yet.
Log in to leave a comment
I’ve been continuing to tweak the bots, because they’re still pretty stupid. But I did add two more bots, so there’s four bots to race against. Definitely more interesting, so I’m thinking of implementing a system where they all have Area3Ds on their left and right sides that detect walls and other bots and they will temporarily adjust left or right of their set path, cause at the moment I have to make sure the Path3D that I configure keeps the bots appearing on track and not doing anything that a player can’t. Additionally, a front detector looking for other bots or the player would make the bot move left or right so it can pass more effectively.
Oh, also, sweet new icon and splash screen!
Log in to leave a comment
I think from here on out, I’m going to mostly be focusing on the mechanics of the game, because I believe my game needs to be easy to start and just play, but I want to add more depth so it’s more difficult strategically. I still do have some additions like showing a ranking after each race and giving the player and bots points based on finishing position, but playability is now top priority. I’m in the home stretch now, hopefully shipping this at around 40 hours!
In pursuit of this new goal, look at that, a new How to Play menu. Easily accessible and explains some of the mechanics while leaving technique choices to the player.
Log in to leave a comment
So I’ve done a lot more work on getting the Grand Prix mode working. Now it tells you what place you finished in. Also now you can press A to look behind you as well. So, not a lot to say, but it’s a big step forward.
Log in to leave a comment
I spent quite a bit of time working on getting the Grand Prix mode working. I’ve refined the opponent AI a little more so they slow down in corners like a real player would have to, and just generally tried to balance them so they’re just fast enough that it challenges the player without them just running away (though if you hit a wall, you’ll fall very far behind). At the moment I only got the Grand Prix working on the first track, but hopefully next devlog I’ll have the complete Bronze League. Also, pause menu! It just works. Also spent a short time cooking up the first track for the Silver League, really exciting stuff!
Log in to leave a comment
I’ve added computer-controlled bumper machines for some extra competition. They won’t be in Time Trials, but they’ll appear in Grand Prix and some challenges. I was surprised how easy they were to make; I modeled a new machine design, imported it into Godot, then I made a Path3D that follows the track, and I put in the bumpers as PathFollow3Ds, and they just worked. Really cool stuff.
Next up is making the epic Grand Prix mode, along with more tracks.
Log in to leave a comment
So I’ve been focusing on more quality now, such that the game now actually saves your best times in the Time Trial mode and also added a little intro before each track. Now it also shows you the best time on each track in the track select menu. Now one thing I’ll be adding next are time trial goals (a little like Gran Turismo) with a little medal you can earn for getting a certain time. Additionally, I may go ahead and make some more tracks as well for a Silver League, since it seems that the game is coming together nicely.
Log in to leave a comment
I’ve added the last track in the Bronze League! It’s a fitting ending to the first league of the game, taking place just before sunrise on an ocean planet with glowing crystals beneath the surface.
Next steps for this project
Log in to leave a comment
New track! Fire Storm I is on a volcanic planet, close to its red giant sun. This one’s now tied for longest track with Darkness. Fastest time I could get was 24.945 seconds.
I’ve also fine-tuned the movement a bit, and added rough patches and speed panels to the courses. The game really feels like its coming together, but I need more hours lol.
Intentional scope creep for the win!
Log in to leave a comment
I’ve added the third track in the Bronze League, Darkness. As the first two tracks are relatively easy, to ease the player into the game, Darkness is the first real challenge. In actual limited light conditions, you must navigate a track with hairpin after hairpin corner. This track is located on the very edge of the universe. It’s also now the longest track.
Log in to leave a comment
So… only just now got Hackatime connected to Flavortown, so this devlog is mostly just iterating and obsessing over ship movement and track design. I’m still not happy with it yet, but if I don’t stop now, I’ll never get around to the rest of the game. A major inspiration for this game is the original F-Zero on the Super NES. Since F-Zero 99 was released, I’ve played it casually for far more hours than any other free game, simply because it’s screaming fast and strikes the right balance between challenging and rewarding. In Galactic Grand Prix, I’m hoping to capture some of the brutal and chaotic aspects of it, for a real challenge. An aspiration for this project is to transform it into an annual online event that draws in a sizeable crowd. The game is meant to be played competitively, and what I’m working on now is essentially an always-available “qualifying” mode where you can go for the fastest time on tracks, practice, and rank on a leaderboard (that will possibly rotate every week to keep it fresh). As I’m not familiar with Godot networking, I’m essentially avoiding adding anything that requires it.
There’s so much I covered in 8 hours of work, but I can at least describe my workflow for creating the tracks: I’ve created the track graphics in Figma as well as an inverted collision map, import those into Blender, the graphics as PNG textures and the collision map as an SVG, make the graphics look nice, turn the SVG into a mesh, clean it up, extrude it, then export the visual track as a GLB and the collision mesh as an OBJ into Godot, do any necessary tweaks to make it look nice, then I use the collision polygon generator tool to create a “trimesh” CollisionShape3D.
Log in to leave a comment