Project status · status text updated 2026-10-04 · site built 2026-10-03 21:37 UTC

TTD Deluxe

A transport game in the spirit of OpenTTD, set between the years 800 and 1500. You start with pack donkeys on dirt trails, move up to carts and river barges, and end with horse-drawn wagon trains on wooden rails with lantern signals.

In the engine now

Real screenshots from Unity, newest build first. These show where the game actually is.

Status

Last updated: 2026-10-04

What this is

A transport game in the spirit of OpenTTD set in 800-1500: donkey trails, then roads and rivers, then wooden wagonways with lantern signals. Chosen look: "the living landscape" (detailed 3D). Research pages are in research/.

Decisions made

DecisionChoice
EngineUnity 6000.3.18f1, URP
Game logicHidden tile grid (8 m tiles), smooth landscape drawn over it
AgesI Trails 800-1000, II Roads and rivers 1000-1250, III Wagonways 1250-1500
CombatNone; swords and axes are cargo

Step 0: look proof (in progress)

Game > Build Look-Proof Valley (UnityProject/Assets/Game/Editor/ValleyBuilder.cs) generates Assets/Game/Scenes/Valley.unity: 2 km terrain, river with a ford, 86,844 trees, a village street, an upland hamlet, a donkey string walking the trail, evening light, tycoon camera.

Frame times on the M4 Pro, in the editor, 2560x1440, 4x MSAA (Game > Run Render Benchmark):

ViewFirst buildWith grouped forest renderer
Village, 120 m12.6 ms6.2 ms
Forest edge, 70 m15.3 ms5.9 ms
Wide, 620 m27.0 ms8.2 ms
Fully zoomed out, 1300 m60.7 ms8.6 ms

The target is 16.7 ms (60 frames per second).

These figures are from quiet runs and repeat within about 1 ms. While another game was using the GPU on the same Mac, the same benchmark read 30 to 50 ms with identical draw counts and returned to 8 ms afterwards, so a single slow run is not evidence of a regression: run it three times.

Gate result: passed. The first build drew every tree separately, about 50,000 draws per frame; ForestRenderer now sorts trees into 64 m cells and draws each cell in one instanced call.

After the detail pass below, the same views take 9 to 14 ms: the leafy tree models are now kept out to 1 km, and grass, flowers and wheat are drawn near the camera.

Detail pass (2026-10-04)

Next

  1. Step 1: the Age I game loop (build trails, carry grain and logs, earn money), with the rules written as plain tested code separate from the graphics.
  2. A water surface with ripples and reflections; the river is a flat sheet for now.
  3. Walking animation for the donkeys; they slide along the trail for now.

Status site

tools/progress-site/deploy.sh builds this page from docs/STATUS.md, docs/site/ and the git log, and publishes it to https://ttdelux.kroesneger.nl/ on pislik.

Known placeholders

Broadleaf trees are leaf cards round a simple core and will want real tree models. Terrain and building textures are CC0 from Poly Haven, prepared by the scripts in tools/.

Where the look is heading

Concept sketches, not the game. They show the target look and the three ages.

Commit log

The last 7 commits to the project repository.

WhenCommitWhat changed
2026-10-04 00:3775ec24ffeat: cottages, barn and pack donkey modelled in Blender
2026-10-04 00:162877209feat: firs, meadow plants, strip fields and wattle fences
2026-10-04 00:05840bc2edocs: note benchmark variance under a shared GPU
2026-10-04 00:005488432perf: draw the forest in instanced cells instead of one call per tree
2026-10-03 23:54f551d3adocs: project status and the status site generator
2026-10-03 23:5443f4768feat: look-proof valley generated in Unity 6 (URP)
2026-10-03 23:540caa25bdocs: art direction and game design research pages