As the name implies, "Rad Racer - Easy Type" is a difficulty patch for "Rad Racer". While "Rad Racer" is an awesome "OutRun"-style racing game, it can be very difficult to meet the game's strict time limits. Some players may even miss a high percentage of the game's tracks because they can't beat the first couple levels.
By increasing the amount of time awarded at the beginning of a race, and at many of the game's checkpoints, "Easy Type" makes the game substantially easier while still offering a challenging, well-balanced experience. Alternatively, while not as recommended, the same archive includes an even easier "Baby Type" patch aimed at players who just want to see the levels and don't mind trivializing the experience.
As the name implies, "Rad Racer: Easy Type" is a simple patch for "Rad Racer" designed to make the game a bit easier. Gameplay is completely unaltered, but I changed your initial time allowance, along with the time bonuses you receive at each checkpoint, to be a bit easier and more enjoyable. The patch comes in two varieties: "Easy Type" for players who want an easier but well-balanced experience, and "Baby Type" for players who want the game to be a complete joke.
1) What version of the game is this for?
"Rad Racer (USA)", with header. You only need to apply one patch, not both.
1) How do the time thresholds work in Rad Racer?
"Rad Racer" employs an OutRun-style checkpoint system. At the beginning of each track, you're always given 45 seconds, and then each track has three checkpoints where your timer is extended. Unlike the initial 45 seconds, these time bonuses were individually tailored by Square to suit the length and difficulty of the section ahead.
Viewing the game's ROM in a hex editor, you can easily spot eight large blocks of funny-looking code that are essentially the track layouts for each of the game's eight levels. For example, Sunset Coastline runs from around 000020-0002CF. Within these blocks, a byte value of F4 indicates a checkpoint, and the value immediately after represents the number of extra seconds you're given in hexadecimal format.
As mentioned above, the initial amount of time you're given for a track is always the same. This value is stored in two places. First, as you're waiting for the race to start, bytes 01DEFC-01DEFE instruct the timer to indicate that 45 seconds are remaining (30 34 35 = "045"), regardless of whether this is true. Second, and far more importantly, byte 01DE33 contains the actual value of 45 seconds that will determine whether you reach the first checkpoint on time (2D = 45).
To make the game easier, I simply changed the above values where I thought it was desirable.
2) What was my philosophy in choosing new values?
For the "Easy Type" patch, I basically tried to choose the values I personally would have set if I were crafting a fair, well-balanced game. In my opinion, good values should be lenient enough that you don't get unnecessarily hung up on one track and never get to see half the game's content, but strict enough that you have to learn the game and use all the advantages at your disposal.
In the case of "Rad Racer", I considered several advantages in setting values: First, even in the unpatched game, whenever you get Game Over, you can always continue by holding down "A" before you press "Start". Second, you pretty much always want to be using turbo power (by holding forward on the D-pad) unless you're making a sharp turn. Third, unlike most 8-bit racers it's absolutely essential you learn to use your brakes before and during sharp turns. Finally, one of "Rad Racer's" most iconic features is its weird "rolling finish" mechanic, where even after you run out of time, your car still rolls for a surprisingly huge distance, giving you extra time to trigger a checkpoint.
For the "Baby Type" patch, I pretty much made the values so lenient almost anyone could beat the game.
3) What specfically did I change?
I set the initial times permitted for each race as follows:
Unpatched 45
Easy Type 52
Baby Type 90
For the last 5 tracks of "Easy Type", I then added a few seconds to each checkpoint. Thus the total Old and New times for each track were as follows:
Old New Diff
Sunset Coastline 3:06 3:13 +7
San Francisco Highway 3:15 3:22 +7
Grand Canyon 3:18 3:35 +7
Ruins of Athens 3:12 3:22 +10
Los Angeles Night Way 3:08 3:21 +13
Snow White Line 2:49 3:02 +13
Seaway In Typhoon 3:04 3:20 +16
Last Seaside Running 3:03 3:23 +20
For "Baby Type", I pretty much added 5 seconds to every checkpoint, so all 8 tracks are at about +60 seconds total.
4) What other patches am I making?
I'm doing similar "Easy Type" patches for "Slalom" and "Excitebike", which should be posted very soon after this one. It seemed these games were three of a kind, in that they were each pseudo-racers whose time thresholds could prevent people from fully experiencing the games. Furthermore, "Slalom" and "Excitebike" required roughly the same trick to edit, though "Rad Racer" was a bit trickier. If I ever do more patches after this, it'll probably be similarly simple edits that I feel fill an important vacuum.
Database match: Rad Racer (USA)
Database: No-Intro: Nintendo Entertainment System (v. 20210216-231042)
File SHA-1: 97F4195A0113CAA268CE4F8729DFB719C6D6D460
File CRC32: 595DAA35
ROM SHA-1: B5EB3572FCA1FB005BA00C45EEBAA9754C3FA4CB
ROM CRC32: 8B9D3E9C