A friend & I were thinking about creating our own SNES-style (action?) role-playing game, running natively on PC though.
Since I have some knowledge about the SNES, I decided to (sort of) recreate the SNES PPU and maybe add some improvements that make things easier for myself and/or eventually the developer of the actual game. It works reasonably well, although it's using plain old Win32 GDI for graphics output. But there's one thing that confuses me: for modes 0 and 1, why did Nintendo decide to show BG priority tiles 1 of BGs 1 and 2 or 3 and 4 first, and only then the priority 0 tiles?
This doesn't seem to be done to increase the number of independent layers; there can be no sprites between the two layer pairs, and scrolling them by different amounts would probably look bad. (?) It's a shame the SNES had only 3 layers for its most commonly used Mode1; one more, and scenes like these (2 completely independent playfield layers) would've been possible.
I've looked at late SNES games, and they use the tile priority bits in very complicated ways... So, am I just overlooking something here or would this feature be something that should just be scrapped and done with a few more layers?
Since I have some knowledge about the SNES, I decided to (sort of) recreate the SNES PPU and maybe add some improvements that make things easier for myself and/or eventually the developer of the actual game. It works reasonably well, although it's using plain old Win32 GDI for graphics output. But there's one thing that confuses me: for modes 0 and 1, why did Nintendo decide to show BG priority tiles 1 of BGs 1 and 2 or 3 and 4 first, and only then the priority 0 tiles?
Code:
-3AB2ab1CD0cd Mode0
C3AB2ab1--0c- Mode1 + 2105.3
-3AB2ab1C-0c- Mode1 - 2105.3
-----------------------------
-3A2B1a0b---- Mode2
-3A2B1a0b---- Mode3
-3A2B1a0b---- Mode4
-3A2B1a0b---- Mode5
-3A2-1a0----- Mode6
(A..D = BGs with priority 1; a..d = priority 0; 3..0 = sprites)C3AB2ab1--0c- Mode1 + 2105.3
-3AB2ab1C-0c- Mode1 - 2105.3
-----------------------------
-3A2B1a0b---- Mode2
-3A2B1a0b---- Mode3
-3A2B1a0b---- Mode4
-3A2B1a0b---- Mode5
-3A2-1a0----- Mode6
This doesn't seem to be done to increase the number of independent layers; there can be no sprites between the two layer pairs, and scrolling them by different amounts would probably look bad. (?) It's a shame the SNES had only 3 layers for its most commonly used Mode1; one more, and scenes like these (2 completely independent playfield layers) would've been possible.
I've looked at late SNES games, and they use the tile priority bits in very complicated ways... So, am I just overlooking something here or would this feature be something that should just be scrapped and done with a few more layers?