Code frameworks
¿Qué es un code framework?
Aprende qué es un proyecto de código, cómo sus archivos se relacionan con Frameworks, Elementos, Frames y el ledger, y qué se queda en The Forge.
La idea
Un code framework es un sistema de juego que escribes como un pequeño proyecto de archivos, en lugar de construirlo con nodos. Puedes usar tu propio editor y tus propias herramientas. The Forge comprueba el proyecto con el mismo compilador que crea tu juego.
El formato del proyecto se llama native-game-v1. Las reglas se escriben en un subconjunto restringido de TypeScript. El subconjunto no tiene importaciones, ni red, ni aleatoriedad, así que una regla siempre da el mismo resultado con la misma entrada.
Los dados se tiran en la hoja, no en las reglas. Un jugador hace clic en una tirada de dados del Frame, lee el resultado y lo escribe en una acción como entrada. La regla comprueba el número y escribe el resultado. La receta Tirar contra una habilidad crea así una prueba porcentual.
Cómo se relacionan los archivos con Fabled
Cada tipo de archivo se convierte en algo que ya conoces de Fabled.
| Archivo | Se convierte en | Qué hace |
|---|---|---|
| manifest/project.json | El Juego | Da nombre al proyecto y enumera sus Frameworks y escenarios. |
| schemas/*.json | Un Framework | Declara entradas, acciones, Frames y contenido para un tipo de Elemento. |
| rules/*.ts | Lógica | Crea un Elemento, cambia sus valores y calcula valores derivados. |
| layouts/*.json | Un Frame | Dibuja la hoja o la carta y conecta sus botones con acciones. |
| scenarios/*.json | Pruebas | Crea un Elemento, ejecuta acciones y comprueba cada valor y cada escritura. |
Un Elemento es una instancia viva de un Framework, como un personaje. Cada cambio en un Elemento es una escritura en su ledger. Las acciones nunca editan valores directamente. Piden al ledger que establezca o sume un valor, y tus escenarios comprueban esas escrituras.
Cómo es un proyecto
Este es el árbol completo del juego de ejemplo de esta guía. Lantern Keepers tiene un personaje con puntos de vida, dos acciones, una hoja y dos escenarios.
manifest/project.json
schemas/keeper.json
rules/keeper.ts
rules/hurt.ts
rules/heal.ts
layouts/keeper.json
scenarios/new-keeper.json
scenarios/heal.jsonQué se queda en The Forge
- Tú escribes y compruebas el proyecto. El compilador te dice qué falla y dónde.
- Aplicas, preparas y publicas en The Forge. El servidor vuelve a comprobar tu proyecto, y su veredicto es el que cuenta.
- Las reglas no pueden importar paquetes ni acceder a nada fuera del proyecto.

