Ingame world maps, level maps, map layouts.. and their format
Posted: Mon Sep 04, 2017 3:30 pm
Perhaps I should've done this a lot sooner... but better late than never!
The many games I've played had incredible maps such as overworld maps, dungeon maps, race-layout maps, or a complex system of multiple areas making one giant world.
Games such as Alice In Wonderland is one of those latter. Oh the times I got lost (or family for that matter) trying to find my way forward (after having to backtrack 10+ screens)...
Zelda's Adventure has one of the most beautiful maps out on the CD-i, but many of those available on the 'net are low quality and small in dimensions, and simply don't do it justice.
Sometimes having a map would have made things so much easier in games such as Dimo's Quest and Micro Machines.
For games with a giant map I used a script to divide the ginormous image into hundreds and hundreds of smaller images to make it viable for viewing on the web.
The viewer of this map has a bit of (experimental) JavaScript. It may not work on every browser out there, but at least it works on Firefox 54, Chrome 60, IE11 (must allow ActiveX though..) and probably some versions that are a little older.
Use your mouse (perhaps it works with fingers on a tablet/phone) to scroll through the world.
There's a minimap to the right to show you where you are.
You can also drag the minimap for fast-travel!
I'll add a little bit of information on how the map data is stored/encoded. It's not supposed to be a full explanation, but just a bit of insight on what incredible (sometimes complex) methods were used.
Zelda's Adventure
Giant map
Original size: 12288x8000 pixels and about 72MB.
Each piece is 198x200 pixels and range from 1kB-5kB (nigh empty) to 125kB (the biggest). A grid of 4x4 pieces is shown. 2520 pieces total.
Encoding method:
- DYUV, one screen at a time (384x240 pixels per screen)
- 305 screens total in over.rtf
The file over.rtf contains WAY MORE than just images! Audio sectors detected.
Dimo's Quest
List of maps.
Size per map: 1152x704 pixels, ranging between 17kB and 115kB.
Encoding method:
- 1 level in levNN.rtf (NN=01..51)
- Level is 72 by 44 tiles
- Stored diagonally mirrored (Xout=Yin, Yout=Xin)
- Level tiles are indexed, 2 bytes per tile
- 1 set of tiles in gfxsetM.blk (M=NN/10+1) (ie N=34 -> M=4).
- Tile set is CLUT stored
The Apprentice
List of maps.
Size per map: 360x3980 pixels, ranging between 461kB and 904kB.
Encoding method:
- 1 level in mapN_M.dat (N=1..7, M=1..3 for N<=6, M=1..5 for N=7)
- 3 layers per map: background, foreground (platforms, decorations, etc), interactibles
- Background: 2 bytes per tile, 6 tiles per row, 200 rows (1 wide, 4x3 wide, 1 wide)
- Foreground: 2 bytes per tile, 16 tiles per row, 200 rows
- Interactibles: 2 bytes per tile, 16 tiles per row, 200 rows
- Layer tiles are indexed (background has gaps: tiles that are 3 'normal' tiles wide 'cost' 3 indices -> subsequent background: 0,3,6,9 instead of 0,1,2,3)
- Tiles are stored compiled in 2 pieces (top half, bottom half), 20x10 pixels per piece (20x20 total)
- Tiles (all layers) are stored in levelN.dat (N=1..6, b (b for bonus levels: map7_M.dat M=1..5))
levelN.dat contains WAY MORE images than just the level tiles! Monsters, Marvin, effects (basically every required image for that level).
Only the first tower was 'fully' completed. It is the only one where I replaced the interactibles with the actual interactibles. The other towers (and bonus levels) only have their index.
List of games that have CLUT-stored maps
These images are easy to extract and thus I won't show 'em here. Besides, there's no added insight or overview on 'where to go' for these games.
- Link: The Faces of Evil
- Zelda: The Wand of Gamelon
The list:
Zelda's Adventure big overworld map
Zelda's Adventure overworld and dungeon maps, with sprites
Dimo's Quest level maps
The Apprentice level maps
Micro Machines level maps
Alice In Wonderland world map
Buzz Off level maps
Room Service level maps
Full Attack level maps
Skid Kart level maps
Joukisen map
Mega Maze level maps
Christmas Country level maps
Lucky Luke level maps
Games that are added later will be on the above list, while the details will be in their own post.
Currently working on processing Micro Machines (list of maps) and Alice In Wonderland (giant map).
-- edit 08/09/'17 --
Added MicroMachines and Alice In Wonderland to the list of games.
--edit 09/11/'17 --
Added Family Games II: Buzz Off and Room Service to the list of games.
--edit 02/02/'18 --
Added Family Games I: Full Attack, Skid Kart, and Joukisen to the list of games.
-- edit 16/06/'19
Added Mega Maze, Christmas Country, and Lucky Luke The Video Game
-- edit 09/07/'19
Updated links to https and renamed both links to Zelda's Adventure maps.
-- edit 18/12/'19
Updated links to reflect new website
--edit 12/05/'24
Typo in Dimo's Quest gfxsetM example
The many games I've played had incredible maps such as overworld maps, dungeon maps, race-layout maps, or a complex system of multiple areas making one giant world.
Games such as Alice In Wonderland is one of those latter. Oh the times I got lost (or family for that matter) trying to find my way forward (after having to backtrack 10+ screens)...
Zelda's Adventure has one of the most beautiful maps out on the CD-i, but many of those available on the 'net are low quality and small in dimensions, and simply don't do it justice.
Sometimes having a map would have made things so much easier in games such as Dimo's Quest and Micro Machines.
For games with a giant map I used a script to divide the ginormous image into hundreds and hundreds of smaller images to make it viable for viewing on the web.
The viewer of this map has a bit of (experimental) JavaScript. It may not work on every browser out there, but at least it works on Firefox 54, Chrome 60, IE11 (must allow ActiveX though..) and probably some versions that are a little older.
Use your mouse (perhaps it works with fingers on a tablet/phone) to scroll through the world.
There's a minimap to the right to show you where you are.
You can also drag the minimap for fast-travel!
I'll add a little bit of information on how the map data is stored/encoded. It's not supposed to be a full explanation, but just a bit of insight on what incredible (sometimes complex) methods were used.
Zelda's Adventure
Giant map
Original size: 12288x8000 pixels and about 72MB.
Each piece is 198x200 pixels and range from 1kB-5kB (nigh empty) to 125kB (the biggest). A grid of 4x4 pieces is shown. 2520 pieces total.
Encoding method:
- DYUV, one screen at a time (384x240 pixels per screen)
- 305 screens total in over.rtf
The file over.rtf contains WAY MORE than just images! Audio sectors detected.
Dimo's Quest
List of maps.
Size per map: 1152x704 pixels, ranging between 17kB and 115kB.
Encoding method:
- 1 level in levNN.rtf (NN=01..51)
- Level is 72 by 44 tiles
- Stored diagonally mirrored (Xout=Yin, Yout=Xin)
- Level tiles are indexed, 2 bytes per tile
- 1 set of tiles in gfxsetM.blk (M=NN/10+1) (ie N=34 -> M=4).
- Tile set is CLUT stored
The Apprentice
List of maps.
Size per map: 360x3980 pixels, ranging between 461kB and 904kB.
Encoding method:
- 1 level in mapN_M.dat (N=1..7, M=1..3 for N<=6, M=1..5 for N=7)
- 3 layers per map: background, foreground (platforms, decorations, etc), interactibles
- Background: 2 bytes per tile, 6 tiles per row, 200 rows (1 wide, 4x3 wide, 1 wide)
- Foreground: 2 bytes per tile, 16 tiles per row, 200 rows
- Interactibles: 2 bytes per tile, 16 tiles per row, 200 rows
- Layer tiles are indexed (background has gaps: tiles that are 3 'normal' tiles wide 'cost' 3 indices -> subsequent background: 0,3,6,9 instead of 0,1,2,3)
- Tiles are stored compiled in 2 pieces (top half, bottom half), 20x10 pixels per piece (20x20 total)
- Tiles (all layers) are stored in levelN.dat (N=1..6, b (b for bonus levels: map7_M.dat M=1..5))
levelN.dat contains WAY MORE images than just the level tiles! Monsters, Marvin, effects (basically every required image for that level).
Only the first tower was 'fully' completed. It is the only one where I replaced the interactibles with the actual interactibles. The other towers (and bonus levels) only have their index.
List of games that have CLUT-stored maps
These images are easy to extract and thus I won't show 'em here. Besides, there's no added insight or overview on 'where to go' for these games.
- Link: The Faces of Evil
- Zelda: The Wand of Gamelon
The list:
Zelda's Adventure big overworld map
Zelda's Adventure overworld and dungeon maps, with sprites
Dimo's Quest level maps
The Apprentice level maps
Micro Machines level maps
Alice In Wonderland world map
Buzz Off level maps
Room Service level maps
Full Attack level maps
Skid Kart level maps
Joukisen map
Mega Maze level maps
Christmas Country level maps
Lucky Luke level maps
Games that are added later will be on the above list, while the details will be in their own post.
Currently working on processing Micro Machines (list of maps) and Alice In Wonderland (giant map).
-- edit 08/09/'17 --
Added MicroMachines and Alice In Wonderland to the list of games.
--edit 09/11/'17 --
Added Family Games II: Buzz Off and Room Service to the list of games.
--edit 02/02/'18 --
Added Family Games I: Full Attack, Skid Kart, and Joukisen to the list of games.
-- edit 16/06/'19
Added Mega Maze, Christmas Country, and Lucky Luke The Video Game
-- edit 09/07/'19
Updated links to https and renamed both links to Zelda's Adventure maps.
-- edit 18/12/'19
Updated links to reflect new website
--edit 12/05/'24
Typo in Dimo's Quest gfxsetM example