Go to file
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
config Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
engine Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
resources Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
scripts Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
tests Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
.gitignore Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00
main.py Add start menu, procedural world generation, and controller support 2026-07-16 10:32:25 +02:00
pyproject.toml Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00
pyrightconfig.json Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00
requirements-dev.txt Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00
requirements.txt Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00
server.py Initial commit: top-down RPG engine (wgpu-py + glfw) 2026-07-15 13:35:59 +02:00