Retro Racing: Super Circuit
UPDATE 6/3/2024:
An improved version of this game is available at: Retro Racing: Double Dash
It includes a lot of new features, such as: more tracks, time trial and race modes, online multiplayer, computer bots, joystick support, and more!
Retro Racing: Super Circuit
This is a fast arcade F1 racing game I made for the 32bit Spring Cleaning 2023 jam. It is the continuation of Retro Racing 64.
Changes since Retro Racing 64:
For this version, I focused on three main things: enhancing car physics, adding more tracks, and optimizing performance for mobile devices.
- Car physics: Most players complained about how the cars moved in Retro Racing 64, so I dedicated a lot of effort to improving the car control. I made several experiments and adjustments (you can see some of them here) until I eventually followed the instructions in this article.
- More tracks: To be able to add new tracks quickly, I completely transformed the track-building method from a tile-based system to a path-based one. Bastiaan Olij's Godot Vehicle Tutorial proved immensely helpful. I expanded upon the tutorial by automatically adapting curbs to the track's curvature.
- Performance on mobile: I like the convenience of playing HTML games on mobile devices without having to install anything, but optimizing performance proved challenging. I did a lot of tests to figure out how many things I could have in a level without making the game slow down too much. I think I found a satisfactory solution (at least on my phone). You can see some of the things I tried here.
Besides those three main improvements, I also made some other smaller enhancements:
- Configurable camera view: Players can now choose between a chase cam or cockpit perspective. While I personally favor the chase cam, I acknowledge the preference for cockpit view among certain players, so I included it as an option.
- Default player name: For those who opt not to enter their name for the leaderboards, the game provides a default name. I used ChatGPT to come up with fantasy names related to racing, and I think they're pretty good.
- Retry track functionality: I added a button that lets you restart the track without going back to the main menu. Some people found it annoying to go back every time they wanted to try again.
- Configurable volume for music and sound effects: You can now adjust the volume of the music and sound effects in the game. Some players asked for this feature, so I added it.
Credits:
- Programming by Ricardo Moran
- Music: HexaPuppies Synthwave 80s Retro Music Pack by DavidKBD
- Countdown SFX: Countdown by Destructavator
- Engine SFX: Car Engine Loop by qubodup
- New record SFX: Ta Da! by Mike Koenig
- Fonts: CATV 6X12 9 by HolyBlackCat
- Fonts: Tomorrow by Tony de Marco and Monica Rizzolli
- Fonts: UniCons by Juergen Krausz
- Fonts: Super Mario 256 by fsuarez913
- Onscreen Controls by Kenney
- Modular Characters by Kenney
- UI Theme: Kenney's UI Theme by azagaya (and Kenney)
- Windmill sprite from yd
Download
Download NowName your own price
Click download now to get access to the following files:
Retro Racing - Super Circuit (win).zip
Comments
Log in with itch.io to leave a comment.
Cool racing game!
Thanks! I’m currently working on a big update for the next game in the series: Retro Racing: Double Dash. If you liked this, you might like that one as well :)
Amazing game! Congratulations! I ´ve been trying to make a racing game for ages and this is truly insipiring. How did you make the online leaderboard?
Thanks! I’m glad you liked it. For the leaderboards I used this service: https://dreamlo.com/
i feel like the camera is a bit odd, and the turning angle should decrease the faster you are, otherwise, i love it!
Thanks for the feedback. There is a lot of room for improvement. The camera is literally fixed to the back of the car, I just tilt it a little to the left or to the right depending on the car direction. It only kinda works right now because the track is flat but if I add elevation it breaks completely. And the turn angle IS reduced the faster you go but I guess it’s not enough to be really noticeable. The next version will be better :)
I am really good at car physics in unity, if you need something, write me
Thanks! I’ll keep that in mind :)
Very well tuned arcade vehicle model. 👍
The game could use some eye candy to enhance the feeling of high speed like animation of spinning tires, sparks from underbody etc.
Yeah, I agree some visual effects would help a lot. Maybe for the next version of the Game. I need to find some free time to work on it, though…
Hi, did you use a tutorial for this or did you code it all by yourself? I am also interested in making a racing game in Godot
Yes, I started following Bastiaan Olij’s Godot Vehicle Tutorial (https://www.youtube.com/watch?v=B5vE-nNszxA) but couldn’t configure the VehicleBody node like I wanted so I ended up only using the tutorial to make the track and to learn how to place objects alongside a path. Then I tried this other tutorial for the car physics (https://kidscancode.org/godot_recipes/3.x/3d/3d_sphere_car/index.html) but that also didn’t feel like a F1 racing car. I tried to tweak some variables but none of that worked so I ended up rewriting that entirely. Fortunately I found this other tutorial that explained how to model the motion of a car by using a bycicle: http://engineeringdotnet.blogspot.com/2010/04/simple-2d-car-physics-in-games.html. That worked much better so that’s what I ended up using. For the collision detection I decided to use custom code, that’s why the collision detection is so buggy. I could probably have finished sooner and with a better result if I used godot physics but well… live and learn. For the leaderboards I reused some code I made a while ago for other games. And for the art and music I used a lot of third-party assets as I’m not very good at that stuff. Anyway, let me know when you publish your racing game. I would like to try it. Good luck!
Thank you very much, glad to see that I can always get help from the community! Also which version of Godot did you use?
I’m still on 3.5.2
quite cool, please add lap record instead of just total time record.
btw leting anyone use any name may cause problems... people may pretend to be someone else, not sure why...
why dont you grab their user name from itch io?
Thanks! Adding lap records is a great idea, I would definitely take it into account for the next version. Also, I would like to improve the entire leaderboard, maybe showing more than just the first 10 places and, most importantly, storing the player inputs for each record. As it is now, I have no idea how some of the records were made and I would very much like to see. However, those improvements require changing the leaderboard storage system entirely so I don’t know when I’ll be able to make them.
As for the user names I understand it could be problematic to let people choose whichever names they want but I don’t expect many problems for a small game like this. Also, I don’t know how to grab their itch.io user name (and what happens if they aren’t logged in?).
as an fellow developer i also have no idea how to grab user name from itch, there might be an api for that, but i never looked at it.
i hope people arent cheating because some scores seem... impossible.
i remember that back in the days i used multimedia fusion i stored replays by grabing player X,Y position and direction (0 to 359) in an array, but i think grabing replay data might be a better idea.
also spliting the time records leaderboard between legacy build of the game an new builds in case something change or you think people are cheating.
(if the game change enough, it may make 0 sense to keep the record data unless the players can still play an legacy version of the game)
I found a bug on the second map, I was dumb enough to finish the run without thinking. There is a spot in the wall where you can skip a loop and it saves like 4 seconds per lap if done well
Edit: can you also delete my time because I feel bad about it
Nice catch! I think it’s kind of late now for me to fix it so let’s just say you found a secret shortcut :)
Takes me back to the days of Virtua Racing on 32X and Saturn!
:)
Really fun to optimise, I gave myself a funny name not realising the leaderboard was online one...
Thanks, I added a small warning to let people know the name will be used for the online leaderboards. Also, you can change your name after you selected one but you’ll lose whatever records you got.
Fun and addictive
Thanks, I’m glad you liked it