A recent discussion about abundance of platformers on the NES led to discussion about feasibility of other related genres, such as platform fighting, platform beat-em-up, and run-and-gun, on the NES and other consoles from around the same time. One objection was the sprite capability, which led to a huge digression about the comparative sprite coverage capabilities of third- and fourth-generation consoles.
Let me try to summarize:
A "sliver" is 8x1 pixels.
Nominal CHR RAM bandwidths exclude the sprite display list and one row or column of background tile map.
Correct me if I'm wrong or help fill in missing info.
Let me try to summarize:
- Commodore 64
24 slivers (60%) of 8 sprites, plus 1 background
Unified memory architecture limits sprites to 1bpp, needing tradeoff among color depth, resolution, and coverage: hires, multicolor, or multicolor with hires outline overlay
More than 8 sprites requires raster-triggered software search - NES
8 slivers (25%) of frontmost 8 sprites, plus 1 background
Typical CHR ROM mapper's window configuration: 2 background windows (128 tiles each) and 4 sprite windows (64 tiles each)
Nominal CHR RAM bandwidth: 8 tiles/frame - Game Boy
10 slivers (50%) of leftmost 10 leftmost sprites, plus 1 background with split window - TurboGrafx-16
32 slivers (100%) of frontmost 16 sprites, plus 1 background - Genesis (256px mode)
Frontmost 32 slivers (100%) of frontmost 16 sprites, plus 2 backgrounds with split window - Genesis (320px mode)
Frontmost 40 slivers (100%) of frontmost 20 sprites, plus 2 backgrounds with split window - Super NES
Rearmost 34 slivers (106%) of frontmost 32 sprites, plus 2-3 backgrounds
Nominal CHR RAM bandwidth: 168 tiles/frame - Neo Geo
192 slivers (480%) of frontmost 96 sprites
Backgrounds other than the fixed HUD are made of sprites; expect backgrounds to use about half the sprite coverage
Hardware supports sprite shrinking
Existing MVS and AES cart boards use CHR ROM, rendering software compositing impossible
Sprite tile index is 20 bits, allowing 1.048 million distinct 16x16 units
Because its 320px picture continues past overscan into nominal analog blanking, many games use fix to pillarbox the display to 304px wide, giving 505% coverage
A "sliver" is 8x1 pixels.
Nominal CHR RAM bandwidths exclude the sprite display list and one row or column of background tile map.
Correct me if I'm wrong or help fill in missing info.