La promesa de diseño
Equilibrio
Nunca te vas a encontrar algo imposible de repente. Esto es exactamente cómo se garantiza, con los números que hay en run/balance.ts.
La regla que manda sobre todas: NUNCA puede aparecer un rival muy por encima del equipo del
jugador. El nivel teórico del círculo se recorta siempre contra la media del equipo, así que
descender rápido no te mata de golpe, solo te deja sin margen.
— El comentario de cabecera de run/balance.ts Un roguelike con muerte permanente tiene una tentación obvia: escalar la dificultad con la profundidad y dejar que el jugador se estrelle. RÉQUIEM no hace eso. La profundidad decide cuánto puede llegar a subir un encuentro, pero el que decide de verdad es tu equipo. Si vas corto de nivel, el círculo deja de escalar.
Esto no lo convierte en un juego fácil: lo que te mata es el reloj. La energía no se regenera y quedarse sin ella te cuesta PS, así que no puedes farmear indefinidamente para ponerte al día. El techo de nivel te protege de la injusticia, no del desgaste.
Paso 1: el nivel de amenaza de tu equipo
Antes de decidir nada, el juego calcula un solo número que resume lo fuerte que estás. No es la
media a secas: threatLevel() toma la media de los Pokémon en pie,
pero con un suelo del 60% del nivel más alto de todo el equipo, cuenten o no
los debilitados.
media = media de niveles de los que siguen en pie (si no queda ninguno, de todo el equipo) techo = nivel más alto del equipo, esté como esté amenaza = max( media ; techo × 0,6 )
El suelo del 60% existe por una razón muy concreta: sin él bastaría con dejar debilitado a todo el equipo menos a un alevín de nivel 5 para que los encuentros se volvieran triviales. El juego quiere ser compasivo cuando vas mal, no explotable.
| Equipo | Media de los vivos | Suelo (60%) | Amenaza |
|---|---|---|---|
| Equipo sano y equilibrado Lo normal: la media manda. | 29,8 | 19,2 | 29,8 |
| Equipo tocado, quedan dos en pie Los debilitados no cuentan para la media: el juego se ablanda. | 30,5 | 19,2 | 30,5 |
| Intento de abuso: todos debilitados menos un alevín Aquí entra el suelo del 60% del más alto. La media sería 5, pero el nivel de amenaza no baja de 19. | 5,0 | 19,2 | 16,0 |
| Un solo Pokémon, sano Media 40, suelo 24: manda la media. | 40,0 | 24,0 | 40,0 |
Paso 2: el nivel del rival
Con la amenaza en la mano, encounterLevel() decide qué nivel sale. Primero calcula
el nivel «teórico» del círculo interpolando entre su mínimo y su máximo según lo avanzado que
estés dentro de él, y después lo mete a la fuerza entre un suelo y un techo que dependen de
tu equipo.
progreso = nodo / (nodos_del_círculo − 1) teórico = nivel_mín + (nivel_máx − nivel_mín) × progreso techo = amenaza + bonus[tipo] suelo = amenaza − holgura[tipo] nivel = min( max(teórico ; suelo) ; techo ) ← el techo se aplica el ÚLTIMO resultado = redondeo, acotado entre 2 y 100
Que el techo se aplique el último es lo que hace que la promesa se cumpla: pase lo que pase con el teórico, el resultado nunca supera tu amenaza más el bonus del tipo de encuentro. Y esos bonus son pequeños:
| Tipo de encuentro | Puede subir hasta | Puede bajar hasta | Con equipo de 30 | Con equipo de 52 |
|---|---|---|---|---|
| Salvaje | amenaza +0 | amenaza −3 | 30 | 52 |
| Élite | amenaza +2 | amenaza −2 | 31 | 54 |
| Alma en Pena | amenaza +1 | amenaza −2 | 31 | 53 |
| Legendaria | amenaza +3 | amenaza −1 | 32 | 55 |
| Heraldo | amenaza +4 | no baja | 32 | 56 |
| Coliseo | amenaza +0 | amenaza −2 | 30 | 52 |
Las dos últimas columnas son el último nodo del círculo 5
(El Coro de Estática, teórico 58), calculadas llamando a encounterLevel().
Un jugador que llegue ahí con el equipo a nivel 30 se encuentra un Heraldo de nivel
32, no de 58. Está
2 niveles por encima
de él, que es exactamente el bonus del Heraldo, ni uno más.
El recorte, visto de golpe
Primer nodo del círculo 5, cuyo nivel teórico es 46. Esto es lo que sale de verdad según cómo vaya tu equipo:
| Amenaza de tu equipo | Nivel teórico | Nivel del salvaje | Qué ha pasado |
|---|---|---|---|
| 10 | 46 | 10 | Recortado por el techo: el círculo deja de escalar. |
| 20 | 46 | 20 | Recortado por el techo: el círculo deja de escalar. |
| 30 | 46 | 30 | Recortado por el techo: el círculo deja de escalar. |
| 40 | 46 | 40 | Recortado por el techo: el círculo deja de escalar. |
| 50 | 46 | 47 | El teórico manda, pero el suelo lo sostiene. |
| 60 | 46 | 57 | El teórico manda, pero el suelo lo sostiene. |
| 70 | 46 | 67 | El teórico manda, pero el suelo lo sostiene. |
Fíjate en que un salvaje nunca sube por encima de tu amenaza (bonus 0) y puede bajar 3 niveles por debajo. El Heraldo es el único que se permite +4, y a cambio no tiene holgura por abajo: siempre está al menos a tu altura.
Paso 3: qué especies pueden salir
El nivel no es lo único que se controla. La piscina de cada círculo se filtra por potencia (total de estadísticas base) y por fase evolutiva, para que el escalado tenga sentido y no te salga un Blissey en el primer nodo ni un Caterpie en el séptimo.
total máximo = 300 + círculo × 48
total mínimo = 0 en los círculos 1 y 2; a partir del 3, min(470 ; 170 + círculo × 26)
fase máxima = básicos en los círculos 1-2, hasta 2.ª fase en 3-4, todas a partir del 5
peso = 3 si comparte alguno de los tipos temáticos del círculo, si no 1
(las legendarias, cuando entran, siempre pesan 1)
Las legendarias no aparecen en la piscina normal hasta el círculo 10.
Si el filtro deja menos de 16 especies, se rellena con las no legendarias más potentes. El suelo de potencia está saturado en 470 a propósito: si creciera sin límite, los círculos profundos se quedarían sin candidatos, porque por encima de ~500 ya casi solo hay legendarias.
| # | Círculo | Total base | Fase máx. | Especies | Temáticas (×3) | Legendarias del evento |
|---|---|---|---|---|---|---|
| 1 | El Umbral | 0-348 | 0 | 121 | 48 | — |
| 2 | Los Pantanos de Ceniza | 0-396 | 0 | 139 | 64 | — |
| 3 | La Galería de los Ahogados | 248-444 | 1 | 198 | 61 | 6 |
| 4 | La Forja | 274-492 | 1 | 236 | 56 | 11 |
| 5 | El Coro de Estática | 300-540 | 2 | 293 | 79 | 15 |
| 6 | El Osario | 326-588 | 2 | 246 | 44 | 21 |
| 7 | El Juicio | 352-636 | 2 | 227 | 71 | 21 |
Las columnas «Especies» y «Temáticas» salen de llamar a encounterPool() con el
dataset cargado; «Legendarias del evento» de legendaryPool(). En total el juego
considera legendarias 21 números de la Pokédex.
Y aun así puedes morir
Lo que el techo de nivel no te protege:
- La energía. No se regenera. Bajar rápido para ahorrarla significa llegar corto de nivel, y llegar corto de nivel significa que el círculo deja de escalar pero tú tampoco creces: las recompensas y la experiencia se estancan contigo.
- Los emparejamientos de tipo. Un rival a tu mismo nivel con ventaja de tipo y un crítico te deja sin un Pokémon. El nivel se recorta, la tabla de tipos no.
- El desgaste. Sin Centro Pokémon, cada combate que ganas por los pelos te sale caro. Los PS que pierdes en el nodo 3 los sigues debiendo en el nodo 11.
- Los Heraldos. +4 sobre tu amenaza, IVs con suelo 26, objeto, el mejor repertorio de su especie y un séquito delante. Es el único sitio donde el juego aprieta de verdad, y aun así está acotado.
Los modificadores, en un sitio
Marcas y Reliquias no tocan las fórmulas: entran por funciones aparte, todas en el mismo fichero, para que se pueda ver de un vistazo lo que altera cada cosa.
| Función | Qué decide | Quién la mueve |
|---|---|---|
| maxEnergyOf | Energía máxima (base 100) | Superviviente +25 · Pulmón de Hierro +30 |
| descentEnergyCost | Coste de cada descenso: 9 (suelo 2) | Reloj de Hueso −3 |
| echoMultiplier | Ecos ganados | Carroñero +50% · Lengua Codiciosa +40% |
| shopPriceMultiplier | Precios de la tienda | Lengua Codiciosa ×1,2 |
| expMultiplier | Experiencia | Lección Amarga ×1,25 |
| catchRateMultiplier | Probabilidad de captura | Domador ×1,3 |
| damageMultiplier | Daño que haces | Sangre Divina ×1,15 (a cambio de −10% PS) |
| teamSizeLimit | Tamaño del equipo (6) | Alma Gemela → 7 |
| descentRevealed | Si ves lo que hay abajo antes de bajar | Vidente y Ojo del Oráculo |