Ben Smollan

Construction · in progress

Meritus

Guide Rome with ideas ahead of their time.

Setting
Rome, 509 to 27 BC
Built with
Python engine · Godot 3D client
Since
September 2026
Scale
~82,000 lines · 230 design decisions
Morning over the Forum and the rooftops of Rome, 44 BC
Morning over the Forum and the rooftops of Rome, 44 BC

Overview

Meritus is a turn-based strategy game. You are the unseen hand behind the Roman Republic, from its founding in 509 BC to Augustus in 27 BC, and you feed Rome ideas that don't exist yet. An AI reads each idea and narrates what happens; a deterministic engine decides what Rome can actually build.

Why I'm building it

It started chatting with a friend about the best advancement to take back in time to conquer the world. I was so eager to explore this further. I wanted a way to go back in time and test out what would happen if you gave ancient Rome, sanitation and artillery, or a small empire that was otherwise crushed. So I built it.

The idea

Knowing an idea is not being able to build it.

Type anything to your court, from "make the river work for us" to "a printing press". Each idea is weighed against what Rome actually knew that year. Every advance needs materials, skilled people, infrastructure and acceptance before it can be built, so the real question is always what has to exist first.

The strategy map: Rome and the Mediterranean in 264 BC
The strategy map: Rome and the Mediterranean in 264 BC
A stone theatre raised 50 years before its time by the player's idea
A stone theatre raised 50 years before its time by the player's idea

The game

  1. 01

    Rome governs itself

    Each turn is a consular year. The real consuls come from the Fasti, the Senate is filled by the great families, and famous figures arrive on cue, unless your changes alter history.

  2. 02

    Italy and the world

    Italy is mapped people by people: Latins, Etruscans, Samnites, Gauls and the Greek cities of the south. Beyond it, Carthage, Macedon and the eastern kingdoms, met in the order Rome met them.

  3. 03

    A city you can walk into

    Zoom from the map to the whole city, down to the street and inside the temples, basilicas and the Senate house. Rome in 50 BC has 160 dated monuments and 20,000 buildings inside the walls.

  4. 04

    Every fact sourced

    Each historical fact names where it comes from: Livy, Polybius, Platner and Ashby's topographical dictionary. Disputed facts are marked as disputed.

The Forum crowded with Romans, the Temple of Jupiter on the Capitol beyond
The Forum crowded with Romans, the Temple of Jupiter on the Capitol beyond
The Temple of Saturn, home of Rome's treasury, from the Forum paving
The Temple of Saturn, home of Rome's treasury, from the Forum paving
Among the crowd in the Forum, by the fig, olive and vine
Among the crowd in the Forum, by the fig, olive and vine
The Tiber Island at dusk, shaped like a ship, with its two bridges
The Tiber Island at dusk, shaped like a ship, with its two bridges
Chariots racing in the Circus Maximus during the Roman Games
Chariots racing in the Circus Maximus during the Roman Games
From the stone seats: the crowd in the four racing teams' colours
From the stone seats: the crowd in the four racing teams' colours
The same view in 509 BC: the young Republic
The same view in 509 BC: the young Republic
Rome from the air in 44 BC
Rome from the air in 44 BC

How it's built

The engine is the referee.

A pure Python engine decides everything. All randomness is seeded and saved, so any game replays exactly, and every AI ruling is recorded in the save. The AI interprets and narrates but never sets costs. The 3D world is a Godot client that talks to the engine. About 82,000 lines of code, 52 test files run on every change, and 230 design decisions written down with their reasons.

See my code on GitHub