Changes since Super Circuit


This was my first time participating in a month-long game jam. I was hesitant at first because I prefer shorter, more focused jams. However, I enjoyed my time working on this, even though I couldn’t implement all the features I had in mind.

  • New tracks: The first thing I did was to add more tracks. Since making these tracks is a lot of work I tried to simplify the process with a little bit of procedural generation. The first few days of the jam were mostly dedicated to building this racetrack-generator tool that I later used to quickly come up with a few interesting tracks.
  • New game modes: In previous versions of the game you could only compete in “time trial” mode, there was no option to race against other cars. So in this updated version I decided to add a racing mode. I mean, what’s the point of a racing game if you can’t actually race against others, right?
  • Bots: For the race mode to work I needed to have bots. To my surprise, this was actually pretty easy to implement, it only took a couple of hours to have a good enough result. I was really surprised when I tested them for the first time and found myself losing if I wasn’t careful. They are not perfect, though, but that’s a good thing; constant defeat wouldn’t be much fun. My initial plan was to have multiple bots, each with a recognizable name and varying difficulty levels. Unfortunately, I ran out of time to fine-tune the difficulty levels, but at least I gave them names inspired by the old Micro Machines for the Sega Genesis (one of my favourite racing games from my childhood).
  • Better physics: A big problem I had with Super Circuit was collision detection. Since I generally try to avoid relying too much on game engines, I wrote most of the physics code by hand. The result was of course awful and riddled with bugs. Now that I had other cars in the track I needed to fix these issues and update the physics to handle collision with moving objects. I took this as an opportunity to refresh my high-school knowledge of elastic collision and I made a small test project before writing the code for the cars. In the end, though, I didn’t exactly follow the laws of physics since I don’t really care about realism for this game. I think the result feels arcade-like and fun.
  • Improved car control: A lot of people suggested improvements for the car control. I didn’t have time to implement all of them but I did try to reduce the turn angle the faster the car is going. I don’t know if it’s enough, though. It’s hard to tweak these types of settings without hurting the overall experience. I want the tracks to be challenging but I also want them to be fun to drive. In any case, I also wanted the car to feel faster and I think I at least succeded at that.
  • Last week leaderboards: An issue with online leaderboards is that once talented players fill the top places it becomes impossible for regular people like myself to win a spot. To help with that I added leaderboards that automatically delete records after a week has passed. I took the code from another game of mine in which I did the same thing. Some people also suggested adding lap records instead of just total time records. While I agree with that idea I didn’t have time to implement it. Maybe for the next update.
  • Online multiplayer: This was the last feature I added. Fortunately, most of the code to handle the communication I had already implemented for Astrobrawl so I could reuse it. However, since I literally started working on multiplayer the day before the jam’s deadline, I didn’t have time to add any fancy stuff to handle state synchronization. As a result, you may notice a lot of hiccups if your connection is not great.
  • Android export: For this version I decided to relax the requirement of supporting mobile devices on the web and instead just build an Android APK. This was a huge improvement because it allowed me to add a lot of content without worrying about performance too much. I had a few issues with the rendering but it worked fine for the most part. It still lags a little in some maps (on my phone at least), maybe I’ll try to optimize it later.
  • Joystick support: This one was super easy thanks to Godot’s input system :)

Here are some videos showing the progress week by week.

Files

Retro Racing - Double Dash v0.1.1.apk 88 MB
63 days ago
Retro Racing - Double Dash v0.1.1 (windows).zip 46 MB
63 days ago

Get Retro Racing: Double Dash

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.