Honest, frequent, unfiltered. Every win and every setback documented as it happens. Video diaries embedded inline. Latest at the top.
Procedural city tool traces streets and arrays buildings. City Block Breaker editor utility explodes any block into individually editable static meshes so hero locations can be hand-art-directed, then baked back into instanced meshes for performance. The Foliage Cascade tool, marketplace-ready, spawns hierarchical biomes of trees, juveniles, saplings, ground cover, and scrub across landscape and static meshes. PCG Foliage Baker bakes any procedural output into the level's InstancedFoliageActor for editing in the standard Foliage Painter. PCG_Include and PCG_Remove tags scope where foliage spawns. Ashgate finally has its overgrowth.
A single Friday session that landed three flagship systems. The HUD V2 painted UI is now live in engine end-to-end. Power System V1 shipped with generators, multi-generator networks, five-second overload trips, powered lights, ambient audio emitters, status LEDs, vibration, and a fail-attempt boot sequence with audio variations. The Voice + Subtitle pipeline is live: NPC voice lines pre-cache at BeginPlay so first-play has zero hitch, the painted Subtitle Widget pushes speech below the HUD, stack mode supports overlapping voices, and proximity gating prevents distant lines from rendering subtitles when they shouldn't. Auto-flashlight engages in the dark, NPC bump knockback is visceral, gamepad layout is locked across PS5 and Xbox conventions. The airlock has a heartbeat now.
First MetaHuman head swapped in for the first story-locked NPC. NPC Foundation V1 is the C++ scaffold; NPCs V1 is what happens when you give it a voice, a face, and a place to stand. Activity Anchor system Phase 1 shipped: designers drop a component onto any piece of content (a chair, a workbench, a planning board) and Settlers naturally wander to it, claim it, and use it. The Bump Component handles physical knockback when Kore walks into a Settler. The 9-state behaviour machine (Idle, Follow, Independent, Tasked, Combat, Flee, Injured, Conversational, Dead) drives every NPC from this point on.
The biggest canon lockdown day in the project's history. Locked the full Altered class breakdown (Feral with 7 visual sub-types, Familiars, Stalkers, Legion with Geiger-counter mechanic). Locked the 14 Settler classes and their signature modules. Locked the skill system at 8 tiers x 10 sub-levels (80 total levels per skill), 17 parent categories, 130+ sub-skills, with full XP propagation rules (100% sub + 10% parent trickle + 10% cross-skill bleed). Locked the multi-airlock + metro network as core design, not late-game. Locked the ant farm + dual-view camera system. Wrote USkillComponent and SkillTypes in C++. Wrote the AirlockSkillXPWidget popup. Updated performance config for Lumen software-RT. Steamworks account registered (phase 1 done). Updated every section of this website.
The site has been fully redesigned to match AIRLOCK's in-game UI aesthetic: dark warm palette, cream and bone-white text, grey-forward accents, torn/damaged edges on panels. All blues are gone. Buttons now look like aged parchment, matching the in-game module UI exactly. All dev diary videos embedded. The website finally feels like the game.
Major codebase refactor complete: DT_Modules is now the single source of truth for all module data. Previously, every Blueprint had its own duplicate display name, description, tier stats, power draw, morale bonus and build time, now all of that lives in the Data Table. The UI panels (Selected, Upgrade, Compare) now pull directly from DT_Modules first, falling back to Blueprint properties only if no DT entry exists. Cleaner, faster, and far easier to balance.
Save/load tier persistence bug fixed. Modules were always spawning at tier 0 on load, regardless of what tier they were at when saved. Root cause: relying on UE's SaveGame property specifier, which has no effect in AIRLOCK's manual struct-based save system. Fixed by adding CurrentTier to the FPlacedModuleSaveData struct, capturing it from the live actor at save time, and restoring it via SetTier() on load. Tiers now survive a full save/load cycle correctly.
theairlock.co.uk goes live. Built from scratch, single-page HTML with particle effects, interactive roadmap, dev diary section, and embedded music player. Hosted on GitHub Pages. Domain connected. The game finally has a home on the internet.
MetaHuman character (MH_Adrien) successfully assembled in UE5 after fixing a Derived Data Cache issue that was eating 256GB of disk space. Redirected DDC to D: drive. Next step: retarget ALS animations onto the MetaHuman skeleton and swap out the placeholder character.
Full development roadmap finalised, phases from prototype to multiplayer. Stages: Building the Demo, Funding & Launch, Expanding the World, Global Maps. (Since restructured into 8 industry-standard phases, see the Roadmap page for the live version.)
UE5 project settings locked. Async level streaming working. Demo roadmap created, 56 tasks across 8 sprints.
Surface world pipeline working end-to-end, massive ruined city environment now loading as a playable level. Module system expanded to 14 categories. Full 60-minute demo gameplay loop documented.