21 junio, 2006

Historia de tres estudios...

Este es un pequeño ejercicio que hice para tratar de aclarar las diferencias entre los diferentes enfoques durante pre-producción. La definición de pre-producción es sólo una guía: es el periodo en el que se van definiendo los detalles del diseño y se preparan los sistemas necesarios para empezar a hacer niveles del juego "como churros". Si no teneis un proceso de pre-producción como tal, sentíos libres de adaptar las situaciones aqui descritas a vuestra forma de trabajar.

Estos son algunos posibles enfoques de diferentes estudios para desarrollar un juego nuevo, innovador, durante pre-producción.

El Estudio A decidió que lo mejor era coger el toro por los cuernos, y empezó con un equipo mediano (4 diseñadores, 9 programadores y 17 grafistas, incluyendo modeladores, texturadores y animadores) ya desde el principio. No había problema, ya que cada equipo trabajaba en paralelo y no había muchas dependencias.
Los diseñadores se pasaban el día reunidos definiendo la jugabilidad, el interfaz, algunos niveles de prueba, etc. Todo quedaba reflejado en el documento de diseño.
A partir del concepto inicial, programación trabajaba tanto en preparar las herramientas lo antes posible, como en desarrollar la tecnología necesaria para el juego.
Los grafistas por su parte, desarrollaban conceptos y definían la dirección de arte, mientras empezaban a construir algunos modelos de personajes y entornos que serían usados en los primeros niveles.
Tras unos meses, en los que el equipo creció algo más, programación había empezado a implementar algunos de los elementos que los diseñadores habían incorporado, mientras los grafistas intentaban integrar los modelos en el nuevo motor. Una vez todo estuviera integrado, la jugabilidad se podría ver en la primera versión del juego que incorporaría todos los elementos básicos.
Con esta versión esperaban poder pasar a producción, una vez probado que el diseño funcionaba y era posible implementarlo.

El Estudio B tenía dudas sobre la idea inicial, así que arrancó el proyecto con un equipo muy pequeño: 2 diseñadores, 4 programadores y 3 grafistas. Eso sí, decidieron poner ahí a su mejor gente, a pesar del riesgo de que el proyecto fuera cancelado.
Para definir mejor el juego, el equipo empezó a trabajar en formas de prototipar los elementos menos claros o más arriesgados, individualmente.
Así, un grafista trabajó en varios conceptos mientras otro colaboraba con uno de los programadores para tratar de averiguar, mediante render, el aspecto visual que la tecnología podría permitir.
El tercer grafista daba soporte a los dos diseñadores que, trabajando con los programadores, construían pequeños prototipos (de usar y tirar) donde respondían a sencillas preguntas de diseño: ¿funciona la ilusión de libertad? ¿es el interfaz intuitivo? ¿es una cierta mecánica divertida?
A la par, uno de los programadores trabajaba en resolver las dudas más complicadas sobre los límites de la tecnología, también con pequeños prototipos: ¿qué limitaciones nos impone el streaming? ¿funcionará bien el sistema de script que hemos diseñado?
Después de un tiempo trabajando en responder estas preguntas, el equipo tenía confianza en que el juego era sólido y sería divertido y rentable. Con una idea clara (basada en los prototipos) y sin dudas, empezaron a crecer para desarrollar el código y los gráficos finales (el código y arte de los prototipos se tiraría a la basura).
El desarrollo iba rápido porque sabían exactamente lo que tenían que hacer, y las principales dudas tecnológicas habían sido resueltas. En poco tiempo esperaban terminar el primer nivel y poder pasar a producción.

El Estudio C creía que lo mejor era desarrollar el juego incrementalmente, poquito a poco. Así, empezó también con un equipo pequeño: 3 diseñadores, 5 programadores y 5 grafistas.
En un par de meses los programadores montaron la primera versión ejecutable. Era apenas jugable, pues sólo incorporaba la funcionalidad más básica, tenía gráficos que obviamente no eran definitivos y las herramientas eran difíciles de usar.
Sin embargo, los diseñadores jugaban con esa versión periódicamente, y la usaban para descubrir problemas que había en el diseño, cosas que no eran divertidas, o anti-intuitivas. Cada semana identificaban estas carencias y proponían cambios, que los programadores incorporaban en el juego.
Los grafistas también, por su parte, utilizaban la versión para detectar puntos mejorables y experimentar con valores como número de polígonos, tamaño de textura, materiales, etc.
Los programadores, obviamente, trataban de mantener una base de código muy ágil y modular, y estaban al servicio de diseño y gráficos, no implementando nada que no fuera específicamente solicitado. Era un requisito indispensable que la versión siempre estuviera estable y jugable.
Durante varios meses se fueron incorporando elementos y eliminando otros (que se demostró que no funcionaban). El equipo fue creciendo poquito a poco. Tanto el juego como las herramientas habían ido evolucionando, y habían progresado hasta un punto de usabilidad razonable.
En poco tiempo esperaban llegar a un punto de evolución en que el diseño de la jugabilidad ya se hubiera estabilizado, tener un nivel de prueba, y entrar en producción y preparar el resto de niveles para el juego.

¿Qué opináis? ¿Quién miente? ¿Donde os gustaría trabajar?


Mostrar/ocultar resto...

5 Comments:

At 24/6/06 01:42, Anonymous Anónimo said...

Jejeje que tramposete estás hecho. :) Cualquiera de los tres mola si el juego que hacen mola.

Ya en serio, yo diria que diferentes proyectos y diferentes equipos van a aprovechar mejor o mejor cada una de las estrategias.

- A: si el equipo no comete errores entonces van a ir como máquinas. Eso si, como tengan que realizar cambios de direccion o replantear elementos de mediana importancia, las van a pasar canutas o les va a costar un pastón. Ideal para el Call of Duty 8.

- B: si el equipo está prototipando cada cosita aunque el tema en realidad esté bastante trillado, estarán perdiendo el tiempo y probablemente tengan un problema de confianza en sus posibilidades. Si están desarrollando un juego lleno de incógnitas, lo van a hacer tan bien como sería físicamente posible. Spore all the way!

- C: genial para un juego evolutivo, un punto intermedio. La base general del juego la conoces y no necesitas prototiparla, pero todo el recubrimiento a esa base está salpicado de ideas nuevas o variaciones notables sobre la forma habitual de ejemplos anteriores en ese género. Salvando las distancias, creo que es el modelo que más se acerca al que seguimos en Praetorians.

¿He acertado? ¿Qué he ganado? :)

 
At 24/6/06 20:26, Blogger sgarces said...

No gana nadie, esa es la unica trampa :-P

La idea era que, en vez de hablar en abstracto como se suele hacer sobre como organizar el proyecto, poner ejemplos concretos, y quitar toda la palabrería (aunque no he podido evitar "prototipo", si me he cargado "cascada" y "desarrollo agil" ;-)

Me gusta la clasificación que hace Jare, dando utilidad a cada metodo. Ahora la clave está en usar el que corresponde, y no intentar hacer el Spore con el metodo A, o perder tiempo haciendo prototipos para el FIFA 2007.

Por cierto, ya que ha salido el tema de la opcion C, hay en mi opinión dos formas de llevarla a cabo. Una es una degeneración de la opcion A, o sea, preparas una planificacion cuidadosa y repartes tareas, para luego saltartelas y, cuando hay que cambiar algo, hacerlo con un coste alto. La forma buena es plantear un desarrollo iterativo desde el principio (me encanta la gráfica que pone Clinton Keith en sus presentaciones de scrum, donde explica que la evolución del valor de un producto y el entendimiento que se tiene de él no es en absoluto como la curva óptima, que la producción en cascada asume). Sí creo que en Praetorians usamos una metología cercana a la C, y resulta irónico para mi que después de tratar de buscar un desarrollo más organizado y más similar al A, ahora me sienta más cercano de nuevo al método C. Oh well.

PD: Gracias a Jare por mencionarnos en su blog. Y no tengais miedo de postear, que aqui no nos comemos a nadie :-) Me voy a mirar que pasa con el RSS...

 
At 24/6/06 20:45, Anonymous Anónimo said...

"resulta irónico para mi que después de tratar de buscar un desarrollo más organizado y más similar al A, ahora me sienta más cercano de nuevo al método C"

Es probable que la razón sea que no te apetece demasiado hacer el Madden 2013, y como prefieres proyectos en los que no todo pueda estar claro desde el principio, pues el método A no te vale.

Otro tema interesante y relacionado con lo que cuentas de las diferentes formas de trabajar en un proyecto es: ¿qué ocurre cuando diferentes grupos dentro del mismo proyecto trabajan de diferentes formas? Y no me refiero simplemente a un problema de caos organizativo, sino a realidades prácticas que pueden provocar una situacion así. Por ejemplo, un juego que a nivel de diseño no ofrezca muchas innovaciones pero a nivel tecnológico sí (streaming, next-gen, lo que sea); o un juego cuyo desarrollo gráfico sea grande pero sin dudas, pero a nivel de diseño sí tenga las cosas menos claras y requiera más experimentación. O por problemas para encontrar la plantilla adecuada en alguno de estos departamentos.

Saco este tema porque, aunque creo que nos gusta teorizar y es bueno que establezcamos las "condiciones ideales" para analizar cómo se deberían hacer las cosas, la realidad a veces tambien nos impone restricciones y condiciones menos ideales.

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

Me quedo con el B porque creo que se conseguirian juegos mas originales.

 
At 20/7/06 19:23, Anonymous Anónimo said...

Me quedo con la "C". Es la elección ideal del diseñador ;)

 

Publicar un comentario

<< Home