update
This commit is contained in:
99
README.org
99
README.org
@@ -1,54 +1,79 @@
|
||||
#+TITLE: Alien RPG — Mapy vesmírné stanice (přístupná verze)
|
||||
#+AUTHOR: Přístupný přepis map od Miroslava Křenka
|
||||
#+DESCRIPTION: Kompletní textový přepis palubních plánů pro nevidomého hráče
|
||||
#+DESCRIPTION: Kompletní přístupný herní systém pro nevidomého hráče
|
||||
#+STARTUP: overview
|
||||
|
||||
* O tomto projektu
|
||||
|
||||
Tento adresář obsahuje kompletní textový přepis map vesmírné stanice
|
||||
pro stolní RPG Alien. Mapy vytvořil Miroslav Křenek a obsahují
|
||||
10 palub (A–J) ve formátu PDF.
|
||||
Přístupný herní systém pro stolní RPG Alien. Obsahuje kompletní textový
|
||||
přepis 10 palub vesmírné stanice a *interaktivní Elisp herní engine*
|
||||
pro Doom Emacs.
|
||||
|
||||
Přepis je navržen tak, aby nevidomý hráč mohl plnohodnotně hrát
|
||||
s vidícími spoluhráči.
|
||||
Originální mapy vytvořil Miroslav Křenek (10 palub A–J, formát PDF).
|
||||
|
||||
* Jak to funguje
|
||||
|
||||
** Během hry: alien-rpg.el (SPC G prefix)
|
||||
|
||||
Vše se ovládá přes =SPC G= v Doom Emacsu. Žádné otevírání souborů,
|
||||
žádné hledání, žádné scrollování. Jeden stisk = jedna informace.
|
||||
|
||||
Instalace — přidej do =~/.doom.d/config.el=:
|
||||
#+begin_src emacs-lisp
|
||||
(load! "~/alienrpg/alien-rpg")
|
||||
#+end_src
|
||||
|
||||
| Klávesa | Akce |
|
||||
|-----------+-----------------------|
|
||||
| =SPC G w= | Kde jsem |
|
||||
| =SPC G m= | Přesun |
|
||||
| =SPC G r= | Hodit kostkou |
|
||||
| =SPC G s= | Stav postavy |
|
||||
| =SPC G p= | Najít cestu |
|
||||
| =SPC G k= | Klíčová místa |
|
||||
| =SPC G h= | Nastavit Health |
|
||||
| =SPC G S= | Nastavit Stress |
|
||||
|
||||
Kompletní seznam: =SPC G= a počkej na which-key popup.
|
||||
|
||||
** Před hrou: org soubory (referenční)
|
||||
|
||||
Org soubory slouží k prostudování stanice *před* hrou.
|
||||
Nejsou určeny k používání během hry (příliš dlouhé, pomalé).
|
||||
|
||||
* Struktura souborů
|
||||
|
||||
| Soubor | Obsah |
|
||||
| Soubor | Účel |
|
||||
|------------------------+----------------------------------------------------|
|
||||
| =alien-rpg.el= | *HLAVNÍ* — interaktivní herní engine pro Doom Emacs |
|
||||
| =workflow.org= | Návod, klávesové zkratky, příprava |
|
||||
| =README.org= | Tento soubor — rozcestník |
|
||||
| =stanice.org= | Celkový přehled stanice, boční pohled, propojení |
|
||||
| =workflow.org= | Návod jak hrát jako nevidomý hráč |
|
||||
| =herni_karta.org= | Herní karta — prof. Héctor Navarre |
|
||||
| =paluby/paluba-A.org= | Paluba A — Astrometrická observatoř |
|
||||
| =paluby/paluba-B.org= | Paluba B — Řízení provozu |
|
||||
| =paluby/paluba-C.org= | Paluba C — Zdraví a odpočinek |
|
||||
| =paluby/paluba-D.org= | Paluba D — Recepce a výzkum |
|
||||
| =paluby/paluba-E.org= | Paluba E — Kajuty a stravování |
|
||||
| =paluby/paluba-F.org= | Paluba F — Nápravné zařízení |
|
||||
| =paluby/paluba-G.org= | Paluba G — Hangáry a údržba |
|
||||
| =paluby/paluba-GH.org= | Komunikační věž (propojení G a H) |
|
||||
| =paluby/paluba-H.org= | Paluba H — Průmyslový komplex |
|
||||
| =paluby/paluba-I.org= | Paluba I — Záchranné moduly |
|
||||
| =paluby/paluba-J.org= | Paluba J — Strojovna reaktoru |
|
||||
| =stanice.org= | Celkový přehled stanice (referenční) |
|
||||
| =paluby/paluba-X.org= | Detailní popisy palub A–J (referenční) |
|
||||
| =reference_pdf/= | Originální PDF mapy |
|
||||
|
||||
* Jak číst popisy palub
|
||||
* Postava
|
||||
|
||||
Každý soubor paluby má stejnou strukturu:
|
||||
1. *Základní info* — název, účel, měřítko
|
||||
2. *Celkový popis* — slovní popis tvaru a rozložení
|
||||
3. *Seznam místností* — každá místnost s přibližnou polohou
|
||||
4. *Dveře a průchody* — kde jsou tlusté červené dveře (překážky)
|
||||
5. *Průlezy a šachty* — vertikální propojení na jiné paluby
|
||||
6. *Taktické poznámky* — co je důležité pro hraní
|
||||
Prof. Héctor Navarre, Ph.D. — biochemický inženýr, 74 let.
|
||||
|
||||
* Konvence pro popis polohy
|
||||
Silné hody (7 kostek): Ranged Combat, Manipulation
|
||||
Střední hody (5 kostek): Close Combat, Heavy Machinery, Observation
|
||||
Talent: Analýza (Observation → informace o organismu/předmětu)
|
||||
|
||||
Polohy jsou uváděny jako:
|
||||
- *Sever* (S) = nahoře na mapě
|
||||
- *Jih* (J) = dole na mapě
|
||||
- *Západ* (Z) = vlevo na mapě
|
||||
- *Východ* (V) = vpravo na mapě
|
||||
- *Střed* = centrální část paluby
|
||||
Data postavy jsou přímo v =alien-rpg.el= — =SPC G s= zobrazí stav,
|
||||
=SPC G i= zobrazí dovednosti, =SPC G r= hodí kostkou.
|
||||
|
||||
Centrální šachta je vždy ve středu paluby (na palubách B–J).
|
||||
* Přesnost dat
|
||||
|
||||
Všechna data v =alien-rpg.el= jsou ověřena proti textovým vrstvám
|
||||
originálních PDF map pomocí =pdftotext=. Místnosti a jejich názvy
|
||||
odpovídají přesně textu na mapách.
|
||||
|
||||
Propojení místností (graf sousedností) je odvozeno z prostorového
|
||||
rozložení na mapách. Některé detaily (přesné tvary chodeb) nelze
|
||||
z rastrových map extrahovat — v těchto případech je propojení
|
||||
konzervativní (pouze zřejmé sousednosti).
|
||||
|
||||
Sekce "Dveře" v org souborech palub byly přepracovány: předchozí
|
||||
automatická detekce červených hran v PDF byla nespolehlivá a obsahovala
|
||||
falešné pozitivy. Aktuální data uvádějí pouze ověřitelné informace.
|
||||
|
||||
7
alien-rpg-save.el
Normal file
7
alien-rpg-save.el
Normal file
@@ -0,0 +1,7 @@
|
||||
;; Alien RPG — uložený herní stav
|
||||
;; Uloženo: 2026-03-24 12:46
|
||||
(setq alien-rpg-state
|
||||
'(:health 4 :stress 0 :current-room "F-vězeňská-služba" :weapons ("Maceta")
|
||||
:armor nil :extra-gear nil :injuries nil :xp 0 :story-points 0 :notes nil
|
||||
:buddy nil :rival nil)
|
||||
)
|
||||
1219
alien-rpg.el
Normal file
1219
alien-rpg.el
Normal file
File diff suppressed because it is too large
Load Diff
548
gptel-chats/2026-03-24_1234-Copilot-claude-opus-4.6.org
Normal file
548
gptel-chats/2026-03-24_1234-Copilot-claude-opus-4.6.org
Normal file
@@ -0,0 +1,548 @@
|
||||
:PROPERTIES:
|
||||
:GPTEL_MODEL: claude-opus-4.6
|
||||
:GPTEL_BACKEND: Copilot
|
||||
:GPTEL_SYSTEM: You are a large language model living in Emacs and a helpful assistant. Respond concisely.
|
||||
:GPTEL_TOOLS: Bash Eval WebSearch WebFetch YouTube Diagnostics Mkdir Edit Insert Write Glob Read Grep TodoWrite Skill Agent elisp_eval symbol_exists load_paths features manual_nodes library_source variable_value function_documentation variable_documentation function_completions command_completions variable_completions simulate_error coerce_nil all_arg_types async_tool gptel-got-tool--list-buffers gptel-got--dir gptel-got--open-file-inactive gptel-got--describe-variable gptel-got--describe-function gptel-got--org-extract-tags gptel-got--org-extract-headings gptel-got--org-ql-select-date gptel-got--org-agenda-seek gptel-got--org-ql-select-headings gptel-got--org-ql-select-headings-rifle gptel-got--org-ql-select-tags-local gptel-got--org-ql-select-tags-local-count gptel-got--org-ql-select-tags gptel-got--org-ql-select-rifle variable_source function_source manual_node_contents symbol_manual_section manual_names create_file create_directory view_buffer view_file edit_buffer edit_file glob replace_buffer replace_file grep ls buffer_search list_buffers bash eval_elisp
|
||||
:GPTEL_NUM_MESSAGES_TO_SEND: 40
|
||||
:GPTEL_BOUNDS: ((tool (3215 4893 "tooluse_VyIksyDI5j1iQ1OUiskfPs") (5087 7931 "tooluse_F8jOGTSXIvHYgjE7WDf901") (8053 12275 "tooluse_aHhagOSuytDaSNMS9MupGX")) (response (4905 5022) (7943 7988) (12287 12823)))
|
||||
:END:
|
||||
#+title: Compacted Chat (2026-03-24 12:34)
|
||||
|
||||
** Summary of previous conversation
|
||||
## Shrnutí konverzace
|
||||
|
||||
### Projekt
|
||||
**~/alienrpg/** — přístupný herní systém Alien RPG pro nevidomého hráče v Doom Emacs. Postava: prof. Héctor Navarre (biochemik, 74 let).
|
||||
|
||||
### Hlavní výstupy
|
||||
- **alien-rpg.el** (~1200 řádků): kompletní Elisp herní engine — 129 místností, 10 palub (A–J), BFS pathfinding, hod kostkou, správa postavy
|
||||
- **10 org souborů palub** (A–J) + paluba-GH.org: referenční textové přepisy map z PDF
|
||||
- **stanice.org, workflow.org, README.org, herni_karta.org**: podpora/dokumentace
|
||||
|
||||
### Rozhodnutí
|
||||
- **Prefix SPC G** (ne SPC a — to je obsazené embark-act)
|
||||
- **Org soubory = referenční studijní materiál**, alien-rpg.el = jediný nástroj během hry
|
||||
- **Dveře**: vyčištěny falešné automatické detekce červených hran z PDF; sekce v org souborech přepsány na obecná pravidla
|
||||
- **Pixelové souřadnice** odstraněny všude, nahrazeny textovými polohami (sever, jih-západ…)
|
||||
|
||||
### Poslední změny (právě dokončené)
|
||||
1. **SPC a → SPC G** opraveno ve workflow.org (43×), README.org (13×), alien-rpg.el komentáři
|
||||
2. **Autosave stavu**: `alien-rpg-state-file` má výchozí cestu `~/alienrpg/alien-rpg-save.el`; autosave se volá po každém přesunu/teleportu/změně health/stress/zranění/výbavy/zbraní/buddy/rival/poznámky; autoload při `(load "alien-rpg")`
|
||||
3. **Smazán Oops.rej**
|
||||
4. **Vyčištěna poslední stará reference** — „tlusté červené čáry" v palubě B, falešná tabulka ~83 dveří v stanice.org
|
||||
|
||||
### Stav
|
||||
- Finální audit prošel: žádné zbylé SPC a, pixelové souřadnice, falešné počty dveří
|
||||
- Engine se úspěšně načítá (`load-file` vrací t)
|
||||
- **Pending**: uživatel chce testovat sám; žádné explicitní další úkoly
|
||||
|
||||
** Continued conversation
|
||||
|
||||
|
||||
(:name "edit_file" :args (:file "~/alienrpg/alien-rpg.el" :new_string " (target-id (cdr (assoc choice candidates))))
|
||||
(plist-put alien-rpg-state :current-room target-id)
|
||||
(alien-rpg--autosave)
|
||||
(alien-rpg-where-am-i)))
|
||||
|
||||
;; --- Teleport (GM řekne \"jsi na palubě X\") ---
|
||||
|
||||
(defun alien-rpg-teleport ()
|
||||
\"Přesuň se kamkoliv na stanici. Pro případy kdy GM řekne novou pozici.\"
|
||||
(interactive)
|
||||
(let* ((candidates (mapcar (lambda (r)
|
||||
(cons (alien-rpg--room-display-name r)
|
||||
(plist-get r :id)))
|
||||
alien-rpg-rooms))
|
||||
(choice (completing-read \"Teleport na: \" candidates nil t))
|
||||
(target-id (cdr (assoc choice candidates))))
|
||||
(plist-put alien-rpg-state :current-room target-id)
|
||||
(alien-rpg--autosave)
|
||||
(alien-rpg-where-am-i)))" :old_string " (target-id (cdr (assoc choice candidates))))
|
||||
(plist-put alien-rpg-state :current-room target-id)
|
||||
(alien-rpg-where-am-i)))
|
||||
|
||||
;; --- Teleport (GM řekne \"jsi na palubě X\") ---
|
||||
|
||||
(defun alien-rpg-teleport ()
|
||||
\"Přesuň se kamkoliv na stanici. Pro případy kdy GM řekne novou pozici.\"
|
||||
(interactive)
|
||||
(let* ((candidates (mapcar (lambda (r)
|
||||
(cons (alien-rpg--room-display-name r)
|
||||
(plist-get r :id)))
|
||||
alien-rpg-rooms))
|
||||
(choice (completing-read \"Teleport na: \" candidates nil t))
|
||||
(target-id (cdr (assoc choice candidates))))
|
||||
(plist-put alien-rpg-state :current-room target-id)
|
||||
(alien-rpg-where-am-i)))"))
|
||||
|
||||
Successfully edited file /Users/martin/alienrpg/alien-rpg.el
|
||||
#+end_tool
|
||||
Teď přidám autosave i do všech funkcí co mění stav (health, stress, zranění, výbava, zbraně, buddy, rival, poznámky):
|
||||
|
||||
#+begin_tool (view_file :file "~/alienrpg/alien-rpg.el" :l ...)
|
||||
(:name "view_file" :args (:file "~/alienrpg/alien-rpg.el" :limit 80 :offset 940))
|
||||
|
||||
;; Push info
|
||||
(when (= successes 0)
|
||||
(insert "\n→ Můžeš pushovat (přehodit neúspěchy). Stress +1.\n"))
|
||||
;; Talent reminder
|
||||
(when (eq skill-key :observation)
|
||||
(insert "\n★ TALENT ANALÝZA: Za každý úspěch jedna informace o organismu/předmětu.\n")))
|
||||
(goto-char (point-min))
|
||||
(special-mode))
|
||||
(pop-to-buffer "*Alien RPG*")))
|
||||
|
||||
;; --- Upravit zdraví/stres ---
|
||||
|
||||
(defun alien-rpg-set-health (n)
|
||||
"Nastav Health na N."
|
||||
(interactive "nHealth (0-4): ")
|
||||
(plist-put alien-rpg-state :health (max 0 (min 4 n)))
|
||||
(message "Health: %d/4" (plist-get alien-rpg-state :health)))
|
||||
|
||||
(defun alien-rpg-set-stress (n)
|
||||
"Nastav Stress na N."
|
||||
(interactive "nStress (0+): ")
|
||||
(plist-put alien-rpg-state :stress (max 0 n))
|
||||
(let ((s (plist-get alien-rpg-state :stress)))
|
||||
(message "Stress: %d%s" s (if (>= s 7) " ⚠ NEBEZPEČÍ PANIKY!" ""))))
|
||||
|
||||
(defun alien-rpg-add-injury (injury)
|
||||
"Přidej zranění INJURY."
|
||||
(interactive "sZranění: ")
|
||||
(plist-put alien-rpg-state :injuries
|
||||
(append (plist-get alien-rpg-state :injuries) (list injury)))
|
||||
(message "Přidáno zranění: %s" injury))
|
||||
|
||||
(defun alien-rpg-add-gear (item)
|
||||
"Přidej výbavu ITEM."
|
||||
(interactive "sNová výbava: ")
|
||||
(plist-put alien-rpg-state :extra-gear
|
||||
(append (plist-get alien-rpg-state :extra-gear) (list item)))
|
||||
(message "Přidáno: %s" item))
|
||||
|
||||
(defun alien-rpg-add-weapon (weapon)
|
||||
"Přidej zbraň WEAPON."
|
||||
(interactive "sNová zbraň: ")
|
||||
(plist-put alien-rpg-state :weapons
|
||||
(append (plist-get alien-rpg-state :weapons) (list weapon)))
|
||||
(message "Přidána zbraň: %s" weapon))
|
||||
|
||||
(defun alien-rpg-set-buddy (name)
|
||||
"Nastav Buddy."
|
||||
(interactive "sBuddy: ")
|
||||
(plist-put alien-rpg-state :buddy name)
|
||||
(message "Buddy: %s" name))
|
||||
|
||||
(defun alien-rpg-set-rival (name)
|
||||
"Nastav Rivala."
|
||||
(interactive "sRival: ")
|
||||
(plist-put alien-rpg-state :rival name)
|
||||
(message "Rival: %s" name))
|
||||
|
||||
(defun alien-rpg-add-note (note)
|
||||
"Přidej herní poznámku NOTE."
|
||||
(interactive "sPoznámka: ")
|
||||
(plist-put alien-rpg-state :notes
|
||||
(append (plist-get alien-rpg-state :notes)
|
||||
(list (format "[%s] %s"
|
||||
(format-time-string "%H:%M")
|
||||
note))))
|
||||
(message "Poznámka uložena."))
|
||||
|
||||
;; --- Klíčová místa (rychlá reference) ---
|
||||
|
||||
(defun alien-rpg-key-locations ()
|
||||
"Zobraz klíčová místa — kam utéct, co najít."
|
||||
(interactive)
|
||||
(with-current-buffer (get-buffer-create "*Alien RPG*")
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(insert (propertize "═══ KLÍČOVÁ MÍSTA ═══\n" 'face 'bold))
|
||||
(insert "
|
||||
ZBRANĚ: [F] Zbrojnice (sever-střed paluby F)
|
||||
LÉKAŘSKÁ POMOC: [C] Ošetřovna a laboratoř (sever-západ paluby C)
|
||||
#+end_tool
|
||||
Přidám autosave do všech funkcí co mění stav:
|
||||
|
||||
#+begin_tool (edit_file :file "~/alienrpg/alien-rpg.el" :n ...)
|
||||
(:name "edit_file" :args (:file "~/alienrpg/alien-rpg.el" :new_string "(defun alien-rpg-set-health (n)
|
||||
\"Nastav Health na N.\"
|
||||
(interactive \"nHealth (0-4): \")
|
||||
(plist-put alien-rpg-state :health (max 0 (min 4 n)))
|
||||
(alien-rpg--autosave)
|
||||
(message \"Health: %d/4\" (plist-get alien-rpg-state :health)))
|
||||
|
||||
(defun alien-rpg-set-stress (n)
|
||||
\"Nastav Stress na N.\"
|
||||
(interactive \"nStress (0+): \")
|
||||
(plist-put alien-rpg-state :stress (max 0 n))
|
||||
(alien-rpg--autosave)
|
||||
(let ((s (plist-get alien-rpg-state :stress)))
|
||||
(message \"Stress: %d%s\" s (if (>= s 7) \" ⚠ NEBEZPEČÍ PANIKY!\" \"\"))))
|
||||
|
||||
(defun alien-rpg-add-injury (injury)
|
||||
\"Přidej zranění INJURY.\"
|
||||
(interactive \"sZranění: \")
|
||||
(plist-put alien-rpg-state :injuries
|
||||
(append (plist-get alien-rpg-state :injuries) (list injury)))
|
||||
(alien-rpg--autosave)
|
||||
(message \"Přidáno zranění: %s\" injury))
|
||||
|
||||
(defun alien-rpg-add-gear (item)
|
||||
\"Přidej výbavu ITEM.\"
|
||||
(interactive \"sNová výbava: \")
|
||||
(plist-put alien-rpg-state :extra-gear
|
||||
(append (plist-get alien-rpg-state :extra-gear) (list item)))
|
||||
(alien-rpg--autosave)
|
||||
(message \"Přidáno: %s\" item))
|
||||
|
||||
(defun alien-rpg-add-weapon (weapon)
|
||||
\"Přidej zbraň WEAPON.\"
|
||||
(interactive \"sNová zbraň: \")
|
||||
(plist-put alien-rpg-state :weapons
|
||||
(append (plist-get alien-rpg-state :weapons) (list weapon)))
|
||||
(alien-rpg--autosave)
|
||||
(message \"Přidána zbraň: %s\" weapon))
|
||||
|
||||
(defun alien-rpg-set-buddy (name)
|
||||
\"Nastav Buddy.\"
|
||||
(interactive \"sBuddy: \")
|
||||
(plist-put alien-rpg-state :buddy name)
|
||||
(alien-rpg--autosave)
|
||||
(message \"Buddy: %s\" name))
|
||||
|
||||
(defun alien-rpg-set-rival (name)
|
||||
\"Nastav Rivala.\"
|
||||
(interactive \"sRival: \")
|
||||
(plist-put alien-rpg-state :rival name)
|
||||
(alien-rpg--autosave)
|
||||
(message \"Rival: %s\" name))
|
||||
|
||||
(defun alien-rpg-add-note (note)
|
||||
\"Přidej herní poznámku NOTE.\"
|
||||
(interactive \"sPoznámka: \")
|
||||
(plist-put alien-rpg-state :notes
|
||||
(append (plist-get alien-rpg-state :notes)
|
||||
(list (format \"[%s] %s\"
|
||||
(format-time-string \"%H:%M\")
|
||||
note))))
|
||||
(alien-rpg--autosave)
|
||||
(message \"Poznámka uložena.\")" :old_string "(defun alien-rpg-set-health (n)
|
||||
\"Nastav Health na N.\"
|
||||
(interactive \"nHealth (0-4): \")
|
||||
(plist-put alien-rpg-state :health (max 0 (min 4 n)))
|
||||
(message \"Health: %d/4\" (plist-get alien-rpg-state :health)))
|
||||
|
||||
(defun alien-rpg-set-stress (n)
|
||||
\"Nastav Stress na N.\"
|
||||
(interactive \"nStress (0+): \")
|
||||
(plist-put alien-rpg-state :stress (max 0 n))
|
||||
(let ((s (plist-get alien-rpg-state :stress)))
|
||||
(message \"Stress: %d%s\" s (if (>= s 7) \" ⚠ NEBEZPEČÍ PANIKY!\" \"\"))))
|
||||
|
||||
(defun alien-rpg-add-injury (injury)
|
||||
\"Přidej zranění INJURY.\"
|
||||
(interactive \"sZranění: \")
|
||||
(plist-put alien-rpg-state :injuries
|
||||
(append (plist-get alien-rpg-state :injuries) (list injury)))
|
||||
(message \"Přidáno zranění: %s\" injury))
|
||||
|
||||
(defun alien-rpg-add-gear (item)
|
||||
\"Přidej výbavu ITEM.\"
|
||||
(interactive \"sNová výbava: \")
|
||||
(plist-put alien-rpg-state :extra-gear
|
||||
(append (plist-get alien-rpg-state :extra-gear) (list item)))
|
||||
(message \"Přidáno: %s\" item))
|
||||
|
||||
(defun alien-rpg-add-weapon (weapon)
|
||||
\"Přidej zbraň WEAPON.\"
|
||||
(interactive \"sNová zbraň: \")
|
||||
(plist-put alien-rpg-state :weapons
|
||||
(append (plist-get alien-rpg-state :weapons) (list weapon)))
|
||||
(message \"Přidána zbraň: %s\" weapon))
|
||||
|
||||
(defun alien-rpg-set-buddy (name)
|
||||
\"Nastav Buddy.\"
|
||||
(interactive \"sBuddy: \")
|
||||
(plist-put alien-rpg-state :buddy name)
|
||||
(message \"Buddy: %s\" name))
|
||||
|
||||
(defun alien-rpg-set-rival (name)
|
||||
\"Nastav Rivala.\"
|
||||
(interactive \"sRival: \")
|
||||
(plist-put alien-rpg-state :rival name)
|
||||
(message \"Rival: %s\" name))
|
||||
|
||||
(defun alien-rpg-add-note (note)
|
||||
\"Přidej herní poznámku NOTE.\"
|
||||
(interactive \"sPoznámka: \")
|
||||
(plist-put alien-rpg-state :notes
|
||||
(append (plist-get alien-rpg-state :notes)
|
||||
(list (format \"[%s] %s\"
|
||||
(format-time-string \"%H:%M\")
|
||||
note))))
|
||||
(message \"Poznámka uložena.\")"))
|
||||
|
||||
Successfully edited file /Users/martin/alienrpg/alien-rpg.el
|
||||
#+end_tool
|
||||
Hotovo. Co se změnilo:
|
||||
|
||||
1. *=alien-rpg-state-file=* teď má výchozí hodnotu =~/alienrpg/alien-rpg-save.el= (ne nil).
|
||||
2. *Autoload při startu* — když soubor existuje, stav se automaticky načte při =(load "alien-rpg")=. Po restartu Emacsu budeš tam, kde jsi skončil.
|
||||
3. *Autosave po každé změně* — přesun, teleport, health, stress, zranění, výbava, zbraně, buddy, rival, poznámky — vše automaticky zapíše do =alien-rpg-save.el=. Nemusíš mačkat =SPC G q=.
|
||||
|
||||
=SPC G q= (ruční uložení) a =SPC G Q= (ruční načtení) zůstávají pro případ potřeby.
|
||||
|
||||
*** Mam nekolik problemu s Emacs integraci:
|
||||
1. nejdulezitejsi - pohyb / presuny nereflektuji skutecny stav mapy, napr dvere,
|
||||
2. vzdy mi to uaze jen jednu cestu nikoli alternativy, abych se mohl rozhodnout
|
||||
3. pri pridani nove zbrane nechce vedet jeji atributy, v souladu s referencni herni kartou
|
||||
|
||||
Potrebuji, aby hra byla plne accessible a vse sedelo dohromady. Chapu, ze mas problem s analyzou rastrove mapy, ale pouzij logiku, pokud mas problem s analyzou, napis si tool, kktery to bude schopen udelat.
|
||||
|
||||
Kdyz neco budes poustet, dej si tam i smysluplny timeout aby ses nezasekl
|
||||
|
||||
Pracuj samostatne. Pokud neco potrebujes upresnit, zeptej se ted.
|
||||
|
||||
|
||||
|
||||
|
||||
Rozumím. Než
|
||||
začnu, potřebuji upřesnit pár věcí:
|
||||
|
||||
1. *Dveře* — V org sou
|
||||
borech palub jsou popsané dveře (zamčené, otevřené, poškozené…). Chceš, abych z těchto org souborů extrahoval informace o dveřích a zabudoval je do grafu místností v =alien-rpg.el=? Tj. aby přesun mezi místnostmi respektoval stav dveří (zamčeno = nelze projít bez akce)?
|
||||
|
||||
2. *Alternativní cesty* — Aktuálně =alien-rpg-move= nabídne sousední místnosti a =alien-rpg-navigate= najde jednu BFS cestu. Chceš:
|
||||
- (a) Aby =move= ukázal *všechny sousední místnosti* s informací o dveřích/překážkách?
|
||||
- (b) Aby =navigate= ukázal *více alternativních tras* (např. nejkratší + alternativy přes jiné paluby)?
|
||||
|
||||
3. *Zbraně* — Na herní kartě vidím atributy zbraní (BONUS, DAMAGE, RANGE, SPECIAL). Chceš, aby =alien-rpg-add-weapon= se zeptal na tyto atributy a pak je zobrazoval ve statusu postavy?
|
||||
|
||||
4. *Rastrová mapa* — Máš k dispozici PNG/PDF soubory map jednotlivých palub v =~/alienrpg/=? Pokud ano, jak se jmenují? Nebo mám pracovat *čistě z org souborů* (textových přepisů)?
|
||||
|
||||
Odpověz stručně na tyto 4 body a hned se pustím do práce.
|
||||
|
||||
1. nejsem si jist, ze v org jsou presne, protoze vychazely z drivejsi analyzy. Zdroj informaci je hlavne PDF, jak pro mapy, tak pro herni kartu, jsou v reference_pdf adresari, nacti si je. Cil je, aby rozsireni emacsu i org soubory byly zarovnane se skutecnou mapou.
|
||||
2. chci idealne moznosti pro a) i b)
|
||||
3. ano
|
||||
4. ano, pdf jsou v repozitari, musis udelat dukladnou analyzu, klidne iterativni. mapy jsou celkem jednoduche, ale musis porozumet tomu, co nanich je.
|
||||
|
||||
|
||||
|
||||
|
||||
Pojďme na to. Nejprve se podívám na strukturu projektu a PDF soubory.
|
||||
|
||||
|
||||
#+begin_tool (TodoWrite :todos [(:content "Analyze project ...)
|
||||
(:name "TodoWrite" :args (:todos [(:content "Analyze project structure and PDF files" :activeForm "Analyzing project structure and PDF files" :status "in_progress") (:content "Extract map data from PDF maps (rooms, connections, doors)" :activeForm "Extracting map data from PDF maps" :status "pending") (:content "Extract weapon/gear data from character sheet PDF" :activeForm "Extracting weapon/gear data from PDF" :status "pending") (:content "Rebuild room graph with accurate connections and door states" :activeForm "Rebuilding room graph with accurate connections and doors" :status "pending") (:content "Update move system to show all neighbors with door info" :activeForm "Updating move system for full neighbor display" :status "pending") (:content "Update navigate to show multiple alternative routes" :activeForm "Updating navigation for alternative routes" :status "pending") (:content "Update weapon system with full attributes" :activeForm "Updating weapon system with attributes" :status "pending") (:content "Align org files with corrected map data" :activeForm "Aligning org files with corrected data" :status "pending") (:content "Test and verify everything loads correctly" :activeForm "Testing and verifying" :status "pending")]))
|
||||
|
||||
t
|
||||
#+end_tool
|
||||
#+begin_tool (ls :path "~/alienrpg")
|
||||
(:name "ls" :args (:path "~/alienrpg"))
|
||||
|
||||
.
|
||||
..
|
||||
.DS_Store
|
||||
.git
|
||||
README.org
|
||||
alien-rpg-save.el
|
||||
alien-rpg.el
|
||||
gptel-chats
|
||||
herni_karta.org
|
||||
paluby
|
||||
reference_pdf
|
||||
stanice.org
|
||||
workflow.org
|
||||
#+end_tool
|
||||
#+begin_tool (ls :path "~/alienrpg/reference_pdf")
|
||||
(:name "ls" :args (:path "~/alienrpg/reference_pdf"))
|
||||
|
||||
.
|
||||
..
|
||||
A_A2.pdf
|
||||
B_A2.pdf
|
||||
C_A2.pdf
|
||||
D_A2.pdf
|
||||
E_A2.pdf
|
||||
F_A1.pdf
|
||||
G+H_A2.pdf
|
||||
G_A1.pdf
|
||||
H_A1.pdf
|
||||
I_A2.pdf
|
||||
J_A2.pdf
|
||||
bocni_pohled_A3.pdf
|
||||
#+end_tool
|
||||
#+begin_tool (ls :path "~/alienrpg/paluby")
|
||||
(:name "ls" :args (:path "~/alienrpg/paluby"))
|
||||
|
||||
.
|
||||
..
|
||||
paluba-A.org
|
||||
paluba-B.org
|
||||
paluba-C.org
|
||||
paluba-D.org
|
||||
paluba-E.org
|
||||
paluba-F.org
|
||||
paluba-G.org
|
||||
paluba-GH.org
|
||||
paluba-H.org
|
||||
paluba-I.org
|
||||
paluba-J.org
|
||||
#+end_tool
|
||||
#+begin_tool (view_file :file "~/alienrpg/herni_karta.org")
|
||||
(:name "view_file" :args (:file "~/alienrpg/herni_karta.org"))
|
||||
|
||||
,#+TITLE: Herní karta — prof. Héctor Navarre
|
||||
,#+STARTUP: overview
|
||||
|
||||
,* Postava
|
||||
|
||||
- Jméno: prof. Héctor Navarre, Ph.D.
|
||||
- Kariéra: biochemický inženýr
|
||||
- Věk: 74 let
|
||||
- Popis: Metodický a systematický vědec. Tichý, trpělivý pragmatik,
|
||||
který čeká na výsledky testů, než vyvodí závěry. Většinu kariéry
|
||||
strávil v laboratoři — toto je jeho první práce v terénu.
|
||||
|
||||
,* Atributy
|
||||
|
||||
| Atribut | Hodnota |
|
||||
|----------+---------|
|
||||
| Strength | 3 |
|
||||
| Agility | 4 |
|
||||
| Wits | 3 |
|
||||
| Empathy | 4 |
|
||||
|
||||
,* Dovednosti
|
||||
|
||||
,** Strength (základ 3)
|
||||
|
||||
| Dovednost | Hodnota | Celkem (atribut + dovednost) |
|
||||
|-----------------+---------+------------------------------|
|
||||
| Close Combat | 2 | 5 |
|
||||
| Heavy Machinery | 2 | 5 |
|
||||
| Stamina | 0 | 3 |
|
||||
|
||||
,** Agility (základ 4)
|
||||
|
||||
| Dovednost | Hodnota | Celkem |
|
||||
|---------------+---------+--------|
|
||||
| Mobility | 0 | 4 |
|
||||
| Piloting | 0 | 4 |
|
||||
| Ranged Combat | 3 | 7 |
|
||||
|
||||
,** Wits (základ 3)
|
||||
|
||||
| Dovednost | Hodnota | Celkem |
|
||||
|-------------+---------+--------|
|
||||
| Comtech | 0 | 3 |
|
||||
| Observation | 2 | 5 |
|
||||
| Survival | 0 | 3 |
|
||||
|
||||
,** Empathy (základ 4)
|
||||
|
||||
| Dovednost | Hodnota | Celkem |
|
||||
|--------------+---------+--------|
|
||||
| Command | 0 | 4 |
|
||||
| Manipulation | 3 | 7 |
|
||||
| Medical Aid | 0 | 4 |
|
||||
|
||||
,* Talent
|
||||
|
||||
,** Analýza
|
||||
Hod na OBSERVATION — za každý úspěch získáš informaci
|
||||
o mimozemském organismu nebo předmětu.
|
||||
|
||||
,* Zdraví a stres
|
||||
|
||||
,** Stav
|
||||
|
||||
- Health: 4
|
||||
- Resolve: 4
|
||||
- Stress Level: 0
|
||||
|
||||
,** Stavy (zaškrtni při poškození)
|
||||
|
||||
- [ ] Fatigued (vyčerpaný)
|
||||
- [ ] Radiation (ozáření)
|
||||
|
||||
,** Panic tabulka (referenční)
|
||||
|
||||
| Stress | Reakce (lichá) | Reakce (sudá) |
|
||||
|--------+-----------------+----------------|
|
||||
| 7 | Jumpy | Freeze |
|
||||
| 8 | Tunnel Vision | Seek Cover |
|
||||
| 9 | Aggravated | Scream |
|
||||
| 10 | Shakes | Flee |
|
||||
| 11 | Frantic | Frenzy |
|
||||
| 12 | Deflated | Catatonic |
|
||||
| 13-14 | Paranoid | Hesitant |
|
||||
|
||||
,* Výbava
|
||||
|
||||
,** Gear
|
||||
|
||||
1. Svítilna
|
||||
2. CBRN detektor (viry, toxiny, radiace)
|
||||
3. Lokátor PDT
|
||||
|
||||
,** Signature item
|
||||
|
||||
Karta (blíže neurčeno)
|
||||
|
||||
,** Zbraně
|
||||
|
||||
| # | Zbraň | Modifier | Damage | Range | Ammo | Weight |
|
||||
|---+-------+----------+--------+-------+------+--------|
|
||||
| | | | | | | |
|
||||
|
||||
(Zatím žádné zbraně — doplnit během hry.)
|
||||
|
||||
,** Brnění
|
||||
|
||||
| Brnění | Level | Weight |
|
||||
|--------+-------+--------|
|
||||
| | | |
|
||||
|
||||
(Zatím žádné brnění.)
|
||||
|
||||
,* Vztahy
|
||||
|
||||
- Buddy: (doplnit před hrou)
|
||||
- Rival: (doplnit před hrou)
|
||||
|
||||
,* Tajná agenda
|
||||
|
||||
(Doplnit — GM ti ji sdělí zvlášť, nebo ji obdržíš na začátku hry.)
|
||||
|
||||
,* Body
|
||||
|
||||
- Experience Points: 0
|
||||
- Story Points: 0
|
||||
- Cash: 0
|
||||
|
||||
,* Critical Injuries a Mental Trauma
|
||||
|
||||
(Zaznamenávej sem zranění a traumata během hry.)
|
||||
|
||||
,* Záznam ze hry
|
||||
|
||||
,** Stav během sezení
|
||||
|
||||
Aktualizuj si zde hodnoty, které se mění:
|
||||
|
||||
- Aktuální Health: 4
|
||||
- Aktuální Stress: 0
|
||||
- Aktuální poloha: (paluba a místnost)
|
||||
- Munice: —
|
||||
- Přidaná výbava: —
|
||||
|
||||
,** Poznámky
|
||||
|
||||
(Volné poznámky z průběhu hry.)
|
||||
|
||||
#+end_tool
|
||||
Now let me analyze the PDFs and current alien-rpg.el. Let me start by examining the PDFs and current room definitions:
|
||||
@@ -45,25 +45,19 @@ Paluba B je velitelská paluba stanice. Rozložení místností na mapě
|
||||
| Sklad | Jihovýchod (jižněji)| |
|
||||
| Centrální šachta | Střed | Přístup na paluby C–J |
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře a průchody
|
||||
|
||||
Na palubě B bylo detekováno přibližně 15 dveřních segmentů:
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce červených hran byla nespolehlivá.
|
||||
|
||||
- 2 svislé dveře v severní/střední části (y ≈ 10–17%) — oddělují
|
||||
observatoř a prostor kolem kanceláře vedoucího od řídícího střediska.
|
||||
- 2 vodorovné dveře v severozápadní části (y ≈ 30%) — oddělují
|
||||
zasedací místnost od zbytku paluby.
|
||||
- Shluk dveří v jihozápadní části (y ≈ 58–77%) — kolem průchodu
|
||||
na palubu "A" a přilehlých prostor. Toto je nejvíce zabezpečená
|
||||
oblast: přístup k palubě A je chráněn několika dveřmi.
|
||||
- 1 svislé dveře na jihovýchodě (y ≈ 69%) — oddělují sklad/kuchyňku.
|
||||
- 1 vodorovné dveře na jihu-východě (y ≈ 81%) — uzavírají jižní
|
||||
část paluby.
|
||||
Z kontextu mapy je zřejmé:
|
||||
- Průchod na palubu A (západ) je pravděpodobně zabezpečený.
|
||||
- MU/TH/UR (hlavní počítač) je v oddělené sekci na jihu.
|
||||
- Detaily o zamčených/zabezpečených dveřích zjistíš od GM během hry.
|
||||
|
||||
** MU/TH/UR
|
||||
Hlavní počítač stanice (odkaz na "Mother" z filmu Alien).
|
||||
Nachází se v jižní-střední části paluby. Pravděpodobně přístupný přes
|
||||
zabezpečené dveře.
|
||||
Nachází se v jižní-střední části paluby.
|
||||
|
||||
** Řídící středisko
|
||||
Hlavní velín stanice v severovýchodní části.
|
||||
@@ -71,9 +65,8 @@ Odtud se řídí provoz celé stanice.
|
||||
|
||||
* Přístupy a průchody
|
||||
|
||||
- Centrální šachta (střed/jih) — přístup na paluby C–J
|
||||
- Centrální šachta (střed) — přístup na paluby C–J
|
||||
- Průchod na palubu A (západ) — jediný přístup na observatoř
|
||||
- Dveře (tlusté červené čáry na mapě) oddělují jednotlivé místnosti
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -54,13 +54,13 @@ Sauna a sprchy jsou podobně ve společné zóně.
|
||||
Arboretum je velký prostor v jižní třetině paluby — živé rostliny,
|
||||
stromy. Tři hydroponické zahrady dole produkují potraviny.
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Detekováno 5 dveřních segmentů:
|
||||
- 2 vodorovné dveře na východní straně (x ≈ 67–69%, y ≈ 25–35%) —
|
||||
oddělují zotavovací místnost a kajutu vedoucího stanice.
|
||||
- 2 vodorovné dveře na západ-středu (x ≈ 30%, y ≈ 45–47%) —
|
||||
oddělují kajutu lékařského důstojníka od arboreta.
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce červených hran byla nespolehlivá.
|
||||
|
||||
Paluba C je převážně otevřená — arboretum a společenské prostory
|
||||
nemají výrazné zabezpečení. Detaily zjistíš od GM.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -57,18 +57,15 @@ astrofyzikální výzkum.
|
||||
Reprezentativní prostory pro příjem hostů. Nachází se
|
||||
mezi centrální částí a dokovacím portem.
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Detekováno 19 dveřních segmentů:
|
||||
- 1 vodorovné dveře v severu-středu (y ≈ 22%) — oddělují měřící stanici
|
||||
od astrofyzikální laboratoře / kajuty vědeckého důstojníka.
|
||||
- Řada svislých dveří na krajních stranách (x ≈ 3–5% a 94–96%) —
|
||||
vnější obvod paluby, zřejmě oddělují chodby podél stěn.
|
||||
- 2 vodorovné dveře na stranách (x ≈ 11% a 88%, y ≈ 31%) — boční
|
||||
přístupy k centrální části.
|
||||
- Shluk dveří na jihu (y ≈ 82–85%) — kolem návštěvnického dokovacího
|
||||
portu. Dokovací port je zabezpečen dvojitými dveřmi (2 vodorovné +
|
||||
2 svislé páry) na středu i východní straně.
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce červených hran byla nespolehlivá.
|
||||
|
||||
Z kontextu mapy je zřejmé:
|
||||
- Návštěvnický dokovací port (jih) je pravděpodobně zabezpečený
|
||||
(přístup do vesmíru musí být kontrolovaný).
|
||||
- Detaily zjistíš od GM.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -52,11 +52,11 @@ Rozložení (mapa na výšku):
|
||||
straně a tři na pravé (východní) straně, oddělené centrální chodbou.
|
||||
Kajuty jsou uspořádány ve třech řadách pod sebou.
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Na palubě E nebyly detekovány žádné výrazné dveřní segmenty.
|
||||
Kajuty pravděpodobně mají standardní dveře, které na mapě nejsou
|
||||
vykresleny tlustými červenými čárami — mohou být normálně průchodné.
|
||||
Paluba E nemá na mapě výrazné zabezpečovací dveře.
|
||||
Kajuty mají běžné dveře (ne zabezpečené červené), ale mohou být
|
||||
zabarikádovány. Jídelna a chodby jsou otevřené prostory.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -67,19 +67,14 @@ Rozložení:
|
||||
| F7 | Jih-západ | Nahoru/dolů na G7 |
|
||||
| F8 | Jih-východ | Nahoru/dolů na G8 |
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Detekováno 15 dveřních segmentů:
|
||||
- 1 vodorovné dveře na severu-středu (y ≈ 5%) — nad vězeňskou službou.
|
||||
- 1 dlouhé vodorovné dveře na severo-východě (x ≈ 71%, y ≈ 19%) —
|
||||
oddělují severní sekci (příprava stravy, ošetřovna, prádelna).
|
||||
- 1 vodorovné dveře uprostřed (y ≈ 50%) — centrální průchod.
|
||||
- Symetrický pár dveří ve středu-západ a středu-východ (x ≈ 32% a 68%):
|
||||
- 2 vodorovné nahoře (y ≈ 52%)
|
||||
- 2 svislé páry (y ≈ 52%)
|
||||
- 2 vodorovné dole (y ≈ 53%)
|
||||
Tyto dveře zřejmě oddělují sklady / WC oblasti.
|
||||
- 3 dveřní segmenty v jih-středu (y ≈ 56–58%) — kolem průlezů F5/F6.
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce červených hran byla nespolehlivá.
|
||||
|
||||
Jako vězeňské zařízení má paluba F pravděpodobně zabezpečené dveře
|
||||
kolem cel a zbrojnice. Symetrické rozložení naznačuje kontrolované
|
||||
přístupy mezi sekcemi. Detaily zjistíš od GM.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -66,18 +66,17 @@ Rozložení:
|
||||
| G8 | Jihovýchod (jižněji)|Dolů na H8 |
|
||||
| G9 | Komunikační věž | Dolů na H9 |
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Paluba G má nejvíce detekovaných dveří (83 segmentů).
|
||||
Hlavní skupiny:
|
||||
- Sever (y < 25%): Dveře kolem nouzového shromaždiště a nástupní haly.
|
||||
Svislé dveře ve středu kontrolují přístup k centrální ose paluby.
|
||||
- Střed (y 25–55%): Mnoho dveří kolem hangárů, servisního úložiště
|
||||
androidů a EVA podů. Přístupy na dokovací porty jsou zabezpečeny
|
||||
vodorovnými dveřmi na krajních stranách (x ≈ 2–4% a 96–98%).
|
||||
- Jih (y 55–80%): Hustá síť dveří kolem nákladového doku,
|
||||
opravárenského doku a nouzových kryopodů. Průlezy G7 a G8 jsou
|
||||
v oblasti s více dveřmi.
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce (83 segmentů) byla založena na
|
||||
červených hranách v PDF a obsahovala mnoho falešných pozitivů.
|
||||
|
||||
Z kontextu mapy je zřejmé:
|
||||
- Dokovací porty 01 a 02 (krajní západ/východ) jsou zabezpečené
|
||||
(přístup do vesmíru).
|
||||
- Hangáry mají pravděpodobně kontrolované vstupy.
|
||||
- Detaily zjistíš od GM.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
@@ -69,18 +69,16 @@ Rozložení:
|
||||
| H8 | Jih-východ | Nahoru na G8 |
|
||||
| H9 | Kom. věž | Nahoru na G9 |
|
||||
|
||||
* Dveře (červené čáry na mapě)
|
||||
* Dveře
|
||||
|
||||
Detekováno 13 dveřních segmentů:
|
||||
- 4 vodorovné dveře na severu (y ≈ 6–7%), dvě dvojice na x ≈ 39% a 61% —
|
||||
kolem plasmových přenosových stanic na severu. Dvojité dveře
|
||||
(nahoře a dole) = bezpečnostní sluis.
|
||||
- 4 vodorovné dveře na sever-středu (y ≈ 34–35%), na krajích
|
||||
(x ≈ 4% a 96%) — přístupy ke vnějším plasmovým stanicím.
|
||||
- 1 svislé dveře na západ-středu (x ≈ 5%, y ≈ 44%) — oddělují
|
||||
západní průmyslovou sekci.
|
||||
- Několik dveří na jihu (y ≈ 69–83%) — kolem energetických
|
||||
sběrných článků a jižních plasmových stanic.
|
||||
*Poznámka:* Přesný počet a pozice dveří nelze z rastrové mapy spolehlivě
|
||||
určit. Předchozí automatická detekce červených hran byla nespolehlivá.
|
||||
|
||||
Z kontextu mapy je zřejmé:
|
||||
- Plasmové přenosové stanice a sběrače jsou pravděpodobně zabezpečené
|
||||
(nebezpečné průmyslové prostory).
|
||||
- Nádrž toxických plynů musí mít bezpečnostní uzávěry.
|
||||
- Detaily zjistíš od GM.
|
||||
|
||||
* Taktické poznámky pro hráče
|
||||
|
||||
|
||||
32
stanice.org
32
stanice.org
@@ -126,30 +126,16 @@ Poznámka: Paluba H má měřítko 10 m (dvojnásobné), takže je největší p
|
||||
|
||||
* Dveře
|
||||
|
||||
Na mapách jsou dveře označeny tlustými červenými čárami.
|
||||
Dveře představují překážky — mohou být zamčené, zablokované nebo poškozené.
|
||||
Na originálních mapách jsou dveře označeny tlustými červenými čárami.
|
||||
Přesný počet a pozice dveří však nelze z rastrových PDF spolehlivě
|
||||
extrahovat — automatická detekce červených hran produkovala falešné
|
||||
pozitivy.
|
||||
|
||||
Analýzou červených pixelů a filtrací protáhlých segmentů
|
||||
(typických pro dveře) bylo v mapách detekováno:
|
||||
|
||||
| Paluba | Skutečných dveří | Poznámka |
|
||||
|--------+------------------+-----------------------------------|
|
||||
| A | ? | Observatoř — nelze spolehlivě filtrovat |
|
||||
| B | ~ 15 | Kolem vstupu na A, sklad |
|
||||
| C | ~ 5 | Minimum — otevřená paluba |
|
||||
| D | ~ 19 | Zabezpečený dokovací port |
|
||||
| E | 0 | Bez zabezpečovacích dveří |
|
||||
| F | ~ 15 | Kolem vězeňských prostor |
|
||||
| G | ~ 83 | NEJVÍCE — silně zabezpečená |
|
||||
| H | ~ 13 | Kolem plasmových stanic |
|
||||
| I | ? | Záchranné moduly — kruhové prvky |
|
||||
| J | ? | Reaktor — kruhové obrysy baterií |
|
||||
|
||||
Detailní popis dveří je v souboru každé paluby v sekci "Dveře".
|
||||
|
||||
*Pozn.:* Paluba G má s 83 dveřmi zdaleka nejvíce zabezpečených
|
||||
průchodů — logické pro palubu s hangáry a dokovacími porty
|
||||
(přístupy do kosmu musí být zabezpečené).
|
||||
Obecná pravidla:
|
||||
- Dokovací porty a přístupy do vesmíru jsou vždy zabezpečené.
|
||||
- Vězeňské prostory (paluba F) mají kontrolované průchody.
|
||||
- Průmyslové prostory (paluba H) mají bezpečnostní uzávěry.
|
||||
- Detaily o konkrétních dveřích řeší GM během hry.
|
||||
|
||||
* Ikonky na mapách
|
||||
|
||||
|
||||
325
workflow.org
325
workflow.org
@@ -1,246 +1,157 @@
|
||||
#+TITLE: Workflow — Jak hrát Alien RPG jako nevidomý hráč
|
||||
#+STARTUP: overview
|
||||
|
||||
* Úvod
|
||||
* Přehled systému
|
||||
|
||||
Tento dokument popisuje osvědčené postupy a workflow pro hraní
|
||||
stolního RPG Alien jako nevidomý hráč. Cílem je plnohodnotný
|
||||
herní zážitek srovnatelný s vidícími spoluhráči.
|
||||
Tento repozitář obsahuje dva systémy:
|
||||
1. *alien-rpg.el* — Elisp herní engine pro Doom Emacs (PRIMÁRNÍ)
|
||||
2. *org soubory* — referenční texty palub (pro studium před hrou)
|
||||
|
||||
Během hry používej VÝHRADNĚ =alien-rpg.el= přes =SPC G= prefix.
|
||||
Org soubory slouží jen pro klidné prostudování před hrou.
|
||||
|
||||
* Instalace
|
||||
|
||||
Přidej do =~/.doom.d/config.el=:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(load! "~/alienrpg/alien-rpg")
|
||||
#+end_src
|
||||
|
||||
Po restartu Emacsu (nebo =M-x load-file RET ~/alienrpg/alien-rpg.el=)
|
||||
budou dostupné všechny příkazy pod =SPC G=.
|
||||
|
||||
* Klávesové zkratky — SPC G (Alien RPG prefix)
|
||||
|
||||
** Navigace (kde jsem, kam jdu)
|
||||
|
||||
| Klávesa | Příkaz | Co udělá |
|
||||
|----------+---------------------+----------------------------------------------|
|
||||
| =SPC G w= | Kde jsem | Zobrazí palubu, místnost, okolí, přístupy |
|
||||
| =SPC G m= | Přesun | Completion seznam propojených místností |
|
||||
| =SPC G t= | Teleport | Přesun kamkoliv (když GM řekne novou pozici) |
|
||||
| =SPC G f= | Najít místnost | Info o libovolné místnosti na stanici |
|
||||
| =SPC G p= | Najít cestu | BFS nejkratší cesta z aktuální pozice do cíle |
|
||||
| =SPC G d= | Přehled paluby | Všechny místnosti na zvolené palubě |
|
||||
| =SPC G o= | Přehled stanice | Vertikální boční pohled (A nahoře, J dole) |
|
||||
| =SPC G k= | Klíčová místa | Kam pro zbraně, léky, únik, počítač |
|
||||
|
||||
** Postava a kostky
|
||||
|
||||
| Klávesa | Příkaz | Co udělá |
|
||||
|----------+---------------------+----------------------------------------------|
|
||||
| =SPC G s= | Stav postavy | Health, Stress, výbava, pozice, zranění |
|
||||
| =SPC G i= | Dovednosti | Seřazené od nejsilnějších, s počtem kostek |
|
||||
| =SPC G r= | Hodit kostkou | Vybere dovednost → hodí → úspěchy + panika |
|
||||
|
||||
** Úprava stavu během hry
|
||||
|
||||
| Klávesa | Příkaz | Co udělá |
|
||||
|----------+---------------------+----------------------------------------------|
|
||||
| =SPC G h= | Nastavit Health | Zadej číslo 0–4 |
|
||||
| =SPC G S= | Nastavit Stress | Zadej číslo 0+ |
|
||||
| =SPC G j= | Přidat zranění | Textový popis zranění |
|
||||
| =SPC G g= | Přidat výbavu | Nový předmět |
|
||||
| =SPC G W= | Přidat zbraň | Nová zbraň |
|
||||
| =SPC G b= | Nastavit Buddy | Jméno spoluhráče |
|
||||
| =SPC G R= | Nastavit Rival | Jméno rivala |
|
||||
|
||||
** Poznámky a uložení
|
||||
|
||||
| Klávesa | Příkaz | Co udělá |
|
||||
|----------+---------------------+----------------------------------------------|
|
||||
| =SPC G n= | Přidat poznámku | Timestampovaná poznámka |
|
||||
| =SPC G N= | Zobrazit poznámky | Všechny poznámky z hry |
|
||||
| =SPC G q= | Uložit stav | Uloží do alien-rpg-save.el |
|
||||
| =SPC G Q= | Načíst stav | Načte uložený stav |
|
||||
|
||||
* Před hrou — příprava
|
||||
|
||||
** 1. Nastudovat strukturu stanice
|
||||
** 1. Nastudovat mentální model
|
||||
|
||||
Otevřete =stanice.org= a prostudujte si:
|
||||
- Jak jsou paluby řazeny (A nahoře, J dole)
|
||||
- Centrální šachta (B–J)
|
||||
- Systém průlezů (F, G, H)
|
||||
- Kde jsou klíčové systémy (MU/TH/UR, DA/UT/UR)
|
||||
Stanice je *vertikální věž* s 10 palubami (A nahoře, J dole):
|
||||
- Patro 1 (A) = střecha s dalekohledem (izolovaná, jen z B)
|
||||
- Patra 2–5 (B–E) = velení, medicína, věda, bydlení
|
||||
- Patra 6–8 (F–H) = vězení, hangáry, průmysl (propojené průlezy)
|
||||
- Patra 9–10 (I–J) = únik a reaktor
|
||||
|
||||
Centrální šachta prochází palubami B–J (střed každé paluby).
|
||||
|
||||
** 2. Nastudovat klíčové paluby
|
||||
|
||||
Nemusíte znát všech 10 palub nazpaměť. Zaměřte se na:
|
||||
1. Palubu, kde vaše hra začíná (zeptejte se GM)
|
||||
2. Palubu se zbraněmi (F — zbrojnice)
|
||||
3. Palubu s únikovými cestami (G — hangáry, I — záchranné moduly)
|
||||
4. Palubu s medicínou (C — ošetřovna)
|
||||
Nemusíš znát vše nazpaměť. Zaměř se na:
|
||||
1. Palubu kde hra začíná (zeptej se GM)
|
||||
2. Zbrojnici: =SPC G f= → "Zbrojnice" (paluba F, sever-střed)
|
||||
3. Únikové cesty: =SPC G k= zobrazí vše
|
||||
4. Ošetřovnu: paluba C, sever-západ
|
||||
|
||||
** 3. Nastudovat herní kartu postavy
|
||||
** 3. Nastudovat svou postavu
|
||||
|
||||
Otevřete =herni_karta.org= a projděte si:
|
||||
- Atributy a dovednosti — znát svá silná čísla (Ranged Combat 7, Manipulation 7)
|
||||
- Talent "Analýza" — jak a kdy ho použít
|
||||
- Výbavu — CBRN detektor, lokátor PDT, svítilna
|
||||
- Vztahy — doplnit Buddy a Rival před začátkem hry
|
||||
|
||||
** 4. Připravit si mentální model
|
||||
|
||||
Stanice je *vertikální věž*. Představte si ji jako budovu s 10 patry:
|
||||
- Patro 1 (A) = střecha s dalekohledem
|
||||
- Patra 2–5 (B–E) = kanceláře, bydlení, jídlo
|
||||
- Patra 6–8 (F–H) = průmysl, vězení, hangáry
|
||||
- Patra 9–10 (I–J) = únik a reaktor
|
||||
|
||||
* Během hry — herní karta
|
||||
|
||||
** Sledování zdraví a stresu
|
||||
|
||||
Během hry průběžně aktualizujte sekci "Stav během sezení" v =herni_karta.org=:
|
||||
- Health a Stress se mění často — mějte je vždy aktuální
|
||||
- Při paniku se podívejte do tabulky v sekci "Panic tabulka"
|
||||
- Zranění a traumata zapisujte do sekce "Critical Injuries"
|
||||
|
||||
** Používání dovedností
|
||||
|
||||
Když GM řekne "hoď si na X", rychle najdete celkový počet kostek:
|
||||
- =C-s= a hledejte název dovednosti v =herni_karta.org=
|
||||
- Sloupec "Celkem" = počet základních kostek (+ případné stress kostky)
|
||||
|
||||
Vaše nejsilnější hody:
|
||||
=SPC G i= (dovednosti) a =SPC G s= (stav). Tvé silné stránky:
|
||||
- Ranged Combat: 7 kostek (střelba)
|
||||
- Manipulation: 7 kostek (přesvědčování)
|
||||
- Close Combat: 5 kostek
|
||||
- Heavy Machinery: 5 kostek
|
||||
- Observation: 5 kostek (+ talent Analýza)
|
||||
- Observation: 5 kostek + talent Analýza
|
||||
|
||||
Vaše nejslabší hody:
|
||||
- Stamina, Mobility, Piloting, Comtech, Survival, Command, Medical Aid:
|
||||
3–4 kostky (jen atribut, žádný bonus)
|
||||
** 4. Doplnit Buddy a Rivala
|
||||
|
||||
** Používání talentu Analýza
|
||||
Před začátkem hry: =SPC G b= a =SPC G R=.
|
||||
|
||||
Talent "Analýza" je klíčový pro vaši postavu:
|
||||
1. Řekněte GM: "Chci analyzovat [organismus/předmět]"
|
||||
2. Hoďte na Observation (5 kostek + stress kostky)
|
||||
3. Za KAŽDÝ úspěch (6) získáte jednu informaci
|
||||
4. Funguje na mimozemské organismy i neznámé předměty
|
||||
* Během hry — workflow
|
||||
|
||||
** Správa výbavy
|
||||
** Typický herní cyklus
|
||||
|
||||
Při nálezu nové výbavy nebo spotřebování zásob aktualizujte
|
||||
sekci "Gear" v =herni_karta.org=.
|
||||
1. GM popíše situaci
|
||||
2. =SPC G w= → ověříš co víš o pozici
|
||||
3. Rozhodneš se co uděláš
|
||||
4. =SPC G m= → přesuneš se NEBO =SPC G r= → hodíš na dovednost
|
||||
5. Když se změní Health/Stress: =SPC G h= / =SPC G S=
|
||||
6. Důležitá informace? =SPC G n= → poznámka
|
||||
|
||||
Vaše počáteční výbava:
|
||||
1. Svítilna — základní osvětlení
|
||||
2. CBRN detektor — detekuje viry, toxiny a radiaci (velmi užitečné!)
|
||||
3. Lokátor PDT — sledování pozic členů týmu
|
||||
** Když GM řekne "jsi na palubě X v místnosti Y"
|
||||
|
||||
* Během hry — navigace
|
||||
1. =SPC G t= → teleport na správnou místnost
|
||||
2. =SPC G w= → ověříš okolí
|
||||
|
||||
** Jak se ptát GM na polohu
|
||||
** Když potřebuješ utéct
|
||||
|
||||
Používejte strukturované otázky:
|
||||
- "Na jaké palubě jsem?"
|
||||
- "Jaké místnosti jsou vidět/slyšet z mé pozice?"
|
||||
- "Kolik dveří/východů má tato místnost?"
|
||||
- "Kterým směrem je centrální šachta?"
|
||||
- "Jsou zde průlezy na jinou palubu?"
|
||||
1. =SPC G p= → najdi cestu do bezpečí (vybereš cíl, engine najde cestu)
|
||||
2. =SPC G k= → klíčová místa (zbrojnice, hangáry, kapsle)
|
||||
|
||||
** Jak popisovat svůj pohyb
|
||||
** Když GM řekne "hoď si na X"
|
||||
|
||||
Používejte jasné a jednoznačné příkazy:
|
||||
- "Jdu do [název místnosti]"
|
||||
- "Otevírám dveře na [sever/jih/západ/východ]"
|
||||
- "Lezu průlezem [číslo] na palubu [písmeno]"
|
||||
- "Používám centrální šachtu na palubu [písmeno]"
|
||||
- "Prozkoumávám místnost"
|
||||
1. =SPC G r= → vyber dovednost → automatický hod
|
||||
2. Výsledek zobrazí úspěchy a paniku okamžitě
|
||||
|
||||
** Jak sledovat polohu skupiny
|
||||
** Na konci sezení
|
||||
|
||||
Domluvte se s GM na systému:
|
||||
- GM by měl na začátku každého kola říct, kde kdo je
|
||||
- Požádejte spoluhráče, aby hlásili svůj pohyb nahlas
|
||||
- Pokud se skupina rozdělí, požádejte GM o shrnutí pozic
|
||||
=SPC G q= → uloží vše (pozice, health, stress, výbava, poznámky)
|
||||
|
||||
* Během hry — souboj a nebezpečí
|
||||
Příští sezení: =SPC G Q= → načte stav
|
||||
|
||||
** Orientace v boji
|
||||
* Principy přístupnosti
|
||||
|
||||
Požádejte GM o tyto informace:
|
||||
- "Kolik nepřátel a kde přibližně?"
|
||||
- "Jaké mám možnosti krytí?"
|
||||
- "Kolik východů má tato místnost?"
|
||||
- "Jak daleko je nejbližší nepřítel?"
|
||||
** Proč NE org soubory během hry
|
||||
|
||||
** Plánování útěku
|
||||
- Org soubory jsou *dlouhé* — hledání v nich je pomalé
|
||||
- Screen reader čte celý buffer — příliš mnoho textu
|
||||
- Jeden příkaz v alien-rpg.el = jedna informace. Žádné scrollování.
|
||||
|
||||
Vždy si udržujte přehled o:
|
||||
1. Nejbližší cestě k centrální šachtě
|
||||
2. Nejbližším průlezu (na palubách F, G, H)
|
||||
3. Nejbližší místnosti s dveřmi (lze zabarikádovat)
|
||||
** Proč completion (SPC G m)
|
||||
|
||||
* Během hry — práce s org soubory
|
||||
- Completion funguje s VoiceOverem
|
||||
- Fuzzy search — stačí napsat "zbro" a najde "Zbrojnice"
|
||||
- Zobrazí jen relevantní možnosti (propojené místnosti)
|
||||
|
||||
** Rychlé vyhledávání v Emacsu
|
||||
** Proč nulové nároky na GM
|
||||
|
||||
Během hry můžete rychle najít informace:
|
||||
- Vše je v Elispu, nic se neptáš GM
|
||||
- GM jen řekne "jsi v místnosti X" → ty stiskneš =SPC G t=
|
||||
- Hod kostkou je tvůj — =SPC G r= → výsledek za sekundu
|
||||
|
||||
- =C-c C-j= (org-goto) — skočit na nadpis v aktuálním souboru
|
||||
- =C-s= — hledat text v souboru
|
||||
- =M-x org-agenda= a pak =s= — hledat ve všech org souborech
|
||||
* Komunikace s GM — minimální
|
||||
|
||||
** Doporučený postup při průzkumu nové paluby
|
||||
Doporučená konvence (řekni GM jednou, na začátku):
|
||||
1. "Vždy řekni název paluby a místnosti, když se přesuneme."
|
||||
2. "Kolik nepřátel a kde, když začne souboj."
|
||||
|
||||
1. Otevřete soubor dané paluby: =~/alienrpg/paluby/paluba-X.org=
|
||||
2. Přečtěte si "Celkový popis" (=C-c C-n= skočí na další nadpis)
|
||||
3. Projděte "Seznam místností"
|
||||
4. Zkontrolujte "Průlezy" (na F, G, H)
|
||||
5. Přečtěte "Taktické poznámky"
|
||||
|
||||
* Komunikace s GM
|
||||
|
||||
** Co požádat GM před hrou
|
||||
|
||||
Požádejte Game Mastera (GM), aby:
|
||||
1. *Hlásil název paluby a místnosti* pokaždé, když se přesunete
|
||||
2. *Popisoval dveře a východy* — kolik jich je a kam vedou
|
||||
3. *Upozorňoval na zvuky a pachy* — to jsou vaše hlavní vodítka
|
||||
(ve hře i pro imerzivní zážitek)
|
||||
4. *Počítal vzdálenosti* — "zbrojnice je asi 15 metrů odsud"
|
||||
|
||||
** Doporučená dohoda s GM
|
||||
|
||||
Navrhněte GM tuto konvenci:
|
||||
- Každý popis lokace začíná: "[Paluba X] — [Název místnosti]"
|
||||
- Východy jsou vždy uvedeny: "Východy: sever (chodba), jih (dveře do cel)"
|
||||
- Nebezpečí je uvedeno okamžitě: "Slyšíš podezřelý zvuk ze stropu"
|
||||
|
||||
* Tipy pro plnohodnotný zážitek
|
||||
|
||||
** Atmosféra
|
||||
|
||||
Alien RPG je hororová hra. Požádejte GM nebo spoluhráče:
|
||||
- Pustit atmosférický zvuk (ambientní zvuky stanice, bzučení,
|
||||
skřípání kovu) — to oceníte jako nevidomý hráč obzvlášť
|
||||
- Popisovat prostředí smyslově (zvuky, pachy, teplota, vibrace)
|
||||
- Upozorňovat na změny prostředí (ztichne motor, blikají světla
|
||||
= pro vás "slyšíš, jak motor přestal bručet")
|
||||
|
||||
** Vaše výhoda
|
||||
|
||||
Jako nevidomý hráč máte výjimečnou schopnost:
|
||||
- Pamatovat si rozložení na základě slovního popisu
|
||||
- Sledovat zvukové stopy, které vidící hráči přehlížejí
|
||||
- Tvorba mentální mapy — můžete GM nabídnout svůj popis
|
||||
rozložení a ověřit si, že ho máte správně
|
||||
|
||||
** Role-play tip
|
||||
|
||||
Pokud to sedí k vaší postavě, můžete tematicky využít:
|
||||
- Vaše postava je expert na akustiku / zvukové senzory
|
||||
- Vaše postava má vynikající paměť na rozložení prostor
|
||||
- Na tmavé stanici (výpadek proudu) jste nejschopnějším členem týmu
|
||||
|
||||
* Rychlá referenční karta
|
||||
|
||||
** Klíčová místa pro prof. Navarreho
|
||||
|
||||
| Potřebuji... | Paluba | Místnost |
|
||||
|-----------------------------+--------+--------------------------|
|
||||
| Analyzovat nález (talent) | kdekoli| Stačí mít předmět u sebe |
|
||||
| Laboratoř (biochemie) | D | Astrofyzikální lab. |
|
||||
| Detekovat toxiny (CBRN) | kdekoli| Máš CBRN detektor |
|
||||
| Sledovat tým (PDT) | kdekoli| Máš lokátor PDT |
|
||||
|
||||
** Klíčová místa (kam utéct / co najít)
|
||||
|
||||
| Potřebuji... | Paluba | Místnost |
|
||||
|----------------------+--------+------------------------|
|
||||
| Zbraně | F | Zbrojnice |
|
||||
| Lékařskou pomoc | C | Ošetřovna/laboratoř |
|
||||
| Počítač stanice | B | MU/TH/UR |
|
||||
| Komunikaci | G/H | DA/UT/UR (kom. věž) |
|
||||
| Evakuaci (loď) | G | Hangáry 01, 02 |
|
||||
| Evakuaci (kapsle) | I | Záchranné moduly |
|
||||
| Skrýš/barikádu | E | Kajuty (6 kusů) |
|
||||
| Nouzový kryospánek | G | Nouzové kryopody |
|
||||
| Zničit stanici | J | Strojovna reaktoru |
|
||||
| Nářadí/improvizaci | H | Dílny |
|
||||
| EVA skafandr | G | EVA pody (4 kusy) |
|
||||
|
||||
** Vertikální přesuny
|
||||
|
||||
| Odkud | Kam | Jak |
|
||||
|-------+-------+---------------------------------------|
|
||||
| B–J | B–J | Centrální šachta (střed každé paluby) |
|
||||
| B | A | Průchod "A" (západ paluby B) |
|
||||
| F | G | Průlezy F1,F2,F5,F6,F7,F8 |
|
||||
| G | F | Průlezy G1,G2,G5,G6,G7,G8 |
|
||||
| G | H | Průlezy G3,G4,G7,G8,G9 |
|
||||
| H | G | Průlezy H3,H4,H7,H8,H9 |
|
||||
|
||||
* Poznámky z konkrétních her
|
||||
:PROPERTIES:
|
||||
:VISIBILITY: folded
|
||||
:END:
|
||||
|
||||
Sem si můžete během hraní zapisovat poznámky:
|
||||
|
||||
** Sezení 1
|
||||
- Datum:
|
||||
- Startovní paluba:
|
||||
- Poznámky:
|
||||
|
||||
** Sezení 2
|
||||
- Datum:
|
||||
- Poznámky:
|
||||
To je vše. Zbytek řeší alien-rpg.el.
|
||||
|
||||
Reference in New Issue
Block a user