Fue una tarde cualquiera de 1991, de esas que mis padres iban a Huelva a hacer compras en cantidades industriales (nosotros vivíamos en Minas de Riotinto) en esa época donde apenas existían las cadenas de supermercados, por lo que si querías ir a un hipermercado de gran envergadura había que desplazarse a núcleos urbanos mayores. Quizás ahí fue cuando en el subconsciente se comenzó a fraguar el título, el cual intentaré desgranar de arriba abajo, e izquierda a derecha: Zombi Mall.
Fue ese día, puesto que, estando en el Hipercor, mi padre me dijo: «¿Quieres que te compre un juego para el ordenador?». ¿Qué clase de pregunta es esa, Padre? ¿Acaso no sabes la respuesta?, pensé yo. Y ahí fue cuando cayó en mis manos uno de los juegos que más me marcaron, Zombi, de Ubisoft (y con su compra venía de regalo otro juego, The Reaper, así como curiosidad).
Esa aventura gráfica me voló la cabeza, acostumbrado a las aventuras de texto (las cuales adoro, y también de manera anecdótica, el último juego que compré de Spectrum fue Cozumel) ver una aventura que se desarrollase de un modo distinto con un sistema de puntero y pudiendo interaccionar con el escenario fue demasiado para mi pequeña sesera. Además, salían zombis, ¿qué más podía pedir? Pues pedía más, que esa aventura hubiese sido más al estilo Rambo III. Y desde entonces tuve esa espina clavada, poder disfrutar de un título así.
Todo este rollo nostálgico viene muy al caso, porque si no llega a ser por esa nostalgia seguramente jamás hubiese dicho «vamos a hacer ese juego que siempre quise de pequeño». Eso y gracias a varios factores, el primero y más importante es la gran ayuda y herramientas que me brindan desde mi grupo de desarrollo, The Mojon Twins, donde he podido aprender el funcionamiento de la máquina de mis amores (el ZX Spectrum) y acceder de manera muy sencilla a toda la funcionalidad de MK1 (la Churrera), pudiendo incluso añadir mis propias rutinas y modificaciones del motor (tanto en C como en ensamblador). Y el segundo, pero sin despreciar un ápice, el poder revivir gameplays de Rambo III y Zombi en plataformas de vídeo, volviendo esa sensación y añoranza del juego que quise y nunca existió.
¿Para qué reinventar la rueda? A veces llega la sensación de que usar un framework de desarrollo es algo deshonroso (…), pero uno que se dedica al desarrollo desde hace casi 20 años de manera profesional ya no concibe un mundo sin estos frameworks.
Una vez ya puestos en contexto, comienzo el relato del desarrollo, el cual se inició una tarde de finales de mayo. Llevaba sin hacer un juego desde 2009 con el Subacuatic, y andaba totalmente desaparecido de la escena spectrumniana. Muchos intentos de hacer otro, aunque siempre acababan en demos medio jugables. Esta vez no quería llegar con una demo a mis compañeros y que se quedase al final en nada, por lo que hasta que no la tuve muy avanzada a falta solo de detalles, no iba a mostrar nada del juego.
Decidí esta vez usar MK1 porque veía que podía utilizar muchas rutinas ya existentes (pintado de pantalla, movimientos del personaje, cargas de sprites, músicas, etc). ¿Para qué reinventar la rueda? A veces llega la sensación de que usar un framework de desarrollo es algo deshonroso, que los desarrollos de verdad se deben hacer en código máquina y desde cero, pero uno que se dedica al desarrollo desde hace casi 20 años de manera profesional ya no concibe un mundo sin estos frameworks, ya sea AGD, MK1, Spring Boot, Quarkus, Unreal o Unity. Todo lo que ayude a continuar alargando la vida de esta máquina, bienvenido sea.
Al ser un framework tan abierto y con la posibilidad de desarrollar en un lenguaje de alto nivel (C en concreto) y ya si se decide aplicar Kung-fu meterse en desarrollar rutinas en ensamblador, pues era la opción ideal, además de tener información de cómo todo fue implementado de primera mano gracias al señor na_th_an, amo y señor de MK1.
Resueltos los problemas del qué, cómo y por qué, comencé el trabajo que bajo mi punto de vista más carencias aporto, el diseño gráfico y aspecto visual. La primera versión del juego era monocroma, con un estilo más alejado al resultante y más cercano a juegos como el ya citado Rambo III y Hotline Miami, salvando las diferencias. No estaba muy conforme con el resultado, aunque sabía que con una buena jugabilidad e historia podía pasar por aceptable.
La primera versión del juego era monocromo, con un estilo más alejado al resultante y más cercano a juegos como el ya citado Rambo III y Hotline Miami, salvando las diferencias. No estaba muy conforme con el resultado.
El cambio gráfico vino cuando me decidí a mostrar el juego al grupo, y el señor Anjuel me dijo que tenían en la caja de cosas mojonas en standby un set gráfico en perspectiva cenital de un juego de zombis el cual había sido diseñado, pero que nunca se arrancó. Al ver el set me pareció maravilloso, sabiendo que ese cambio gráfico era necesario para convertir un juego aceptable en un muy buen juego. Se tomó dicho set gráfico, se adaptó lo necesario y se crearon nuevos tiles (hasta 48 en la versión final). El resultado quedó bastante más profesional a mi modo de ver que la versión inicial.
Tenía muy claro desde el primer minuto las mecánicas del juego, un juego de supervivencia donde primaba la habilidad de esquivar y pasar desapercibido y resolver pequeños y sencillos puzles de uso de objetos. El guion del juego iba a quedar basado en el Zombi de Ubisoft, tener que recoger una serie de objetos que usaremos para una tarea en concreto con la finalidad de ser rescatados (a diferencia del Zombi, que somos nosotros quienes nos salvamos escapando en helicóptero) mientras que la parte de acción y perspectiva del juego se basaba en el Rambo III con la excepción de que en este juego no se podía disparar ni usar armas. Tomé esta decisión por varios motivos, el primero es que no soy muy aficionado al uso de armas de fuego, intento evitar esa exposición a ellas en mis juegos. Otra es dar una pequeña coherencia a la realidad: no es habitual encontrar armas de fuego en la vida real y su uso en un apocalipsis zombi creo que sería un buen reclamo para llamar la atención de estos. Así que armas descartadas (aunque MK1 permite implementar esta característica de manera muy sencilla y rápida, pero no es lo que buscaba).
Otra mecánica bastante importante del juego la tomé prestada de la serie The Walking Dead y es que, en un episodio, los personajes para pasar desapercibidos se embadurnan de restos de zombis. Me pareció una idea muy buena para meterle un componente más de sigilo y tensión al juego, y para no ser descubierto por los comedores de carne humana debemos andar despacito (concretamente hasta 12 píxeles de desplazamiento como máximo de una sentada) pareciendo cuál Chiquito de la Calzada con su «no puedor no puedor». La idea ya tomaba forma, pero había que limitar ese uso de la herramienta de camuflaje. Si no limitas eso, un jugador podría pasarse el juego sin que un zombi lo detecte en toda la partida, por lo que se me ocurrió meter un temporizador para enfermar: si pasas mucho tiempo pringado de restos de zombi, te infectas y te conviertes en uno de ellos.
Ya tenía la mecánica perfectamente diseñada, esto le aporta un plus al gameplay, con la incertidumbre de no mostrar el tiempo de cuánto tardas en ponerte enfermo, creando esa tensión y prisas por realizar tu tarea y limpiarte. Para quitarse la pringue de zombi pensé en unas duchas, pero era mejor un lavabo, ya que en los centros comerciales duchas no suele haber. Además, podría dar un nuevo uso a esos lavabos. El año pasado estuve muy enganchado al DayZ, un juego de supervivencia en un mundo postapocalíptico zombi, y me resultó interesante la mecánica de recibir heridas abiertas o hemorragias y tener que curarlas, vendarlas, etc. Quise introducir ese procedimiento, pero ya la memoria comenzaba a escasear, así que dejé solo la posibilidad (aproximadamente un 5%) de sufrir una hemorragia tras un ataque y que deba ser curada en un lavabo, ya que nos va restando vida poco a poco. Ah, y muy importante, sin posibilidad nunca de recuperar vida en el juego. La vida con la que empezamos es la que tenemos durante toda la partida, por lo que el tema del sigilo y ser cuidadoso con los movimientos es sumamente importante.
El guion es algo similar al de Zombi: restablecer la luz del centro comercial, cerrar puertas, conseguir una bengala para llamar la atención del helicóptero… que todo tenga una lógica y no hacer una videoaventura típica de los 80 donde el uso de objetos a veces no tenía sentido alguno. Y bueno, otras mecánicas similares a dicho juego, como pantallas de muerte si sales del centro comercial, el cómo usar los objetos (véase el uso de linterna en sótano… no quiero hacer más spoilers).
Uno de los detalles técnicos que creo que merece la pena comentar es el pintado de pantallas y el tema de la linterna, ya que para que pareciese que el mapeado es más grande, decidí que podría ser una buena idea dividir en algunos casos una pantalla normal en dos, de ese modo casi que se doblan el número de pantallas del juego. Es decir, en una pantalla normal del juego tengo dos habitaciones, dependiendo si entro en una u otra, solo renderizo en la que el personaje entra, dejando oculta la otra. Para el sótano al principio hice que el personaje solo pudiese bajar si poseía la linterna. Como mecánica estaba bien, pero no me aportaba lo que realmente buscaba, que era dar un ambiente de agobio y tensión al jugador. La solución era pintar solo algunos tiles alrededor del personaje. De ese modo, al no poder ver qué hay más allá de unos tiles delante nuestra, nos puede dar un poco más de respeto. Esta solución me la aportó na_th_an, ya que en otro juego de su cosecha lo había implementado (en el Tenebra Macabre para ZX Spectrum). Con este detalle se consiguió lo que buscaba, casi que ya tenía todo lo que quería plasmar en él. El juego ya tenía forma y sentía al jugarlo que era divertido, que ese era el juego que yo quería haber jugado de pequeño.
Otra de las cuestiones era el problema de incorporar mensajes de texto por pantalla. La idea siempre fue intentar interaccionar con el escenario todo lo que la memoria del Spectrum me permitiese. MK1 incorpora funciones de impresión de texto por pantalla, pero no era la forma que buscaba, por lo que tras comentarlo con na_th_an este me proporcionó las rutinas de otros juegos como Ninjajar donde ya se resolvía esta funcionalidad. Ahí fue cuando comencé la tarea de decidir cada detalle del juego que llevaría texto asociado, convirtiendo un juego de videoaventura clásica de Spectrum en una casi videoaventura gráfica (término inventado por mí y pendiente de patente). Busqué mensajes al más puro estilo aventura gráfica de Lucasfilm Games en lugares como librerías, siempre intentando aportar un poco de humor, o intentar romper la cuarta pared con el jugador.
El apartado musical quedó en manos de David Sánchez (aka Davidian aka Murciano) el cual se marcó una melodía que le venía al pelo, ya que ambienta completamente el inicio del juego. Quedamos pendientes de ver cómo íbamos de memoria para modificar el set de efectos sonoros y no usar los predefinidos por MK1, pero cuando terminé todo el desarrollo vi que íbamos demasiado justos y me dije: «meh, dejemos los que están y no mareemos más, que no están nada mal».
Siguiendo con el apartado artístico, hablemos por ejemplo del marcador, obra de Anjuel y donde me propuso un cambio bastante interesante: sustituir el índice de salud numérica por uno de barras, lo cual creo que fue un verdadero acierto. A la par me creó un set de fuentes, el cual sufrió varias modificaciones y que también daba el ambiente que buscábamos a la aventura.
Siguiendo con el apartado artístico, una de las primeras cosas que realicé del juego fue una pantalla de carga a partir de una imagen de un zombi sacada de internet y pasada directamente a SevenuP realizando retoques para que se viese un poco mejor, pero fue sustituida por la pantalla de carga final, que fue un trabajo titánico,
ya que el tema gráfico se me da bastante mal (creo haberlo dicho ya) y casi que puedo decir que el resultado final es algo decente. El proceso fue buscar fuentes gráficas en páginas tipo DaFont con temática zombi o de Halloween, seleccionar los que más me gustaban o encajaban en la imagen y pasarlas al editor gráfico, retocar y vuelta a empezar. Creo que fue la tarea más difícil a la que me tuve que enfrentar.
La pantalla de final del juego sufrió los mismos problemas que la pantalla de carga, que era que quería realizarla yo (sin duda el mayor de los inconvenientes), con mi poca experiencia en esa tarea. Pensé varias opciones, pero en todas aparecía un helicóptero
rescatando a una persona. Hice varios intentos, pero me decanté pronto con la que lleva el juego. El proceso fue similar, búsqueda de imágenes de helicóptero y volcados al editor, con el posterior retoque para afinar la imagen.
Desde un inicio quería que la portada fuese algo especial y qué mejor que pedírselo a mi hermana, que es una artista. Le comenté que quería una portada similar a la original del Zombi de Ubisoft con una mezcla de la portada del disco Brave New World de Iron Maiden: la cara de un zombi en primer plano con nubes alrededor y debajo un centro comercial. Pero le dije que tenía vía libre para presentarme un diseño propio que ella estimase. Cuando me presentó el primer boceto me pareció bastante mejor que la idea que yo le había propuesto: un sucio zombi tambaleante acercándose lentamente a un centro comercial sospechosamente parecido a un Lidl. Joder, era fantástico, que además lo de meter un comercio parecido al Lidl era muy de los Mojon Twins. Le di el OK y ella poco a poco lo fue desarrollando. La incorporación del título corrió a mi cargo con Photoshop, una tarea bastante sencilla, utilizando una fuente similar a la de la pantalla de carga y presentación.
Y llegamos a la parte que más miedo siempre da a los programadores y diseñadores de juegos: el testeo. Es una tarea complicada, probar un juego no es algo fácil ni trivial, hay que hacer muchas (y cuando digo muchas, realmente son muchas) pruebas, tengan coherencia o no. Yo intento siempre probar al máximo para sacar errores y complicaciones de mecánicas, pero los programadores estamos ya tan viciados que nos cuesta a veces poder testear de manera correcta. Hay que darle el valor correspondiente a los testers, es uno de los trabajos más importantes de un juego y de ellos depende muchas veces la calidad final del mismo. Ea, hasta aquí mi alegato pro testers. De ello se encargaron la propia Mojonia, así como los testers oficiales de Mojon Twins (Alfonso, Anakin, Javi Quero… si me olvido de alguien lo lamento mucho, mi mente retiene poco) y aparte decidí que probasen un par de amigos míos (DaniGS y Vins Rico). Este último también se encargó de todas las traducciones de los textos del juego, así como de la ficha. Mi agradecimiento sincero a todos.
En dicho proceso de testing se cambiaron unas cuantas mecánicas como el subir o bajar de planta, interrumpir los textos en pantalla para agilizar, etc. que ayudaban a mejorar la experiencia de juego. Me recomendaron varias cosas que al final decliné como no dejar zombis cerca de las escaleras de cambio de planta porque si subías o bajabas te lo encontrabas de cara, pero es una de las mecánicas que creo que son esenciales, llevar a los zombis a zonas donde no te molesten a la hora de regresar a la pantalla. Si se reiniciaban posiciones de enemigos al volver a la pantalla el juego se convertía en un mero paseo, y yo quería que la experiencia de juego fuese «difícil». Y digo «difícil» con comillas porque realmente no lo es, pero para pasártelo sí que te hará falta conocerte el mapa, conocer qué objetos hay que usar y en qué lugar, cuáles combinar, etc. Y además que no siempre te encontrarás los objetos en el mismo lugar, hay varias combinaciones diferentes, por lo que cada partida puede variar sus posiciones. Es un juego de unos 15 minutos si lo haces todo perfecto, pero para llegar a eso hay que jugar bastante. De ahí mi temor de que el juego se vea muy complicado y la gente lo abandone habiendo solo jugado dos veces, cuando realmente no lo es, pero sí es cierto que es un juego de estudiar bien qué hacer y eso no se consigue en la primera partida. Ni en la segunda. Ni en la tercera.
Creo que el trabajo que se ha realizado ha sido en general bueno, siendo honesto conmigo mismo, aunque soy consciente que queda muy lejos de otros títulos más recientes o clásicos de esta máquina. Y evidentemente hay cosas que son siempre mejorables, pero he cumplido el sueño de ese pequeño que quería su juego de zombis en vista cenital, con textos, con cosas que hacer y puzles que resolver. Ese juego era Zombi Mall y han tenido que pasar 30 años para poder verlo. A mí me divirtió programarlo y también jugarlo, y con eso ya soy feliz. Deseo que lo disfruten y si no es así en el próximo lo intentaré hacer mejor. ¡Sean felices y que no os coman!