Skip to content
Techniques & Technology

Tile-Based Graphics

Building worlds from small pieces

Tile-based graphics build screens from small reusable images, enabling memory-efficient game worlds on limited hardware.

nintendo-entertainment-systemsega-mega-drivecommodore-64 graphicsoptimisationretro

Overview

Tile-based graphics compose screens from small, reusable graphic elements (typically 8×8 or 16×16 pixels). Instead of storing unique pixels for every screen location, games store a tile set and a map of which tile appears where. This drops memory by an order of magnitude and is the only practical way to render full-screen worlds on hardware with kilobytes of VRAM.

For the map structure, attribute layout, and collision handling see Tile Maps; this entry covers the underlying concept and platform support.

Memory efficiency

A 256×240 NES screen with one byte per pixel would need 61,440 bytes — far more than the PPU's 2 KB of nametable RAM. Tile-based rendering rewrites the budget:

ComponentSizeNotes
Tile set (256 tiles, 2bpp)4,096 bytesStored in CHR-ROM/RAM, 16 bytes per tile
Nametable (32×30 tile indices)960 bytesPlus 64 bytes of attribute data
Total~5,120 bytesAbout 8% of the equivalent bitmap

Tiles also compress further: a screen full of "sky" reuses one tile thousands of times across the map, costing one byte per cell.

Hardware support

Most tile-based systems combine a fixed-size tile cache (CHR/VRAM) with one or more nametable surfaces of tile indices:

SystemTile sizeTile cacheNotes
NES (PPU 2C02)8×82 × 256-tile pattern tables (4 KB each)$2000 bits 3-4 of PPUCTRL select which table is used for BG vs sprites
Mega Drive (VDP)8×864 KB VRAM, ~1500 tiles after nametables/HSCROLLTwo scrollable BG planes + Window
Game Boy (PPU)8×8384 tiles in 8 KB VRAMTwo of three 256-tile windows overlap (signed indexing)
Master System (VDP)8×8448 tiles in 16 KB VRAMSingle nametable, 32×24 tiles
C64 character mode8×8256 chars (one charset) at any 2 KB-aligned addressMulticolour mode trades horizontal resolution for 4 colours per cell

The Mega Drive and Master System share the same Yamaha VDP lineage; both fetch tile pixels from VRAM through nametable indices.

Design implications

Tile constraints shaped game design throughout the 8/16-bit era:

  • Modular level construction — designers built levels from a fixed alphabet of tiles, often grouped into "metatiles" (4 or 16 tiles forming a logical block).
  • Reusable environment piecesSuper Mario Bros. fits its entire visible world in 256 unique 8×8 tiles by re-skinning the same shapes in different palettes.
  • Editor-friendly — tile-grid maps fit naturally into 2D arrays, making level editors tractable on the host computers of the era.
  • Cheap collision — the same map index that draws a tile can carry a collision class (solid / platform / hazard), so the physics test is one array lookup.

Modern relevance

Tile-based approaches persist:

  • 2D indie games (Celeste, Stardew Valley, Hollow Knight)
  • Mobile and web games where memory and bandwidth still matter
  • Procedural generation, where authoring an alphabet of tiles is much cheaper than authoring full bitmaps
  • Level editors as an end-user feature (Super Mario Maker, LittleBigPlanet)

See Also