Una gran inspiración
Tabla de contenido
Cómo quise dedicarme al desarrollo de juegos #
De vez en cuando suceden esos pequeños eventos en la vida de uno, los cuales por un motivo u otro te cambian el futuro. A mí siempre me ha gustado la informática y los videojuegos, y también tenía un cierto interés en aprender a hacerlos. De hecho ya había hecho alguna aventurilla textual muuuuy básica de crío. Pero hubo un juego que, allá por 2002, fue uno de los principales detonantes de mi gran interés en el desarrollo de juegos.
Se trata de un pequeño juego indie sin terminar. Ese juego no es más que un fangame de Pokémon llamado Pokémon PC
, desarrollado por Spirited Technology
.
El día en que me topé con ese juego (a saber dónde), lo descargué, lo instalé y lo jugué, algo me fascinó. Me pareció increíble que alguien, totalmente por su cuenta, desarrollara su propio motor e hiciera un juego 3D de Pokémon. Hoy en día eso no sería tan raro. El desarrollo de videojuegos está más al alcance de todos que nunca y existen todo tipo de herramientas que facilitan enormemente el desarrollo. Pero hablamos de 2002, tiempos en los que el desarrollo de juegos indie era algo mucho más de nicho y difícil. También hay que sumar que yo era un joven impresionable, que solo conocía los juegos que había en sus consolas de Nintendo y un poco por encima lo que había en otras consolas y en PC, y que eran desarrollados por esas misteriosas e inalcanzables compañías de videojuegos (al menos para alguien que vive en una pequeña ciudad mediterránea). Eso sí, todos hemos tenido algún colega que afirmaba tener un primo trabajando en PlayStation.
Y ahí estaba yo, jugando a ese fangame de Pokémon, explorando un mundo en 3D, con batallas en 3D, música MIDI, mientras mi mente flipaba con que eso hubiera sido hecho por una persona de a pie como tú y yo, y no por una de esas grandes compañías. Y no hacía más que preguntarme… ¿Pero cómo? ¿Por dónde podría empezar si quisiera hacer algo así? No tengo el recuerdo de si hice algo al respecto inmediatamente, pero sí que se me quedó por mucho tiempo esa espina clavada de querer aprender a hacer algo similar.
Lamentablemente el autor nunca llegó a terminar el juego. Recuerdo como la demo terminaba en una ciudad en lo alto de una colina, que era de noche y es donde estaba el primer y único gimnasio del juego. En PCs de hoy va un poco regular, pero poniendo el modo de compatibilidad de Windows XP y con un poco de suerte, el juego se hace más o menos jugable. Y digo suerte porque tiende a quedarse colgado. Lo he rejugado recientemente, y desde luego puede ser visto como algo un tanto cutre a día de hoy, pero he disfrutado mucho rememorándolo. De nuevo llegué al final de la demo e hice todo lo que se puede hacer ahí.
Por lo que he indagado en la antigua web del autor a través de Web Archive, perdió el código migrando PCs, con lo que nunca pudo continuarlo. No obstante empezó una segunda parte que tiene algunas mejoras gráficas, como sombras dinámicas y cámara que gira 360º. Esta no la llegué a jugar en su día, dado que conocí de su existencia mucho más tarde y por algún motivo es mucho más difícil de jugar en PCs de hoy, con lo que no la pude jugar mucho. El juego se queda siempre colgado nada más arrancar, da igual el modo de compatibilidad usado. La mejor opción para jugarlo probablemente sea virtualizar un Windows XP.
Un poco de ingeniería inversa #
Debido a estos problemas técnicos que he ido experimentando, me ha dado por indagar y hacer un poco de ingeniería inversa a ambos juegos. Por una parte, parcheé las resoluciones soportadas y la relación de aspecto, para poder jugar a 16:9 y en HD. Y por otra parte investigué el motivo de los cuelgues a ver si se podía hacer algo. Y resulta que es algo que ocurre en la mayoría de interfaces y menús. Éstos no están correctamente implementados ya que su procesado de input se implementa en su propio bucle que bloquea el bucle principal. Esto significa que el juego se queda esperando todo el rato al jugador a que pulse botones para poder navegar por el menú impidiendo que el juego pueda procesar otras cosas como el renderizado, o los eventos de Windows. Y no procesar eventos de Windows (mover, reescalar ventanas, pulsar los botones de la barra de título, redibujar la ventana, etc.) es lo que hace que Windows crea que el programa se ha bloqueado.
Entonces, ¿cómo es que en su día funcionaban bien? Pues funcionaban de casualidad. Windows en aquel entonces era mucho más rudimentario a la hora de gestionar un programa que se había colgado. En aquellos tiempos, si un programa se colgaba, Windows no hacía mucha cosa al respecto. Se colgaba y ya, y tocaba cerrar el proceso a la fuerza. A día de hoy Windows se da cuenta cuando un programa deja de procesar eventos del sistema, y pasados varios segundos la ventana se queda de un color más blanquecino y te deja la posibilidad de darle al botón X de cerrar. Y en cuanto a estos juegos, supongo que Windows entonces dejaba que el juego tirara para alante sin considerarlo bloqueado.
Arreglar esto hubiera sido un poco complicado, ya que tocaría hackear cada menú del juego probablemente. Pero al menos lo que sí hice fue quitar la pantalla de título en el segundo juego, que se colgaba sí o sí. Luego, siempre y cuando no te quedes mucho tiempo en un menú, el juego más o menos va. Eso sí, es importante guardar frecuentemente.
Con estos apaños he podido terminar por primera vez la segunda parte, justo mientras escribía este artículo. No tengo la misma nostalgia como la que tengo por el primero, y es más corto y con menos cosas para hacer, pero me ha gustado por fin “completar” la saga.
Conclusión #
Lo que en principio iba a ser un artículo acerca de un juego que fue una gran inspiración, ha acabado siendo también, de forma improvisada, sobre cómo he intentado meterle mano para hacerlo más jugable. Pero así queda una historia un poco más completa de toda mi experiencia con esta saga y lo que ha significado para mí.
Curiosamente, el autor debe haber tenido recientemente uno de esos días nostálgicos, porque ha subido en su canal de Youtube, el cual no va de videojuegos, un gameplay de la segunda parte.
Si os interesa jugarlos, el autor puso un enlace de descarga del segundo juego en la descripción del vídeo, y aquí está la primera parte.
Hale, ¡a capturarlos a todos!