Unify Ricardo Valdes and Julian Vane as two atemporal timelines

Per explicit user decision, the Purgatorio is established as a timeless
realm that judges guilty souls from different eras independently. Ricardo
Valdes (game-concept.md, implemented vertical slice) and Julian Vane
(guion.md, "Gambito de Sombras", design-only) become Timeline I and II of
the same cosmology rather than two competing canons.

- Add design/narrative/purgatorio-cosmology.md: the canonical bridge doc.
  Unifies la_muerte / El Coleccionista as one entity wearing two narrative
  masks, and Dead Kings / Legados as one system at two scopes (King-only vs
  any named piece). Confirms the Dead Kings pool is shared across both
  timelines by explicit decision, with the technical implication spelled
  out (no timeline filter field should be added to DeadKingPool without a
  new ADR reversing this).
- Register julian_vane and clara_vane in design/registry/entities.yaml, and
  link el_coleccionista as an alias of the existing la_muerte entity.
- Add systems-index.md rows for the future Timeline II campaign and for
  Legados as an extension of the existing Piece Identity / Dead Kings
  systems, rather than new systems to build from scratch.
- Cross-reference game-concept.md to the new cosmology doc.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-24 17:34:55 -03:00
co-authored by Claude Sonnet 4.6
parent 83e5e53e94
commit 9c8e7d281e
4 changed files with 165 additions and 1 deletions
+4
View File
@@ -2,6 +2,10 @@
*Created: 2026-04-12*
*Status: Draft*
*Canon note (2026-06-17): este documento describe la **Línea Atemporal I**
(Ricardo Valdés) dentro de la cosmología unificada del Purgatorio. Ver
`design/narrative/purgatorio-cosmology.md` para cómo coexiste con la Línea
Atemporal II (Julian Vane / "Gambito de Sombras", `guion.md`).*
---
+9
View File
@@ -15,6 +15,13 @@ revelan la historia. Necesita sistemas de ajedrez completos, un meta-layer de ca
un sistema de dados para el Purgatorio, narrativa/diálogos, identidad de piezas,
persistencia de Reyes Muertos, y UI para todo ello.
El Purgatorio es atemporal y aloja más de una línea narrativa (ver
`design/narrative/purgatorio-cosmology.md`): la campaña de Ricardo Valdés
(sistemas 1-28, ya implementada) es la **Línea Atemporal I**. La campaña de
Julian Vane / "Gambito de Sombras" (`guion.md`, sistemas 29-30) es la
**Línea Atemporal II** — reutiliza toda la infraestructura existente en vez
de duplicarla.
---
## Systems Enumeration
@@ -49,6 +56,8 @@ persistencia de Reyes Muertos, y UI para todo ello.
| 26 | Accessibility Options | Meta | Alpha | ❌ No iniciado | — | — |
| 27 | Analytics | Meta | Full Vision | ❌ No iniciado | — | — |
| 28 | Cloud Sync (Dead Kings) | Persistence | Full Vision | ❌ No iniciado | — | Dead Kings System |
| 29 | Línea Atemporal II — "Gambito de Sombras" Campaign | Progression | Full Vision | ❌ No iniciado (solo `guion.md`) | design/narrative/purgatorio-cosmology.md | Campaign System, Piece Identity, Dice System, Dialogue System, Dead Kings |
| 30 | Legados (extensión de Dead Kings a piezas no-Rey) | Meta | Full Vision | ❌ No iniciado (solo `guion.md`) | design/narrative/purgatorio-cosmology.md | Dead Kings System, Piece Identity |
---
+120
View File
@@ -0,0 +1,120 @@
# El Purgatorio del Ajedrez — Cosmología y Líneas Atemporales
> **Canon Level**: Established
> **Last Updated**: 2026-06-17
> **Author**: Claude, por instrucción explícita del usuario (unificar `game-concept.md` / GDDs de mayo con `guion.md`)
> **Cross-references**: `design/gdd/game-concept.md`, `design/gdd/game-pillars.md`, `design/gdd/piece-identity.md`, `design/gdd/dice-system.md`, `design/gdd/dead-kings.md`, `design/gdd/campaign-system.md`, `guion.md`, `design/registry/entities.yaml`
## Premisa Central
El Purgatorio del Ajedrez no es un lugar — es un **estado atemporal**. Existe
fuera del flujo lineal del tiempo humano, lo que le permite reclamar almas de
cualquier época sin que coincidan entre sí. Reclama específicamente a personas
cuya negligencia, ambición o cobardía causó la muerte de quienes dependían de
ellas. Cada alma reclamada vive su propio juicio en soledad — un tablero de
ajedrez donde sus seres queridos perdidos son las piezas — sin saber que otras
almas, de otros siglos, atraviesan exactamente el mismo proceso en paralelo.
Esto resuelve, sin contradicción, la existencia de dos protagonistas
("Reyes") con historias, nombres y estilos de juego completamente distintos:
**no son el mismo personaje en dos versiones — son dos almas distintas,
juzgadas en dos líneas atemporales separadas, dentro del mismo Purgatorio.**
## Línea Atemporal I — Ricardo Valdés (implementada)
- **Fuente canónica**: `design/gdd/game-concept.md`, `piece-identity.md`, `campaign-system.md`, `dialogue-system.md`, `dead-kings.md`
- **Pecado**: Negligencia empresarial — la fábrica de Ricardo causó la muerte
de empleados y de su esposa Elena.
- **Estructura de campaña**: vertical slice de 3 tableros (La Fábrica, El
Hospital, La Corte del Juicio).
- **Tono**: solemne, centrado en el peso emocional de la identidad de piezas
y el riesgo real de los Dados del Purgatorio.
- **Estado de implementación**: sistemas backend completos (Piece Identity,
Dice System, Campaign System, Dialogue System, Dead Kings, AI con 3
dificultades) — ver `production/sprints/sprint-0{1,2,3}-*.md`.
## Línea Atemporal II — Julian Vane / "Gambito de Sombras" (futura expansión)
- **Fuente canónica**: `guion.md`
- **Pecado**: Falsificación de informes de seguridad — el colapso del
almacén de "Vane Logistics" mató a 48 trabajadores, a su mejor amigo y a su
esposa Clara. Culpó a un ingeniero inocente, que se quitó la vida en prisión.
- **Estructura de campaña**: 30 niveles / 4 actos (La Negación, La Ira de los
Guardianes, Las Torres del Aislamiento, El Juego de la Reina), con
modificadores de nivel (Supervivencia, Caza, Pacto del Silencio, Mente
Fragmentada, Rebelión de la Reina) y mecánicas de tablero propias (Niebla
de Guerra, Casillas Malditas).
- **Tono**: más sarcástico y cruel por parte del antagonista; el jugador es
explícitamente cómplice, no solo culpable por omisión.
- **Estado de implementación**: solo diseño (`guion.md`) — no implementado
todavía. Reutilizará la misma infraestructura backend de la Línea I
(Piece Identity, Dice System, Campaign System, Dialogue System, Dead
Kings/Legados) en vez de duplicar sistemas. **No crear una segunda
jerarquía de clases para esta línea** — extender los managers existentes
con los datos/contenido de esta campaña (nuevos `CampaignConfig`,
`ChapterData`, identidades de pieza, diálogos), igual que la Línea I.
## La Muerte / El Coleccionista — una sola entidad, dos máscaras
`la_muerte` (registrada en `design/registry/entities.yaml`, fuente:
`dice-system.md`) es la entidad atemporal que administra el Purgatorio y
dirige el minijuego de dados en ambas líneas. **El Coleccionista** (la voz
narradora de `guion.md`) es la máscara que esta misma entidad adopta
específicamente para Julian Vane — más juguetona, sarcástica, y literal en su
metáfora de "coleccionar" almas (coincide mecánicamente con el pool de Reyes
Muertos: el Coleccionista llama "estantería" a lo que el sistema implementa
como `DeadKingPool`).
No son dos personajes — es una sola entidad cuya personalidad narrativa se
adapta al alma que está juzgando. Para Ricardo se presenta con un tono más
solemne ("la Muerte"); para Julian, con un tono más cruel y juguetón ("el
Coleccionista"). Los diseñadores de diálogo deben mantener la voz consistente
dentro de cada línea, pero pueden tratarlas como la misma entidad subyacente
si una mecánica futura las cruza (ver Reglas de Consistencia Cruzada).
## Reyes Muertos / Legados — un solo sistema, dos niveles de alcance
- **Reyes Muertos** (`design/gdd/dead-kings.md`, ya implementado): se activa
únicamente cuando el **Rey** de una campaña cae (jaque mate). El jugador
inscribe nombre + mensaje; ese Rey entra al pool global y puede aparecer
como enemigo en campañas futuras — de cualquier línea atemporal.
- **Legados** (`guion.md`, no implementado): la misma idea aplicada a
**cualquier pieza con identidad**, no solo al Rey. `guion.md` ya tiene
contenido de Legados de Peones, Torres, Caballos y Alfiles. Esto se
implementa como una **extensión del Piece Identity System existente**
(`PieceIdentityManager`), no como un sistema nuevo: cuando una pieza no-Rey
muere permanentemente, se le ofrece la misma opción de inscribir un mensaje
que hoy solo tiene el Rey, y ese mensaje entra al mismo pool.
### Regla de Consistencia Cruzada (decisión confirmada 2026-06-17)
**El pool de Reyes Muertos/Legados es compartido entre ambas líneas
atemporales.** Un jugador que falló en la campaña de Ricardo puede aparecer
como pieza enemiga en la campaña de Julian, y viceversa. Esto no es un error
de continuidad — es la prueba mecánica de la premisa central: el Purgatorio
no distingue en qué siglo pecaste, todos caen en el mismo lugar.
**Implicación técnica**: `DeadKingPool` no necesita (y no debe agregarse) un
campo de "línea temporal" o "campaña de origen" para filtrar entradas — el
pool es deliberadamente agnóstico a la campaña. Si en el futuro se decide
filtrar por línea, eso requiere una ADR explícita que revierta esta decisión,
no un cambio silencioso del código.
## Qué NO se unifica (diferencias intencionales que se mantienen)
- Los nombres, historias y elencos de piezas de cada línea son distintos y
**no se mezclan dentro de una misma campaña** — Ricardo nunca menciona a
Julian ni viceversa; ninguno sabe que el otro existe.
- El tono narrativo de cada línea se mantiene distinto (ver tablas de tono
arriba) — no homogeneizar el diálogo entre líneas.
- Las mecánicas de tablero exclusivas de cada línea (Niebla de Guerra,
Casillas Malditas de la Línea II) no se retroportan a la Línea I a menos
que se diseñe explícitamente esa decisión por separado.
## Open Questions
| Pregunta | Owner | Resolución |
|----------|-------|------------|
| ¿La UI debe mostrar de qué línea atemporal viene un Rey Muerto/Legado al aparecer como enemigo? | `game-designer` / `ui-programmer` | Pendiente — afecta `DeadKingRevealUI.cs` |
| ¿Existirá una tercera línea atemporal en el futuro, o el diseño se cierra en dos? | Usuario | Pendiente |
| ¿"El Coleccionista" debe tener líneas de diálogo que insinúen (sin confirmarlo) que es la misma entidad que "la Muerte"? | `narrative-director` / `writer` | Pendiente — Easter egg potencial para jugadores que completen ambas campañas |
+32 -1
View File
@@ -37,7 +37,7 @@
# Each entry: name, status, source, referenced_by[], attributes{}, added, revised
version: 1
last_updated: "2026-04-12"
last_updated: "2026-06-17"
# ─── ENTITIES ────────────────────────────────────────────────────────────────
# Named game-world objects: enemies, NPCs, characters, factions, bosses.
@@ -82,9 +82,40 @@ entities:
- design/gdd/dice-system.md
- design/gdd/dialogue-system.md
- design/gdd/campaign-system.md
- design/narrative/purgatorio-cosmology.md
role: antagonist_npc
relationship: judge_of_purgatory
aliases:
- name: el_coleccionista
used_in_timeline: julian_vane
note: "Misma entidad, máscara narrativa distinta para la Línea Atemporal II — ver purgatorio-cosmology.md"
added: 2026-04-12
revised: "2026-06-17"
- name: julian_vane
status: active
source: guion.md
referenced_by:
- design/narrative/purgatorio-cosmology.md
- guion.md
role: king
relationship: protagonist
timeline: "II — Gambito de Sombras"
notes: "CEO de Vane Logistics; falsificó informes de seguridad, causando el colapso de un almacén (48 muertos). No implementado en código todavía."
added: 2026-06-17
revised: ""
- name: clara_vane
status: active
source: guion.md
referenced_by:
- design/narrative/purgatorio-cosmology.md
- guion.md
role: queen
relationship: wife
timeline: "II — Gambito de Sombras"
notes: "Esposa de Julian Vane; murió en el colapso del almacén. No implementado en código todavía."
added: 2026-06-17
revised: ""
# Example (remove when first real entry is added):