Untitled Racing Demo
A downloadable Untitled Racing Demo for Windows
Overview
While on a short break, I started a small project that I had too much fun with, not to publish. Untitled Racing Demo is a 'proof of concept' racing demo that focuses on complete procedurally generated racing tracks.
The demo allows you to race along an infinite amount of procedurally generated tracks. The racing mode contains a timed and practice mode.
Concept
Because it is a concept game there are a lot of features still missing. You will notice that there are no sounds or music. Furthermore, there is no main menu or game mode selection. The generator itself only allows a single theme and places no decoration props. Regarding the driving, there are some minor issues regarding the suspension and collisions.
As I am working on another Game right now, it will probably take some time before more features are added. Should you have ideas or feedback, let me know!
Features
- Seed-based track generator
- w/ procedural meshes
- w/ procedural level of details
- w/ procedural textures
- Timed runs (including car ghost, delta-times)
- Practice runs / Free roam
Keybindings
Pause / Unpause | Escape / P |
Quick restart (free-roam) | Backspace |
Quick restart (timed) | Enter |
Torgue | W |
Brake / Drift | Left Shift / S |
Steer | A / D |
Camera 1 | 1 |
Camera 2 | 2 |
Camera backwards | Tab |
New v0.1.4
- Added a height control slider to the generator
- Added new flight controls to view the track (toggle with 'right-shift')
Have fun!
Install instructions
To play the game, you need to unzip the download file. There you will find the full game.
Comments
Log in with itch.io to leave a comment.
Man… I would pay you for the code for this. I’m trying to do something similar and it’s kicking my ass. Well done, very impressive. People don’t realize how hard this is
Appreciate it! It was indeed not easy and required a ton of trial and error. I planned on writing a blog post to broadly explain the layout-generation algorithm (including some code). Unfortunately, I have not yet found the time for it. Hopefully soon.
For now, I am more than happy to give some tips that have majorly contributed to achieving these results. Let me know!
Thanks! I've actually had a breakthrough and was able to make what I wanted, so don't worry about it. I'll be posting my results soon if interested! Like you said, it required a TON of trial and error, but I'm very happy with what I ended up with. Here's a video showcasing it:
Thanks for getting back to me, and good luck to you!Very nice, now I'm curious how you've done it! If you still need some help, there were some interesting techniques I ended up using that may be worth checking out.
Thanks! I’m definitely interested in hearing what techniques you used. Mine uses an a* algorithm and it’s far from perfect.
Hey!
Apologies for the late reaction, hope I can still be of some use. The technique that worked very well for me is as follows.
I used a guiding shape to define the base shape of the track (e.g. circle, 8-figure, etc.). This shape was divided into multiple points (e.g. at every 20% of the shape, a point).
The track itself is made up out of small pre-defined segments. These can be as simple as a 5m long straight, or a 5m long 90deg turn. Note that I did not use a grid system.
I then let an algorithm place random virtual segments and finally choose the segment that has the highest score. This score is determined by some conditions, and how close it is to the next point in the guiding shape. This works similarly to A*, but contains a more complex scoring system. To make the track a closing circuit, I cheat with the last segment. If it is close to the start, it clamps to it.
Probably the most complex part was procedurally generating the mesh, and an efficient backtracking algorithm.
In the end, by altering the guiding shape, and defining unique scoring conditions, almost any unique track can be generated procedurally. This is all possible without following any grid, meaning it is highly versatile.