Define producción pasiva (gallina → huevo cada 60s) o una receta (2 madera + 1 cuerda → 1 escudo).
production#
Define cómo se produce un ítem: de forma pasiva con el tiempo (modo passive) o mediante una receta con ingredientes (modo recipe). Cada temporizador/cantidad puede vincularse a una tabla de progresión para escalar con el nivel.
Por qué importa#
La producción es la columna vertebral de los juegos clicker, farming, crafting e idle. Sin un esquema dedicado, cada receta se convierte en un JSON ad-hoc en el código, y los cambios de balance requieren una nueva compilación. Aquí defines todo en el GDD, exportas a JSON y ajustas valores sin tocar código.
Dónde suele vivir#
- Páginas de tipo
📜 Receta(una receta por página). - Páginas de tipo
📦 Ítem Producible(poco común — para ítems de producción pasiva).
Singleton — 1 production por página.
Esquema#
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
idSí | string | ID interno. | |
nameSí | string | Nombre del addon. | |
modeSí | "passive" | "recipe" | passive: produce X por intervalo (la gallina pone huevo). recipe: requiere ingredientes para producir. | |
outputRef | string (sectionId) | Modo pasivo: qué ítem se produce. | |
minOutput | number | Modo pasivo: cantidad mínima por ciclo. | |
maxOutput | number | Modo pasivo: cantidad máxima por ciclo (se sortea entre min y max). | |
intervalSeconds | number | Modo pasivo: intervalo entre ciclos (acepta decimales). | |
requiresCollection | boolean | Modo pasivo: ¿el jugador necesita recoger activamente, o va directo al inventario? | |
capacity | number | Modo pasivo: stock máximo que puede acumularse antes de que el jugador recoja. | |
ingredientsSí | ProductionIngredient[] | Modo receta: lista de itemRef + cantidad requerida. | |
outputsSí | ProductionOutput[] | Modo receta: lista de itemRef + cantidad producida. | |
craftTimeSeconds | number | Modo receta: tiempo de crafteo en segundos (acepta decimales). | |
notes | string | Notas libres. |
Vínculos con progressionTable#
Casi todos los campos numéricos pueden vincularse a una columna de una tabla de progresión:
minOutputProgressionLink,maxOutputProgressionLinkintervalSecondsProgressionLink,craftTimeSecondsProgressionLinkcapacityProgressionLink
Cuando están vinculados, el motor lee el valor de la tabla en el nivel actual del jugador, en lugar del valor estático del esquema. Esto permite que la producción y el crafteo escalen con la progresión del jugador.
"intervalSecondsProgressionLink": {
"progressionAddonId": "section-prog-table",
"columnId": "col-craft-time",
"columnName": "Tiempo de Crafteo"
}
Ejemplo: producción pasiva#
Una gallina pone 1–3 huevos cada 60s, capacidad de 10 huevos:
{
"id": "prod-chicken",
"name": "Gallina",
"mode": "passive",
"outputRef": "section-egg",
"minOutput": 1,
"maxOutput": 3,
"intervalSeconds": 60,
"requiresCollection": true,
"capacity": 10,
"ingredients": [],
"outputs": []
}
Ejemplo: receta#
2 Madera + 1 Cuerda → 1 Arco, en 30 segundos:
{
"id": "prod-bow-recipe",
"name": "Receta: Arco",
"mode": "recipe",
"ingredients": [
{ "itemRef": "section-wood", "quantity": 2 },
{ "itemRef": "section-rope", "quantity": 1 }
],
"outputs": [
{ "itemRef": "section-bow", "quantity": 1 }
],
"craftTimeSeconds": 30
}
Wizard#
El tipo de página 📜 Receta crea automáticamente:
- Este addon
productionen modorecipe - Pre-completado con 1 ingrediente vacío + 1 resultado vacío
- El wizard pide
craftTimeSecondsen el diálogo inicial
Completas las referencias de ítems después.
Quién referencia production#
craftTable.entries[].productionRef— una craft table agrega múltiples recetas mediante referencias.