Skip to content

The Map of Middle-earth

The full strategic map War in Middle Earth is played on: a 160×100 tile grid (2560×1600 pixels at the game’s native 16px tile size), decoded from the MMAP/CHAR resources in AMaps.res and pre-composited into the image below by tools/wime/render-map.ts. See docs/wime/amiga/mmap-format.md in the main repo (not part of this site) for the full byte-level format.

War in Middle Earth strategic map (overview)

69 named locations. Hover or focus a marker for its name; search to highlight matches.

Want to see one of these locations up close, composited the same way the game itself renders a zoomed-in encounter? The Scene Viewer Gallery shows six named locations (Hobbiton, Weathertop, Rivendell, Isengard, Minas Tirith, and Barad-dûr) as full landscape-plus-object composites.

Every one of the 16,160 tiles on the map is a single byte: a direct index into a 320-tile terrain set (CHAR, 16×16px, 4 bitplanes), not a two-part “terrain type + variant” code. The low nibble selects which of 13 movement-speed tables governs how fast each unit class crosses that tile; the high nibble has no gameplay effect the engine reads anywhere (confirmed by an exhaustive disassembly search) and most likely reflects how the tile artist grouped visually similar tiles next to each other, not a deliberate data field.

The scene selector — the game’s own terrain classification

Section titled “The scene selector — the game’s own terrain classification”

Separately from the low/high nibble split, a lookup table (DATA+0x258, indexed by the full terrain byte) maps every tile to one of 18 scene selectors — this is the classification the game itself uses to decide which close-up landscape background and palette to show when you zoom into a tile. Tiles sharing a selector look different up close (variety within “Plains”, for instance) but read the same at the strategic-map level.

Selector Terrain
0 Forest
1 Hills
2 Mountains
3 Plains
4 Barrens
5 Water
6 Marsh
7 Forest / Barrens
8 Mountains / Forest
9 Plains / Forest
10 Plains / Barrens
11 Forest / Mountain
12 Plains / Mountains
13 Plains / Barrens (variant)
14 Plains / Marsh
15 Citadel
16 Volcano
17 Water / Plains
  • 16,160 total tiles (160×101, one row of which is a 96-byte trailer not part of the visible grid)
  • ~22% water — the western ocean, coastal bays, and the Sea of Rhûn
  • ~41% plains — the dominant interior terrain
  • ~8% roads — an extensive road network threading the whole map
  • 255 of 256 possible byte values used — almost the full terrain byte range appears somewhere on the map

Full derivation, the exact low/high-nibble tables, and the disassembly evidence behind all of the above live in docs/wime/amiga/mmap-format.md in the main repo (not part of this site).