TASVideos

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

Submission #3138: RT-55J's NES Bio Force Ape in 04:30.02

Console: Nintendo Entertainment System
Game name: Bio Force Ape
Game version: unknown
ROM filename: Bio Force Ape (J) (Prototype).nes
Branch:
Emulator: (unknown)
Movie length: 04:30.02
FrameCount: 16228
Re-record count: 3641
Author's real name: Alex W
Author's nickname: RT-55J
Submitter: RT-55J
Submitted at: 2011-04-30 07:18:05
Text last edited at: 2012-11-27 01:43:54
Text last edited by: Brandon
Download: Download (2863 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)

Bio Force Ape completed with a 16228 frame input file. No anti-communist butter monsters were harmed during the making of this film.

Game objectives

  • Emulator used: FCEUX 2.1.0a
  • Aims for Fastest In-Game Time [1]
  • Genre: Platformer
  • Abuses programming errors

[1]See comments on Stage 3 for details

Comments

Bio Force Ape is an unreleased game where you play as an ape that can run really fast and do wrestling moves. For some unknown reason the game was canceled, but thanks to the efforts of The Lost Levels the game has been found and released for consumption by the general public of retrogaming nerds. Whether the game is actually complete is unknown (the number of glitches says "probably not"), but as is the game's "plot" indicates that the final product wouldn't have any more stages.

Interesting, the game keeps track of your best times and displays them after the level. According the scoreboard's default times, a run twice as long would be considered quite skillful.

General Tricks

Horizontal Momentum

You accelerate 16 subpx/fr/fr when holding forward, and decelerate 40 subpx/fr/fr when not holding forward. Your max speed is about 6px/fr, and it takes 96 frames to reach it. Despite being able to go so fast, you can stop on a dime just be pressing back.

Strangely, if you run into a wall or an enemy, nothing happens to your speed.

2/2 Falling

Gravity pulls your character down 144 subpx/fr/fr normally, and 48 subpx/fr/fr when holding the jump button. Your terminal velocity is 8 px/fr. Note, however, that this velocity is never actually achieved, and that the game immediately sets your velocity to 7px/fr (+0 subpx/fr) if this velocity is attained. As a result of this, your vertical speed normally oscillates between (7px+0subpx)/fr and (7px+144subpx)/fr. However, if you hold hold jump for 2 (or 3) frames and release jump for 2 (or 1) frames, you can have the subpixel portion of your speed go from 0 to 144 to 192 to 240 to 0 and so on. For long falls, this trick saves just a tad more than 1 frame per screen.

A similar oscillation occurs with your horizontal speed, but it is not abusable.

Rolling

It is possible to roll through small gaps on walls if your horizontal velocity is sufficient and if you were rolling as you entered the air.

Speed-wise, there is no difference between rolling and running.

Also, in some instances, rolling can help reduce lag.

Ceiling Glitch

When rolling you can roll into small tunnel (a la Metroid). If you jump right before enter a tunnel this way, you will end up standing inside the tunnel (feet a few pixels into the ground, but whatever). If your speed is sufficiently high, a rolling jump will allow you to go into the next tile of the tunnel. However, if the ceiling is less than two blocks thick, you will go through it instead.

Corner Magnetism

When jumping off a ledge at the last frame possible, you end up jumping lower than you normally would. This is annoying, though occasionally useful.

Conversely, if you hit the corner of a platform while jumping you will "stick" to the platform regardless of your vertical velocity. This is useful, though occasionally annoying.

Useful Memory Addresses

This game likes 24-bit arithmetic

Address Set #16: Bio Force Ape
System: Nintendo Entertainment System
Download .wch file for: BizHawk
Domain Address Data Type Signed Endian Description
RAM 012B Byte Unsigned Little Current Stage Time - Frames
RAM 012C Byte Unsigned Little Current Stage Time - 256 Frames
RAM 012D Byte Unsigned Little Current Stage Time - 256*256 Frames
RAM 013A Byte Unsigned Little Total Time - Frames
RAM 013B Byte Unsigned Little Total Time - 256 Frames
RAM 013C Byte Unsigned Little Total Time - 256*256 Frames
RAM 0484 Byte Unsigned Little X-Pos - Subpixel
RAM 0485 Byte Unsigned Little X-Pos - Pixel
RAM 0486 Byte Unsigned Little X-Pos - Screen
RAM 0487 Byte Unsigned Little Y-Pos - Subpixel
RAM 0488 Byte Unsigned Little Y-Pos - Pixel
RAM 0489 Byte Unsigned Little Y-Pos - Screen
RAM 048A Byte Signed Little X-Spd - Subpixel
RAM 048B Byte Signed Little X-Spd - Pixel
RAM 048C Byte Signed Little X-Spd - Screen
RAM 048D Byte Signed Little Y-Spd - Subpixel
RAM 048E Byte Signed Little Y-Spd - Pixel
RAM 048F Byte Signed Little Y-Spd - Screen

Stage by stage comments

Stage 1 - some dumb warehouse

This stage has quite a few instances where you don't really do anything, but it spices things up by having the not-doing-anything take place in a variety of directions and speeds. There are platforms that can zip you up, right, and left at exhilarating speeds (while you are doing absolutely nothing). There are segments where you just run with no obstacles. There's quite a bit bit of falling (which thankfully can be sped up). The ultimate example of this do-nothing-itis, however, is the elevators. They will always eat up 28 seconds of your time, and there is nothing you can do about. In fact the game doesn't even accept your input while in them (just look at that lag counter!).

In this middle of all this (literally (just look at the map, is some passable stage design. The main feature is these swinging ropes that like to annoy you by causing lag. In return, they launch you at max speed with you jump off of them (how nice). Less prominently, there are some spring-loaded platforms, which are completely unremarkable.

The main rolling trick mentioned above was used to execute a nice little shortcut, which saves a bit more than five seconds.

In-game time: 2:18.4

Stage 2 - some dumb cave

Normal this level involves a bunch of braindead wrestling matches against foes who make Pro Wrestling's Amazon look pedestrian. These matches are broken up by even more braindead minecart segments (straight outta Donkey Kong Country), during which you can do nothing but feel relieve that at least the game is bothering to read your input this time.

Thankfully, due to the combined laziness of the level designer and programmer, we can skip all of this nonsense thanks to the ceiling glitch.

In-game time: 0:32.1

Stage 3 - some dumb nondescript building (missile silo?)

This level is a teleporter maze where you're supposed to find switches to detonate explosive TNT barriers that block your way. However, thank to some sloppy collision detection and the rolling trick, all of these barriers can be trivially bypassed (ie it's really easy to do in real time). In total, this saves about 20-25 seconds.

For some reason, gravity has no effect on your character when you are in the pass-through-platform tiles around the teleporters.

For some reason your jumps on the falling platforms do not take effect until you walk off of them. It is possible to jump over two of these platforms in a single jump, but this behavior makes it impossible to do repeatedly.

After defeating the final boss (don't spoil it), a short cutscene plays wherein you walk half a pixel per frame to edge of the screen. The in-game timer does not stop until the fade-out begins, which only happens when you finish walking. I could have ended the input file earlier with a punch on frame 16181, but this would have delayed the fade-out by a few seconds. Instead, I timed my last punch and last bit of running so that the fade-out would happen as soon as possible (so I could get the best in-game time possible).

In-game time: 1:27.8

Rather hilariously, the song that plays while the end time is being displayed is actually the longest in the game (~105 seconds), but the game forces you off the screen after 8 seconds or something. To hear the full song, access the soundtest by holding A+B as the copyright screen fades away and select song $ØØØ1.

In-game total time: 4:18.4

Special thanks

  • The dudes at The Lost Levels for finding this game
  • Xkeeper for making screenshot maps of the levels
  • scrimpeh, Sonikkustar, and alden for their support

feos: HD encode.


Baxter: Short and sweet NES craziness, accepting!


Brandon: Publication underway.

Similar submissions (by title and categories where applicable):