- Item pickup (key) and drag-to-drop from a dedicated container popup card
(backpacks, pockets), replacing the earlier inline inventory grid
- NPC AI slot framework (engine/ai.py, resources/logic/ai.py) with a wander
behavior, an NPC spawner UI (dev-mode, reuses the character creator), and
a "secret items password" creator field
- Hacking mechanic: derived tech skill (intelligence + perception), a sample
lockable door, a hacking tool item, and six cyberdeck implants with
bonus/roll-floor effects (including a secret dev-only one)
- Turrets: character faction/tag targeting, turn-rate-limited tracking of
the closest hostile, and cpu/psu/motors/gun/camera body parts with
weapon-type variants
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyY5qQB6XHRoBFNbsgdRQn
- Wire up the previously-unused menu/character-creation classes into an
actual start menu -> character creation -> world creation -> pause/
controls flow in main.py, instead of dropping straight into a fixed
world. Adds a minimal screen-space UI layer (bitmap font + panels)
since the engine had no text/menu rendering at all before this.
- Fix ship interiors rendering when the player is off-ship, add helm
zoom-out, wire the character card and ability bar (both existed as
unused pure-state classes with no rendering or input hooked up).
- Add a configure-controls menu with live keybind rebinding, and a
dev-mode config toggle with an item-spawn cheat.
- Full gamepad support for every menu (previously gameplay-only), with
a stale-button-state fix across pause transitions.
- Procedural world generation: seeded Perlin noise heightmap, terrain
types (water/sand/dirt/mud/stone) with speed effects, slopes and
occasional caves between elevations, and a swim up/down mechanic in
water - selectable as a new world template alongside the existing
test map.
- Add gravity (fall to the first floor below when there's none underfoot)
and Dwarf-Fortress-style depth shading (only the player's own z-level
renders at full brightness; lower ground seen through a gap darkens
with depth) - both fix a real gap the terrain generator left open
(walking off a steep cliff previously just floated in empty air).
- Add scripts/export_blank_textures.py and reimport_textures.py for a
blank-template/re-import art workflow.
215 new tests across the above; full suite (676 tests) passing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FyY5qQB6XHRoBFNbsgdRQn