blzkz.es

home

blog

Desarrollando videjuegos: experiencia personal

Tras la ya acabada trigésimo segunda edición de la competición Ludum Dare, en la que por desgracia no pude terminar el juego a entregar, me gustaría hablar sobre el desarrollo de videojuegos bajo mi experiencia amateur.

Siempre me interesó el mundillo, con 16 años junto con un amigo, monté un servidor de Mu-Online, un MMORPG famosillo por la época. Los ficheros necesarios para ello te permitían modificar fácilmente parámetros, texturas y demás partes del juego. Aquí es cuando supe qué quería hacer.

Una vez cumplidos los 18 entré en la universidad, para cursar ingeniería técnica informática. En el temario de dicha carrera poco había sobre videojuegos (salvo informática gráfica, optativa y donde se tocaba sólo openGL 1.0 y nvidia CG que de poco me ha servido), pero sí me ayudó a ir metiendome en distintos grupos, como dot net y un foro de linux.

Gracias al grupo dot net de la UCM, en 2010 me enteré de la existencia de la “coding camp” organizada por Microsoft en Madrid. La reunión consistía en desarrollar bien con XNA, o bien con Silverlight una aplicación para el nuevo sistema operativo móvil de los de Redmond, windows phone 7. Yo me decidí por XNA, que era compatible con Xbox 360 y parecía potente (ahora por desgracia Microsoft lo dio de lado, potenciando código nativo, DirectX y c++). Conseguí terminar un juego de saltos infinito, tipo Abduction. Fue mi primer juego completo no web que intentaba y terminaba, por desgracia perdí el código fuente, ¡pero al menos pude presentarlo a concurso!

Después de XNA, cuando daba visos de irse al garete, empecé a mirar otros de javascript, crafty, c2, impact (que al ser de pago, $99 se me hacían un mundo siendo estudiante) y, finalmente, phaser.io. Pero no me terminaron de convencer dado que iban enfocados a la web y realmente quería algo que pudiera optimizarse para móviles. He de recordar que los motores de renderizado de javascript en móviles no eran tan finos como ahora, además los teléfonos eran muy poco potentes.

Aquí entró en juego GameMaker, Gods Will Be Watching y la comunidad de desarrollo de MediaVida. Empecé a hacer los tutoriales de esta herramienta, todo era muy bonito, conseguí una clave estándar que ya no me limitaba en recursos. Todo iba perfecto, terminé mi primer juego, Rocks, que es un sokoban de 10 niveles. Tiene algún bug pero me ayudó a aprender por mi mismo, a enfrentarme a un reto que no estaba escrito en un tutorial.

Después de esto llegó otra edición de Ludum Dare, donde junto con Gonzalo (Gonya), quién me había ayudado con los sonidos en Rocks, hicimos Alchemia. Esta vez él se encargó de la parte de arte y sonido, game desing entre los dos (la idea de juego fue suya), y yo de la parte de desarrollo. Aquí me di cuenta de que la gestión de memoria para estructuras de datos y de ficheros en GameMaker dejaba muchísimo que desear. Aunque a mano implementaras copias en estructura de datos, estas seguían compartiendo memoria (O.o). Cuando abrías un fichero, aunque lo cerrases justo después, en algún momento llegabas al límite de ficheros abiertos simultáneamente (14 si no recuerdo mal). ¿Cómo era posible? Investigando, vi que no era el único y la solución que daban era “el lenguaje de scripting de GMS es distinto a uno convencional, hay que adaptarse”. Por adaptase querían decir, usar workarounds.

Este punto fue en el que decidí dar el salto a algo más profesional, gracias a un programa de estudiantes de GitHub conseguí una licencia de UE4. He de decir que la curva de aprendizaje de UE4 es una locura, el 2D no está muy pulido y que para uno solo quizás sea demasiado. Después de saber todo esto... no me importó, lo que decidió mi cambio (momentáneo) a Unity 5 era la facilidad con que se puede programar juegos para móvil.

Hice un tutorial de Unity, y sin haber terminado un juego con esta herramienta me tiré a la piscina de esta última edición de Ludum Dare, yo sólo, una locura. Por desgracia no me dio para terminar el juego, pero sí para aprender muchísimo y seguramente para agosto, en la siguiente edición, me presente a por todas.

Hasta aquí mi breve experiencia, en los distintos enlaces podréis descargar los juegos, ¡no seáis muy duros con las críticas! ;)

Descargar:
· Rocks
· Alchemia

Comentarios:

¿Tienes opinión? ¡Pues ya sabes!