Tool-assisted game movies
When human skills are just not enough

Movies for NES Rad Racer

#22202816332864552 - NES Rad Racer - More advanced lua HUD (v3)
RadRacer_v3.lua (13.5kB Lua script)
Uploaded 2015-04-18 21:24:41 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
2386 views, 125 downloads
This may be the final version, depending on whether I try to improve my TAS later.

Not a lot was added, though. I did figure out the numbers behind bouncing off cars, and now I color things fabulously. Also, the script has its separate calculations to work out the piecewise function behind steering speed. And lastly, I think I found some more precise info on the road curve, but that still needs further work.

Anyway, to recap this HUD:

Top: CPU car info

  • Top row: ID, timer left to respawn, max timer to respawn
  • Left column: Speed, base spawn speed, RNG spawn speed, predicted speeds
  • Upper-right region: Distance, sub-distance, lane offset, sub-offset
  • Lower-right region: Lane change frame timer, unknown, visbility

Right: RNG list; If it's not inside the cycle, a new list is shown

Game HUD, left side:

  • Game frame counter (decimal) (Purpose: record keeping)
  • Game frame counter (hexadecimal) (Purpose: Timing TAS-related stuff)
  • Time remaining

Game HUD, left of tachometer: Info about curves. Needs analysis.
Game HUD, below tachometer: Left/right position and sub-position; Steering power
Game HUD, right of tachometer: Car bounce speed and subpixel
Game HUD, below speedometer: Speed and sub-speed
Game HUD, below progress meter: Distance traveled, distance lost, distance left

The last number on the right side is the course ID. And the extending line between HUD and road display is a visual representation of how much of the current course is done.

Info Download

#22190002190890296 - NES Rad Racer - End input at 73713 frames
RadRacer_FRK_ShorterInput.fm2 (1.05MB fm2 movie [NES])
Uploaded 2015-04-18 07:33:40 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 20:26.53 [73713 frames], 13895 rerecords)
2392 views, 118 downloads
This is my shorter input entry. Not my style. I prefer a faster ending.

The input file may be 382 frames shorter, but it takes 152 more frames to reach the ending.

Now, this is to avoid anyone silly enough to trim frames off my actual submission and spark some sort of heated debate. I trimmed it off first, now don't go taking it.

Info Download

#22046959386399204 - NES Rad Racer - Finished in 74095 frames
RadRacer_FRK_v1.fm2 (1.06MB fm2 movie [NES])
Uploaded 2015-04-11 20:57:14 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 20:32.89 [74095 frames], 13840 rerecords)
2357 views, 109 downloads
I chose to get to the ending as fast as I know how, rather than ending input early. I will be sure to produce an 'end input early' movie to avoid someone being silly with "I beat you faster by trimming off the end frames."

This should beat Saturn's run by a pretty fair margin. If I choose to submit this run, I'll be sure to fill it with subtitles first.


  • Course 1: 1319
  • Course 2: 2018
  • Course 3: 1979
  • Course 4: 1635
  • Course 5: 1161
  • Course 6: 1449
  • Course 7: 1744
  • Course 8: 1366

Note that this file has a bunch of rerecords added, since I messed up somewhere and didn't keep the original .fm3 intact, so I used what I had stored in an .fm2 to restore this movie. As a result, the rerecords of my second attempt on course 1 is added to this file.

Info Download

#22046859601719059 - NES Rad Racer - Improvements to my own stuff (C1 to C2)
RadRacer_C2_Faster_Partial.fm2 (239kB fm2 movie [NES])
Uploaded 2015-04-11 20:50:45 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 04:31.67 [16327 frames], 13558 rerecords)
2427 views, 110 downloads
Rerecords: 1319+1169 for course 1, 2018+1423 for course 2 so far.

Course 2 isn't complete, since I got frustrated with traffic. While I did beat my previous course 1 time by over three seconds, it turns out the game is not as sync stable as I hoped -- Keeping the rest of the run intact, it desyncs halfway through course 4. Memory search does not turn up any different addresses other than score and X sub-position of lane-changing cars. Either it's something silly like the timing of the Program Counter or lane changing cars are my worst enemy.

Anyway, I may continue on this. For now, I at least have a complete run somewhere.

Info Download

#22046761681430744 - NES Rad Racer - Demonstration of high score in C1
RadRacer_MaxScore_LowEffort.fm2 (352kB fm2 movie [NES])
Uploaded 2015-04-11 20:44:24 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 06:39.09 [23985 frames], 40 rerecords)
2424 views, 117 downloads
Aims for maximum score in course 1; Doesn't give a snap about real time, however.

This is a demonstration of the pause trick for stopping timers. The time remaining never declines, so I can do silly things like never bother to turn and crash all the time. Since the entire traffic of course 1 uses non-zero timers, you never see them, but some would show up in course 2 had I continued.

This is primarily why I chose to pick fastest real time rather than high score, since the pause trick messes with traffic, and banning it means a less optimal traffic layout.

Info Download

#21814299609428444 - NES Rad Racer - Not-so-basic Lua HUD (v2)
RadRacer_v2.lua (11.4kB Lua script)
Uploaded 2015-04-01 09:29:03 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
2354 views, 114 downloads
It's starting to get a little crowded.

Mid-top: CPU car info. Figured out two unknowns and rearranged them to be just beneath the main speed, as they are base speed and RNG speed range. As well, I pick at the RNG and predict the next three potential velocities (white) the car-to-be will have.

Right: Listing of the RNG period of 28 numbers. If the RNG isn't at one of those 28, a second column and predicted values is shown.

Bottom-left: Timers, as before. Frame timer in both decimal and hexidecimal, and the time remaining.

Bottom-mid: Mostly the same as before. Position and road curve, speed and sub-speed, then distance and related calculations. Distance calculations now use an internal number to find a certain multiplier the game uses. The script is calibrated to report the remaining distance in five of the eight courses, since I can't find an automatic process to do so as of this time.

Bottom-right: These numbers are to be analyzed. The darkened ones are for bouncing off of cars. The lighter one is reporting which course I'm in.

Additionally, I have an extending green line and an orange line to indicate progress through the course.

Info Download

#21814072087244253 - NES Rad Racer - WIP through Course 4
RadRacer_FRK_C4.fm2 (552kB fm2 movie [NES])
Uploaded 2015-04-01 09:14:17 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 10:26.93 [37678 frames], 6952 rerecords)
2352 views, 106 downloads
Times measured using address 0029:
C1: 9393 frames (Saturn: 9827)
C2: 9305 frames (Saturn: 10559)
C3: 9237 frames (Saturn: 10087)
C4: 9653 frames (unable to sync Saturn's run in FCEUX)

I must note that Saturn apparently aimed for high score, rather than shortest time. The distinction here is that, when going for high score, you want to reach the finish line with as much speed as possible for extended distance scoring, but fastest time wants you to cross it with as little leftover distance as possible. Saturn also didn't know the full extent of what pausing can really do at the time, which can stop the in-game timer from ticking, which would also add to score. One can imagine how that sounds.

I've been learning more about this game, though. There are a few mistakes I can now see that I likely missed in earlier courses. I may go back to deal with them.

I've been keeping track of rerecord counts for individual courses. C1:1319 C2:2018 C3:1979 C4:1635

Info Download

#21749483157675147 - NES Rad Racer - WIP through Courses 1 & 2
RadRacer_FRK_C2.fm2 (275kB fm2 movie [NES])
Uploaded 2015-03-29 11:25:39 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
In 05:12.25 [18766 frames], 3337 rerecords)
2488 views, 123 downloads
Pausing: There are timers that only "tick" every 64 frames, including car spawn timers and the time remaining. Bypass this "tick" by pausing at the right time. Useful for delaying appearance of cars. Each pause costs 4 frames, plus 2 more in the finish countdown if it saved a timer tick, but proper manipulation of other cars can potentially make up for that.

Bumping cars: There are seven ways to interact with other cars. I sometimes bump into the back of one straight on to improve its speed, as the follow-up curve is nasty and I really want a car "on rails" to bounce off of, and for it to keep up with me rather than me slowing down for it. The other six ways have you fly off to some side, but the back-left and back-right collisions slow you down and potentially slowing the other car as well, but are easier to cause at frame-precise times.

Car distance: There is a number for how far along the lane the car is, and another one for "sub-pixel" (x/64) value of that. This "sub-pixel" goes up by the difference in speed, regardless of who is faster. One can build it up at a higher speed, then slow down just below the other car's speed to reach the 64 threshold and get them one "notch" further ahead at minimal distance loss yourself.

Saturn may have made frame-perfect cornering, but manipulating traffic is where the real savings are. This requires some interesting maneuvering and a good memory watch script.

Times measured by 2-byte value at address 0x0029, when it freezes at the next course preview:
Course 1: 9393 frames (Saturn: 9827)
Course 2: 9305 frames (Saturn: 10559)

Seems each course is very well "packaged" away from other courses. Even sub-speed values are reset upon entry. Might be possible for sync stability for swapping in another movie's input for various courses. Maybe.

Info Download

#21749355666386341 - NES Rad Racer - Basic Lua HUD
RadRacer.lua (8.23kB Lua script)
Uploaded 2015-03-29 11:17:23 by FatRatKnight (198 files)
For NES Rad Racer (9 files)
2413 views, 111 downloads
Displays a lot of numbers. Seems to be the typical thing my scripts do.

Top: The other cars info. Top numbers are ID and spawn timer. Just below that, speed and some sort of distance measurement, color changes when collision is possible. Then we have X offset for lane changes. Then a pile of unknown numbers. This, for each of the three possible cars.

Bottom: On the left is the frame timer, in both decimal (record keeping and notes) and hexadecimal (to help track timer events), and an up-to-date mirror of the time limit. Middle is a mess, but the top two numbers are X offset from center and curve of road, middle is an up-to-date mirror of speed and the handy sub-speed value, and bottom is the distance calculations calibrated for course 1, with the orange number indicating distance lost. I also have a green line that indicates how far along you are in the course, but that is also calibrated for course 1.

The game looked shiny. I got distracted on something else yet again.

Info Download

Back to user movie storage