Completes "Materials and look development for all exported assets". Every exported surface previously carried a flat Constant3Vector fill, which read as plastic. ensure_material() in Tools/ue_build_demo_map.py now builds a procedural material per surface: - base colour blended between two shades by world-space noise (WorldPosition -> Multiply -> Noise -> Lerp -> BaseColor) for large-scale variation, - an explicit roughness and specular so the surface type is readable. M_Asphalt 0.92, M_Concrete 0.88, M_KerbConcrete 0.85, M_Ground 0.98, M_RoadPaint 0.62, M_FacadeStone 0.72, M_Stucco 0.86 Site meshes take their material by mesh name; the hero facade and the two north-side buildings take theirs by actor label, so they are covered even though other scripts stage them. Materials are deleted and rebuilt on every run, so a look change cannot be masked by a stale asset. Result: the facade reads as warm stone with surface variation, asphalt as dark asphalt with grain, concrete and kerbs lighter and matte, and the north buildings in stucco instead of flat grey. Screenshots re-rendered and approved by the owner. The richer texture-based pass (baked/procedural brick_facade, seamless_concrete, glass, material instances) stays in the 0.1.4 facade patch. Squash of branch materials-lookdev-0.1.0 (PR #5).
Gig Line
A Linux-first Unreal Engine game about walking and driving through a real city. The first release, 0.1.0, is a walkable exterior demo around 6840 Hollywood Blvd / El Capitan Entertainment Centre, covering the south-side frontage between Highland Avenue and Orange Drive plus the north-side frontage within 50 m of the boulevard.
Status
0.1.0 is in progress. The workstation, engine, geo pipeline and project bootstrap are done and verified; a walkable DemoMap exists with terrain, street, sidewalks, kerbs and the hero façade placed from measured coordinates. Façades are still blockouts, and materials are flat colours — both are planned patches.
Current tasks are in TODO.md and the development plan is in ROADMAP.md; what was learned the hard way is in MEMORY.md.
Layout
| Path | Contents |
|---|---|
Game/ |
Unreal project, configuration, source, game-ready content |
Art/ |
Editable Blender sources, blockouts, terrain, street, hero façade, and a local (uncommitted) reference library |
Geo/ |
Source manifests, permitted geographic data, and every geographic tool |
Tools/ |
Unreal-side importers, level builders, and reference gathering |
Docs/ |
Setup, toolchain pins, build and content pipeline, licensing, release checks |
Screenshots/ |
Rendered review captures and their approval state |
Getting started
git lfs install # required: content, images, audio, and geo files are LFS-tracked
git lfs pull
Tools/check-lfs.sh # verifies the lfs filter is active and files are stored as pointers
The engine is installed outside the repository and pinned in Docs/toolchain.md. Setup is in Docs/setup.md; building and the content pipeline are in Docs/build.md.
Documents
- TODO.md — living task list, source of truth for progress
- ROADMAP.md — development plan: milestone goals, scope, and release gates
- MEMORY.md — shared session memory: discoveries, traps, decisions
- AGENTS.md — contributor and agent rules
- PLAN.md — scope, stack, release policy, timeline
- Docs/toolchain.md · Docs/environment.md — pins and workstation audit
- Docs/build.md — fresh-checkout build and content pipeline
- Docs/release-checks.md — release gates
- Docs/licensing.md · THIRD_PARTY_NOTICES.md — licensing
- CHANGELOG.md — release history
Licensing
Code licence is an open decision (MIT proposed). Engine, art, and geographic data are licensed separately; see Docs/licensing.md. OSM-derived output carries "© OpenStreetMap contributors".