Depende exactamente de cómo se arma su sistema. Si es una bifurcación simple, simplemente trátelo como una historia lineal con algunas banderas para decir exactamente en qué camino se encuentra (o si prefiere visualizar de esta manera, una estructura de árbol binario donde cada nodo es un punto de elección de historia y el actual lugar en la historia es un puntero a uno de los nodos). Una historia un poco más complicada con múltiples caminos que pueden cruzarse entre sí podría modelarse como un gráfico acíclico dirigido utilizando la misma técnica.
¿Qué sucede si tienes varios arcos de historia en marcha simultáneamente, como un típico sistema de misiones de "mundo abierto" donde el jugador puede tener varias misiones a la vez? Si las misiones no interactúan entre sí, puedes tratar cada una de ellas como su propio mini árbol lineal o ramificado. ¿Qué pasa si se modifican entre sí? Aquí está mi opción preferida:
Un gráfico dirigido modificado, donde cada nodo representa una búsqueda. Aquí tiene dos tipos básicos de flechas entre nodos: "activar" y "desactivar". De esta manera, completar una misión puede abrir nuevas misiones, y también puede invalidar las misiones antiguas que ya no tienen sentido (por ejemplo, si se le da un conjunto de misiones, cada una de las cuales es para ayudar a un lado diferente de alguna guerra facciones, completar una misión puede ocultar automáticamente las otras misiones si quieres obligar al jugador a elegir un lado y quedarse con él). También querrá almacenar en cada nodo su estado actual: activo (actualmente visible para el jugador), inactivo (nunca ha sido visible para el jugador), completado (el jugador ha terminado la búsqueda), fallido (el jugador ha visto la búsqueda pero luego se inactivó, por ejemplo, al completar una búsqueda competitiva por separado).
Nota al margen divertida: cada sistema que funciona para una búsqueda / historia, también funciona para un árbol de conversación individual con un NPC, y viceversa. Entonces, si encuentra un sistema de conversación adecuado para su juego, pregúntese si vale la pena modificarlo también para el sistema de historias.
El conjunto de herramientas de Neverwinter Nights incluye un intento interesante de resolver este problema, conocido como el Asistente de trazado. Originalmente no se envió con el conjunto de herramientas, por lo que es posible que deba intentarlo nuevamente si realizó algún desarrollo de módulo hace años. Aquí hay un extenso tutorial que repasa los diferentes componentes diseñados para diseñar una trama RPG.
El resumen básico es que el "asistente de la trama" le permite construir una historia y misiones de arriba hacia abajo. Por ejemplo, puede indicarle que genere las secuencias de comandos relevantes para una búsqueda de "búsqueda de 10 cosas", que conduce a una fedex, que conduce a una cosa personalizada con secuencias de comandos. El asistente generará una serie de componentes vinculados que están vinculados al guión de la trama, y luego le permite colocarlos en el mundo. Esto te permite mover fácilmente NPCs o enemigos alrededor del mundo sin romper ninguna conexión de script.
No conozco ningún otro juego comercial que use esta técnica (la mayoría parece usar una tonelada de variables que se verifican mediante scripts), pero siempre he pensado que esta era una base razonable para construir un juego de rol completo o una aventura. juego de estilo.
fuente
Gramáticas formales son una forma esencial de describir las parcelas.
Por ejemplo, Vladimir Yakovlevich Propp propuso una gramática para un cuento popular típico en "Morfología del cuento popular" .
fuente