Pixelation

Critique => Pixel Art => Topic started by: Arne on May 22, 2013, 11:02:23 pm

Title: SMB2 stuffs
Post by: Arne on May 22, 2013, 11:02:23 pm
I started looking at SMB2.

Interesting stuff:

Animation (dangling fruits, tufts of grass, flying vulture, POW, potion etc) is done by changing tile tables. The ending scene is about 8 full tile tables of Mario sleeping (http://androidarts.com/smb/SleepingTable.png).

There are a few one bitplane sprites overlaying each other.

The eye-whites are a separate sprite.

Massive amounts of unused tile table space. Maybe because it was a conversion of Doki Doki Panic and stuff was erased, or they just felt they could afford the space.

Some of the sprites seem to have been rushed together. Look at shrunken forms, especially Toad. (Screenshot from my NES tile arrangement tool, the tiles are not ordered like this in the actual game data, but as far as I can tell my tile order corresponds to that of the game.)
(http://androidarts.com/smb/SMB2chars.gif)

Looks like they squandered the space for two complete head frames for running. The vulture probably isn't used, and I think the noise is the potion puff which could be optimized in size (if even used).

Anyways, fiddled some on my own versions. Haven't really tested the 2 frame animation yet. Tried to keep the legs a little ambiguous in Z-order.

(http://androidarts.com/smb/SMB2%20characters.gif)

Also some SMB1 fun. 4 colors is too tight. 5-6 is enough for almost anything, retro-look-wise.

(http://androidarts.com/smb/Marina.gif)
Title: Re: SMB2 stuffs
Post by: PypeBros on May 23, 2013, 08:15:04 am
The big/small layout suggests a hardware with one ROM chip for all the heads and pair of ROM chips for the body/legs with bank switching depending on whether you're big or small. At any time in the game, only one bank is mapped by the CPU.
Title: Re: SMB2 stuffs
Post by: ptoing on May 23, 2013, 09:35:42 am
Very nice. No real crits on the SMB2 stuff. Are the walkcycles 2 frames only?

On the SMB1 Marina the transparent eye highlight will only work in some levels, and stuff like bushes/clouds/whatever will show through, but I guess being only a single pixel that should be ok. Looks good on the blue in any case.

I did some SMB stuff for a tentative C64 port, which might or might not happen. Was fun to do though.
Quite a bit more restricted than just 3 + trans as well.

(https://dl.dropboxusercontent.com/u/15588722/mario64/sprites.png)
Title: Re: SMB2 stuffs
Post by: Arne on May 23, 2013, 12:32:45 pm
The big/small layout suggests a hardware with one ROM chip for all the heads and pair of ROM chips for the body/legs with bank switching depending on whether you're big or small. At any time in the game, only one bank is mapped by the CPU.
Shown in my gif are actually 2 different tile tables dumped from ROM (so, duplicates of those heads exist), but it's possible that they just do partial streaming. A lot of the tile banks are divided into 4 rows of characters however, so it seems mostly rows of 16*4 tiles are being streamed and not tiles here and there. A simple sprite edit test will verify if the heads of the small characters are used.

I think the white eyes are made by placing a white block behind the head. This means fewer blocks for the various eyes. Maybe they kept the big head because of eye-white compatibility but now I'm not so sure.

Walkcycles are 2 frames but these characters walk so fast it's hard to notice. Shows more in Doki Doki Panic where the leg frames are a little wonky. The stepping frame is displace 1px in-engine up giving the animation some more life.

Ptiong>That will get even harder when you try to squeeze in animation. With one frame you can make a readable/likable state, but with several frames you can not always use what you feel are pleasant/practical pixel positions because of pixel space competition and extreme poses.
Title: Re: SMB2 stuffs
Post by: Arne on May 23, 2013, 06:10:56 pm
Generalized my SML patcher so it can handle NES games. Did a very quick test.

(http://androidarts.com/smb/SMB2TestT1.gif)

As you can see, the eye-whites are done with a white square behind the head. Possibly the same tile for both versions of the head (verified here as two versions) and maybe for different characters as well.


I'll need to modify my Shygal standing frame as it's actually a standing frame as well as a legs-passing frame. Can't have any leaning forward.
Title: Re: SMB2 stuffs
Post by: Arne on May 23, 2013, 09:13:28 pm
She's got some readability issues (noise) I need to address, but my injection function is operational.

(http://androidarts.com/smb/SMB2TestT1-2.png)

Edit: and an actual Shyguy
(http://androidarts.com/smb/Shyguy.png)
Title: Re: SMB2 stuffs
Post by: Conzeit on May 28, 2013, 12:30:47 am
What a neat idea, to reskin classic games burnt into your memory for kicks =) I cant really emulate them right now, do you have any plans whatsoever to maybe grab some video of the reskinned results? =O

How do these coincide with the SMB roles? obviously peach/pauline is the hovering one but I havent a clue otherwise

I like Pauline...her hat and pallete somehow makes me feel like she came out of a Miyazaki movie

Shygal is a neat idea...but she seems a bit too warrior-like for mario? I half expect her to do kung fu move...tho maybe you want that

Zizz (who is that BTW?) honestly I cant read very well..I think his collar calls too much attention and makes the whole head/froghat situation even more confusing. Does he have a cape? that seems a bit too ambitious for the amount of frames in SMB2

Peach...that squiggly line reminded me of Adventure time's Princess Bubblegum, and how relentless she can be when things go out of her control, maybe a constantly pissed off Peach would be a funny aproach to the princess character ?

Ptoing: Love the derpy star and the bandit Blooper...the Turtle is pretty damn abstract XD
Title: Re: SMB2 stuffs
Post by: PypeBros on May 28, 2013, 08:40:01 pm
Quote
Shown in my gif are actually 2 different tile tables dumped from ROM (so, duplicates of those heads exist)
That could still have happened, esp. if the price for ROMS have lowered between don don pachi and SMB2 ...
Yet it make me wonder how the ROM dumper operated, and to what extent the dump file format could take such scenarios into account. E.g. if the dumper is aware of location X in memory to be the ROM bank selection in the cartridge, it will likely go
Code: [Select]
for bank in (ALL_BANKS) :
   bank_selection_Register=bank
   dump_all_addresses(0, ROM_SIZE)
and that would make content of the 'heads' chip. appear duplicated on the dump while the bits were present only once on the cartridge.