Skip to content

Un-BanishedBanished, rebuilt from scratch

A new engine for a classic city builder. It runs on Windows, macOS and Linux, and in your web browser. It uses the game files from your own copy of Banished.

Screenshots ​

In motion ​

Citizens at the market of a town of 116 people, and the same town from autumn to spring at the highest speed. Un-Banished recorded both videos itself, without a window.

More pictures and videos · How the videos are made

About the project ​

Banished is a city-building game by Shining Rock Software, released in February 2014. It runs only on Windows. Its last version is 1.0.7.

Un-Banished is a reimplementation of the game's engine in Rust. It reads the data files of an installed copy of Banished and runs the game on Windows, macOS, Linux and in web browsers. The goal is identical behaviour: the same maps, rules, numbers, timings and save files. Where Un-Banished behaves differently from the original, this is treated as a bug.

Un-Banished contains no code, art, sound or text from the original game. A copy of Banished is required, from Steam or GOG.

More about the project

How it was made ​

We did not have the source code of Banished. We had only the finished program. Ghidra turned the program's machine code into readable pseudocode. An AI agent read it, wrote down what each part does, and ran the original functions in an emulator to get exact numbers. Then it wrote new code in Rust from those notes, and tested the new code against the original.

  1. 1Read the data files

    The .pkg packages and their formats

  2. 2Decompile

    Ghidra turns machine code into pseudocode

  3. 3Trace

    Understand one function and write it down in plain words

  4. 4Measure

    Run the original function in an emulator

  5. 5Rebuild in Rust

    New code from the notes, citing the original function

  6. 6Check

    Tests against the emulator, saves and screenshots

  7. 7Write down, commit

    Documents, the checklist, and one commit per piece

  8. Does not match?

    The work goes back to step 3, Trace, until the check passes.

Every part of the game went through this loop.

Read how each step works

Start playing ​

There are two ways to play. In the browser, you only need the four game files. On the desktop, you build Un-Banished once with Rust, which takes about ten minutes.

Play in your browser · Set it up on your computer · See the status

Un-Banished 0.6.0-ab22835 is free software under the MIT or Apache-2.0 licence. It is not affiliated with or endorsed by Shining Rock Software.