--- In gbadev@yahoogroups.com, "Wendy <gadget2032@g...>"
<gadget2032@g...> wrote:
> Looking at puyo puyo, they use 11x11 tiles for their puzzle pieces
> once they have been placed on the game grid.
Not exactly. Sega's Puyo Pop uses 12x12 pixel tiles on a 6x12
playfield.
> I'm curious how they do this.
There are four ways to do tile sizes other than multiples of 8x8
pixels. Jan-Lieuwe Koopmans and belmieh mentioned two of them.
If you want to duplicate what your favorite game does, start the
game in VisualBoyAdvance and turn backgrounds on and off (Ctrl+1
through Ctrl+4) or open the Tile Viewer.
Spoiler for those who don't collect GBA puzzle games:
Sega's Columns Crown is yet another columns game. It uses
tiles of 16x14 pixels. To cut off the bottom two pixels
of each row of tiles, it uses an hblank DMA write to the
playfield layer's Y scroll register.
Puyo Pop uses a similar technique but adds a twist. Its
playfield consists of two background layers, one scrolled 12
pixels to the right. To draw the playfield, it places tiles in
even columns in one layer, 3 HW tiles (24 pixels) apart, and
tiles in odd columns in the other layer, also 3 HW tiles apart.
It too uses hblank DMA to cut off the bottom of each row.
Namco's Pac-Man and possibly some of the Namco Museum games use
another technique to make a layer of 6x6 pixel tiles, by zooming
the screen out a bit with mode 2 scaling. To see source code
for an effect like this, look at the "6 pixel wide tiles"
part of the Static demo on http://www.pineight.com/gba/
Namco's Pac-Attack uses 12x12 pixel tiles on a 6x13 playfield
with a completely different technique: it draws each block
as a sprite. Obviously, this won't work if your playfield
has at least 100 spaces in it (such as in Tetris or
Dr. Mario), as you'll begin to run out of OAM. It also won't
work if you're doing two players side-by-side as in Puyo Pop,
where you get 144 tiles on two playfields.
A fourth method, which can provide ANY conceivable tile size,
is to use the bitmap modes, but this will slow down screen
updates without a tightly optimized video driver.
I don't work for Sega or Namco, and I haven't looked at any
disassemblies of their programs. I just deduced this by
watching the games' behavior under VBA. If you need to do
12xn pixel tiles for a puzzle game, I'd recommend using
Puyo Pop's method.
--
Damian