%%{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
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
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 |