Tecnología

Plan para crear juegos

AAnonymous
9 min de lectura

Introducción

Creo que también hace falta explicar por qué hacer juegos.

La verdad es que no hay una razón grandiosa. Hablar de escribir código más rápido con AI ya se volvió algo común, y creo que mucha gente ya está sintiendo ese cambio por sí misma. El desarrollo de juegos empezó justamente desde una pregunta algo indulgente: ¿qué puedo convertir de verdad en algo publicable?

Antes, esto era un terreno al que no era fácil entrar incluso si solo mirabas los recursos de desarrollo y operación. Ahora parece que estamos en una época en la que uno puede empezar sin pensarlo demasiado. Además, hacer algo que yo mismo pueda disfrutar, y hacer un tipo de desarrollo que se sienta más cerca de un hobby que de un trabajo, también tiene cierta dosis de romanticismo.

La introducción se alargó más de la cuenta. En este post quiero hablar de los géneros de juego que quiero empujar y de por qué elegí este camino.

Orden de implementación

Por qué el primer género es Story Quiz

El primer género que tomé fue Story Quiz. Es una estructura de estilo novela visual en la que la historia avanza y, en medio o al final, el jugador resuelve deducciones para ganar experiencia. La razón para empezar por este género es simple. El centro de la diversión está claramente en la historia y en la deducción, mientras que la carga operativa puede mantenerse relativamente baja.

Aquí no hace falta meter AI en todo. De hecho, creo que ese punto es importante. En Story Quiz, quiero usar la AI más cerca de la calificación y del apoyo a la producción, mientras que la experiencia de juego en sí se apoya sobre reglas y dirección diseñadas por personas. Así se evita que la operación se descontrole y, al mismo tiempo, se puede probar un modelo donde los autores publiquen sus propias obras.

Todavía está en una fase temprana, pero la dirección de implementación ya va hacia ahí. En lugar de meter los manuscritos directamente en la base de datos, quiero optimizar la AI para la producción narrativa con una tubería que va de manuscrito en Markdown → parseo → refuerzo del guion → generación de prompts → traducción → import.

source.md
-> parse-episode.py
-> script-doctor.py
-> prompt-gen.py
-> translate-story.py
-> /bo/story-quiz/games/import

Hasta dónde está implementado Story Quiz

Si uno mira el repositorio actual, Story Quiz ya pasó un poco la etapa de ser solo una idea. Del lado del jugador ya existen APIs que conectan el listado y el detalle del juego, la creación de sesión, la reanudación, el envío de respuestas y la consulta del epílogo. En backoffice ya existe una estructura para gestionar por separado juegos, personajes, fases, bloques, quizzes y assets de fondo. Además, ya hay un flujo para importar y exportar todos los datos del juego como JSON, así que empieza a tratarse no como un juego aislado, sino como un formato de contenido publicable.

Lo importante es que este género está creciendo separando los datos de contenido y las sesiones de juego. Un juego se divide en personajes, fases, bloques, quizzes y assets de fondo, mientras que en la sesión se gestionan por separado la fase actual, el quiz actual, las pistas usadas, la puntuación y el estado de progreso. Es decir, el flujo en el que el autor corrige una obra y el flujo en el que el jugador la consume ya están divididos en capas distintas.

La calificación sigue la misma filosofía. Las preguntas objetivas se corrigen de inmediato, mientras que las subjetivas se separan en estrategias como KEYWORD_ONLY, LLM_ONLY, HYBRID y MANUAL, además de un flujo de revisión en backoffice. Para mí, lo importante no es que la AI siempre tenga razón. Lo importante es tener una estructura en la que solo los problemas adecuados se entreguen a la AI y todo lo demás quede disponible para revisión humana.

También se está ordenando por separado la capa de entrega para el experimento de publicación. Las imágenes de portada y de tarjeta se entregan mediante public source paths y thumbnails basados en presets, y Asset Studio ya permite gestionar juntos los assets de personajes y fondos de Story Quiz y Mystery. Al final, Story Quiz es un juego, pero también el primer campo de pruebas para una tubería de producción, revisión y publicación de obras.

Por qué lo siguiente es Mystery

Si Story Quiz está más cerca de una experiencia estructurada diseñada por un autor, Mystery es un género mucho más vivo. El jugador no se queda solo en leer pistas. Toma un rol, conversa, sospecha de los demás y actualiza la situación de forma continua. Es un género bastante de nicho, pero si sale bien, la profundidad del engagement puede crecer mucho más.

Y es justamente aquí donde el peso de la AI sube bastante. En Story Quiz se puede usar la AI de forma limitada, pero en Mystery áreas como las reacciones de NPC, los interrogatorios, la ayuda con pistas y el refuerzo de escenarios están mucho más cerca del núcleo de la experiencia. Yo veo este género como la segunda etapa, donde la AI entra de lleno en la experiencia de juego.

Hasta dónde ha llegado Mystery

Como he venido avanzando en varios frentes al mismo tiempo, Mystery también ya llegó a un punto en el que se puede ver un prototipo pequeño con los propios ojos. Las APIs de plataforma ya conectan la consulta de escenarios, la creación de sesiones y la entrada por código de invitación, el estado de listo, el inicio, los cambios de fase, las notas, los ítems y los registros de interrogatorio. Las sesiones se gestionan alrededor de tickets, códigos de invitación, listas de jugadores y transiciones de estado, y datos como ítems iniciales, notas iniciales e interrogatorios iniciales cuelgan como piezas separadas. Es decir, primero ya quedó en pie el modelo de sesión necesario para hacer correr una partida real.

La parte de producción es todavía más interesante. Mystery tiene un flujo de backoffice llamado Draft Scenario, y las etapas de generación se separan en CONCEPT → TRUTH → CHARACTERS → TIMELINE → CLUES → ROLEPLAY → WORLD_BUILDING → SYNOPSIS → PROLOGUE → EPILOGUE. Esto no es generación simple de texto. Es una forma de tratar la respuesta, el motivo, las relaciones entre personajes, las coartadas, las pistas y las reacciones de rol como nodos independientes. Creo que esa estructura importa mucho. En Mystery, la consistencia lógica tiene que llegar antes que las frases bonitas.

La parte de diálogo en tiempo real también ya tiene un esqueleto. Las APIs de chat de sesión de juego incluyen diálogo con personajes, respuestas por streaming vía SSE y un chat con asistente de AI, y todas las conversaciones se guardan en el historial de interrogatorios. Eso significa que no es una estructura donde la AI solo lanza respuestas, sino una diseñada para que la conversación se acumule como memoria dentro de la sesión. Esta es probablemente el área donde la dependencia de la AI crecerá más rápido.

Por qué MMORPG es el último desafío

MMORPG, para mí, no está ligado solo a la curiosidad técnica, sino también a una nostalgia muy personal. Quería probar hasta dónde puedo recrear una sensación parecida a la de Lineage, que jugué durante mucho tiempo, usando las herramientas y la estructura de hoy. Si algún día eso llega a comercializarse, mejor aún, pero antes de eso la pregunta más importante es otra: ¿hasta dónde se puede empujar un género tan pesado con la forma actual de desarrollar?

Además, también creo que, en la implementación de MMORPG, muchas de las estructuras mencionadas arriba se pueden reutilizar o adaptar para el worldbuilding, la historia y la configuración de NPC.

¿MMORPG no es demasiado difícil de implementar?

Sorprendentemente, el mmorpg-service actual también ya tiene una cantidad considerable de código generado a partir de especificaciones. Diría incluso que el nivel actual de los coding agents está por encima de lo que la mayoría imagina. Con apenas unos pocos prompts, tanto el cliente como el servidor de un MMORPG en tiempo real pueden generarse.

El juego está planeado en una forma similar a Lineage, que yo disfrutaba jugar, y en el lado del servidor ya están implementados y desplegados como un servicio separado un gateway basado en Netty, un session manager, sincronización de sesiones con Redis, manejo de inicios de sesión duplicados, creación de mundos y zonas, tick scheduler, mapas y pathfinding, sincronización AOI, broadcast de combate, inventario y tienda, y los flujos de drop y spawn.

Si se mira el runtime, GameWorld administra múltiples Zones y vincula a los jugadores separando los índices de sesión y de mundo. Los monstruos no se gestionan como objetos de spawn simples, sino como entidades de runtime con estados FSM como IDLE, PATROL, CHASE, ATTACK, RETURN y DEAD. El sistema de triggers ejecuta directamente reacciones del mundo como daño por trampas, hechizos, diálogos y chat. Encima de eso, incluso existe un WorldContinuum que persiste por separado el tiempo y el clima del mundo.

Construyamos una escalera

Story Quiz es un género para experimentar con la publicación de obras bajo una carga operativa baja. Mystery es un género para experimentar con la deducción basada en roles mientras la AI entra en la experiencia de juego. MMORPG es un género para probar hasta dónde puede llegar la forma actual de desarrollar dentro del tipo de mundo en tiempo real más pesado.

Por eso estos tres no son proyectos separados, sino partes de una sola escalera. Quiero establecer primero la tubería de producción y la estructura de revisión en el género más liviano, luego aumentar la densidad de interacción con AI y, al final, subir hasta un mundo en tiempo real.

En el fondo, la pregunta que quiero responder es simple. No es si la AI permite hacer juegos más rápido, sino dónde tiene que colocarse para que el juego siga siendo algo de lo que una persona pueda hacerse responsable hasta el final. Para mí, hacer juegos en Omnilude es ahora mismo la forma más seria de poner a prueba esa pregunta.

Cierre

En los posts anteriores hablé de cambios en la manera de programar y de la estructura del backend. Este texto se acerca más a una respuesta sobre qué tipo de juegos estoy construyendo realmente encima de esa estructura, y en qué orden.

La próxima vez quiero acotar el foco y explicar con más detalle cómo funciona de verdad la tubería de publicación de Story Quiz, o cómo estoy diseñando la estructura de interrogatorio con AI para Mystery.