Wiki · Devlog · Diseño de la Línea Temporal Sagrada

Diseñando la Línea Temporal Sagrada

La mecánica de rebobinado es la tesis de CONTRABAND. Hacerla bien requirió más iteración que cualquier otro sistema. Así evolucionó de "guardar/cargar reskineado" a algo que realmente dice lo que el juego quiere decir.

La idea original

El primer prototipo tenía un sistema simple de guardar/cargar disfrazado como ramificación temporal. Elegías una opción; si no te gustaba el resultado, recargabas. La UI lo llamaba "rebobinar" pero mecánicamente era solo una carga. Los playtesters dijeron que se sentía bien mecánicamente pero narrativamente plano. El juego no tenía razón para reclamar que las líneas temporales se ramifican; simplemente parecía un RPG estándar con save scumming fomentado.

El avance ocurrió cuando un playtester preguntó: "Si rebobino, ¿qué pasa con la versión de mí que tomó la otra decisión?" La respuesta correcta, para este juego, resultó ser: esa versión sigue siendo real. La línea temporal de la que te alejaste no dejó de existir. Existe en una rama fantasma, y los personajes que pueden percibir ramas fantasmas — Vex, el Oráculo, los Tejedores — recuerdan lo que ocurrió allí.

El desafío técnico

Hacer las ramas fantasma reales requirió almacenar cada decisión, no solo el estado actual. Cada rebobinado crea una nueva entrada de rama en una estructura de árbol; las entradas viejas persisten. El archivo de guardado crece linealmente con las decisiones totales tomadas a través de todas las ramas, no solo la activa.

Para un juego de 20 horas con 63 escenas narrativas y aproximadamente 200 puntos de decisión, un guardado totalmente ramificado es de aproximadamente 80KB de JSON. No pequeño, pero tampoco enorme. Consideré comprimirlo; decidí no hacerlo. La transparencia del JSON legible es valiosa para debuggear y para los jugadores que se preocupan.

El desafío narrativo

Los personajes que recuerdan ramas fantasma tuvieron que escribirse como si hubieran vivido esas ramas realmente. El diálogo de Vex está lleno de referencias a elecciones que el jugador hizo en ramas que abandonó. Esto requirió escribir cada ruta de decisión, no solo la "actual" — y escribir personajes que pudieran referenciarlas sin confundirse.

La solución fue escribir personajes fuera de las ramas. Vex no existe en una línea temporal específica; existe como la convergencia de muchas. Su sistema de diálogo puede extraer de cualquier rama porque ella, narrativamente, tiene acceso a cualquier rama. El Oráculo funciona igual pero más fuerte — habla solo en tiempo futuro porque ya ha experimentado la conversación en alguna línea temporal.

El desafío de UX

Los jugadores necesitaban entender que la línea temporal era real sin ser sermoneados. Prototipos tempranos tenían pop-ups de tutorial explicando el sistema de rebobinado. Los playtesters los ignoraron. Reemplacé los tutoriales con un solo visual: el panel de Línea Temporal Sagrada, una espina vertical con líneas horizontales ramificándose. Los jugadores lo abrieron una vez por curiosidad y entendieron el sistema en 30 segundos. Sin explicación necesaria.

El panel es intencionalmente cliqueable en cualquier nodo. Puedes rebobinar a cualquier decisión pasada haciendo clic. Esto es más conveniente que la mayoría de los sistemas de guardado de RPGs y es la recompensa mecánica por entender el concepto. Los jugadores que experimentan con la línea temporal son recompensados; los que no pueden ignorarla.

El desafío de balance

Hacer los rebobinados gratuitos habría trivializado la consecuencia. Hacerlos costosos (usos limitados, coste de créditos, etc.) habría roto la fantasía de "cada línea temporal es real". La solución fue hacer los rebobinados gratuitos mecánicamente pero caros temáticamente. La IA del Azote rastrea orígenes de rebobinado y envía refuerzos. Los Tejedores advierten sobre la inestabilidad del árbol. El Oráculo cobra memoria extra de "branchers pesados". Rebobinar se siente psicológicamente costoso aunque no esté mecánicamente gateado.

Esta es la parte de la que estoy más orgulloso. La mecánica se mantiene accesible, pero la ficción del juego te hace sentir el peso de lo que hiciste en ramas abandonadas. Los jugadores me dicen que a menudo eligen no rebobinar un mal resultado porque "eso es lo que pasa ahora".

Lo que me equivoqué (inicialmente)

La versión 1 de la Línea Temporal Sagrada permitía rebobinados de combate para deshacer el estado de combate por completo. Los playtesters usaron esto para grindear peleas difíciles — perder, rebobinar, intentar de nuevo con mejor conocimiento. Funcionaba mecánicamente pero rompía la ficción mal. Se suponía que el combate importaba. Rebobinar para rehacerlo hacía que nada importara.

La versión 2 cambió la regla: puedes rebobinar antes de que empezara el combate, pero no puedes rebobinar dentro del combate. Una vez que comienza una pelea, te comprometes. Esto hizo que el combate importara de nuevo. El rebobinado silencioso (aprendido de Vex a +80 de reputación) es la única excepción, y está gateado tras la reputación específicamente para que se sienta ganado.

Lo que aprendí

Las mecánicas narrativas necesitan ficción que las respalde. La Línea Temporal Sagrada funciona porque el mundo de CONTRABAND cree en las ramas. Si el mundo no creyera, la mecánica se sentiría como guardar/cargar. Cada mecánica en un juego es una colaboración entre código e historia. Lograr que se alineen es el trabajo de diseño.

También aprendí que decirle a los jugadores "cada elección es real" no es lo mismo que mostrárselo. El momento más convincente en cualquier playtest fue cuando Vex dijo "en la otra versión, me mataste". Los jugadores que efectivamente habían matado a Vex en una rama que abandonaron se sentaron derechos y entendieron. Esa sola línea hizo más trabajo que cualquier tutorial.