Thread: 5 bitplanes ...
View Single Post
Old 01 October 2021, 14:14   #34
chadderack
Registered User
 
chadderack's Avatar
 
Join Date: Jul 2021
Location: Sandy, UT
Age: 55
Posts: 230
Quote:
Originally Posted by Photon View Post
And here's little old me adapting my code to NTSC Because you can support both with not many changes. (Until next version in my startup change $138 to $106.)
Thanks. I'll do that

Quote:
It may read as discouragement but in fact trying to prevent the same late stage when you've put in so much work.
Certainly good to get on the right track early.

Quote:
Arcade games did it not by general-purpose custom chips as in computer but special-case ones, sometimes one version of it per game PCB!
Yep. We mentioned as much in the other thread

Quote:
You can definitely do mockups with no graphics or game logic at all to see how close to OCS Blitter bandwidth you are. In fact, messing around with just the mockup can give you insights you would never get if you just ported the game, so to speak.
Thank you. I kinda do those types of tests anyway... just because I'm weird

Quote:
Originally Posted by DanScott View Post
It's 256x224
That's what I had too, Dan. A screenshot from MAME shows that as well.

Quote:
Originally Posted by mcgeezer View Post
I would keep it as the native resolution too (256x224) running in PAL mode and I don't see any reason this couldn't be done on an A500.

Some quick calculations based on what I've seen of the game.

120kb for 3 screen buffers
100kb for audio (music/sfx)
40kb for tile sets
10kb for tile map
100kb for code.
100kb for sprites

470kb ish...

with 512kb slow ram you could probably afford to make the scrolling less complex which would likely be your biggest hurdle.

Get the scrolling right, then build a sprite engine and you'd be just about there. I can't see how going AGA will help you that much.

Let me know i fyou want to bounce ideas off me though and good luck with your project for sure!

Graeme
Thank you for commenting, Graeme! I really appreciate your insight and words. Yes, I'm currently working with the scrolling. Current source (here) has the first block of the first level map scrolling back and forth (as a test).

I'm reading through ScrollingTricks.lha and other sources to make sure I get it right.

Black Tiger scrolls in an interesting way. It's not pure 8-way; Y-scrolling only happens DIRECTLY when the player is climbing up or down. It's mostly indirect Y scrolling, when a player is falling or a player has landed on a platform, and the screen in the Y direction scrolls to "catch up".

X-scrolling does happen via direct player input (left/right) of course.

Simultaneous X/Y scrolling does in fact happen when a player is jumping down and left/right, or when a player has just landed on a platform and starts moving left or right... the Y scroll may continue as the player moves left and right.

Quote:
Originally Posted by jotd View Post
from the longplay it seems that the game is pretty colorful. I didn't count the colors but it looks a lot more than 16!
Each tile can have its own palette, and the player and enemies can, too. There are 16 map tile palettes (with some shared colors) and 8 sprite palettes.... though the arcade code source had space for 16. The HUD uses 7 palettes... but I think HUD is low priority. We can give HUD whatever colors are "left" maybe.

Quote:
Originally Posted by mcgeezer View Post
My calcs are based on 32 colours. More than that then yeah.. you need more chip ram and probably performance. Cant see it needing more than 32 colours though.
Quote:
Originally Posted by jotd View Post
where you're right: adding more colors like 6 or 7 bitplanes and AGA will cost some DMA, and 32 colors could do a proper job (even if not arcade perfect)
Quote:
Originally Posted by DanScott View Post
I've got all the sprite sheets, and for level 1, I'd say probably around 200k for all the sprites (with L/R facing versions where necessary... Orcs and Skeletons etc.. with mask data)

Tileset gfx would be around 60-70k for level 1 in 5 bitplanes, and 17k of Tilemap data
I trust those numbers

Quote:
Originally Posted by dlfrsilver View Post
Black Tiger throws an average of 90 colors per levels. It can be more since each sprite has its 16 colors palette.
Quote:
Originally Posted by mcgeezer View Post
Nope, it's more like a range from 130-193 based on what I looked at yesterday.
Quote:
Originally Posted by dlfrsilver View Post
I meant average Graeme, but as you say it's more the numbers you wrote. And this match The game use 256 unique colors or 1024 dynamic colors (4x256).
Quote:
Originally Posted by DanScott View Post
The background tile set for level 1 alone, contains 98 unique colours....

Taking a colour count on a screen grab, or trying to estimate the average. is often not giving the full picture
In my docs I pulled tile/palette combinations for each level. Here you can see the tile index (11-bit) and whether or not it is "flipped" (denoted by FL). The number after the colon ( : ) is the palette index. I should modify the script to plug in the actual BRG444 color. I have this for each level

(truncated to the first 3 lines... the bbs says the post is too big. Check this in my source here)

Code:
Level 1; Bank 9 (128 cols, 64 rows)
0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x2E0:F (FL);0x239:F     ;0x23A:F     ;0x23B:F     ;0x238:F     ;0x239:F     ;0x23A:F     ;0x23B:F     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2E4:E (FL);0x2E3:E (FL);0x2E3:E     ;0x2E4:E     ;0x22C:E     ;0x2E4:E (FL);0x2E4:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E
0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2F7:E     ;0x22C:E     ;0x2FE:E (FL);0x2FE:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2FE:E     ;0x076:B     ;0x2F7:E (FL);0x2FE:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2F7:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2FE:E     ;0x22C:E     ;0x2FE:E (FL);0x2F7:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E
0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x228:F (FL);0x223:F (FL);0x222:F (FL);0x221:F (FL);0x220:F (FL);0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21F:F (FL);0x21E:F (FL);0x21D:F (FL);0x21C:F (FL);0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x228:F (FL);0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x223:F (FL);0x222:F (FL);0x221:F (FL);0x220:F (FL);0x233:F (FL);0x232:F (FL);0x231:F (FL);0x230:F (FL);0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x230:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x230:F (FL);0x235:F (FL);0x23A:F (FL);0x239:F (FL);0x238:F (FL);0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x219:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21F:F (FL);0x21E:F (FL);0x21D:F (FL);0x211:F (FL);0x210:F (FL);0x2E4:E (FL);0x2E3:E (FL);0x2E3:E     ;0x238:F     ;0x239:F     ;0x23A:F     ;0x23B:F     ;0x209:F     ;0x20A:F     ;0x222:F     ;0x223:F     ;0x223:F (FL);0x222:F (FL);0x20A:F (FL);0x209:F (FL);0x234:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x22C:E     ;0x2E4:E (FL);0x2E4:E     ;0x22C:E     ;0x210:F     ;0x212:F     ;0x21B:F     ;0x21C:F     ;0x21C:F (FL);0x21B:F (FL);0x212:F (FL);0x210:F (FL);0x23C:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x22C:E     ;0x2FE:E (FL);0x2FE:E     ;0x22C:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x220:F     ;0x220:F (FL);0x20A:F (FL);0x209:F (FL);0x208:F (FL);0x22C:E     ;0x2EE:E (FL);0x2ED:E (FL);0x2ED:E
I figured using that data someone can reasonably narrow down the colors actually used and then (by carefully merging a few colors) you could get the colors under 32 for the level (at least).
chadderack is offline  
 
Page generated in 0.04999 seconds with 11 queries