¿Olvidates tu contraseña?

Programo ergo sum

2015-09-23
2 comentarios
Si eres alguien que me conoce mínimamente, estoy seguro que sabrás que hace poco participé en la Ludum Dare 33. Estoy seguro que te abordé para decírtelo, para darte el enlace del juego y te pedí que lo probaras, y seguramente te habré dicho que hace nada publicamos en esta casa un Post Mortem en nombre del DarkLight Team. Lo sé porque no puedo evitarlo, soy una persona extremadamente pasional con aquello que me gusta, e intento que aquellos que están a mi alrededor sean partícipes de mi ilusión. Efectivamente, soy el típico pesado que viene a explicarte su vida, aunque hoy lo dejaremos solo en lo que ha supuesto para mí participar en esta Game Jam.

 

Confieso que iba con mucho miedo. Soy programador, pero mi carrera profesional me ha llevado a un mundo muy diferente, el de las aplicaciones web, que es muy, muy distinto del desarrollo de juegos en cómo se plantean y solucionan los problemas. Sumadle que si bien he estado estrechamente relacionado con el desarrollo de juegos desde hace muchos años, y que he seguido haciendo mis cosillas dentro del mismo, estas han estado lejos de la programación, he hecho niveles, modelos, texturas, pero nada de código en ocho años.

Por ese entonces me metí en la scene de GP2X, una consola portátil koreana que te permite crear tus propios juegos. Me pareció muy interesante porque puedes olvidarte de los requisitos de hardware ya que si iba en tu consola, iría igual en todas. Publiqué alguna cosa, aunque el último proyecto, inacabado a mi pesar, era una especie de Final Fantasy Tactics que hice con mi buen amigo Nokto. Curiosamente y como cerrando un círculo, fue Nokto quien me invitó a participar en esta Ludum Dare. Casi 3000 días desde la última vez que programaba un juego, precisamente con él, y acepté.

gp2x-videojuegos-zehngames

Mi miedo no sólo surgía de no estar habituado a los patrones de programación de juegos, sino que con la tontería hace como 15 años de mi última clase de matemáticas, y creedme, en la programación de videojuegos vais a comer muchas matemáticas. En mi caso acabó con una relativamente vergonzosa búsqueda en google de “Trigonometría básica” para saber cómo hacer algo que en mi cabeza estaba claro como el agua, pero que no recordaba su resolución.

Pero me estoy adelantando a los hechos. Era una calurosa mañana de verano cuando nos encontramos en una cafetería Nokto, y para mi sorpresa, una antigua conocida de cuando montaba torneos de Machine Dance y su pareja. Nos sentamos a hacer brainstorming como locos, yo apenas había dormido porque la noche anterior no paraba de pensar en mecánicas, temáticas, personajes…de todo, como un niño chico la noche de Reyes, esperando a la hora de levantarme para saber el resultado de las votaciones y la temática que tendríamos que abordar.

Si nunca habéis dado el paso de formar parte de un equipo de trabajo horizontal, os recomiendo interesaros por la política antes. En un brainstorming no hay que tener miedo a proponer ideas, por estúpidas que parezcan pueden hacer que los demás miembros lleguen a nuevas ideas que acaben dando con la nota. No obstante, una vez pasamos a decidir es muy fácil dejarse llevar por el ego, pues las ideas que hemos tenido nosotros nos pueden parecer mejores que las de los demás y crear conflicto. Debemos hacer un ejercicio de empatía tremendo para entender los puntos de vista de los demás, y conceder. Recuerdo que en el día de mi boda un familiar mío se me acercó y me dijo que un matrimonio funciona cuando ambos conceden. El uso de esta palabra no era aleatorio me decía, pues a diferencia que ceder, quien concede lo hace voluntariamente sabiendo que en otro momento será la otra persona quien lo haga. Es un sabio consejo, citando a El Club de la Lucha, aprended a escuchar en vez de esperar vuestro turno para hablar.

tiled-videojuegos-zehngames

Una vez ante el teclado fue otro tema, ahora era yo contra el código, un código que no había visto en mi vida (el motor ha sido creado desde cero por Nokto). Por suerte su paciencia para explicarme lo más gordo e ir haciendo sobre la marcha y no quejarse [mucho] cuando le interrumpía constantemente para preguntar cosas, hizo que mi miedo inicial se redujera bastante y al poco estaba trabajando relativamente autónomo.

La primera tarea con la que me puse estaba bastante a mi altura, teníamos un parser que había cargado el XML que genera Tiled y tenía que pintar por pantalla el mapa. La tarea me llevó mucho más tiempo de lo que yo pensaba y me deprimió bastante, lo primero y ya te quedas atascado, bien. Más tarde y en perspectiva te das cuenta que el problema principal es querer hacer cosas sin pensar lo suficiente, y gran parte del código podría haber sido mucho más simple tras tomar algunas decisiones derivadas de otras necesidades del juego.

No obstante, en el momento cuando empezaron a verse los cuadros verdes en pantalla del tileset, creado rápido para hacer las pruebas en su lugar, se enciende algo dentro de ti. La programación es para mí algo mágico, pues si bien parte de un conocimiento muy técnico, tiene un componente creativo muy importante. Aquellos que hayáis hecho exámenes de programación y hayáis copiado se os pilla muy fácil. El código que escribe una persona es tremendamente personal, tiene cierto componente poético y es una firma de la personalidad del autor. Además, cuando aquello que haces funciona es como tener un pequeño hijo, que empieza a andar y que te dibuja una sonrisa tonta en los labios. Una sensación que difícilmente puedes explicar a otras personas. Imagino que pasa con otras disciplinas, pero nada de lo que he hecho ha estado a la altura. Los videojuegos tienen además una fuerza especial, pues el código se traduce en cosas que se ven por pantalla, que se mueven como tu has decidido.

Este fue para mí un punto de inflexión. La confianza en uno mismo es esencial en cualquier entorno, y son estos pequeños logros los que nos dan el empuje que empieza a movernos, y una vez tenemos inercia, todo es más fácil. En mi vida he hablado con muchas personas, me gusta realmente escuchar a la gente explicar sus cosas y he conocido a gente muy válida que está tremendamente lastrada por no confiar en sí misma. Lo entiendo, soy el primero que cree que no sabe lo suficiente, pero hace tiempo tuve la suerte de trabajar con una persona que un día me dijo “Tenemos un proyecto en que necesitamos hacer X, no tenemos ni idea de cómo se hace, pero aquí sale” y dejó un libro de más de 2000 páginas en inglés sobre mi mesa, dejándome un gran lección. No podemos quedarnos en nuestra zona de confort, debemos asumir que podemos aprender lo necesario para abordar un problema para el que no tenemos respuesta.

 

Una cosa que disfruté mucho durante la experiencia fue compartir la ilusión de crear un producto de forma conjunta con el resto del equipo. A veces algo tan tonto como levantarte y sentarte al lado de los artistas, comentar con ellos, dar opiniones e intentar poner tu grano de arena, engrasa el trabajo en equipo mejor que cualquier otra cosa. De la misma forma que comprobar como ellos ven que aquella conversación sobre mecánicas se traduce en algo palpable, con sus dibujos moviéndose en el juego o compartiendo ideas de cómo podríamos continuar, son pequeños tesoros que nos llevamos obviando el cansancio, las discusiones más tensas o los momentos en que debes dar o recibir una “llamada al orden” por no estar haciendo lo que debes o por tardar demasiado.
Una jam es una experiencia tensa, contra reloj, donde se cometen errores y donde estos errores además tienen un impacto muy importante en lo que podrás entregar. Comentaba hace apenas dos días hasta qué punto es importante saber poner líneas. Por ejemplo, yo tengo la costumbre de hacer una previsión de cuánto voy a tardar en hacer algo, me pongo una alarma mental y si suena y no he terminado, sé que es el momento de parar y preguntar, pedir ayuda o poner distancia, pues algo está fallando. Esto nos pasa a todos. Es también muy fácil para un artista querer hacer una obra perfecta y perderse en los detalles. Algo que ahora tengo claro es que nos faltó más de control entre nosotros para centrarnos. Incluso me comentaban que por qué no teníamos a un quinto miembro dedicado únicamente a esta gestión. No es fácil, pero no puedo negar que nos hubiera ayudado enormemente esa vista en perspectiva.
Por ir terminando, que ya es hora, no puedo sino recomendaros uniros antes o después a una Game Jam. Son terriblemente enriquecedoras, son un momento genial para ponerse retos, para salir de nuestra zona de confort sin peligro al no tratarse de proyectos serios. Es el momento de probar disciplinas o tecnologías que no son las nuestras, de aprender a planificarse al enfrentarse a una deadline a tan corto plazo.

Ahora bien, no os enganchéis, pues son muy jugosas y divertidas, distanciándose así del desarrollo real de videojuegos, pues en un proyecto real tendremos que enfrentarnos a ese momento donde debemos convertir el prototipo en un juego y esto implica tareas más tediosas.

Inicio Foros Programo ergo sum

  • Imagen de perfil de TheckTheck
    Jefe de claves
    #66509

    Una reflexión muy personal tras la vuelta a la programación de videojuegos

    Lee el artículo completo en http://www.zehngames.com/articulos/programo-ergo-sum/

    Imagen de perfil de IsharIshar
    Participante
    #66520

    Me ha encantado la entrada 🙂

    Imagen de perfil de TheckTheck
    Jefe de claves
    #66521

    Muchas gracias @ishar me alegro que te haya gustado, era necesario salirse un poco de lo habitual en una situación que está fuera de lo habitual 😉

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)

Debes estar registrado para responder a este debate.