The Lightspeed bug
Turbo OutRun Reimagined v0.4.1 » Devlog
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.)
Files
Turbo Outrun clone logger.zip 34 MB
Jul 03, 2023
Get Turbo OutRun Reimagined v0.4.1
Download NowName your own price
Turbo OutRun Reimagined v0.4.1
Pseudo-3D cannonball rally
Status | In development |
Author | Sk1ds |
Genre | Racing, Simulation |
Tags | Arcade, Driving, outrun, pseudo-3d, Retro, Sprites, superscaler, turbo, Unity |
Languages | English |
More posts
- Paternity leaveJul 05, 2024
- v0.4.0: more updatesJul 02, 2024
- v0.4.0 test 2: rival avatarsJun 26, 2024
- v0.4.0 previewJun 18, 2024
- Steering wheel & gamepads (test)Mar 18, 2024
- Steering wheel & other gamepadsMar 06, 2024
- v0.2.6b: stage 1 updateAug 28, 2023
- v0.2.4 Bug fixes, progress bar, ...Jul 26, 2023
- v0.2.3 Option menu & AI improvementJul 14, 2023
- v0.2.2: lightspeed bug solved!Jul 05, 2023
Comments
Log in with itch.io to leave a comment.
Good job to grab data. I sent you the data files from my machine. It is clear the bug is still active, just as in my prior videos.
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.)
It gets even better: 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.
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 think you're using C#. Look into System.Globalization. Try using CultureInfo.InvariantCulture. Then try using TryParse on the data type you are reading into. I believe it should parse any global / culture format.
However, if you just changed all of your floats into integers (x100) then that also works, but you should then read them into integers -- this is so it fails when someone later adds a float to that text file by accident.
In other words, your code should fail at the location of the bug. Not in the middle of gameplay where anything may have caused the error. Fail fast. Then my report to you would be "here's the exception", which can be solved in seconds.
Nonetheless, good debugging!