Commit Graph

4 Commits (616c9455090e23fa5c3865cdd83e674c70970c75)

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 05f66b8e00 Add launch_lightning ability with bot-specific shortcircuit effect
- Sample launch_lightning ability (storm_rod item): guaranteed hit on
  the first Character within a configurable range along the aim
  direction, no skill check - burns roughly half the target's body
  parts and inflicts heart_palpitations, which both weighs down
  heart-dependent checks directly and damages the target's
  heart-equivalent organ (new OrganDef.role tag + Character.find_organ
  _by_role, so this works species-agnostically) so its dependents
  degrade too via the existing organ-interaction tick.
- Bot targets (new SpeciesDef.is_synthetic flag) also short-circuit:
  120% organ damage randomly split across every organ they have, plus
  a heavy insight/perception/sleight_of_hand debuff - the intellect
  hit falls out of the existing organ-penalty math since bot_cpu/
  bot_npu are among the randomly-damaged organs.
- ABILITY_CASTERS/_cast_ability now thread aim_direction uniformly so
  directional abilities work through the hand/implant/ability-bar
  casting paths alike.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015mFzQQZYexNaSB69e2oU95
2026-07-15 14:25:02 +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