Friday, October 2, 2020

19th Anniversary Special, pt. 2

Welcome back to the Lego BIONICLE (GBA) 19th anniversary celebration! Presenting: the islanders of Mata Nui!

 If you're wondering why I call them islanders: it's what the game calls them.

There are a few interesting points here. First off, I mentioned last time that most of the islander sprites are renders of the final model, with its thick arms and updated feet. However, the talking animations for all 6 mask designs use the old model. The wizard (or "vuata maca tree keeper," as BS01 calls them) uses the old model exclusively, and the guard uses the new model exclusively.

Top row: idle. Bottom row: talking.

 The Hau sprite set inexplicably uses renders of the Akaku wearer for its northwest walk animation.

Next, let's take a closer look at those colors. Here's how they're ordered in the game's memory:

Unused colors are highlighted in yellow.

There are 9 islander color palettes for each of the 6 wahis and the tutorial, for a total of 63. For whatever reason (likely the limit of 16 unique palettes at a time), 8 of them were never used! Here's what they look like on the Kakama sprites:

I love the blue and orange Onu-Koronan. It's the sort of thing you'd never see after 2001.

A misconception I've seen is that islander colors in this game are randomized. They're not, but masks are. Almost every islander in the game uses one of the six masks at random and thus doesn't have a set appearance. However, there are four exceptions (not including the guards and wizards). In order of appearance:

"I'm sore all over." – Podu, 19 years ago

There is only one other named islander, Taipu. He looks nothing like he does in any other media.

You ever think about how, based on a few vague statements by Greg, this game is considered to be fully canon while the Mata Nui online game is only semi-canon? What I'm saying is, there's an argument to be made that this is canonically how Taipu looked during the events of the 2001 story.

Anyway, between this spritesheet and the one from yesterday, there is now nothing stopping you from making a Lego BIONICLE (GBA) sprite comic. Use this power responsibly. Happy birthday, video game!

Thursday, October 1, 2020

19th Anniversary Special, pt. 1

Today, October 1, 2020, is the 19th anniversary of Lego BIONICLE (GBA)'s American release! Well, supposedly. Some sources claim it came out on October 2nd. And the first known ROM dump is from September 29th. But in any case, I'm celebrating with two new posts, one today and one tomorrow. So without further ado, I present a spritesheet so large blogspot can't handle it: Takua.

Click for full size.

Frequent readers of the IMDb Trivia section might already know that Takua's sprites are renders of an older 3D model than the rest of the islanders (with some exceptions). The model in question is based on an as-yet-unseen McToran prototype, and has been found in the files of The Legend of Mata Nui. This same model was likely used as the basis for the vector graphics in Templar Studios' Mata Nui online game. Takua's cameo (as George) in Lego Backlot, also developed by Templar, uses the same model:


This prototype model has thinner arms than the final, and the two "toes" are not connected at the heel.

The Legend of Mata Nui.

Beyond that, I don't have much to say about the sheet itself. The most notable oddity is that Takua's dismount animation when he's facing north is 6 frames longer. Perhaps the rest of his dismounts used to be longer and were cut down to save space. Similarly, Takua has only one animation for using the firestaff, in which he faces southeast. The Power Pack demo footage shows him using it while facing north and west.

That's it for today... check back tomorrow for part 2!

EDIT: The Legend of Mata Nui model was extracted using LOMNTool, written by Ben Garcia of Litestone Studios. Big shoutouts to him and the rest of the team for their work.

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.


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.

Monday, May 25, 2020

More Prerelease Sources!

I recently came across this coverage of New York Toy Fair 2001, featuring the Bionicle van, set photos, and everyone's favorite Bionicle GBA game:

Upscaled 2x. Special thanks to Peri for noticing the GBA footage.

Unfortunately, the original images weren't archived, so we'll have to make do with the thumbnails. The first one seems to show Takua in Le-Koro. It doesn't look like there are any other islanders present, but it's hard to tell? The second image appears to be of a body of water in Onu-Wahi. I don't think this image matches any map in the final game, but again, I'm not 100% sure of that. Interestingly, neither of these screenshots has a heads up display (or so I think). The third image is included because it shows the right side of the TV. Judging by the border around the game, I think this was camcorder footage of a GBA dev kit's screen, similar to the demo footage on the Power Pack.

But wait, there's more! Here's Nintendo Power Volume 146, scanned by Brickshelf user "ianc" in November 2001.

All 6 screenshots are totally new to me – I don't think they were used anywhere else! Frankly, I'm astounded that this file is still available, given Brickshelf/Maj's troubles over the years. (That said, if you own NP 146 or have access to a higher quality scan, please get in touch.)

On a similar note, both the Nintendo Power Advance and Nintendo Power walkthroughs show tame Ussal crabs in Onu-Koro, but they do not appear in the final game. In other words, Nintendo Power's copy of the game was a prerelease build. I haven't noticed anything else odd about their screenshots, but it wouldn't surprise me if something is staring me in the face.

Left: NPA 2, right: NP 148. Nintendo Power photo by Toa Nidhiki05,
who's done great work on this game's Wikipedia page.

Finally, Nintendo Power once uploaded gameplay footage of the Kofo-Jaga fight in Po-Koro. Unfortunately, the original footage wasn't archived, but the thumbnail was. I can't spot anything strange about the thumbnail, but I'm including it for completeness' sake:

Upscaled 4x.

Sunday, April 26, 2020

Battle for Mata Nui

This time, I'm going on a bit of a tangent and talking about the 2002 Shockwave game The Battle for Mata Nui. I first opened this game with the help of dirOpener back in February, and I made a post at the time about the strange prototype(?) models used for the Toa. Recently, I ripped the other assets, many of which are copied from Lego BIONICLE (GBA). And when I say "copied", I mean it.

Almost all of the Matoran huts have stray pixels around their border, and these pixels are all the same color as the corresponding pixels in the GBA maps. Keep in mind that Battle for Mata Nui was likely made after Saffire had lost contact with Lego. This suggests that Lego themselves sent maps of the GBA game to the dev team, who kinda sloppily copied and pasted the huts into Macromedia Director.

Looking at the comparison above, you might notice slight variations in shading or color between BfMN and GBA. In order to explain properly, I guess I have to talk about indexing. Indexing is a process that converts a full-color image into an image with a limited number of colors, or palette. When an image is indexed, it loses fidelity, but it takes up waaay less space. Each 8x8 tile in a Game Boy Advance game uses at most 16 colors, and there are at most 16 different 16-color palettes used for the background. In other words, every map in Lego BIONICLE (GBA) uses at most 256 colors.

The Battle for Mata Nui also uses indexed colors. However, everything in each level shares a 256-color palette. Lewa, Kongu, (the Le-Koro version of) Nuhvok, and the Le-Koro backgrounds all use this color palette:

This effectively means that there are fewer shades of each color to choose from. For example, there is no light tan like the one used in the GBA version of the huts, so light green is used as a substitute.

I was hoping that this game would use higher quality versions of the original GBA assets, so to find out the opposite is true is disappointing. That said, there are still some interesting things I'd like to point out.

For starters, I mentioned that "almost all" of the huts were direct copies. The two that buck this trend are in Ga-Koro. The one facing southeast is slightly larger than in the GBA game, and they both seem to have the left tentflap open and the right one closed. My theory is that the dithering (tl;dr: pixel shading) inside the GBA huts didn't translate well to the new color palette, and so parts of these two huts were manually reshaded. During this process, the center tentpole seems to have been misinterpreted as part of the right tentflap.

Many other elements are copied and pasted. Below are the ones that were scaled or otherwise altered. The Le-Koro background is new, but it seems to be made up of trees from the GBA game and in the style of the background in the GBA game.

(As a note for the future, the suva's filename is "itemalther," presumably a misspelling of either "altar" or the Danish "alter".)

Not everything is directly copied from the GBA game, but unfortunately, much of the new content went unused. Here's a sampling of new assets:

Additionally, despite their apparent similarities, most of the tiles do not correspond 1:1 with any elements in the GBA game. This is most notable in Ta-Koro, where the gray ground tiles have no equivalent in Lego BIONICLE (GBA). (Also strange: the Ta-Koro tiles use the prefix "tomb", while the Le-Koro tiles use "lewa" and Ga-Koro uses "gali".)

It's possible that some or all of these "new" assets could be reused from another game, but I would prefer to give the devs the benefit of the doubt and assume they were made specifically for this game. (The destroyed huts alone prove that they had some good artists on board, imo.)

The background color is chosen for maximum contrast and is
otherwise meaningless.

Finally, it looks like each of the "nature powers" in the game was supposed to have an on-screen effect. From left to right: the magnetic force, the magic storm, "itemhintchystal" (admittedly out of place), the fireball effect, and the rust bees. The one piece of behind the scenes info I have is that LEGO vetoed the fireball effect for being too violent. I assume that, rather than replace those two sprites, the devs commented out the effects entirely? (Unfortunately, the tool I used to remove the game's protection can't recover the actual code, so this is just a theory on my part.)

Not to get all misty-eyed over a middling toy promotion game, but it's kinda sad how many of these elements went unused in the final game. If the assets are any indication, I suspect the devs had more ambitious goals than they were able to achieve. Imagine what this game could be like if the Bohrok actually moved around destroying huts instead of spinning in circles next to them...

Anyway, in case you missed the link at the top, all the assets are on spriters-resource now. (nb: the characters are sorted by the names they use internally, including "Wakama" and "Matua".) Feel free to use 'em for whatever you want, with or without credit – just be sure to send me a link when you're done!

Friday, April 10, 2020

Screenshot Inconsistencies

Before I go over the prerelease images one by one, there's something that needs to be addressed. Put simply, I'm not sure they're actual screenshots. Please, stay with me while I break out my corkboard and red marker.

Let's start with an easy one. This screenshot is simply too tall. It's 240x180 (4:3), which is 20 pixels taller than the Game Boy Advance's 240x160 (3:2). There is no evidence to suggest that the GBA was ever intended to use a screen of this size. As far as I can tell, all of the GBA developer kits outputted in 3:2 resolution. (In fact, as far back as 1995, Nintendo was rumored to be developing a handheld console with a 3 inch by 2 inch screen.) It's possible that the game was originally being developed for a different system, but from what I've found, I don't think a single console in 2000/2001 used a 240x180 screen.

The image isn't stretched, either. There are visual artifacts that suggest it's made up of 8x8 tiles, most notably around the edges of the hut in the upper right.

As such, I don't see any way that this could be a legitimate screenshot. But, of course, that doesn't prove that any of the other screenshots are fake, does it?

Let's move on to the Brakas screenshot. This one is odd in a few subtle ways. First, The Unnamed Bird Rahi is in the first frame of its diving animation, and its shadow is offset slightly to the right. In the demo build, the shadow is directly below the bird at all times. Second, the Brakas is dropping a boulder, whereas in the final game it throws Madu fruit. Third, the Brakas sprite here is larger than in the final game:
Don't talk to me or my son ever again

None of these things by themselves are proof that this screenshot is fake. All of them could be explained away as minor differences between builds. However, there's something else about this screenshot that I have a hard time justifying. The "camera" is simply too high.

The image above shows the screenshot overlaid on the map as it appears in the final game, with grid lines spaced 8 pixels apart. (The game uses 8-pixel tiles, as is standard for GBA games.) Takua's position on-screen varies between all of these screenshots, but the general rule – as in the final game – is that he's roughly centered on-screen. So it's curious that in this image he appears far closer to the bottom of the screen, especially considering that the camera could easily be one tile lower. For reference, here's how the camera is positioned in the final game when Takua stands in roughly the same spot:

In fact, in the final game, the camera never pans up on this screen. The only way I can see this screenshot being legitimate is if the bottom row of tiles was added later in development – but there's no good reason for the developers to do that.

Let's move on to the other Le-Wahi screenshot. Once again, there's something strange about the birds: they don't have shadows. The easy explanation is that they don't have shadows when they're over empty space, but in the final game, they do:

It's hard to see, but it's there.
It's also interesting that the two spiders use the same sprite, just mirrored. The same is true of the birds. If a developer faked this screenshot, it would be easier for them to paste the same sprite twice and mirror one than to copy and paste two different sprites. (I'll grant that I wouldn't find this suspicious if I weren't already looking for evidence of forgery.)

This screenshot is the most complicated to explain. The Volo Lutu Launcher's grapple ball is attached to a bush on the shore, and it has the shockwave effect around it that appears in the final game when the launcher is used. However, we can see that the launcher isn't equipped to either of the shoulder buttons, and Takua is jumping, not being pulled towards the grapple ball.

Three Madu fruits are also on-screen. The logical assumption is that they were thrown by Takua, but the angles they would have to be thrown at seem unlikely:

Considering how fast the Madu fruit moves in the final game, it's practically impossible that the player would be able to throw three of them from such odd angles in such a short duration that they all appear on-screen. A possible solution is that these projectiles come from the large bird Rahi, rather than from Takua:

However, Madu fruit thrown by enemies uses a different color palette than if thrown by Takua. Below is a comparison, side by side with the fruit seen in the screenshot:

The left side uses the upscaled but blurry GameReactor screenshot as a base; the right uses the 1:1 scale but jpeg-y IGN screenshot. The Madu fruit in the center with the blue shadow is the kind thrown by enemies, and the one on the right with the dark shadow is the kind thrown by Takua. I'll admit that neither is a perfect match, but the fruit in the screenshot looks closer in color palette to the Takua variant.

As a final note, the two birds use the same sprite, but mirrored, and the Madu fruit all use the same sprite. Once again, this could be evidence that the sprites were copy-pasted.

The natural response to all of this is probably "Jesus, dude, so what?" You see, originally I was planning on analyzing all of these screenshots as if they were accurate representations of what the game looked like at some point, and now that's out the window. I still plan on analyzing them one by one, but now I'll do so in the same way I'd look at concept art. As to why the devs would fake screenshots of their own game, well, look at the GBA developer kits I linked up above. Probably it was easier for them to just paste a few sprites into Photoshop than to take a good-quality screenshot off one of those things. (I mean, they used a camcorder for the demo footage, for goodness' sake.) And, frankly, who would notice?

Anyway, hopefully you can see the merit to what I'm saying, and it doesn't seem like too much of a goofy conspiracy theory. If not, well, I'll gladly accept my role as the community crank.

Next time: something less ridiculous!