A community-maintained archive of custom maps for the original Sid Meier's Colonization. The project is intended to preserve maps from websites that have disappeared and to accept community contributions.
The easiest way to add a map is to open a map submission issue. The form collects the map file, source, permission notes, and metadata so a maintainer can review it and add it to the archive. If you are comfortable with Git, you can also submit the files directly with a pull request; see CONTRIBUTING.md for both paths.
Each map has a stable, lowercase ID and exactly three files. Most maps use a direct MP file:
maps/
└── new-world/
├── new-world.mp
├── new-world_preview.png
└── new-world_full.png
*.mpis the playable Colonization map, extracted from its original download without modifying the map data.*.zipmay replace the MP file when the map depends on supporting scenario files. Such a ZIP must contain exactly one playable MP file.*_preview.pngis a smaller image suitable for indexes and galleries.*_full.pngis the full-size map image.maps.jsonis the machine-readable catalog.maps.schema.jsondocuments the catalog format.
Links in the catalog are repository-relative, so they work in local clones and can be converted to raw GitHub URLs by consumers.
{
"catalog_version": 3,
"maps": [
{
"id": "new-world",
"name": "New World",
"author": "Jane Doe",
"release_date": "1996-08-14",
"size": {
"width": 56,
"height": 70
},
"tags": ["historical", "large"],
"source_link": "https://web.archive.org/web/20010101000000/https://example.com/new-world",
"file_link": "maps/new-world/new-world.mp",
"preview_link": "maps/new-world/new-world_preview.png",
"full_preview_link": "maps/new-world/new-world_full.png"
}
]
}size is the playable map size in tiles, not the MP or ZIP file size. For
preserved maps whose exact date is unavailable, release_date may be a year
("1996") or a year and month ("1996-08"). Use null only when no reliable
date can be found. source_link is optional, but strongly encouraged for
archived maps.
The two PNGs beside each map are drawn from the map file itself, by
colwin map-preview from the sibling
win-tools repository. It paints
each square the way the game does — terrain and its seams, forests, hills and
mountains, rivers and their mouths, coastlines, roads — so the picture is what a
player would see rather than a colour per tile.
COLWIN_GAME=~/games/colonization tools/render_previews.shThat walks the catalog, takes each entry's file_link (a .mp, or the one
playable .mp inside a .zip), and writes <id>_full.png at 32 pixels a
square and <id>_preview.png at 8. --only ID does one map, and --check
re-renders into a temporary directory and compares instead of writing, which is
how to tell whether the committed images are still current.
The artwork comes out of the game's own COLDATA1.DLL, so a retail install has
to be to hand: pass --game DIR or set COLWIN_GAME. Neither this repository
nor win-tools contains the game. --colwin PATH points at colwin.py if the
checkout is not beside this one.
The size fields in maps.json can be refreshed from the playable map files:
tools/update_maps_metada.shThat crawls maps/**/*.mp and maps/**/*.zip, reads each .MP file's raw
grid, records the playable interior width and height, and updates the matching
catalog entry. --check reports whether the committed metadata is current
without writing.
Python 3.9 or newer is the only requirement:
python3 tools/validate_archive.pyThe same validation runs automatically on pushes and pull requests. It checks catalog structure, naming, broken links, MP headers and dimensions, PNG signatures, ZIP integrity and safety, duplicate IDs, and unlisted map folders.
GitHub Pages is rebuilt from maps.json on every push to main. Build it
locally with:
python3 tools/build_site.py
python3 -m http.server --directory _site 8000The generated site is written to _site/ and is not committed. It contains
the catalog, map downloads, previews, and a searchable static index. The build
downloads col.min.css and its checksum manifest from the pinned web-ui
release, verifies the stylesheet, and includes it in the Pages artifact so it
is served with the correct CSS media type. For an offline build, pass an
existing release asset with --web-ui-css path/to/col.min.css.
The site uses the pinned @colonization-re/web-ui release named in
site/WEB_UI_VERSION. To upgrade the design system,
change that one line and rebuild. Archive-specific CSS lives in
site/assets/site.css. Reusable components that are
still missing from the shared design system are described in
site/WEB_UI_GAPS.md.
Before the first deployment, make sure the repository's Settings → Pages → Build and deployment → Source is set to GitHub Actions.
Please preserve provenance: link to the original page or a Wayback Machine snapshot, and do not modify the extracted map data. Contributors must only submit files they are permitted to redistribute. Copyright remains with each map's creator; inclusion in this archive does not place a map in the public domain or apply a repository-wide license to it.
