miércoles, 13 de julio de 2011

Experiencia en fracasos: Consejos para terminar proyectos en grupo.

Titulo este post “experiencia en fracasos” por que desde que empecé en esto del desarrollo de videojuegos he visto como muchos proyectos en equipo se quedaban a medias y fracasaban o quedaban parados durante largo tiempo. Da igual de quien sea la culpa, mía o del resto del equipo, pero pasa mucho y, aunque no se termine un juego queda material suficiente o se aprende lo bastante como para continuarlo mas adelante o crear algo nuevo desde cero.

He colaborado con bastante gente, así que debo tener en mi disco duro material de más de 10 (puede que 20) juegos que nunca terminamos, es por eso que, cuando en mi clase del curso de “experto en videojuegos” se comentó la idea de desarrollar algo entre todos me dio bastante miedito, aunque puse mi fe en lo rápido que aprenden mis compañeros y acepté. El tiempo va pasando y veo como tal vez pueda salir algo decente (al menos una pequeña demo o una intro) por que de momento veo ganas e interés, somos bastantes, hay un buen reparto de tareas y además nos vemos en persona cada día y podemos hablar directamente, no solo mediante un foro. (No me gustan demasiado los foros, lo confieso).

Como siempre uso este Blog para mi mismo, para reflexionar sobre mis éxitos y fracasos, lo que se y como llegué a aprenderlo, pero también dejo constancia de todo por que he visto que a otra gente puede servirle. Es por eso que escribo hoy sobre lo que creo que nos habría ayudado en equipos en los que estuve para que todo hubiese acabado en un proyecto finalizado. (Aunque conviene decir que no me invento nada, sino que lo he leído en libros y es la forma de trabajar habitual en la mayoría de empresas).

Reparto de tareas

Me doy cuenta de lo importante que es, y esto podemos verlo como si trabajásemos realmente para una empresa donde nos han contratado para un puesto determinado (por ejemplo modelador de entornos) y, aunque podemos dar ideas y expresar nuestra opinión, nos dedicamos a eso sin meternos con el trabajo de los demás.

Así considero que debería ser. Quien o quienes se dediquen a escribir historias se encargan de eso y lo hacen con sus conocimientos y a su gusto y deciden como si fuesen los guionistas de nuestra empresa. Podemos aportar cosas pero ellos tienen la última palabra sobre fichas de personajes, época o línea argumental (aunque si estáis en grupo con varios guionistas se puede votar para elegir la mejor historia o algo así). Igualmente los concept artist dibujarán siguiendo la descripción de los personajes y pueden recibir críticas (constructivas) pero harán su trabajo sin ser interrumpidos por el resto. Y así con todo: Programadores, modeladores, texturizadores, animadores, músicos…

Cada uno se dedica a su tarea casi exclusivamente, para avanzar más rápido.

Cumplir objetivos por pasos

Lo ideal sería pensar en proyectos pequeños que no requieran un gran tiempo de desarrollo, ya que es algo que haremos en nuestro tiempo libre (es normal dar preferencia a nuestro trabajo o vida personal), pero además de eso hay que fijar un objetivo pequeño y no avanzar al siguiente hasta cumplirlo.

Un objetivo puede ser que los guionistas tengan lista la historia completa y fichas de personajes (aunque mientras, los programadores pueden aprender las bases del motor que se va a usar, el diseñador empezar una primera versión del documento de diseño, etc.) Una vez se cumpla ese primer objetivo el siguiente puede ser tener el protagonista andando por un escenario sencillo. (Cumplimos así un nuevo objetivo y se comprueba si el equipo quiere seguir adelante). Llegaríamos a un tercer objetivo que podría ser, por ejemplo, hacer que el muñeco también corra, salte y dispare, luego otro en el que podemos introducir un primer tipo de enemigo…

Es algo así como hacer pequeñas versiones del juego y terminarlas. Luego se reúne el grupo y se evalúa como está el ánimo y si se quiere seguir, rehacer cosas, cambiar algo que estaba planeado y creemos que no va a funcionar, etc.

Es decir, que pensamos en un juego completo pero creamos trozos del mismo y los vamos ensamblando hasta llegar al final.

Tiempos de desarrollo

Es bueno cumplir tiempos y, en caso de no llegar a las fechas establecidas eliminar pequeños detalles que no sean imprescindibles. (Podemos pensar por ejemplo en 50 niveles para nuestro juego y dejarlo finalmente en 40 por falta de tiempo).

Lo ideal para un equipo es saber más o menos cuando le tomará a cada uno realizar la tarea que se le ha encargado. Por ejemplo el modelador podría calcular una semana para modelar el personaje principal en Low Poly y tratar de cumplir ese objetivo. (Esto es aplicable para cualquier tarea dentro del equipo, aunque los tiempos varían según lo que haya que hacer y quien lo haga). Si se comprueba que no se están cumpliendo los tiempos se revista todo y se alarga el desarrollo, pero lo suyo es saber en todo momento en que fecha debería estar terminado el “trozo” o versión de proyecto que estemos desarrollando. Si, como he dicho antes, para cumplir fechas se puede eliminar algún detalle prescindible, podemos hacerlo.

(En caso de proyectos que se realizan en nuestro tiempo libre con amigos hay que ser muy flexibles con el tiempo. Recordemos que es un trabajo que se hace gratuitamente y no se puede invertir en él las horas que todos quisiéramos)

Jefes

Quizá lo ideal sería tener un buen equipo que se entienda y que estuviera coordinado por un diseñador que dirija el equipo y decida como será el juego, junto con coordinadores para cada rol dentro del grupo. (Un líder de arte, otro de programación, etc.)

Esto se convierte en algo normal en una empresa pero difícil dentro de un grupo de compañeros, por eso se ha de tener en cuenta que ser “jefe” no significa mandar ni llevar la razón en algo solo por serlo, sino simplemente en estar al tanto de las tareas necesarias y mantener la ilusión de la gente para seguir adelante.

Sería bueno que alguien encargado de coordinar por ejemplo, a los programadores, sea quien más experiencia tenga en este tema, para que también pueda dar consejos y resolver dudas a los mas novatos. (Como en todo es aplicable también a guionistas, animadores, modeladores, grafistas 2D…)

Ilusión

No hace falta decir que todos tienen que tener ilusión por crear videojuegos, y mas concretamente ilusión por el proyecto que se esta llevando acabo. Por eso en algunos grupos veréis como entran nuevos y salen antiguos miembros (que mal me suena esta palabra) del equipo.

Debéis tener igualmente claro que crear videojuegos es un trabajo y, al igual que en una empresa no vais a hacer siempre lo que os guste. Dentro de un grupo de desarrollo no todo va a ser como vosotros queréis. (Por eso a pesar de todo no hay que meterse en el trabajo de los demás. Solo sugerir, no ordenar.)

9 comentarios:

  1. Buen artículo...

    Yo también he tenido varios intentos de trabajo en grupo y al final he terminado trabajando en solitario, con colaboraciones esporádicas. A mi personalmente es la única formula que me ha funcionado.

    ResponderEliminar
  2. Anda Leandro! tu por aqui! pues si, yo siempre procuro llevar siempre un proyecto en grupo y otro mas pequeño por mi cuenta. Es la unica forma de asegurarse el acabar algun proyecto seguro. Lo que pasa que hay juegos que no se pueden hacer si no se cuenta con una buena ayuda. :P (o se tardan años, y seguro que tu sabes de eso con Pangea).

    ResponderEliminar
  3. Oye Javier, si puedo aportar algo a cualquier proyecto o tarea que realices, no te cortes, puedes contar conmigo.

    ResponderEliminar
  4. Pues lo tendre en cuenta, aunque suelo colaborar con programadores sobre todo. No se, cuando termine los cursos y vuelva a mis proyectos a ver que necesidad de ayuda tengo :P

    ResponderEliminar
  5. Grandes consejos =D , yo estoy participando ahora en un proyecto para iphone, somos 4 y la verdad esque vamos mas o menos como tu explicas aquí, el diseñador es el "jefe" del equipo, luego está el dibujante, y yo y otro somos los modeladores.

    Espero que consigamos terminar el proyecto, aunque como dices, siempre me puedo quedar con lo aprendido.

    ResponderEliminar
  6. Javi, me gustaría que el resto de compañeros leyera esto, creo que nos vendría bien a todos, sobre todo a la hora de concienciarnos sobre si realmente queremos colaborar, formar parte del proyecto, etc. ¿Te parece que podría ser posteado en el foro y en el grupo de Facebook? De momento, junto al Facebook, es el único lugar que tenemos para que todo el grupo tenga acceso a la información. O hablarlo tal cual en el descanso de clase. Como veas.

    Por cierto, mucho ánimo con esos proyectos personales de los que habláis en los comentarios. Espero que los acabéis, y verlos algún día.

    ResponderEliminar
  7. Tomás, animo, iphone da muchas posibilidades para crear buenos juegos y además es un buen comienzo.

    4,compartelo si quieres, pero son cosas que ya hemos hablado y en principio es asi como lo estamos haciendo. Parece que todos queremos colaborar, cada uno dentro de su papel. Mañana espero que elijamos una buena historia!

    ResponderEliminar
  8. tienes totalmente razon,nadie tiene que enfadarse por esto,para llevar un projecto acabo,es la unica manera que hay que seguir,por esto digo siempre que los guionistas que tienen que definirlo todo,y los demas seguir la historia sin modificaciones,pero bueno espero que este projecto llegara a su fin,aunque se quedan menos colaboradores al final....

    ResponderEliminar
  9. Me parece todo muy acertado, pero a veces viene bien incluso reducir el tiempo de desarrollo, en plan "lo necesitas dentro de 5 dias" aunque en realidad sean 7 y te lo digan mas tarde, pero las personas ya sabes que tendemos a hacerlo todo en el ultimo dia, o a empezar tarde porque "tenemos tiempo de sobra", no sé si me he explicado xD.

    Muy bueno el blog Javi, sigue asi :P

    ResponderEliminar