◍ Open-source city simulator

The city simulator
you grew up with,
rebuilt in the open.

Libreopolis is an open-source city simulator, built in modern C++ and based on a from-scratch recreation of SimCity 2000.
Import a real .SC2 city or .SCN scenario, then continue it in Libreopolis's versioned .lcity format. Your original file stays untouched.

You supply the required assets from your own legal copy of the game. Libreopolis itself is an original implementation.

▚ The interface

Familiar on the surface, reworked underneath.

The simulation may be familiar, but the interface is no longer frozen in 1993. A contextual toolbox, detached city HUD, minimap, stacked dialogs, smooth panning and continuous zoom keep the map central without hiding the detail.

Libreopolis displaying Four Cities: an isometric harbour city framed by the modern right-side toolbox, detached bottom HUD and minimap.
Four Cities, imported from a real SimCity 2000 .SC2 save and running in Libreopolis.

▤ Feature coverage

Most of the game, rebuilt to match.

Each system was reconstructed from how the original behaves, with various things checked against the original to help pin them down.

❯ Getting started

Bring your own assets. Build the game.

The repository contains Libreopolis's original implementation, but does not ship the original game assets required to play. You install SDL3 and Python 3, extract the assets from your own legal Windows 95 Special Edition copy of SimCity 2000, then build. A C++20 compiler handles the rest.

Music is optional: drop a General MIDI soundfont into assets/soundfonts/ and the soundtrack plays. make test runs the whole suite with nothing but a compiler.

◍ Why it exists

As a kid I played so much of the original. Years later I got curious about how it actually worked underneath, and the curiosity got out of hand. This is where it ended up: a whole engine, worked out from the original's behaviour one system at a time, and rebuilt so it feels like the game you remember.
Read the code