Files
allienrpg_03_2026/CLAUDE.md
2026-03-24 14:25:14 +01:00

2.7 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

Accessible tabletop RPG gaming engine for the Alien RPG space station USCSS CETORHINA. Designed for blind/visually impaired players. Czech UI, English skill names. Runs as Emacs Lisp package within Doom Emacs — minibuffer completion, no file navigation.

Architecture

alien-rpg.el (main engine, ~900 lines, lexical-binding):

  • Data: alien-rpg-rooms (131 rooms as connection graph), alien-rpg-decks (10 decks A-J), alien-rpg-character (static), alien-rpg-state (mutable). Station name in alien-rpg-station-name.
  • Room IDs: ASCII slugs (e.g., B-ridici-stredisko). Display names use Czech diacritics (Řídící středisko).
  • Navigation: Graph-based. alien-rpg-move (adjacent), alien-rpg-teleport (any). alien-rpg-find-path uses BFS to find ALL shortest paths.
  • No dice rolling: Player rolls physical dice. Engine tracks state only.
  • Weapons/Armor: Structured plists — weapons: (:name :bonus :damage :range :ammo :weight), armor: (:name :rating :weight).
  • State: Health, stress, injuries, conditions, weapons, armor, gear, notes. Auto-saves via alien-rpg--autosave.
  • Keybindings: SPC G prefix (Doom Emacs). No r (roll removed). a = armor, c = condition.

Reference docs (org-mode, Czech):

  • paluby/paluba-{A..J}.org + paluba-GH.org — deck descriptions
  • stanice.org — station overview, průlezy, communication tower
  • herni_karta.org — character card
  • workflow.org — gameplay tutorial, keybindings

Key Design Constraints

  • Concise output: 3-5 lines per command. No emoji, no decorative borders. Room codes everywhere.
  • Screen reader friendly: All interactions via minibuffer completion or short buffer output.
  • Zero dependencies: All data embedded in Elisp. No external files at runtime.
  • Doom Emacs required: map! macro, SPC leader.
  • PDF-verified data: Room names and connections verified against reference_pdf/ maps. Thick red lines on maps = doors. Centrální šachta = round room with upside-down person icon.

Map Structure

  • Decks A (top) to J (bottom), vertical station
  • Central shaft: B-J (A is isolated, access from B only)
  • Průlezy F↔G: F1↔G1, F2↔G2, F5↔G5, F6↔G6, F7↔G7, F8↔G8
  • Průlezy G↔H: G3↔H3, G4↔H4, G7↔H7, G8↔H8, G9↔H9 (communication tower)
  • G9 connects via Nouzové shromaždiště (top of G), NOT centrální šachta
  • F centrální šachta is at TOP of deck F, connects to Zbrojnice via corridor

Development

No build system, tests, or CI. Load via (load! "~/alienrpg/alien-rpg") in ~/.doom.d/config.el. Internal helpers use alien-rpg-- double-dash prefix.