Main
Main
Artwork
Artwork
Books
Books
Donate
Donate
Licenses
Licenses
Shorts
Shorts
Software
Software
Source
Source

Of 6502 Logic Errors and Third Chapters

04-05-2020

Today, I decided to discuss the original Metroid for the Nintendo Entertainment System. I've noticed some people don't know-- Metroid is the best video game ever made. EVER-- MADE. >:(

More specifically, there is a certain area of Brinstar (up the shaft of west Brinstar, across the bridge, through the top tunnel of east Brinstar, past a maze of pipes, between a set of gates separating rooms) where a player can acquire Samus' Varia suit. There is a Waver between the gates. And, there is a row of bricks above Samus' head.

Some of the bricks can be disintegrated by firing at them. They will re-materialize after a few seconds. Once they have been disintegrated, a player can make Samus jump. And, Samus can land on a brick after it re-materializes. Samus can reach an area with a gate above the bricks. The gate is at the top of a wall. That gate leads to the Varia suit (very useful in Norfair and the second hideout). There's only one problem: Samus can't reach the gate to get to the Varia suit. Does she need high jump boots? Oh, no!! :o

The high jump boots (as any dedicated Metroid player knows) are all the way down the bowels of Norfair. Norfair is pretty tough. And, the only passage to the second hideout is all the way at the bottom. I can't imagine trying to get through Norfair (and especially the second hideout) without the Varia suit (which seriously reduces damage to Samus' suit). After all, that's what the suit is for-- it's basically tailor made for getting through Norfair and the second hideout. Surely, there is a way to get the Varia suit without high jump boots. Right?? D:

Solution 1: An honest method of freezing a Waver and using it like a step to reach the gate.

This technique requires practice, patience, and a bit of luck. And (of course), it requires the roll attack, the bomb power up, the freeze ray, and five missiles. Like I said, there is usually a Waver between the gates. Sometimes, there's not. I'm not sure how that happens. If I was guessing, I'd say the Waver is placed between the gates when Samus enters the gate leading to the area with the pipe maze (I don't think it's ever placed for any other reason).

At any rate, this solution will only work if there is a Waver between the gates. So if there isn't one in there, you'll have to instruct Samus to come back. Or, you can wait for a Waver to fall close to one of the gates, instruct Samus to fire at the gate, allow the Waver to float through, and instruct Samus to follow it in. This is almost impossible.

First of all, there's almost *never* a Waver nearby. Secondly (if there is), they will only fall far enough to float through a gate by random chance (many factors can change a Waver's trajectory). Also, a Waver will only stay low enough to float through one of the gates for a short period of time. Finally, Samus will take a lot of damage traveling through a gate with a Waver. It might be quicker (and easier) to instruct Samus to travel elsewhere and then come back and hope there is a Waver between the gates.

Once there is a Waver trapped between the gates, it's possible (although, very difficult) to disintegrate the upper bricks and wait (very patiently) for the Waver to float above one of the disintegrated bricks. Then, a player can instruct Samus to fire upwards and freeze the Waver. Afterwards, a player can instruct Samus to jump and land on a brick after it re-materializes (again-- very tough to pull off).

Once the Waver unfreezes, it will float into the upper area (assuming there are no other bricks in the way). And, a player can instruct Samus to follow the Waver. Then, a player can wait for the Waver to float about halfway up the wall below the Varia suit entrance. And finally, a player can instruct Samus to freeze the Waver. Once the Waver is frozen, it can be used as a step to reach the gate (Samus can stand on a frozen Waver).

Solution 2: Another honest method known as "bomb jumping" or "bombing up".

This method is about timing more than anything. It requires the roll attack, the bomb power up, and five missiles. I have never *technically* pulled this off (although, I hear it can be done). Supposedly, a player can instruct Samus to enter roll attack mode, drop a bomb, await an explosion to lift Samus, drop a bomb before the peak of Samus' lift, drop a bomb at the peak of Samus' lift, and repeat the process to climb to the area with the Varia suit.

Yes-- this seems technically possible. But, I've never been able to pull it off. If you can do this on the original Metroid for the NES, send me an email at thedictator2@gmail.com, please-- preferably with a video of your achievement. :D

Solution 3: A hack which exposes a known logic error (or "bug") in the game.

It requires the roll attack (in order to lift Samus one half the height of her roll attack sprites and to drop bombs), the bomb power up (in order to disintegrate a brick in a pipe maze on the way to the Varia suit), and five missiles (to enter a red gate guarding the Varia suit). If a player has acquired the roll attack, they can press the down button to enter roll attack mode. From roll attack mode, a player can press the up button. This exposes a bug. Did you ever notice?

Pressing the up button in roll attack mode places a Samus "standing" sprite (meaning a sprite of Samus when she is standing upright) at the location where she was in roll attack mode. The game developers defined this to mean the bottoms of Samus' feet should be located at the center of the coordinates where the last roll attack sprite was printed. If they defined this to mean her feet should be placed at the bottom of the roll attack sprite, the game wouldn't have this logic error. If you're wondering why Samus functions this way, it's because the developers thought it made Samus look like she was "bouncing" in and out of roll attack mode. And, it makes Samus' roll attack kind of cute. But, the functionality serves no other purpose.

The roll attack bug can be used to increase Samus' Y coordinate (half the height of her roll attack sprites). And, Samus' jump feature can be used to increase the Y coordinate of a player's viewport (move the "screen" up). The only additional requirement to allow a player to change Samus' location using this logic error is a block of pixels for Samus to stand on. Samus can only stand on some pixels. For example, Samus can stand on pixels that are parts of a level's sprites (the ground or the walls of Brinstar for example). She can stand on pixels that are parts of elevator sprites. She can also stand on pixels that are parts of gate sprites. Therefore if the coordinates of Samus' feet are the same as the coordinates of a level's pixels, elevator pixels, or gate pixels, she will stand upright and not move.

A player can fire at a blue gate, stand where the gate sprite was located, and wait for the gate to re-materialize. When the gate re-materializes, the coordinates of Samus' feet are the same as the coordinates of the gate sprite. Thus, a player can enter roll attack mode and press the up button. And, a Samus "standing" sprite will be placed one half the height of her roll attack sprite above the location of her roll attack sprite. A player will need to press the up button quickly. If Samus drops completely, the up button will not return Samus to standing mode when coordinates of pixels she can stand on are the same as coordinates of Samus sprite pixels above the bottoms of her feet (i.e., if Samus is standing in front of pixels she can stand on).

Afterwards, the coordinates of Samus' feet will be the same as pixels her feet are allowed to stand on (gate pixels). So, Samus will be standing on pixels that are part of the gate sprite-- but higher than the ones she started on. A player can enter roll attack mode again and press the up arrow (quickly). This will place a Samus "standing" sprite one half the height of her roll attack sprite higher. A player can continue to do this all the way up the walls of Brinstar. However, their viewport will not move. So after climbing enough pixels, Samus' Y coordinate will exceed the Y coordinate of a player's viewport. The game has no code for moving Samus when her coordinates are larger than the coordinates of a player's viewport. This will leave a player unable to control Samus. :(

However, a player can press the jump button to increase the Y coordinate of their viewport as long as Samus is still visible. This will "move the screen up" and prevent Samus' Y coordinate from becoming larger than the Y coordinate of the viewport. And so, a player can use this roll attack logic error as a hack to climb the walls of Brinstar for example (or Norfair, or Tourian, or the two Hideouts). A player should never allow Samus to completely drop into roll attack mode while using the roll attack logic error to climb walls. They will be unable to return Samus to standing mode. Remember, Samus cannot return to standing mode from roll attack mode if she is in front of pixels she can stand on.

It would also be possible to climb the pixels of a closed gate by jumping. However, the game developers disabled Samus' jumping feature if Samus is standing in front of pixels she can stand on. I assume when the game was being developed, developers figured out a player could press the jump button while Samus is standing in front of a gate and climb the walls. So, they removed the feature (or they were smart enough to disable it before they ever tested the feature). However, they didn't realize a bug in Samus' roll attack allows her to do the same thing.

My preferred method for acquiring the Varia suit is to instruct Samus to fire at the left gate in the area below the Varia suit area, stand where it will re-materialize, and use the roll attack logic error to climb to the upper gate. Once Samus is standing in front of the upper gate, I simply instruct Samus to fire at the gate and walk through. The red gate guarding the Varia suit is on the other side.

I was able to finish chapter three of Ghosts of Glory High (technically, I finished it 2020-04-02, two days after my deadline). Uh, wow-- it's insanely detailed and descriptive and abstract and artistic and horrifying and sexual and extremely controversial. So-- exactly what I was going for. :D

I'm not sure what I was expecting when I wrote this chapter. I thought it was going to be one of the easier ones of the story. Instead, I went very artistic and abstract with this one. I spent time describing details to enhance the way they look inside a reader's imagination. And, I tried as hard as I could not to describe things in a way I have ever described them before (after all, it gets old reading the same descriptions again and again). I hardly named things I was describing, either (meaning, the majority of descriptions in chapter three describe what elements of an object look like or feel like (etc) without actually naming what is being described).

Chapter two of Ghosts of Glory High had moments of complete abstraction. But, chapter three is almost *all* abstract describing. Although on certain parts, there are a lot of people running around. And, it would have been ridiculously inhibitive to the completion of the project to continue describing *everything* this same way. Not to mention-- this would have been horribly tedious for a person to read.

I've never heard of an author going to the trouble of writing something as complex as the story I'm writing-- simply for the purpose of creating visual pleasure for a reader (although admittedly, I may not be as well versed in the history of fiction writing as someone else). For my work on this project (and arguably, some of my past works), I can only describe myself as the "Stanley Kubrick of fiction writing" (TM).

I put a lot of work into presenting a reader with something creative, visually stimulating, and one of a kind. And, I didn't do violence to the work by dumbing it down (i.e., stupidly explaining what is in a story with a common phrase when it could be described a little bit so that a reader can see what *I* saw when I wrote about it). For example, I can say "A person picked up a pencil". However, I can also say "A person closed the tips of their fingers around a slick, banana yellow, hexagonal shaft". Then, I can say something like "A wood point with a graphite tip was poking out of the end." And then:

1) A reader doesn't have to be bored by the same ridiculous drivel a million other people have written.

2) I can plant specific details in a reader's mind that match the details I have in *mine* (for all I know, a reader would picture a circular shaped pencil that is pink with red hearts and a dull tip if I didn't instruct them not to).

I believe I have discovered a type of hack. By writing details in a specific way, I can transfer data from my imagination to a reader's. And, they can see exactly what *I* see. In a way, I can use this technique to write a video into a reader's mind. It's kind of like producing a feature film that a person can "watch". Based on the results I get when I read the final product, I'm confident my technique works pretty well (and of course, I re-work parts when the resulting images are not clear).

I plan to finish chapter four by the end of April. There are ten chapters in all. At the rate I'm going, the entire book will take ten months to write. So, I hope I can finish chapters quicker than the first three. But so far, each chapter has taken about a month to write. And, each chapter will take as long as it takes. And, I'm not going to rush the process and write unintelligible shit that is unreadable (like Stephen King and many other modern "authors"). Not to mention, I *do* have to work forty hours a week to pay my bills (although, I have had some time off recently due to mass Wuhan virus hysteria).

Back

______________________________________________

Random Fact: Insanely Witty Stupidity hosts a PHP cat command. It can write the contents of Insanely Witty Stupidity's files to a web page. Additional features of the site's cat script are outlined in its man page.

html revised 2024-08-21 by Michael Atkins.

The maintainer of insanelywittystupidity.com does not care if people duplicate this page or any part of it-- as long as this notice remains intact.