articulos

Como se hizo Deep Blue: Sumergiéndonos en 3D Game Maker

3D Game Maker, creado por Iain Christopher Hayward y publicado por CRL en 1987 para ZX Spectrum 48 Kb.

Mientras escribo esto echo la mirad atrás y me doy por satisfecho con el resultado de mi aproximación a este Maker. Una semana después de haber empezado a manejarlo ya dispongo de un juego que mostrar. Como ya sabréis muchos estoy más familiarizado con el Commodore 64 y el primer paso fue encontrar un emulador que me resultase cómodo a la hora de trabajar con este Maker. Después de probar varios Jspeccy fue el que me resultó más cómodo…

El maker viene con tres programas divididos en dos cintas en la versión física. En la versión que podemos descargar desde World of Spectrum encontramos los tres módulos necesarios para poder trabajar:

El editor gráfico, con el que hacemos el escenario y los sprites.

Editor gráfico


El editor de habitaciones, dónde disponemos de los elementos que conforman el mapeado del juego.

Editor de habitaciones


El editor de Aventura, dónde se carga el material creado con los dos editores anteriores y podemos testear el juego y grabarlo independientemente.

Esto nos obliga a ir intercalando los diferentes editores, o lo que es lo mismo, ir sacando las cintas (virtualmente) para ir trabajando con ellos. Para no liarla hice un snap de cada uno de los módulos, lo que permite intercalarlos sin tener que cargar la cinta virtual. Además de estos ficheros cree otros dos (con extensión TZX), uno dedicado a contener los sprites y otro para guardar el escenario para mayor comodidad. Pero estoy adelantando acontecimientos.

El primer día ya empecé a modificar los gráficos y me puse con el editor de habitaciones… El editor gráfico no tiene ningún misterio no así el editor de habitaciones…

Entre instalar emuladores, probar varias formas de abordar el intercambio de cintas y trastear con los editores el primer día se fue al garete.

Tener amigos hasta en el infierno es un dicho muy apropiado en casos como este. Al día siguiente comencé a incordiar a varios conocidos usuarios de Spectrum, con la esperanza de que me aclarasen como se utiliza el editor de habitaciones.

Existe un manual, realmente varios, pero ninguno aclara como crear puertas que conecten con las habitaciones, modificando de este modo la disposición del laberinto que queramos crear.
Fue Javi Ortiz quién me puso tras la pista de un par de artículos de la revista Microhobby dónde se habla de este programa. Hay que decir que Ortiz creó en su día (1998) un juego con este Maker (El Mundo de Mister Emulator), pero poco recordaba de aquella experiencia y aunque la información que me dio fue escasa fue reveladora. Si Ortiz había sido capaz de hacer un juego sirviéndose de las escasas pistas que se leían en la MicroHobby yo no iba a ser menos.

Os voy a ahorrar el sufrimiento y os voy a explicar como va la jugada:

Las rooms, habitaciones, miden 8×8 bloques. Si situaís el sprite que se comporta como un cursor en la posición 4,5 dentro de la pared y pulsais ENTER se genera una puerta que conectará con la habitación adyacente. Esto vale para las cuatro paredes. Las dos que se ven y las dos que aún no viéndose están. Para borrar la puerta simplemente deberemos situar el sprite cursor justo encima de la puerta y tras pulsar ESPACIO esta se borra.

El resto de la información necesaria la podéis obtener sin problemas tanto de los artículos de la MicroHobby como de la página de WOS.

Artículos relaccionados con 3D Game Maker en Microhobby 165 página 44 y 45 y Micohobby 166 páginas 60, 61 y 62.

Antes de seguir hay que saber varias cosas sobre la habitaciones.


Disponemos de 256 habitaciones.

En teoría deberían estar en azul oscuro, señal de que no han sido modificados,pero cuando lo cargamos con el emulador nos encontramos que hay un nivel creado, coloreado y con objetos situados en pantalla. Me tomé la molestia de borrar esos elementos y de poner todos los colores en azul oscuro para empezar un diseño desde cero. Os la podéis descargar desde este enlace.

Colorear las habitaciones desde el Jspeccy requiere pulsar Esc y uno de los números del uno al ocho, lo que nos permite usar todos menos el negro.

Hay un punto de inicio fijo, marcado con un círculo en el mapa. No se puede modificar. Pero tampoco es relevante. Una de las propiedades del mapa es que las habitaciones pueden estar interconectadas obviando los límites de los márgenes.

La X indica la habitación final del juego. Lo que determina que esta habitación sea el punto final es el sprite que se sitúa en la misma. Esto me costó un par de días descubrirlo. Ese sprite se encuentra dentro de los modificables del editor gráfico. Si usamos el que bajé de WOS lo encontramos situado en una habitación. Para modificar su posición deberemos eliminarlo, que como todos los elementos se elimina al posicionar el sprite cursor encima y pulsando la barra de espacio. Una vez eliminado podremos situarlo en la habitación que deseemos convirtiéndola en la pantalla final de nuestro juego.

Otra cosa importante es saber el número de objetos que entran en pantalla. Se supone que podemos meter hasta veinte objetos por pantalla. Pero el programa adolece de ralentizaciones severas en el momento que saturamos la pantalla de objetos. Además debemos tener en cuenta que la memoria es finita. En su día ,los de la Microhobby, hicieron los deberes y calcularon cuantas pantallas podíamos hacer si metiésemos veinte objetos en cada una de ellas, 82. Si hacemos una simple regla de tres obtenemos como resultado que podemos tener 6 objetos en cada una de las 256 pantallas de las que dispone el Maker.

Teniendo esto en cuenta podemos empezar a diseñar nuestro juego.

A que parece fácil?
Pues cinco días me costó saber todo esto.

Y menos mal que tengo a los colegas apoyando más que ayudando.


Cosas que he redescubierto a la hora de abordar este maker?

El uso de los colores para determinar la zona en la que nos encontramos por ejemplo es algo de obligado cumplimiento si queremos facilitar la jugabilidad. El diseño de habitaciones no es todo lo óptimo que se podría desear. En mi opinión es preferible sacrificar la estética en aras de una mayor fluidez. Que sí, se pueden meter 20 objetos pero el juego va a pedo de burra y no mola.

Hablando con algunas personas conocedoras del funcionamiento de los Spectrum me ha comentado que pueden hacerse modificaciones en el programa resultante que pasan desde añadir vidas extra o música in game. Pero debido a la naturaleza de este juego, que no quería ser más que un acercamiento al maker para aprender su manejo he optado por dejarlo tal cual y reservar esas mejoras para futuras producciones, si las hay.

El editor de Aventuras requiere tener diseñados los sprites y las habitciones. Una vez cargados podremos ejecutarlo para ver su funcionamiento. Si todo va bien solo resta grabar el juego. Para ello cree un TZX nuevo y una vez añadido el título y el autor lo grabé.

Pero cuidado. El fichero TZX generado ocupa un mega. Algo impensable para el Spectrum de 48 kb que se supone ejecuta este material. Por lo visto el 3D GameMaker hace uso de un sistema de protección anticopía, bastante habitual de la época, tanto que en la propía MicroHobby comentan como saltárselo.La solución pasa por hacer un snap del juego y haciendo uso de un programa como el snaptotap volverlo a grabar para obtener un programa ejecutable.

Al cabo de una semana lidiando con el maker solo faltaba crear una pantalla de carga que le diese el empaque de juego terminado.

Para los que hayáis dibujado en el formato Screen de Spectrum nada nuevo bajo el sol. De los programas que he probado el ZX Paintbrush me ha resultado el más satisfactorio.

Pantalla creada por Errazking


Pero como siempre nada es lo que parece, y cuando daba por terminado el juego empezaron los problemas.

¿Testeando o testando?

La palabra correcta no sé cual es. Testar parece referir a usar la testa , la cabeza, algo que a estas alturas he perdido hace tiempo.Sea como fuere el paso previo a publicar el juego pasa por probarlo y encontrar los fallos que pueden hacer desmerecerlo por injugable o por algún bug que se nos ha pasado por alto. Pues por de pronto a falta de uno aparecieron cuatro bugs que hacían que el juego se quedase congelado.

Uno de los bugs más recurrentes tiene relación con la combinación de objetos. Incluir varios de los objetos móviles en una misma habitación suele incurrir en bugs. No siempre, pero ocasionalmente sí y es por ello que hay que andar con pies de plomo al insertar estos objetos.

Pero bueno, esto ya es algo obvio y sabido por quienes lidiamos en estos temas. Y ya!

Como todos los procesos creativos este ha dado lugar a nuevas ideas que trataré de plasmar en algún momento en una nueva producción. Pero ahora es el momento de parar, jugar, observar y disfrutar de este juego y agradecer a quienes de un modo u otro han colaborado voluntaria o involuntariamente en que este juego exista…

Primero a Ian Christopher Hayward por crear el maker.

Luego a Javi Ortiz y al Barón Ashler que trataron de ayudarme en vano con aspectos del editor de habitaciones. Y eso que ambos tienen juegos realizados con este Maker…

Por último a ThEp0pE por su asesoramiento técnico y a Rafa32GR sin el cual este juego no vería la luz tal y como está.

Igor Errazkin
Firma: Igor Errazkin

El Mundo del Spectrum

El Mundo del Spectrum es un medio digital dedicado al Sinclair ZX Spectrum, a los 80 y al Retro en general. Nació como homenaje a Microhobby en 1996 en formato revista mensual evolucionando hasta esta cuarta época. Como medio audiovisual se publica regularmente el Podcast llamado El Mundo del Spectrum Podcast y material en vídeo en el canal de Youtube. Publicados dos libros de gran éxito editorial. Si te gusta el Retro y el Spectrum en particular, esta es tu web. Bienvenido/a.

Publicaciones relacionadas

8 comentarios

  1. Me gusta… jejejeje yo en aquellos años hice "En busca de Mortadelo" para el que Ignacio Primi incorporó una pantalla de presentación. El 3D Maker es un programa fácil de manejar, tan solo tener la idea de lo que se quiere hacer y practicar un poquito con los gráficos. La única pega es que no te permite tener más que una vida, lo demás es fantasía e ilusión. Enhorabuena por el resultado se ve muy chulo.

  2. Tremendo trabajo recrear alien 8 en las profundidades del mar.

    Lo he jugado un par de minutos, resultado, excelente, no se puede pedir más a 48k, queda por ver el mapa y los puzzles para llegar al final del juego.

    Buen inicio en Zx spectrum, esperamos proximos trabajos del nuevo "Ultimate play the game".

  3. El primer paso para poder realizar un buen trabajo es escoger una buena herramienta. Excelente elección de emulador!!!. 😀

    Si la cinta grabada con el 3D-GM va con protección solo puedes grabar de dos maneras: TZX en formato DRB, que ocupa lo que ya has visto, y TZX en formato CSW comprimido, que ocupa muchísimo menos. Eso sí, no todos los emuladores soportan ese bloque (es un bloque estándar, no me inventé nada).

    Al final, buen trabajo, y eso que no me parece que hacer algo simplemente pasable con el 3D-GM sea fácil, de hecho, salieron muy pocos juegos usando ese sistema (ahora mismo, no me viene ninguno a la memoria). Me lo llevaré de vacaciones en mi DSi XL.

    Y gracias por regalárnoslo. 😉

  4. Y?

    Un juego comercial con temática submarina con parecido brutal , cuasi copia, de hydrofool en lo gráfico. Tambien 3DC era bajo el mar… vamos que la idea de igor ni es nueva ni lo pretende. En fin, en vez de soltar cositas aportamos algo util.

  5. Hola amigo Errazkin y resto de compañeros, genial tu artículo. Tengo un problema, no se si será por culpa del anticopy u otra cosa (porque eso del anticopy no lo he entendido bien).

    El caso es que cuando voy a salvar la información (opción 6, play the cassette and press enter) no emite sonido alguno ni salva ningún .tap en ningún emulador, algo que hago con otros programas sin problema. Ayuda help!

Deja una respuesta



Embalaje protección
Embalajes para la protección de mercancía
Páginas web Zaragoza
Páginas web de calidad Zaragoza
Polietileno reticulado
Todo sobre Polietileno reticulado
Botón volver arriba