¿Te importan tus ideas? Cumple con tus procesos

Metodología ágil aplicada al proceso creativo. En este caso: videojuegos.

Continúo con la serie de resistencia al cambio, pero esta vez escribiré sobre un caso de éxito: el becario de animación se rifó un mini-juego en Unity, él solo, en un lapso de dos meses y medio.

Y bueno, como dirían algunos en Nayarit: sí le ayudé, pero poquito; a final de cuentas el proyecto es parte de una investigación sobre la demultiplexación de color para hacer experiencias colaborativas a partir de una única proyección de imagen.

¿Cómo estuvo la onda?

Pues así, tal cual: un día, Mauricio (ex-becario en muvmx), decidió que quería hacer un videojuego.

Mauricio estudió la licenciatura en animación y arte digital (ITESM). Es muy inteligente, con mucho potencial, y principalmente, tiene muchas ganas de aprender; cosa que determina, en la mayoría de las ocaciones, el éxito personal y profesional.

Él se acercó a nuestro equipo de desarrollo y nos preguntó cómo podría lograr lo que tenía en mente: propusimos un proceso simple con metodología ágil; aceptó el reto y comenzamos con la ideación (si quieres saber más de esta etapa, dejo aquí un link del Interaction Design Foundation con una muy buena introducción a la ideación).

TL;DR: Aquí el video del resultado.

¡Aquí viene lo bueno!

En ese momento, teníamos una mesa, en el estudio, conectada con Arduino: un arreglo de 6 x 5 botones, que medía 1.5 x 2 metros. Propusimos utilizarla como interfaz física para proyectar encima el videojuego y aprovechar el proceso contrario de los lentes anaglifo, demultiplexación espectral, para separar y ocultar lo que pueden ver dos personas al mismo tiempo.

En la primera semana, Mauricio ya tenía un tema de investigación bastante interesante sobre el efecto del color aditivo, por el cual se aventó varios viajes a la papelería, para experimentar con diferentes materiales y condiciones de luz, y así lograr un efecto acorde a la idea propuesta.

Nos hizo mucho sentido el parecido de la botonera con la dinámica del clásico juego de navíos, y al mismo tiempo, nos pareció que sería algo sencillo de acoplar por el buen conocimiento que tenemos de sus mecánicas. La única limitante: presionar un solo botón por acción; este reto tuvo mayor aceptación al dejar de ser una mesa alta y ubicarla al ras del suelo para interactuar con los pies en lugar de las manos y agregar estresores de tiempo para hacerlo más dinámico.

Por cierto, un recurso que nos ayudó muchísimo para identificar mejor el éxito de las dinámicas fue el libro de Jesse Schell, The Art of Game Design: A Book of Lenses (dejo una reseña muy atinada del libro como referencia), y una breve lectura al framework MDA para la iteración en diseño de juegos propuesto por tres grandes diseñadores de videojuegos.

–Pero los tutoriales de Unity dicen que es sencillo ¿no?

Para resolver todas las dudas de Mauricio, nos apoyamos muchísimo en mapas mentales con un poco de simbología de diagrama de flujo y otros elementos gráficos, como dibujitos de personas, wireframes de la interfaz representando cajas de procesos y sub-procesos, colores y viñetas al estilo de storyboards para entender mejor los estados de un elemento háptico.

Al final de la tercera semana, Mauricio ya contaba con una idea más clara para comenzar a tirar código en C#; pero antes, había que ayudarle a entender más rápido el objetivo de la interfaz de Unity, sintaxis común de lenguajes de programación, una embarrada de OOP, EDP, SOP, modularización, arquitectura basada en componentes, etc., y también un poco del script del Arduino de la botonera.

¡Claro! Lo anterior se lo dije de una manera más amigable. Lo puse a pensar “dentro de la caja”: una caja que hace esto, otra caja que hace lo otro; la tercera caja, que observa lo que hace la primera caja, y se lo comunica a una cuarta, que le avisa al jugador de todo lo que sucede con todas las cajas que estén registradas en la lista de cajas… Y así.

Para este punto, él ya tenía desglosadas y valuadas la mayoría de las actividades, se dio la tarea de asignar las características críticas para una prueba de concepto y un mínimo viable, y repartió las tareas del backlog en revisiones semanales. A veces, se distraía y se dedicaba a hacer pendientes de su escuela, atender otras solicitudes de otros proyectos, consultar a otros compañeros sobre su idea o simplemente se aburría de lo que tenía pendiente de investigar para el juego; todo eso en su ya reducido tiempo como becario.

Transcurrido un mes, después de muchísimas dudas sobre raycast, una reestructura tras el mal setup en cámara de perspectiva para un juego en 2D, fuertes discusiones sobre persistencia de lectura de datos del puerto serial, eventos, separación de intereses, etc…, la prueba de concepto estaba lista; aunque con algunos aciertos, había varios detalles (y dos que tres bugs). Aún no era presentable.

–¿Y qué es lo que pasó? –Que se…

Pasó aproximadamente otro mes más para afinar detalles, replantear interfaz, mecánicas, ajustar lúmenes y saturación de color; en fin, lo suficiente como para que el prototipo fuera jugable y entretenido para dos personas.

Creo que no hice suficiente hincapié en el hecho de que Mauricio programó el videojuego casi en su totalidad. En menos de dos meses aprendió muchísimos conceptos de programación, mejores prácticas en el desarrollo, y metodologías; así como conceptos de diseño y elaboración de producto orientado a jugabilidad. Pero bueno…

El resultado fue increíble: las personas que fueron invitadas a jugar sí se divertían, no se trababa el juego y no les costaba tanto trabajo adecuarse a las mecánicas. Recibimos muchos comentarios positivos, bastante crítica positiva en cuanto a la mecánica y concepto, y muchísimas ideas para derivar la experimentación de la composición del juego hacia otro tipo de dinámicas.

Prototipo Battleship anaglifo

Yo me llevé una gran experiencia

Fue muy interesante tener la oportunidad de explicarme de una forma más genérica, visual y entretenida. También pude comprobar la versatilidad de la metodología ágil en el proceso creativo y su curva de aprendizaje.

La RAE tiene definido como proceso al “conjunto de las fases sucesivas de un fenómeno natural o de una operación artificial”; lo cual indica que cualquier suceso puede ser documentado, organizado, jerarquizado, y ejecutado o simulado, ya sea en serie o paralelo. Por lo tanto, cualquier proceso creativo al que se le denomine proceso, puede ser optimizado y recreado de manera sistemática. He ahí mi conclusión.

–Me vale, yo quiero inspiración

Hacer videojuegos es un rollo que puede considerarse un gusto adquirido. Considero que leer la experiencia de los demás resulta una gran inspiración y enseñanza durante el proceso; tanto el foro, como los relatos en Unity, resultan enriquecedores en ese aspecto y he encontrado muy buenas anécdotas sobre la creación de videojuegos; por eso recomiendo leer, de vez en cuando, las experiencias de los que se dedican a hacer videojuegos y, sobretodo, jugar sus creaciones.

Me es importante mencionar que no todo fue de color rosa —u otro menos chillón—. Costó trabajo adaptarse, tanto de Mauricio como de mi parte: hubo momentos en los que dejamos las cosas importantes para después o no cumplimos con las tareas como lo habíamos planeado —a veces uno lo pinta muy bonito pero a la mera hora vale gorro—.

Al final de cuentas, esta experiencia sirve de testigo para demostrar la practicidad y funcionalidad de formarse una disciplina; tener fe en la constancia, y en uno mismo, y entrarle de lleno, lo más que se pueda, para lograr lo que te propones.