24 noviembre, 2006

Una propuesta metodológica: Patrones en el Diseño de Juegos

Hace algunas semanas un compañero de trabajo nos recomendó insistentemente un libro de diseño (no hace falta que diga que en inglés) que, según él, le había resultado extremadamente útil en su labor como diseñador. No tardamos en conseguirlo y procedí a leerlo con avidez, buscando en él las ansiadas respuestas a las sempiternas preguntas del diseño (para más referencias, acudir a cualquiera de las numerosas discusiones que ya se han vivido en este mismo lugar)

El libro en cuestión se llama "Patterns in Game Design" y, aunque por ahora no me ha resultado tan milagroso como a mi compañero, creo que sí que merece la pena echarle un buen vistazo o, al menos, saber qué es lo que plantean sus autores.


Los libros o artículos de diseño que me he encontrado hasta ahora suelen adolecer, siempre hablando en general, de algo que podría llamarse con un poco de mala fe, "utilidad". Entiéndase "algo útil" como "algo que tiene uso práctico". Vamos, que mucha teoría, mucho pensamiento profundo y filosofía del juego, pero luego uno se pone a escribir un documento de diseño y piensa algo así como "¿y ahora cómo puedo utilizar la narrativa interactiva, el viaje del héroe y la definición de "fun" para esto, precisamente esto?"

Lo que considero más interesante de este libro es que lo que persigue es un uso práctico. Para poder llegar a este uso necesita hacer una serie de consideraciones teóricas y definir unos cuantos conceptos, pero estoy muy acostumbrado a escritos que se quedan solamente ahí. "Patterns in Game Design" construye un herramienta y la cede al lector. Como siempre, te puede gustar más o menos, le puedes encontrar mil usos o ninguno, pero al menos te da una herramienta con la que te puedes poner a experimentar.


La herramienta, como habréis adivinado, son esos "patterns", a los que inmediatamente voy a rebautizar como patrones. Un patrón es algo que puedo incluir en mi juego y que va a modificar el resultado, la jugabilidad final del mismo. Dicho de otra manera, es algo que no puedo añadir a mi juego sin más, de manera inconsciente, porque en cuanto lo añada mi juego va a sufrir un cambio y, si de verdad soy un diseñador, debo decidir si ese cambio va a beneficiar a mi juego, si es algo deseado para llevar el juego al lugar que yo quiero.


Antes de seguir, os pondré un ejemplo, tosco pero pienso que válido, para que os hagáis una idea de lo que es un patrón.

Imaginaos que tengo, por un lado un juego de tablero como las damas, el go o el backgammon, y lo comparo con el ajedrez o el stratego. Evidentemente son juegos muy diferentes, pero yo me voy a centrar sólo en una cosa, en un patrón: "habilidades asimétricas" (las piezas de los primeros juegos tienen todas las mismas habilidades, pero un caballo no es igual que una torre, ni una bomba igual que el mariscal).

"Habilidades asimétricas" es un concepto que, de incluirlo en mi juego, lo va a afectar indefectiblemente. Podrá afectarlo en mayor o menor medida, depende de cómo yo lo use, pero es algo que nunca va a dejar inmutable la jugabilidad, es algo que va a variar la experiencia de juego final (como algo jugable; aquí no hablo de experiencia estética, emocional ni nada por el estilo, aunque como es natural ésta también puede verse afectada).

Igual que "habilidades asimétricas", puedo mencionar otros patrones cualesquiera, como "rey de la colina", "contenedor", "rejugabilidad", "economías cerradas", "puntos de spawn", "alianzas"… que creo que terminan por ilustrar, grosso modo, lo que es un patrón.


El libro además no sólo se limita a definir, clasificar y enumerar los patrones sin más, sino lo que es muy interesante, los relaciona entre sí, creando un gran entramado de patrones. Este entramado está generado exclusivamente a partir de de tres tipos de relaciones: "instanciación", modulación y conflicto.

Como adivinaréis por los nombres, la primera asocia a aquellos patrones que, con su mera presencia, provocan la aparición de algún otro. Por ejemplo, si yo introduzco el patrón "localizaciones estratégicas", automáticamente estoy introduciendo "memorización"; éste, a su vez, podría introducir otro nuevo, etc.

La segunda establece qué patrones pueden actuar como moduladores, modificadores, de otros; es decir, qué patrones, una vez introducidos, alterarán la manera en que estos otros afectan al juego. Así, introduciendo "daño", podemos alterar la forma en la que el patrón "vidas" afecta a mi juego.

La última relación nos indica que patrones son potencialmente incompatibles con otros, siempre bajo ciertas circunstancias. Si incluyo "muros invisibles" en mi juego puedo encontrarme problemas si quiero mantener también "lógica de realidad coherente"

En resumen: partiendo de un patrón cualquiera, los autores nos indican qué otros patrones se instancian, qué otros patrones se modulan, que patrones pueden modular a nuestro patrón, qué patrones pueden instanciarlo y qué patrones pueden entrar en conflicto con él. En el siguiente diagrama quedan ilustradas todas las relaciones:

A través de estas relaciones, siempre a juicio de los autores, podemos conocer las implicaciones que la presencia de cierto patrón tendrá en nuestro juego. Podemos encontrar información del tipo "si incluyo el patrón 'A', resulta que voy a introducir 'B', que resulta que es incompatible con 'C'" o "usando 'X' e 'Y' puedo modificar 'Z', quizá sea interesante incluirlos"


Ya sabemos, más o menos, lo que son los patrones y las relaciones que hay entre ellos. Aunque estoy convencido de que a muchos ya se os ocurren diversas maneras de emplearlos, voy a referenciar las que mencionan los autores.

Por un lado estarán aquellas que utilizan los patrones como herramienta de análisis (deconstructiva, dirían otros). Esto es, podemos usar los patrones para diseccionar la jugabilidad de un determinado juego, prototipo o modelo, ya sea partiendo de su diseño o experimentándolo directamente. Este proceso de análisis nos puede ayudar a comprender los pilares sobre los que se asienta determinado juego, a relacionar juegos entre sí, a aprender como la inclusión de un patrón concreto, o incluso una pequeña modificación, puede dar un resultado muy diferente,… en fin, a un gran número de posibilidades bastante interesantes.

Por el otro lado estarán las que los utilizan de manera constructiva, bien sea agrupando patrones para generar conceptos de juego, para desarrollar un juego o un diseño ya existente añadiendo, quitando o modificando patrones, para conseguir obtener algún tipo de jugabilidad concreta que se nos resiste, etcétera.

Por último, los patrones también pueden emplearse como herramienta de comunicación, como glosario de elementos de juego. El tema de El Glosario Único y de lo útil que sería creo que da para, al menos, otro artículo, así que lo voy a ahí y no voy a entrar a extenderme en él.


Personalmente, creo que son una gran herramienta para explorar nuevos conceptos de juego y ya los he utilizado efectivamente para entrever las dependencias o incompatibilidades que ciertos elementos de nuestro diseño pueden tener con otras partes del juego. También me han ayudado a mirar aspectos de los videojuegos más recientes de una manera más analítica, separando la jugabilidad pura y dura que, a fin de cuentas, es la que más me interesa, de la envoltura estética o funcional.

No me queda más que deciros que además los autores animan a generar patrones propios o a modificar los existentes si alguno no nos gusta o nos parece que no está bien planteado, no mostrando en ningún momento ningún afán de posesión de su herramienta. La inclusión de un CD con el libro, en el que podemos encontrar en formato html todos los patrones, usando los hipervínculos para ir de unos a otros, es, además de una eficiente manera de trabajar con ellos, una manera fácil (y económica) de acercarse a esta propuesta metodológica que, realmente, creo que merece la pena conocer.
Mostrar/ocultar resto...

5 Comments:

At 27/11/06 20:47, Blogger sgarces said...

No iba a decir nada, ya que no he leido el libro, pero dado que nadie se anima, ahi va mi desinformada opinion.

El uso de patrones en disenyo puede que sea nuevo, pero lleva ya unos anyos estando de moda en programacion. Y es a la vez una bendicion y un dolor de... Son utiles cuando los usas con criterio, cuando debes, y entendiendo las consecuencias. Causan problemas cuando empiezas a pensar que todo tiene que seguir los patrones definidos (que nunca son suficientes para todas las situaciones) o cuando piensas que si usas un patron, tu programa funcionara mejor o sera mas elegante, pero ninguna de las dos es necesariamente cierta.

Asi que supongo que lo mismo se puede decir sobre disenyo. De todas formas, me sorprende un poco la fria acogida que ha tenido el libro, a pesar del enfoque claramente practico. Alguien menos precavido se atreveria a decir que los disenyadores prefieren discusiones abstractas e inaplicables, puramente teoricas. Yo creo que lo que asusta un poco del libro es quiza la estructura rigida, casi matematica, que si bien es util en la practica (como las matematicas en general), intimida.

 
At 27/11/06 23:04, Blogger King Kuranes said...

Gracias por el comentario, porque ya pensaba que iba a por el record del blog :-)

Antes de que el tema se vaya hacía los patrones usados en programación me gustaría aclarar que, según tengo entendido, el concepto de patrón que se que se introduce el libro que comento no es el mismo que el de un célebre libro de programación llamado "Design Patterns:Elements of Reusable Object-Oriented Software" (digo que es célebre, porque eso pone en la wikipedia, no porque lo haya leído)

Si miráis los comentarios que hacen algunos de los lectores en el link a Amazon que incluyo en el artículo, podréis ver como muchos de ellos encontraron decepcionante (pienso que, además, siendo un poco cortos de miras) Patterns in Game Design (PiGD), porque pensaban que se iban a encontrar algo similar a lo incluido en el libro de programación.

Los patrones de PiGD no son recetas ni soluciones a problemas de diseño, sino un conjunto de elementos, presentes en muchos juegos, que siempre tienen un efecto más o menos delimitado en el gameplay final y que, por ello, es interesante considerarlos de modo individual.

Lo que espero es no haber dado la impresión de que el libro sea demasiado "rígido" :-D. Como concepto metodológico sí que puede ser un tocho, pero a nivel de uso práctico es la cosa más sencilla del mundo.

 
At 28/11/06 20:33, Anonymous Anónimo said...

Por desgracia, el libro de Design Patterns en programación TAMPOCO es un conjunto de recetas o soluciones, pero se ha malutilizado de tal forma que yo tiemblo cada vez que un programador habla de usar un patrón (el Singleton en particular es famoso por esto).

Lo bueno del libro de PiGD es que no se puede malutilizar de esa forma. Lo malo es que resulta poco obvio en su uso, de ahi su relativamente baja popularidad. Lo mismo se puede decir de estudios sobre psicología del comportamiento, como el articulo de John Hopson en Gamasutra que le garantizó el paso del mundo académico al grupo de User Testing de Microsoft Games. [Por cierto que esa gente tenía una web increible, a ver si encuentro el link y lo posteo] Es probable que el hecho de que no hay ningun tipo de formación académica sobre diseño ayude a que los diseñadores huyan, o al menos no busquen, papers, articulos y cosas así. O tal vez es solo nuestra perspectiva limitada, desde luego en la GDC siempre veo mogollón de diseñadores en todas las charlas, y las charlas de los diseñadores "estrella" van superando a las de los programadores en interés y público.

Los patrones de diseño deben ayudar a crear una terminología común sobre tipos de problemas y de soluciones, no ser un recetario para copy & pastear. PiGD is un libro excelente en ese sentido.

 
At 1/12/06 01:06, Anonymous Anónimo said...

Ajaps, este era el site que decia antes: Games User Research at Microsoft Game Studios

 
At 4/12/06 08:36, Blogger Isilion said...

Como nota para el autor, quiero dejar constancia de que yo opino que la falta de comentarios se debe más probablemente a la época del año en la que estamos, en la que miramos de frente a las navidades, que a la calidad del artículo. Imagino que es normal que estemos más ocupados (¡Vivan los cierres de proyecto! :P) que de costumbre y eso nos impida postear. Sin embargo, yo he encontrado el artículo interesante y útil (de hecho voy a comprarme el libro en la librería de aquí al lado al salir del curro, que ya le tenía echado el ojo).

Espero poderte infundir suficientes ánimos como para que sigas escribiendo artículos tan buenos como este.

¡Gracias!

 

Publicar un comentario

<< Home