Submission Text Full Submission Page
River Raid is a great early vertical shooter where you fly a plane down a river and fire missiles to blow up helicopters, jets, ships and bridges. Due to engineering constraints, the plane stocks unlimited missiles -- but only 35 seconds worth of fuel -- so you have to fly over fuel depots to stay in the air. The constantly changing river terrain and the need to balance blowing stuff up with keeping an eye on the gas tank are credited for the game's memorable play. It's also one of the first successful video games programmed by a woman, Carol Shaw.
Goal Choice
Difficulty increases with each bridge section, maxing out at level 48. Higher difficulty means more enemies, and fewer homes & fuel. The difference is dramatic, with approximately 24% of objects being fuel on level 1 and only 6% at level 48. Getting 100,000 points seemed like the ideal goal as it reaches the maximum difficulty level for 9 sections and results in a watchable 8 minute movie.
The game does have an ending when one reaches 1,000,000 points, at which point the plane explodes and the score is replaced by !'s. I'd very much like to see a full run, but at 80 minutes it would be extremely repetitive to watch (about 500 bridge sections beyond the end of this movie at the same difficulty level!), not to mention to make. I'm contemplating whether it'd be easier to write a bot for such a run using Lua (in the emulator) or Java (simulating the game logic, without video or sound). I think it'd be fairly easy to do an ok job, but very difficult to do a good job of it. We'll see.
At about 20k points I create an artificial fuel crisis for entertainment's sake by shooting every fuel in sight for a while without using it. Arranging the two cases where I was a few frames from dying when I reached the fuel depot required slowing down to use one depot I could have just shot at a near-term cost of about 10 frames. It's unclear if this affects the overall time though due to enemy movement manipulation.
I try to be as entertaining as possible with near-crashes, steering bullets around and in between enemies and killing stuff in unexpected orders. Also, I take the final shot a few frames late while still ending input as early as possible, so the plane runs out of fuel exactly as the bullet hits.
For fun, I created a Lua script to do a kill-count; some may find it more fun to watch with the running total included:
I'll have to redo this vid since I noticed I'd forgotten to reset the Lua script at the start, but here are the real final #'s:

Enemy Movements

Manipulating these is key - most often this is done to move enemies out of nooks where they'd otherwise be inaccessible. The game tracks 5 enemies in front of the plane; every 16 frames it attempts to start one of these moving. Enemies 1-3 (closest to the player) are twice as likely to start moving as enemies 4-5. Every time the plane advances 32 pixels, each enemy shifts down a slot. So if you need enemy #2 to move on frame x, you can try slowing down a bit so the same enemy is in slot 1 on frame x - there's a 1 in 3 chance it will move.
In many cases there's flexibility on when to take the slow-down, so I can 'double-dip' and slow down while flying over fuel. Other times it needs to be very precise, i.e. there's 2 helis in front of me, and I need one to start moving before the slot shift, and the other 16 frames later after the slot shift.

The 'Point Stream'

For reference, the point values for each object: ship (30), helicopter (60), fuel (80), jet (100), bridge (500). I apparently played this game so much as a kid that I still remembered these values. :D
The 'score points as quickly as possible goal' was interesting conceptually in figuring out what sort of time vs points trade-offs were worth it. If you're contemplating give up 10 frames to nab a helicopter in section 5, you have to weigh whether that's worth it based on your expected rate of point accumulation at the end of the run, not the current section. There's no way to know exactly what that rate will be, so I used 3.3-3.5 points/frame based on early testing. This worked out well since the rate ended up being 3.41 overall, and approximately 3.52 in later sections; hence it's worth losing up to 17 frames to get a helicopter, and up to 28 for a jet, but only 8 for a ship.
The matter gets more complicated around level 30, when fuel rapidly becomes more scarce. At this point, one has to consider whether it's worth it point-wise to slow down to obtain extra fuel. Losing 1 frame in time to get 1 extra frame of refueling worked pretty well as a rule of thumb. Many times when I slow down over fuel tanks, I'm actually slowing down to manipulate a later enemy and just taking the slow-down over a fuel depot to reduce the impact of the slow-down.
Finally, one can squeeze a few more frames of refueling out a fuel depot by not blowing it up. But since depots are worth a lot of points it's more economical to slow down to eke the extra frames and still blow it up -- except in special circumstances as noted in the next section.

The Endgame

For my first version of this run, destroying the final bridge gave me 100,270 points, though I didn't have enough fuel so I had to artificially poke some extra in to reach that point. Having the final kill be a bridge (500 points) let me choose to lose some points earlier in the run either for fuel or time. Since I needed almost 2 entire fuel tanks' more fuel, I elected to forgo killing 3 fuel tanks (240 points) making up about half the fuel deficit. Fortunately, I found another place around 30k points where I'd skipped a refuel just to snag a ship; reversing this lost 30 points but gave me enough fuel to finish, and brought the final total to a very satisfying 100,000 even.

Horizontal Movement

Unlike vertical acceleration, where speeding up and slowing down occur quite gradually, it takes a while to reach full horizontal speed (1 px/frame), but as soon as you let go of the stick you stop instantly. In a nice quirk of physics, though, one can change directions while maintaining horizontal speed. That's why the plane's movement is so twitchy at times - it's important to have good horizontal speed to reach as many enemies as possible. The occasions where I drop horizontal momentum are usually to optimize going around a corner or reaching an enemy by 1 additional horizontal pixel.

Shooting Enemies in Walls

Bullets stop the first frame they spend overlapping a wall. However, for that 1 frame they still have their full movement and hit-box. By timing shots carefully, it's possible to hit jets embedded as many as 6 pixels into a wall.


Jets are worth the most points apart from bridges, but their presence in a level makes things MUCH more difficult. Jets move horizontally at the plane's max horizontal speed. In practical terms, this means that once a jet gets ahead of you (moving away), there's no way to catch up to it. As a result, it's often necessary to either miss a jet or lose some time to hit a particular jet. With the terrain, some are actually not possible to hit at all.


  • A commented disassembly by Thomas Jentzsch was helpful in figuring out how to manipulate enemy movements. Not sure why, but the memory addresses in the source don't match what's used in the emulator.
  • An full-of-awesomeness 1982 commercial for River Raid:

Dooty: Here are some considerations before my verdict;

Entertainment Value:

If you haven’t played the original game back in the day it was released, you may find it hard to be entertained by any Atari 2600 game. But this game still has his charm, and is not too different from modern shooters. The River of no Return was and I dare to say it still is an entertaining game for the casual player. The entertainment of this run was stated in most of the comments so far, so I’m more than confident when I say that this game meets the requirement of being an entertaining game.

Game Choice:

It may be just a nostalgic mistake, but along with Enduro, Pitfall, Frostbite and a few other titles what other game was so popular in the golden days of the Atari 2600? Game choice is a strong factor for the Moons tier and this game meets this requirement.

Goal Choice:

The chosen goal here is not only to complete the game as fast as possible, or glitch the game to an extent no one could recognize or even enjoy the original feeling of the game. Instead, the author made a wise decision to stop the game as soon as the maximum difficulty level was achieved preventing the game to keep rolling with no more input. Another requirement met.

Superhuman Gameplay:

Show skills beyond a human playing in real time are a requirement for the Moons tier. Although Atari games are so simple in their designs to allow one to easily do that, the author managed to show off things a human would not be able to achieve; enemy manipulation, daring near misses, out of order killings and an end of input with a precise score.

Judge's Verdict:

Well, the requirements may be out of order the way I put them, sorry about that, but this run meets all of them with enough technique, so here’s my verdict; accepted for publication in Moons tier.

Ilari: Thanks to feos for dump.

Experienced Forum User, Moderator
Joined: 8/3/2004
Posts: 12120
This topic is for the purpose of discussing #3857: Lord Tom's A2600 River Raid "Fastest 100,000" in 08:10.65
Experienced Forum User, Skilled player (1573)
Joined: 9/17/2009
Posts: 4875
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
GBA TASer of 2010
Huh. This was actually quite entertaining, especially with the fuel part. You said the game has an ending at 1,000,000 points, right? Maybe you should do that and submit it on June 20th April 1st or something. :P
Experienced Forum User
Joined: 2/12/2008
Posts: 67
Location: San Francisco Bay Area, CA
My favorite Atari 2600 run so far. There's a surprising amount of depth in this one. Yes vote.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
I'm rather ambivalent about the entertainment value of this run, given how long and repetitive it is (even though the author tried to add entertainment value to it via gameplay.)
Experienced Forum User
Joined: 5/2/2009
Posts: 656
I liked this movie very much. yes vote
My first language is not English, so please excuse myself if I write something wrong. I'll do my best do write as cleary as I can, so cope with me here =) (ノಥ益ಥ)ノ
Experienced Forum User
Joined: 2/26/2011
Posts: 98
Pretty good game for its time, and the TAS is entertaining for people who can appreciate this basic idea. Your description is great, as well. This submission is the soul of TASing. Yes vote.
Experienced Forum User
Joined: 4/30/2006
Posts: 480
Location: the secret cow level
Watching shots weave back and forth into targets was almost hypnotic. Always was one of my favorite Atari games. Didn't feel the need to fast-forward or skip around the video at all. Yes vote.
Experienced Forum User
Joined: 1/25/2011
Posts: 17
Location: Lazytown
When I seen the game choice I just rolled my eyes. So I dove in and read the submission text then I became interested. After fully understanding what you were achieving while playing impressed me. I could tell just from my own experiences playing this game as a kid something magical was happening but knowing what you were doing to create that magic nullified the repetitiveness this run could be subject too. Yes vote. Awesome play and nice feats on doing what you could to make the repetitiveness worth enduring by taking the extra mile to add the cliff hangers you did.
Experienced Forum User, Expert player (2478)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Sega TASer of 2013SNES TASer of 2012SNES TASer of 2010
Looking for my lost roms, I found an invaluable item for my collection; a complete NTSC-US Atari 2600 roms with lots of manuals in pdf format. I know it is irrelevant, and may be even off topic, but the first manual I searched for as soon as I unpacked the download was exactly "River Raid". Well, now for a more constructive comment, I'd like to thank you for creating this run. The goal choice seems pretty solid and is a good way to end the movie before it gets boring. My vote is Yes. Oh, just one more thing, sorry if you already answered this, or if it's too obvious to deserve an answer, but would it make any difference to your goal, I mean timewise, if you play the game on another difficulty setting?
I am old enough to know better, but not enough to do it.
Lord Tom
Experienced Forum User, Expert player (3035)
Joined: 5/25/2007
Posts: 398
Location: New England
NES TAS of 2018NES TASer of 2016NES TAS of 2016Funny TAS of 2016Glitchy TAS of 2016NES TAS of 2014TASer of 2009NES TASer of 2009
That is a good question -- the difficulty setting choice is easy in terms of entertainment, a little tougher in terms of "difficulty." In the other game/difficulty mode your bullets fly straight rather than being pinned to the x coordinate of the plane, but there are no other differences. I felt that straight bullets would clearly be much less entertaining, since steering bullets around is a big part of the unexpected/entertaining aspect I was able to achieve. Straight bullets would decrease the flexibility in some situations, eg place where I steer a bullet around a ledge to get an enemy tucked in a crevice would not be possible (though most of the time I do that is just for show and the enemy could have been killed the normal way). There are, however, many situations where straight bullets would be easier - in particular if there's an enemy far ahead on one side of the screen I'd like to kill, and then break to the other side to get a fuel/enemy. Being able to "fire and forget" would make this sort of case much easier. So overall, I'd say difficulty is a wash between the two modes, but entertainment is definitely served by steerable bullets. EDIT: good find on the manuals, I love looking through those things!
Experienced Forum User, Expert player (2478)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
Sega TASer of 2013SNES TASer of 2012SNES TASer of 2010
Thank you for the answer, Lord Tom! I'm kinda out of date about judging with the new tier system, but I'd like to judge this run.
I am old enough to know better, but not enough to do it.
Editor, Experienced Forum User, Skilled player (1752)
Joined: 6/15/2005
Posts: 3130
Glitchy TAS of 2013Gameboy TAS of 2013PSX TASer of 2010
I found this a little too repetitive for my taste, so I'll have to vote no for Moon. This run is certainly well-done, though, and I'll say that it gets better the more one watches it. It's nice to see an Atari 2600 TAS that's longer than 3 minutes.
Post subject: Movie published
Experienced Forum User, Moderator
Joined: 8/3/2004
Posts: 12120
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [2327] A2600 River Raid "fastest 100000" by Lord Tom in 08:10.65
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
That got old pretty fast. Quite unusually, this game is much more fun to play than to watch getting its butt kicked.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.