Page 1 of 1

About metatiles

Posted: Fri Aug 11, 2006 2:08 am
by SaucJedi
Hi guys

I was just playing around with metatiles (TSA, tile squaroid assembles... well, groups of 2x2 tiles and such) and I have
been wondering... given that lots of games use these schemes and build other structures with metatiles and NOT tiles
(Zelda, Metroid, I'm pretty sure MegaMan) how do they send and store them?

I've been thinking on having a table with the metatiles description, then when it comes to draw the structures I index
the table and send it to the PPU (for example, I want to put a 2x2 metatile at (0,0) so I really put the tiles it is
made of to (0,0) (0,1) (1,0) (1,1)).

Is there a faster way? A better way to approach this? Sure somebody here has the answers :D

Thanks in advance!

Posted: Fri Aug 11, 2006 2:20 am
by Bregalad
I've heard Metroid uses object based maps. Mega Man 1 and 2 uses 4x4 metatiles, and more recent Mega Mans uses 2x2 metatiles.

Well, I'm unsure of what you're actually asking. But I guess you're imagining different way to code a driver to draw a meta-tile based screen, right ? You're wondering what is the easier way to organize your metatile definition, right ?
I've heard Final Fantasy games does it a interesting way : Having one table for the tile (0,0) of all metatiles, one table for all tiles (0,1), etc... and at the end one table for attributes and collision detection.
Then, you just have to load the meta tile # in an index register, and you can read what you want in either table without monkeying with complex index calculation, and this for up to 256 different metatiles.

Posted: Fri Aug 11, 2006 3:24 am
by SaucJedi
Thanks! Yes, that's more or less what I was asking, it sheds some light.
Metroid uses object based maps but the objects are made out of metatiles of 2x2