23 junio, 2006

Storytronics

Como ahora sale hasta en la sopa, le di un nuevo repaso a la tecnología de Interactive Storytelling del siempre pintoresco Chris Crawford, llamada Storytronics.

Es dificil hacer un juicio del resultado que se puede obtener, ya que hay muchos detalles que no están explorados lo suficiente en el sitio web, y además depende muchísimo de la capacidad del storybuilder (constructor de historias). Desde el punto de vista de usabilidad, parecen haber puesto mucho enfasis en hacerlo accesible a gente no técnica. Veremos que tal resulta. Lo primero es describir un poco la tecnología, pero empezando por explicar lo que Crawford entiende por Interactive Storytelling.

Lo importante en una historia interactiva para Crawford, no son los gráficos o la presentación, ni construir una simulación realista y coherente de la realidad. En Storytronics, los escenarios son simples fotografías, los personajes se mueven instantáneamente de un escenario a otro, y están representados únicamente por una cara que indica emociones. La parte interesante está en interactuar con los personajes, que son autónomos y reaccionan tanto a lo que el jugador hace, como a lo que hacen otros personajes. El trabajo del storybuilder consiste en construir la madeja de posibles interacciones que pueden ocurrir en el mundo (no los llaman juegos sino storyworlds) asegurando la coherencia y el interés dramático.

El corazón del sistema es lo que llaman Verbos. Cada verbo representa una acción que cualquier personaje puede decidir ejecutar. El storybuilder tiene que definir uno a uno todos los verbos que pueden suceder en el storyworld, especificando:

  • Los personajes que se ven afectados por la acción. Es lo que llaman Roles. Por ejemplo, si un personaje le da un puñetazo a otro, típicamente habrá dos roles, el que sacude y el que recibe, aunque puede haber más si es necesario, como la novia del que recibe (caso de tenerla) o un policía que observa lo sucedido.
  • El efecto que produce la acción. Depende, lógicamente del rol. Viene definido en términos físicos y emocionales. Puede producir un cambio de escenario o el cambio en un atributo (un personaje está muerto tras recibir la acción matar), o un cambio en el modelo emocional de cualquiera de los participantes. Así, el que recibe el puñetazo pensará que el que se lo dio no es una buena persona.
  • Los posibles verbos a los que los participantes podrán optar tras la acción. Es aquí donde se hila la trama, donde se monta una red de verbos que define las posibles situaciones que se pueden producir. Típicamente los personajes tendrán varias opciones para elegir tras cada verbo, y lo harán en función de su personalidad y estado emocional.


Para llevar a cabo la edición de estos verbos Storytronics propone un sistema de script editado visualmente. Decidir si un personaje tiene que adoptar un rol en una acción, actualizar el mundo o las emociones de los personajes, y evaluar las opciones disponibles, todo se define mediante scripts. El lenguaje es funcional: se edita anidando llamadas a funciones que retornan un valor sin modificar nada internamente (sin efectos laterales). Por ejemplo, podríamos especificar que un personaje puede adoptar un rol si "es un hombre y la acción fue ejecutada sobre el". En la imagen se puede ver el aspecto que tendría el script.

Los mecanismos de decisión se basan en un sencillo sistema de pesos (también llamado de puntuación). Mediante unas simples fórmulas matemáticas se evalúan unos números para cada una de las opciones disponibles, y luego se elige el número mayor. En mi opinión, la edición de estas fórmulas mediante el lenguaje de script funcional es algo engorroso: una sencilla fórmula puede tener un aspecto muy complejo. Las matemáticas también se usan para actualizar los valores del modelo de emociones de los personajes, tras un verbo.

El modelo emocional está explicado muy por encima en los tutoriales, así que haré una descripción un tanto superficial. Todos los personajes, salvo el jugador, tienen características de personalidad (traits) que usan para decidir qué opción elegir tras la ejecución de un verbo. Hay tres "dimensiones" en el modelo: las características que uno tiene, las que uno cree que otro tiene, y las que uno cree que otro piensa que un tercero tiene. Fijaos en la complejidad de relaciones y malentendidos que se pueden conseguir con este modelo, junto con el sistema de "cotilleo" (los personajes se cuentan unos a otros lo que han ido viendo en la historia, o lo que les han contado). La lista actual de rasgos es la siguiente:

  • Honestidad
  • Bondad
  • Autoridad
  • Inteligencia
  • Atractivo

Esta es la lista inicial, que parece puede ser ampliada si el storyworld lo requiere. Además de estos rasgos de personalidad, también hay características físicas, que llaman atributos: Fuerza, Altura, Agilidad, Salud, Riqueza, Edad, Energía, Sensualidad, etc. Tanto los valores de personalidad como físicos vienen definidos por un número entre -1.0 y 1.0.

Un aspecto interesante del sistema es que, para comunicarse, tanto el jugador como los demás personajes usan un lenguaje inventado llamado Deikto. Es una especie de subconjunto del inglés, representado gráficamente mediante palabras conectadas, generado proceduralmente a partir de los verbos disponibles en la historia. El uso del mismo lenguaje (aunque sea sencillo) por parte del jugador puede ayudar mucho a acostumbrarse rápidamente y quedar inmerso en la historia. Además, sirve para limitar lo que el jugador puede hacer o decir en cada momento, manteniéndole dentro de los límites del storyworld (con lenguaje natural sería más difícil forzar esta limitación). De momento no he podido encontrar mucha más información acerca de Deikto, así que habrá que esperar para emitir un juicio final.

El último elemento que queda por mencionar son los props, objetos que se pueden usar o requerir para ejecutar un verbo. Al igual que los personajes, cuentan con una serie de atributos que ayudan a definir mejor su efectividad u otras posibles consecuencias.

Como punto de vista personal, diría que el sistema funciona aparentemente como una máquina de estados extendida (o una red de petri), que los personajes comparten. El jugador y cada personaje parten de un estado y se van moviendo por la red provocando que los otros personajes también lo hagan. Los estados son los verbos, y es necesario definir las consecuencias de alcanzar dicho estado y las posibles transiciones (ojo, tanto para el sujeto, que ejecuta la acción, como para otros personajes implicados). La red de estados, que típicamente deberá ser jerárquica para mantener un nivel de complejidad accesible, es la columna vertebral de la historia. Es algo más potente que el clásico libro de "Elige tu propia aventura" porque todos los personajes pueden utilizar la red, no sólo el jugador (y además el ordenador es capaz de procesar redes más grandes con facilidad).
El principal inconveniente del sistema es que, inevitablemente, todo el trabajo de definición de todos los posibles acontecimientos del storyworld recae sobre el storybuilder, y su única herramienta es un sencillo lenguaje de script. Para cada acontecimiento hay que definir, a mano, todas las posibles acciones que pueden ir a continuación, y priorizarlas. En una historia moderadamente compleja hablamos de cientos o miles de verbos. Además, aunque viniendo de un programador esto no sorprenderá a nadie, yo preferiría ampliamente un editor de texto, con más potencia y flexibilidad, que el limitado y "supuestamente sencillo" editor actual. Prefiero escribir "0.5+Autoridad(Actor)/2" que una larga lista de operaciones anidadas.

Al final, la tecnología demostrará su utilidad o falta de ella una vez empecemos a ver ejemplos concretos de su uso. De acuerdo con los planes del equipo de Crawford, esto empezará a suceder a finales de este año o principios del que viene. Espero con ansia.


Mostrar/ocultar resto...

2 Comments:

At 27/6/06 03:40, Blogger sgarces said...

Muy interesante la discusion sobre los enfoques sobre como estructurar la historia. El que habeis elegido (que he oido llamar de hub o de choke point) me ha recordado a los juegos de Bioware, y a la presentación que dieron en la GDC del 2005 (que Dani recordará porque escribió la postcard para Gamasutra).

Supongo que la necesidad de mantener la progresión del personaje y un tiempo de juego alto sin explotar el coste de producción os limita a la hora de hacer una historia más interactiva, aunque con este enfoque creo que manteneis la historia como directora de la experiencia, y una cierta sensación de libertad. Desde luego, yo no buscaría de momento la respuesta en Storytronics, ya que la tecnología está muy poco madura, especialmente en un entorno simulado real, como el de los juegos de ahora.

Sería un interesante ejercicio ver si alguno de los enfoques que usan un drama manager serviría para controlar el ritmo y el camino de la historia de manera algo más flexible (más procedural) que los enfoques más tradicionales.

Otra cosa que me intriga es el uso del espacio. Crawford parece dejar en segundo plano el escenario, condenandolo a un triste fondo que no aporta nada a la historia. Sin embargo, los juegos de ahora son esencialmente mundos 3D. El espacio lo es todo. Recuerdo que una de las criticas del primer Baldur's Gate es que estaba "demasiado vacío", que había que viajar mucho para avanzar la historia, y muchas zonas no tenían casi nada de interés. Aprendieron y mejoraron mucho en juegos posteriores, además aportando a la inmersión que produce vivir diferentes historias en un mismo escenario. Mezclar bien no-linealidad con el uso inteligente del espacio creo que es una de las claves para conseguir una buena experiencia de juego.

Por cierto, gracias por los links. Tienen buena pinta, les echaré un ojo.

 
At 27/6/06 20:34, Anonymous Anónimo said...

En el Blog del Clint Hocking tambien hubo una charla la mar de animada sobre el tema del interactive storytelling: http://clicknothing.typepad.com/click_nothing/2006/05/a_fearsome_four.html#comments Perdón por añadir más links. :)

Es curioso que en el SotC, siempre me ha parecido que la "intro" es demasiado verbosa y que la mayor parte de lo que cuenta resultaría todavía más efectiva si la dejasen a la imaginación del jugador y a lo sugestivo del entorno. Imaginate, empieza el juego sin palabras, y directamente ves a un niño llevando el cuerpo de una chica a un antiguo templo, lo deposita en el altar... y tal vez con un diseño un poco diferente de las estatuas de los colosos, que sugieran su control sobre un gran poder durmiente en ese templo sería suficiente. O incluso con el niño viendo por el camino unos grabados en la piedra mostrando imágenes de la presencia de colosos y del uso de la espada, podría resultar todavía más sutil y cálido.

Por otro lado, tal vez demasiadas sutilezas harían el juego aún más difícil de aceptar por parte del jugador medio. No nos olvidemos que hacemos juegos para que la gente los juegue, y hay un límite entre el arte y la imaginación como medio y como fin en sí mismos. :)

 

Publicar un comentario

<< Home