HPL: Nyarlathotep Rising
Todos los proyectos

HPL: Nyarlathotep Rising

Unity PC 1 de octubre de 2021

Construí un editor visual de narrativa y su sistema de runtime que permitió a los guionistas crear historias lovecraftianas ramificadas y complejas. Trabajé en todo el juego: herramientas, UI, sistemas de guardado y más.

Programador de herramientas Sistemas narrativos Desarrollo full-stack Extensiones de editor

Resultados clave

  • Construí un editor visual de narrativa para guionistas no técnicos
  • Creé un sistema de scripting personalizado para diálogos ramificados
  • Reduje el tiempo de creación de contenido para el equipo de narrativa

El juego

HPL: Nyarlathotep Rising es una aventura narrativa ambientada en el universo de Lovecraft: imagina “The Life and Suffering of Sir Brante” pero con horror cósmico. Los jugadores toman decisiones encarnando a varios protagonistas, con consecuencias que se propagan por líneas argumentales ramificadas.

Un juego así depende totalmente de sus herramientas. Los guionistas necesitan crear estructuras narrativas complejas sin esperar a que los programadores implementen cada rama.

Mi rol

Como programador de herramientas y sistemas en un equipo pequeño (3 programadores, 1 artista, 1 guionista), trabajé en todo el juego. Mi foco principal fueron las herramientas narrativas, pero contribuí a casi todos los sistemas.

Qué construí

Editor visual de narrativa

La herramienta de autoría principal que permitió a los guionistas trabajar de forma independiente:

  • Editor basado en nodos para construir diálogos ramificados visualmente
  • Sistema de condiciones usando expresiones simples (sin necesidad de código)
  • Modo preview para probar flujos sin lanzar el juego
  • Seguimiento de variables para cordura, relaciones, inventario y flags de historia

Los guionistas podían crear e iterar contenido narrativo sin intervención del programador.

Sistema de runtime

El editor era solo la mitad del problema. También construí el runtime que:

  • Lee la salida del editor y ejecuta la lógica narrativa
  • Gestiona el estado del juego a través de múltiples protagonistas
  • Maneja el flujo entre segmentos de historia, elecciones y consecuencias

Guardado y carga

Los juegos narrativos necesitan un guardado robusto, porque los jugadores esperan retomar la partida justo donde la dejaron:

  • Serialización completa de estado a través de todas las variables de historia
  • Varias ranuras de guardado con un aislamiento de datos adecuado
  • Carga fiable que restaura el estado exacto del juego

De todo un poco

Equipo pequeño, responsabilidades amplias:

  • Implementación de UI frontend
  • Efectos de partículas y pulido visual
  • Integración de audio
  • Sistemas de gameplay generales

El reto

Lo más difícil no fue ningún sistema concreto: fue la coordinación. Varios equipos en remoto, cada uno con su propio ritmo y sus prioridades. Requisitos que cambiaban. Malentendidos entre zonas horarias.

El juego se publicó. Las herramientas funcionaron. Los guionistas crearon el contenido que habían imaginado.

Qué aprendí

Construir herramientas para gente que no programa es toda una habilidad en sí misma. La satisfacción no está solo en ver tu código funcionar: está en ver cómo mejora el día a día de otra persona gracias a algo que construiste. Es como repartir un poco de tu conocimiento de programador cada día.

Galería