The game, stage by stage

How I build the game from the data, one stage I can explain at a time

I build the game in stages. Each stage starts from the data, makes the smallest working version of one thing, and ends when I can trace the result back to its source and explain how it was made. The aim is a prototype whose data, transformations, mechanics and outputs I can explain.

Where it stands (2026-10-28): Stage 1 has started. The systems are built and tested as data, S1 to S8 in full and S9 in part (Systems), and G1 World has prepared that data for a game. Nothing is built in the engine yet: a first set of engine plugins was withdrawn (what happened).

The stages

%%{init: {"themeVariables": {"edgeLabelBackground": "#000000", "clusterBkg": "transparent", "clusterBorder": "#3a3a3a"}, "flowchart": {"subGraphTitleMargin": {"top": 8, "bottom": 12}}}}%%
flowchart TB
  A[1 Understand the data<br/>in QGIS]:::now --> B[2 One building<br/>from QGIS to Unreal]:::step
  B --> C[3 A small block<br/>buildings, streets, ground]:::step
  C --> D[4 Space syntax<br/>on the streets]:::step
  D --> E[5 One interaction<br/>a route to explore]:::step
  E --> F[6 The systems<br/>one small exercise each]:::step
  F --> G[7 A research prototype]:::out
  classDef now fill:none,stroke:#e6e6e6,stroke-width:2px,color:#ffffff
  classDef step fill:none,stroke:#8a8a8a,stroke-dasharray:4 3,color:#a6a6a6
  classDef out fill:none,stroke:#e6e6e6,color:#e6e6e6

Solid outline: in progress. Dashed: planned.

Stage Goal Done when Status
1 Understand the data know what each dataset represents and what a game can reasonably use it for: footprints and their fields, street and sidewalk geometry, the segment analysis, coordinate systems, historical maps a small, documented set of source data for a few blocks in progress
2 One building one footprint followed from QGIS to Unreal: inspected, exported, imported, extruded, and checked for position, size and orientation against its source one building in Unreal traced back to its GIS feature planned
3 A small block several buildings, a few streets, ground and sidewalks, heights where a source gives them; each kind of geometry learned on its own (a footprint is extruded; a centreline needs a width before it is a surface) a small block that can be generated again from its sources planned
4 Space syntax on the streets one measure, such as integration, on a few segments: each value matched to its segment by identifier and geometry, shown, and open to inspection a block in which a street’s value can be selected and read planned
5 One interaction a route between two destinations through the real network: the player follows it, the game records the segments visited, and the route can be read with its values a working route prototype on the street network planned
6 The systems each system as a small exercise: a connected network (S1), values to inspect (S2), one junction with a rule (S3), a destination (S4), a schedule (S5), one street object (S6), one commuter (S7), one view (S8), one recorded route (S9) each exercise works and I can explain it planned
7 A research prototype one small experience that serves a research question; for example, the player explores a reconstructed part of Griffintown, visits a destination and takes a route, and the game records the journey and makes the spatial analysis available for comparison a prototype whose data, mechanics and outputs I can explain planned

Stage 6 need not follow the order S1 to S9. The research question I want to explore first decides the order.

Every lesson, the same cycle

Step What I do
Understand name the problem and inspect the data it touches
Plan describe the transformation or the logic before any code
Implement build the smallest version that works
Inspect look at the result and find what is wrong
Verify compare it with the source data or the expected behaviour
Explain describe how it works in my own words, before moving on

A record for every feature

Question What I write down
Source the dataset or file it comes from
Input the geometry and fields it uses
Transformation what happens to the input
Output what appears in Unreal
Verification how I know the result is correct
Limitations what is missing, estimated or simplified

A visually convincing reconstruction is not necessarily an accurate one.

Rules that hold at every stage

  • Space syntax values support observation and comparison first. Whether they should shape movement is tested later, on its own.
  • Missing stays missing: the 14 buildings with no height in any source stay unknown, in the files and on screen.
  • Nothing is automated before it is understood.

Set aside for now

Rebuilding the whole neighbourhood, an elaborate procedural pipeline, crowds of pedestrians and vehicles, all nine systems at once, and detailed assets before the geometry under them is checked. Any of these may come later. None is needed to learn how to build the prototype.

Data still to find

“Found” means seen in an official catalogue, not yet downloaded. Nothing is downloaded before it is checked and recorded in the sources list.

Data Source Status
terrain and surface models, 2015 Ville de Montréal downloaded; CC BY 4.0
3D buildings 2016, with roof shapes Ville de Montréal downloaded; CC BY 4.0; the 4 tiles over the area
lidar 2023 of the Montréal metropolitan community, 15 points per m², classified Gouvernement du Québec tile index downloaded; 4 tiles cover the area; CC BY 4.0
canopy, 2019 Ville de Montréal found
on-street parking signage Ville de Montréal found
road collisions Ville de Montréal found
public events Ville de Montréal found
hourly weather Environment and Climate Change Canada found
counts at the same junctions in other years Ville de Montréal to check
building entrances street photos (Mapillary) to collect
Montreal’s curb standard (DTNI-3A) Ville de Montréal to get
Lachine Canal water levels and edge walls Parks Canada to find
road surface polygons Ville de Montréal road assets to check
how residents use the streets, and play logs fieldwork and playtests after ethics approval
aerial views 1925 to 1935 and 1947 to 1949 Archives de Montréal found