Showing posts with label Unused content. Show all posts
Showing posts with label Unused content. Show all posts

Sunday, August 2, 2020

Unused Objects

Turns out there are a lot of unused objects in this game! I've created another UPS patch to showcase them (on the tutorial beach, like my Brakas patch.) This patch is for the European version of the ROM available at the BioMediaProject. Frankly, I recommend playing through the patch before looking at my notes here. Hopefully it's a treat.


NOTES

Let's start by clarifying a few points. Objects are basically anything dynamic – boulders, NPCs, enemies, what have you. (In other words, everything that isn't in my maps.) Every object has code associated with it that defines its appearance, collision, behavior, and color palette. I will be using the word "object" to refer to the sum total of all these things and "sprite" to refer to the appearance of the object. For example, the water and cave Ussals are two separate objects that use the same sprites. (Note that this is my terminology, not the game's. The ROM does not include any file or function names used in development.)

Same sprites, different objects.

This patch doesn't contain all the unused objects in the game. There are several objects which, in their current state, cause the game to crash. Obviously, these aren't included. It is also always possible that I have overlooked something.

That said, let's talk about how the GBA handles color palettes. It supports up to 512 colors. Half of those are used for the background, and half are used for objects. The 256 colors used for objects are further broken up into 16 sets, or "palettes," of 16 colors each. The default object palettes are shown below:


Every sprite in the game has a default color palette. For example, Takua defaults to palette 1, and Madu trees default to palette 3. Of course, many objects don't use one of the default color palettes. The game handles this by replacing palettes 4 to 15 with those used by the objects in any given level. Consider the Brakas, whose sprites default to palette 1. The Brakas object specifies that a) the game should load its proper brown and gray color palette, if necessary, and b) the sprite should use whatever palette number that ends up being, not palette 1. In a hypothetical level where the only objects were Takua and a bunch of Brakases, the object color palettes would look like this:


... and the Brakas sprites would use palette 4.

I'm going into this for a few reasons. First, I wanted to explain that the number of palettes per level is limited. In order to cram everything into the tutorial, I made the Matoran all use Takua's color palette. The Matoran in this patch are not unused objects. Second, there are some unused objects that don't specify a unique palette, and I think it's important to stress that their color schemes may not be meaningful. Like Onewa here, who uses palette 12:


Does this date back to an unseen early prototype of Onewa where he looked heavily jaundiced?? Probably not, imo. It's more likely that they forgot to specify a color scheme, changed the default palette 12 sometime in development, or any number of other explanations.

Then there's this Moa, which runs around much more freely than the one used in the final game. It uses palette 11:


The Moa is a weird Rahi in that (as far as I can tell) it's built exactly the same as the Taku, the eaglets that Matau is almost fed to. The two birds do use different sprites, and this unused Rahi uses the Moa set, so I guess that's what it is. However, this palette might actually have been intended for the Taku, which uses a similar color scheme in the Nintendo Power Advance walkthrough's bestiary:


Anyway, moving on. The final version of the Hoto bug sends Takua hurtling through the air until he falls off a cliff. This unused version is much tamer and just throws fruit at him.


Conversely, this spider sends Takua flying, much like the final Hoto.


This unused switch lowers when you step on it:


Here are a few (presumably placeholder) pickups that trigger the wrong events when you collect them:




This unused pickup uses a unique sprite, which is kind of hard to parse. The going theory (thanks to The Shadow Emperor) is that it's meant to be cherries. It's also broken, but I'll leave you to find out what happens when you pick it up.


Here's our old pal, the unnamed bird rahi, swooping as it did in the demo footage. The shadows don't match up to the swooping animation, which is to be expected given that the shadow animation has twice as many frames.


The crumbling ground seen at the end of the game when Takua breaks the giant crystal in Ta-Wahi is an object too. This version uses unique sprites and breaks apart when hit with a projectile.


This Maha has a unique palette. Sadly, like most Maha color schemes, it cannot be built using actual bricks.


... and this Maha is tame! It runs around and occasionally stops to munch.


 Finally, here's a familiar-looking crab, which uses a unique color palette and is also tame:


The tame Ussal appears in screenshots of Onu-Koro in the Nintendo Power and Nintendo Power Advance walkthroughs, which suggests that it was removed late in development. (My going theory is that it was cut because it's very easy to clip inside it and impossible to get out.)

Main image: Nintendo Power 148; inset: Nintendo Power Advance 2

Here's a spritesheet, because I love this crab:


Again, here's the UPS patch that replaces a bunch of objects on the tutorial beach with those covered in this post, if you want to see them in action.

Tuesday, March 31, 2020

Oops, all Brakas

Folks, I've been busy. You see, it turns out that there are tools that will do an OK job of decompiling a ROM automatically. Armed with Ghidra and basic programming knowledge, I've found out enough about this game's code to be dangerous.

For example, I can now edit the ROM to change what objects are spawned in each level. This has a few significant advantages over my previous approach, which was to change the values in RAM that determine which sprite an object use. For one, you can spawn the actual object, as opposed to having a fully functional palm tree that uses the object's sprites. Additionally, the object is more likely to use its correct color palette if you spawn it in this way.

And yes, you can spawn the Brakas. Aaaand it uses a color scheme that's closer to its depiction in the Nintendo Power Advance walkthrough than in the prerelease screenshot:

Whoops.
 


This patch is for the North American release of the game, which you can find at the BioMediaProject site. You can apply it using any UPS patching tool. Let me know if you make it past the tutorial – one of the jumps is trickier than before! (Hint: try talking to the Matoran Brakases.)

Also, looking closer at the Brakas sprites, I don't think it uses a Slizer torso, as most fan builds do. Here's my proposed build for it:


While the Mata foot torso is odd, it has precedent. This game's version of the Maha (Mahi?) definitely uses one:


Edit a/o July 27: I've fallen out of love with the mata foot torso, but still contend that the Brakas doesn't use a Slizer body.

Friday, March 20, 2020

Unused Bird Sprites

Remember when I said I wasn't going to rip another spritesheet anytime soon? I lied. While I was doing research for another post, I noticed that the Unnamed Bird Rahi had sprites that aren't used in the final game. One thing led to another, and here we are:

 

At this point, you may be thinking "wait a minute, there are twice as many shadows as birds there!" Weird, huh? Also, the "used" shadows are shaped differently from the "used" birds, while the "unused" shadows are pixel-perfect silhouettes of the "unused" birds.

My going theory is that the "unused" shadows were temporary sprites dating back to a demo version of the game where the bird's animations used 10 frames. As for why all ten frames are still in the game, it looks like someone stopped revising the bird's sprites midway through once the decision was made that the "unused" sprites would, well, not be used. This also explains why they weren't revised to look more like true shadows.

Tuesday, March 17, 2020

Welcome to Brakas

Well, it took me a couple of years, but I finally got around to making an honest-to-god spritesheet for the Brakas:



The Brakas uses 9 shades for its primary color, 5 shades for its secondary color, and a nondescript dark shade for shadows. We also know from this prototype image that it was going to be red and blue. The only Rahi in the game that uses 9 shades of blue and 5 shades of red is the unnamed scorpion found in Po-Wahi:


This exact colormap doesn't look right when applied to the Brakas, but if you rearrange the colors, separating the reds and blues, then it looks pretty decent.

Overall, compiling this spritesheet was easier than I thought it would be, especially considering it started out looking like this:


(It's actually less of a mess than it looks, since all of these 8x8 tiles are more or less ordered. That is to say, all of the tiles for animation 1 sprite 1 come first, then animation 1 sprite 2, et cetera. It did take a lot of time, though, so I'm not going to do it again immediately.)

Edit 1: this sheet is now on The Spriters Resource!
Edit 2: turns out the Brakas does, actually, have a color palette in game. More on that here.

Monday, March 16, 2020

Unused Inventory Sprites

Alright, let's get started. Here's the spritesheet for the inventory. Notice anything strange?


That's right: at some point in development, the inventory would've contained the Toa stones, health and energy pickups, and a key (presumably the one used to open Vakama's cell). Also present is Takua's Copper Mask of Victory, which is overlaid on the head in the middle of the inventory screen if you beat all the minigames.

The Toa stones use different renders from the pickups seen in the final game, and they look pretty good. Lewa notably appears to be holding his axe in his left hand, as seen in some prototype versions. Also, while it's almost certainly coincidental, Pohatu's stone reminds me of Macku's doll of Hewkii from MNOG2.

But wait, what's that brown thing next to the health pickups?


Well, in the final version of the game, the brown thing (now green) is a health pickup, identified in-game as a bula berry. However, it's odd that its inventory sprite would be a different color from the other health pickups, not to mention that it doesn't have a black border or a heart in the upper left corner. And maybe I'm just seeing things, but the prototype health pickup, as seen in the game demo from the PowerPack, doesn't really look like this mysterious brown thing. (The demo video is so low-quality that a screenshot wouldn't really prove anything. You should watch it for yourself and draw your own conclusion, imo.)

And another thing: the inventory has sprites for every pickup in the game except the Vuata Maca tree crystals. Curious, huh? Here's an interesting excerpt from the game's script:

You have found a Vuata Maca Tree crystal!
You will need to find 2 health potions to fill $'s health.
When $'s health is full, your quest is complete.
Congratulations!
You still need to get more health.
You have found the first Toa Stone!
 Okay, I call it the "script", but it's really more like all of the lines in the game are stored in plain text, one after the other, in the middle of the ROM. I've included the line before and the line after for context, but the bold part is what interests me. These lines do not appear in the final game, and they describe a fetch quest for two objects. Is it possible that the original idea for the Vuata Maca Tree quest was to find health potions to heal an NPC, rather than finding crystals to heal a tree? If so, this brown thing could have originally represented a health potion rather than a bula berry. That would explain why it doesn't look like any of the other healing items and why the tree crystals are absent.

Anyway, moving on from that tinfoil hat theory, here's the spritesheet for the inventory items as they appear on the HUD in-game:


Note that the energy pickup sprite appears here as well. We'll come back to that in a later installment, probably. There are also some minor differences between the two sets of sprites, most notably in the shape of Whenua's drill: