Conditional Turn Based System

Kaledros

Buenas, niños y niñas.

Tengo un proyecto personal que nunca verá la luz del día (básicamente porque es enorme y ni lo puedo hacer yo solo ni voy a dejar el trabajo para meterme en el marrón de hacerlo con más gente) pero con el que me entretengo a ratos muertos, sobre todo con temas de diseño de jugabilidad. Es un JRPG, de manera que los sistemas de batalla en los que me fijo son los de este género. Y uno que siempre me ha interesado es el CTB, el conditional turn based system. Es el que usa FFX entre otros. Me gusta porque permite pararte a pensar una estrategia en lugar de reaccionar a los ataques del bicho/boss como en el active time battle, por ejemplo.

Básicamente, cada actor del juego tiene un contador cuyas unidades se calculan a partir de ciertos stats propios o del equipo que lleva encima (es decir, un valor variable). Cuando comienza un combate el juego pone en marcha un reloj. Cada tick de ese reloj (cada pasada de un bucle for, por ejemplo) el contador de todos los actores de una batalla se reduce en una unidad. Cuando el contador de una unidad llega al cero su turno termina y se rellena su contador de nuevo, añadiendo el actor a una lista ordenada. Véase una captura de un Excel para ilustrarlo.

La lógica del juego calcula los turnos de los actores para varios ciclos y los pinta en un slider. Al cabo de determinado número de ticks (o de cualquier otra condición) el juego para de contar y crea y pinta una cola de turnos (una queue de toda la vida). Cada vez que un actor realiza una acción el juego encola al final del slider al primer actor que no está pintado. Por supuesto en la queue hay suficientes turnos como para que no haga falta repetir el bucle. A fin de cuentas en tiempo de procesador es muy barato calcular miles de turnos de esa manera.

En FFX, además, un cambio en la formación del grupo (sacas a un personaje y metes a otro) recalcula los turnos y reordena la cola si uno tiene un contador con más o menos unidades que el que se ha ido. Esto añade otra capa de estrategia al combate que también me mola. Por supuesto, puedes aumentar o disminuir el contador con stats (Haste en este caso), consumibles, buffs o debuffs. En general me parece mucho más estratégico que un sistema en el que si no tocas el mando vas a morir seguro y te obliga a pensar rápido. Que no tengo nada en contra, pero me gusta más planear estrategias.

¿Qué os parece el sistema? ¿Me he dejado algo? ¿Conocéis o se os ocurre alguna variación interesante?

2
macthet

El FFX tuvo el sistema de combate de la época que más me gustó. Así que cualquier cosa que siga ese sistema o el de FFTA, bienvenido sea

1
1 mes después
Akiramaster

#1 ¿Los condicionantes de turno solo se dan dentro del combate? Normalmente en estos juegos hay equipo o atributos base que pueden modificar el órden o la frecuencia de los turnos.

1 respuesta
B

#3 Estos se aplican a la hora de realizar el recuento para establecer el orden.
Ya que hay habilidades que pueden alterar esta secuencia como dar doble turno, haste, slow...
Dependerá de la lógica aplicada lo que pueda alterar esto y como aplicarlo.

Kaledros

Exacto. El contador de turno (el número de ticks que corresponde a un turno para cada actor) se calcula previamente usando esos modificadores de equipo, talentos o lo que sea (haste, slow, etc). Una vez calculado se puede modificar dentro del combate (un actor puede echarle haste a otro), momento en que se recalculan todos los turnos. Igual que cuando sacas a un char de la party y metes a otro.

En términos de computación es muy barato, puedes recalcular la queue de turnos todas las veces que quieras.

Akiramaster

Entendí mal que los turnos estaban predefinidos hasta que comenzaba el combate y se realizaban acciones que los modificaban. Si no recuerdo mal en final fantasy 1 (y otros) los turnos se dividen en bando enemigo y aliado y creía que sería algo similar.

Usuarios habituales