Submission #6560: theballaam96's N64 Earthworm Jim 3D in 00:50.42

Console Nintendo 64 Emulator BizHawk 1.12.1
Game Version Europe v1.0 Frame Count 2521
ROM Filename Earthworm Jim 3D (Europe) (En,Fr,De,Es,It).n64 Frame Rate 50
Branch Rerecord Count 6325
Unknown Authors theballaam96
Game Earthworm Jim 3D
Submitted by theballaam96 on 12/10/2019 7:47:10 PM

Submission Comments

Game objectives

  • Emulator used: BizHawk 1.12.1 (GlideN64 / Dynarec / HLE)
  • Objective: Beat the game


For most of his life, Earthworm Jim as just an ordinary worm engaging in normal worm activities, until the Ultra-high-tech-indestructible-super-space-cyber-suit graced his presence. From this point, he was able to embark on many adventures, and go up against the evil “Earthworm Kim”. Unfortunately, Kim was not kind, and required 74 Udders and 950 Marbles from our favourite worm to beat her and consequently, the game.
That was until Jim discovered the power of being able to jump really high and decided to just skip the game.

Why PAL?

It is standard for most pre-2010 games to be speedrun/TAS’d on an NTSC version due to the increased framerate. However, Earthworm Jim 3D (EJ3D) benefits quite a lot from using the PAL version for Any%. The European releases of games often have a language select feature built in to accommodate the most common languages in Europe, (English, French, German, Spanish and Italian for EJ3D), however the developers added an additional “nonsense-language” called Jibber-Jabber. Either through laziness or to not stretch jokes on for too long, the textbox count with Jibber-Jabber is significantly reduced. It takes 5 frames to clear a textbox, so Jibber Jabber saves 60 frames over the next fastest languages, Italian and Spanish (The introduction with Jim in the hospital is always 6 textboxes regardless of language)
Intro Textboxes23182016165
Credits Textboxes665665

Key Techniques

A standard move in the game which is activated when you crouch and then press A with a neutral stick. Whilst this is an intended move, the developers did not consider how high you can get with this move when protecting the player from going out of bounds or accessing areas early. Instead of going through walls, the way of going out of bounds in this game is jumping over walls, so optimising the height you gain is critical for some sequence breaks to work. The twirl/hover move assists with some of this, allowing Jim to gain 0.042 vertical units per frame for 22 frames, and allowing the ability to travel further, extending the range of how far you can go.
This all might seem trivial, but it is all crucial to why this run works
The Credits Trigger
(AKA Hey, lets just “L to Levitate” randomly whilst glitch hunting and hey oh wait, there’s the credits.)
Like in most games, triggers in EJ3D are used to define when moments in games are meant to occur, such as cutscene triggers or loading zones. However, unlike a fair amount of games, sometimes there is a random trigger just floating in the air. This is the case with the credits trigger.
The credits trigger is a trigger zone 97.7 units off the ground, which is around 4x the height of a super-jump and twirl combo. Whilst this is certainly out of reach in normal gameplay, and certainly would not be something you would stumble upon randomly during gameplay. However, this route seeks to get there somehow…


Upon booting up the game and cancelling the intro musical cutscene, we can auto-cancel the title demo with any button. The interesting fact about this is that it plays out the action even though you’re cancelling a cutscene (eg. A would make the character start jumping, albeit freeze it very shortly after). The only one which persists is holding Z to pull out Jim’s Blaster. This persists until Jim comes out of the elevator doors in the intro.

After selecting Jibber Jabber as the language (the language chosen does temporarily affect the file icon), we start the file and go through a whole heap of cutscene that takes us to 33s on our TAS timer.
The Climb
Next, we head back to the elevator. Jumping out of a max-speed roll (~0.7 units/frame) gives a 43% initial boost in speed before the speed tends towards 0.7 again. As such, the fastest way of moving horizontally in EJ3D is rolling and short hopping (1-frame-A jumping) to maximise these jump boosts.

We then jump onto a small lip on the elevator frame. There are a lot of surfaces in the game where jumping onto them locks Jim into the jumping animation for a short period of time. This is not a good effect since it delays when we can initiate the next crouch. Being on the elevator frame provides enough height to allow the player to get on the roof of the tunnel to the entrance to “Memory” (The first sub-hub in the game).

The next jump is easily the hardest in this run, as we need to jump from the memory tunnel roof onto the back of a window. Unfortunately, the non-slippery part of the back of this window is too high for us to reach, so we must have the right speed, angle and position to be able to slide up the slippery sloped part of the window. Coming at this with not enough speed or Y Position will not allow you to get high enough, not coming at it from the right angle could easily yield the speed coming in to be converted into speed slighting directly away from the window. However, we get on top of the window and convert some of the speed we have into sliding away from the memory tunnel and nearer to our next destination.

The next jump is not a superjump since the height we need to get there can be achieved with a normal jump. Since a superjump requires you to start from a standstill, if you can jump normally when travelling predominantly horizontally, it’s best to do so. This leaves us on top of an electrical cable section.

Jim then jumps onto the back of a window before jumping off that and around the wall to the top of an electrical cable stub, and then on top of a slightly higher stub. This leaves us at around 140 units off the base ground (6-7x the height of a superjump and twirl combo). Now that we have barely enough height, the only thing left to do to hit the credits trigger is to launch ourselves back to the centre of the room to hit the credits trigger.

The only thing that is left is to clear the rest of the textboxes to allow the credits to flow without any additional inputs. The textbox triggers can be triggered a frame or two sooner by interrupting the “locked” walking with crouching and jumping to the next trigger.


A common question when I talk about the Any% TAS is about whether a 100% TAS is in the works. Yes, it is in the works, and was being made until a few months ago where a reroute was discovered that saved a whole bunch of time by drastically changing the level order, which also obsoletes everything past 35s into the run. Progress on the new route will start at some point in the coming months, however here is a WIP of the TAS I was working on
Thank you to Koffingrockz, Markusman64ds & CardinalPickles for assisting with glitch hunting this game. An additional thanks to Isotarge and RingRush from the DK64 community, who have been an inspiration for glitch hunting, TASing and helping promote the idea that learning why the small things work makes the big things come.

feos: While this is a good movie, we can't agree that using the PAL version here was justified. As said in our game version rules, PAL versions are "generally not allowed, unless there are significant technical and/or entertainment merits to using this version". Some examples of notable differences that justify using the European release are provided in the rule body, but here's more examples:
  • Hogs of War was accepted because it was the original release, gameplay quality wasn't compromised during porting, because it wasn't a port.
  • PAL Super Mario Bros. was rejected because no notable difference was found that would justify using that version in addition to the NTSC one that already existed.
With this game, gameplay ends up being visibly identical between both version. Also I can't agree on having this version published until an NTSC run is completed: the rules clearly state that it's "generally not allowed", rather than "not preferred" which would've been less strict.
Rejecting and looking forward to an NTSC submission!

Last Edited by on 1/1/2022 6:13:56 PM
Page History Latest diff List Referrers