Commit Graph

3 Commits (main)

Author SHA1 Message Date
Amir Alexander Abdelbaki 616c945509 Add start menu, procedural world generation, and controller support
- 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
2026-07-16 10:32:25 +02:00
Amir Alexander Abdelbaki 3bd2c6fa9f Add ship rotation speed limits, combat ailments, and character creator depth
- Ships turn gradually toward a desired heading at a per-ship max
  rotation speed instead of snapping instantly (MapEmbedding.desired_rotation
  + advance_ship_rotation, wired into the main loop).
- Combat hits can now inflict ailments (impact_trauma/fracture/brain_trauma)
  based on the raw d20 roll, which factor into relevant skill checks via a
  new AilmentDef system mirroring the existing organ-penalty mechanic.
- Character creator: species-defined body types and hair colors, starter
  clothing selection (reuses Character.wear_item's fit rules), a
  player-species whitelist excluding the NPC-only dog species, and four
  skill-allocation modes (point-buy, roll-and-assign, manual, random).
- New WorldCreationMenu/WorldTemplate for picking a starting world,
  currently just the one sample map.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015mFzQQZYexNaSB69e2oU95
2026-07-15 14:10:13 +02:00
Amir Alexander Abdelbaki 67c9435d9e Initial commit: top-down RPG engine (wgpu-py + glfw)
3D tile maps with embedded/rotating sub-maps, continuous movement, a
body-part/organ health system with bespoke per-species anatomy, grid
inventories, clothing with species/arm-count fit rules, melee/ranged
combat with blocking/knockback/ammo, weather, staircases, a sample
time-warp ability with cooldowns, multiplayer scaffolding, keyboard/
mouse/gamepad input, and persistent characters via SQLite.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015mFzQQZYexNaSB69e2oU95
2026-07-15 13:35:59 +02:00