Showing posts with label Sprites. Show all posts
Showing posts with label Sprites. Show all posts

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:

Backlot.

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.


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.

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!

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.

Wednesday, March 18, 2020

The Toa Stones

Did you know that each Toa stone has a unique sprite and color palette?






Did you know that I don't know how to arrange
images horizontally on Blogspot?

I frankly have no clue why Lewa and Tahu's stones don't have shadows. Maybe somebody just forgot.
  
The Toa stones appear, of course, in the ending "cutscene":



The Gali, Lewa, and Tahu stones are clearly identifiable in these screenshots, and I think the Toa stone glowing purple to the left is Onua's. That means that either the Pohatu or Kopaka stone is glowing yellow, and the other one is glowing purple. Since the stones don't seem to be arranged in any particular order, it's hard to say which is which.