Oh really? I'm having trouble with my new virusscanner. I'll look into it tonight.
Edit: fixed!
The problem is that it will become a bit too arcadey if you understand what I mean. Do you know the game Slipstream? It also have a drifting mechanism, but controlling the car is so vague that it becomes frustrating to me.
If I'm about to implement drifting, I want it to feel natural and predictable to me. I've been thinking about how I can achieve this all day, and I think I have an idea, but it's going to be a lot of work.
At this moment you've unlocked the only two vehicles, but there's a 3rd on the way: the Corvette ZR-1 that you race against with the bike.
And I guess I have to make more stages!
Oh, have you tried the manual transmission?
Thank you for your donation and feedback!
I'm going to try to dive into the world of Unity's new input system and I hope I can offer input customization and even wheel/pedal/h-shifter support in the future.
About the drifting: I've been thinking about if for quite some time, but there's no easy way to implement it. The drifting mechanism has to be compatible with the tire simulation, and it has to be easy to learn, but hard to master. Also, I don't want it to be mandatory to win the races, but rather a way to be slightly faster.
If I'm going to try implement it someday, it will probably something in between drifting and trailbraking.
Hello Robert,
It took a while to respond. It's been a busy week and I needed some time to think about answers, while working late on the branching road.
- Unity vs Unreal: I've chosen Unity for its accessability/low learning curve. It takes some time for me to get familiar with a new platform. It even took me years to get to the point where I am now, and it's probably going to take me quite some time (months?) to just refactor everything to Unreal. If I know myself, I'm probably going to abandon the project if I try this, like I did with my other projects that grew over my head in the past.
- I'm a really big fan of the esthetics of 80's Overdrive. Bright and colorful, all sprite based, looks like Outrun, ... There's another game on Itch.io (Max Downforce) that uses 3d car models. It works for a still image, but in motion it doesn't click with me. I like the choppy animation of the sprites when you see an AI car going around a corner, although it's a lot more cumbersome to program. (But I already did the programming, so meh.) But I like the idea of using 3d models and make images in different angles of them.
Police and radar: yes, I've been thinking about that for quite some time. The police shouldn't be too annoying, but annoying enough to motivate you to get the radar stuff. Perhaps the radar stuff can be upgrades in my current parts system.
Then, what should be the speed limit? It shouldn't be too low, because that's the speed traffic should drive. The lower, the more difficult the game will be. I've been experimenting with a speed limit and a limit between 220 and 260 kph works well (which is absurd in reality ofcourse.) This speed limit will probably stay in my next update.
I also want the police to chase your opponent if he's ahead of you, to make things fair, giving the winning driver a disadvantage, just like in Test Drive 2: the Duel.
- Railway crossings: cool idea!
- Countries, landmarks and seasons: sounds great! It sounds a bit like Outrunners.
- About the gray boxes/placeholders: it depends on the objects. Perhaps some combinations and patterns work better than other's, but my system is pretty modular. It's always possible to move objects.
- Speaking of modularity: each corner and each hill is created by a single line of code that's easily edited, or moved. One disadvantage: you have to restart the game each time you make a change to see the result. But perhaps I can make a track editor.
- Sprites and sprite sheets: at this point every object has its own sprite, but putting them all in a single sheet per country for example shouldn't be much of a problem. Right now the naming is like O_tree, where O stands for Outrun, TO for Turbo Outrun CSM for custom and so on...
- Publishers, Kickstarter, ...: OK, as long as the code is pretty much finished, or at least in a state that there aren't any programming challenges any more.
- Good idea about a contract and bank account!
- About the royalty free music: good idea, but I'm going to make it in a way that the music is easily replaceable by the user.
Meanwhile I'm going to continue working on the branching road!
It appears that the opponent is the problem. For some reason the position becomes at that point NaN. I have no clue why, but I'll figure it out. It only happens with the motorcycle opponent.
Edit: It has something to do with the turbo of the motorcycle. I recently made a change so the motorcycle would constantly press the turbo button. I've now added a new condition that it would only press the turbo button on the straights and now the crash doesn't seem to happen anymore.
That means that the motorcycle opponent will be slightly slower, but I'll figure something out in the future.
I'm uploading the new build right now. If you want to continue your game, make sure that you copy all the .txt files to the new game folder. ;)
Hello Robert,
I guess option 2 scenario 1 is pretty much what I had in mind when I started this game, except for finding a publisher, but that can be an option ofcourse. If it's 90% sure that Sega won't be interested and that Lamborghini probably wants a true 3d game, I'm happy to go for something similar as games like Slipstream and 80's Overdrive with just generic cars, similar to the real ones. Would you like to cooperate if I follow this scenario?
Indeed, this is the first time that I got so far in developing something. I also have a full-time job and I work until 8 pm (not to mention that I also have a wife and a daughter), so I don't have a whole lot of time.
I've never touched Unreal Engine. At this moment Unity does the trick for me. (And I mostly know the basics, but I learn along the way.)
Hello Robert,
My name is Yves by the way, but you probably knew already.
To answer your questions:
- I actually wanted to prove myself that I could make a racing game inspired by (Turbo) Outrun and Super Hang-On. But because I'm not an artist, I simply wanted to use those games' sprites as placeholders, until someone would make custom sprites for me. Oh, and I wanted to create a game that I would enjoy. Something with an in-depth damage system and a realistic handling model, without the grinding of Super Hang-On's original mode on the Genesis.
Once finished, I indeed wanted to sell it on Steam, but with a different name. However, if I could pitch it to Sega, why not. As long as it's still my little project. I'm just a one man's team with hardly any programming skills and I have to keep my guards so the project wouldn't become too big.
- About the pixel size: I like the esthetics of 80's Overdrive. Perhaps we can use that game as a reference?
- The large checkpoint banners are certainly possible.
- I'm working on the branching road already. At this stage it's possible to split the road in 2, but both sides still follow the same corners. That's the next challenge, after I can change the height of both sides independently.
- Career and arcade modes: I like the idea of having these two modes, although it will be quite a bit of work to separate these two modes. Perhaps the arcade mode can have the branching paths? For the career mode: instead of using currency, I prefer the idea of doing the repairs/upgrades within a time limit. I would also like to give the player the choice between a male and a female driver.
I'm looking forward to seeing some images of a pixelated 3d model!
Best regards.
Hello Bizarre Creative,
Thank you very much! I really appreciate the gesture.
I'll email you tomorrow with all the answers. It has been a busy day and I finally tackled an issue that no one seemed to care about, except you, me and my 10-years old nephew: the other cars doing wheelies.
I'm from Tremelo, Vlaams-Brabant, Belgium by the way.
Thank you very much!
I've been thinking the same about skipping the menus and go straight to the next race. So I went ahead and made it possible.
About the skyboxes: you're right. But sprite/art work is my least favourite thing. 😆 But I'll do my best!
Next update will be in a couple of days. Lightning struck somewhere and now we don't have internet. Just 4G on our phone.
What do you think of the game? Did you like it? What can I improve? I appreciate all feedback, as long as it's constructive feedback!
Stuff to do:
And finally, I believe I've found the culprit: a text file that represented the tire slip curve had commas as the decimal separator. English systems wouldn't recognize this and simply removed that comma, multiplying the values by 100. I removed the comma altogether and divided the value in the code itself. Problem solved!
I've found which variables go wrong. A couple of very small floating point variables are 100x bigger than they should be. Also interesting: when I run the logger, the decimal separator in the files is a comma, while in the files from the bugged version it's a point. How this is possible, I don't know. But I've added an option that will divide those variables by 100. This might do the trick for now. (Probably only your own car, not the AI.)
This is the first formula with the bad number:
maxSlipWeighted = massaR * 9.8f / maxWheelForceR - 1f;
maxSlipWeighted, massaR and maxWheelForceR are floats. Does someone understands why maxSlipWeighted is suddenly 100x bigger? MassaR and maxWheelForceR are the same as on my system, except for the decimal seperator now being a point instead of a comma.
EDIT:
It has nothing to do with my code, but with the regional settings of Windows. I changed the country from Belgium to USA and yes, the car went uncontrollably fast. The option to multiply the values didn't solve the issue, but perhaps I can now find a solution.
That means if you change your setting to Belgium, the game might work. (The downloadable version at least.)
EDIT 2:
Never mind, I believe I've found the culprit: a text file that represented the tire slip curve had commas as the decimal separator. English systems wouldn't recognize this and simply removed that comma, multiplying the values by 100. I removed the comma altogether and divided the value in the code itself. Problem solved!
Even better: I've found which variables go wrong. A couple of very small floating point variables are 100x bigger than they should be. Also interesting: when I run the logger, the decimal separator in the files is a comma, while in your files (and someone else's) it's a point. How this is possible, I don't know. But I've added an option that will divide those variables by 100. This might do the trick for now. (Probably only your own car, not the AI.)
If you're up for a challenge, you can now create your own car!
What do you need? Drawing skills and a good car specs source. I recommend https://www.automobile-catalog.com/#gsc.tab=0
Under downloads you'll find an ods tool where you can fill in the values. You'll notice that they are already filled in. These are the values for the DX40, so you have a reference. In the ods file you'll find 4 tabs: global, engine, drivetrain and tires. The most important ones are the first 3.
For the sprites: I've added some examples below. Make sure that you have at least 2 sprites: one pointing forward and one at an angle. The more, the better of course. As you can see, the Porsche also has sprites pointing slightly downwards.
I also recommend some crash animation sprites, like the spinning animation of the Porsche. Otherwise crashes will look silly, unless I disable them, like I did with the Countach.
You can put all sprites into a single file, but you can also put one sprite in one file. Just make sure that every file has the same size and that every sprite has the same scale. Don't go for less pixels than the Porsche below.
For the color of the car: if you want the possibility to change the color in the game (in the future), the car can have up to 7 shades. (Black, white and other non-panel colors like brake lights, glass, ... are not included.)
All done? Send the files to yves_dorny@telenet.be and if I approve your car, I'll put it in the game!
If something isn't clear, please ask.


Does your car move at an uncontrollable speed, like in the videos below? Then you're experiencing the lightspeed bug. I don't know why this happens and it doesn't happen on any of my systems. Pretty frustrating if you want to locate the bug.
For this reason I've uploaded a logger version. It does what is says: log data. You simply have to run the game and the car will drive by itself for a couple of seconds. It shuts down automatically and writes 2 log files: CarModelData.csv and PlayerData.csv. If you can send those files to me (yves_dorny@telenet.be), I can try to locate where the data goes haywire and solve the bug. (Don't try to read the message at the start. It was meant for a friend of my wife.)
I can't thank you enough for your effort. It sure helps when I know where to look.
Your framerate is pretty much the same as mine. Shrinking the screen didn't help. It's pretty frustrating that I can't replicate the problem.
The info on screen helped, but before I dive into my code, I'm going to educate myself on Unity's fixed update method and the fixed delta time. Perhaps I'm unaware about something.
By the way, I'm glad that you found the camera controls. Thanks to you I found a new bug. ;) The car should change its sprite when the camera moves up or down.
Thank you for your input.
The weird part is that all physics based code should be framerate independent. That's how Unity works. It shouldn't matter if the framerate is 30 or 300 fps. I've been experimenting with it in the past and tried 3 different systems before putting this game online. So I guess as long as I have no 240 hz monitor, I have no clue what's the problem. That's why I wanted to rely on you, but I understand that this is not how you want to spend your free time.
The data on screen is supposed to help me see where the problem starts. I noticed in your 2nd video that the car's engine was running fine, so it must happen at the output of the car (acceleration & velocity), or the receiving object that's responsible for actually moving the car forward (distance delta). Fixed deltatime and V/A are multipliers that should be constant. (0,02 and 1) If acceleration is bigger than 9, the problem is in the car itself. But yes, logging the data might be more helpful.
Anyhow, did the browser game work without traveling at lightspeed?
I couldn't find any mistakes, but I've added a debug mode with some extra info in the left corner to help me check what's wrong. It also disables the camera movement to see if the camera stays behind the car.
Would you like to try the debug mode and record it as well? You can activate debug mode by pressing N.