- 39 39 jugadores registrados registered players
- 687 687 actividades registradas logged activities
- 3.087 3,087 mutaciones auditadas audited mutations
- 195 195 guías en 15 categorías guides across 15 categories
- 54 54 migraciones sin un solo reset migrations, never a reset
- feb 2026 Feb 2026 en producción desde in production since
El problema y la forma
The problem and the shape
Las comunidades de rol por texto funcionan a punta de spreadsheets, mensajes fijados y la memoria de los moderadores. Las reglas se desvían, las fichas quedan desactualizadas, y cada compra o subida de nivel necesita un humano que la verifique. Izanagi reemplaza eso con software: el estado del juego vive en una base de datos, el bot hace cumplir las reglas dentro de Discord — donde la comunidad ya juega — y la web expone ese mismo estado a cualquiera con el link. No hay paso de sincronización porque no hay nada que sincronizar: Discord y la web leen y escriben la misma fuente de verdad.
Play-by-post RPG communities run on spreadsheets, pinned messages, and moderator memory. Rules drift, character sheets go stale, and every trade or level-up needs a human to verify it. Izanagi replaces that with software: the game state lives in one database, the bot enforces the rules inside Discord where the community already plays, and the website exposes the same state to anyone with a link. There is no sync step because there is nothing to sync — Discord and the web read and write the same source of truth.
Arquitectura
Architecture
- Un solo proceso. El servidor web corre dentro del proceso del bot y comparte el mismo cliente de Prisma. Publicar una guía desde Discord invalida la caché de la web en el acto, sin cola ni webhook de por medio. One process. The web server runs inside the bot process and shares the same Prisma client. Publishing a guide from Discord invalidates the web cache immediately — no queue, no webhook.
- Toda mutación es una transacción con auditoría. Cada cambio de recursos escribe su registro con los deltas dentro de la misma transacción, y las operaciones compuestas quedan agrupadas para poder revertirse enteras. Every mutation is an audited transaction. Each resource change writes its own log with the deltas inside the same transaction, and compound operations stay grouped so they can be reverted whole.
- Las plazas no son un contador. La ocupación de cada habilidad se calcula en vivo desde las fichas, con la herencia entre guías resuelta al vuelo: no existe un número que pueda quedar desincronizado. Slots are not a counter. Occupancy is computed live from the character sheets, with cross-guide inheritance resolved on the fly: there is no stored number that can drift.
- El corpus es la fuente de verdad. Las guías se editan desde Discord, se guardan en la base y desde ahí se renderizan a los hilos del foro y a la web. Un solo documento, dos superficies. The corpus is the source of truth. Guides are edited from Discord, stored in the database, and rendered from there to both the forum threads and the website. One document, two surfaces.
Subsistemas
Subsystems
-
Personajes
Characters
Registro guiado y ficha canónica anclada en el hilo del jugador.
Guided registration and a canonical sheet pinned to the player thread.
-
Sucesos
Events
Misiones, combates y crónicas: se registran con evidencia y el staff aprueba con una reacción.
Missions, duels and chronicles: logged with evidence, approved by the staff with a reaction.
-
Narraciones
Narrations
Flujo de los narradores, con reparto de recompensas a los participantes.
Game-master flow, with rewards split across participants.
-
Economía
Economy
Tienda, ventas, transferencias entre jugadores, sueldos semanales y mercado negro.
Shop, sales, player-to-player transfers, weekly salaries and a black market.
-
Progresión
Progression
Reparto de stats, ascensos con requisitos verificados y ratificación del staff.
Stat spending, promotions with verified requirements and staff ratification.
-
Equipamiento
Equipment
Inventario, armas con nivel propio y lo que el personaje lleva encima y puede perder.
Inventory, weapons that level on their own, and what a character carries and can lose.
-
Deseos
Wishes
Lo que un jugador pide y el staff adjudica cuando las reglas normales no alcanzan.
What a player requests and the staff grants when the ordinary rules fall short.
-
Plazas
Skill slots
Ocupación de cada habilidad calculada en vivo desde las fichas.
Per-skill occupancy computed live from the character sheets.
-
Guías
Guides
El corpus del rol, editable desde Discord y renderizado desde la base.
The rules corpus, editable from Discord and rendered straight from the database.
-
Reversión
Reversal
Un error del staff se deshace entero: la operación agrupa sus efectos y los revierte.
A staff mistake is undone whole: the operation groups its effects and rolls them back.
Verlo en vivo
See it live
Las dos superficies públicas salen de la misma base que usa el bot, en vivo.
Both public surfaces read the same database the bot writes to, live.
