[ centro global de descargas para ZX-Spectrum en desarrollo ... ]
Dedicado a aquellos jóvenes entusiastas que un día persiguieron con pasión la felicidad y la encontraron frente a una máquina de la cual se enamoraron, y también, a todas esas personas capaces de hacernos revivir esos momentos, y en especial a Juanfra (elmundodelspectrum.com)
Adéntrate en el apasionante mundo del desarrollo de videojuegos homebrew para Spectrum en ZX-BASIC compilado y vive en primera persona los orígenes de la mayor industria de la historia a través de los cuatro proyectos que conforman esta carismática saga:
INTRODUCCIÓN: El proyecto ZX-OpenSource surge como una puerta experimental de entrada al mundo del desarrollo de videojuegos homebrew para plataformas de 8 bits. En el marco de este proyecto, podrá acceder a contenidos destinados inicialmente al ordenador Sinclair® ZX-Spectrum y amparados bajo licencia Creative Commons 4.0 y de Códido Abierto, lo que significa que podrá modificar, mejorar y compartir libremente dichos contenidos bajo la misma licencia.
Bajo esta licencia Creative Commons 4.0, Usted es libre de: Compartir — copiar y redistribuir el material en cualquier medio o formato Adaptar — remezclar, transformar y crear a partir del material El licenciador no puede revocar estas libertades mientras cumpla con los términos de la licencia. Bajo las condiciones siguientes: Reconocimiento — Debe reconocer adecuadamente la autoría, proporcionar un enlace a la licencia e indicar si se han realizado cambios. Puede hacerlo de cualquier manera razonable, pero no de una manera que sugiera que tiene el apoyo del licenciador o lo recibe por el uso que hace. NoComercial — No puede utilizar el material para una finalidad comercial. Compartir Igual — Si remezcla, transforma o crea a partir del material, deberá difundir sus contribuciones bajo la misma licencia que el original. No hay restricciones adicionales — No puede aplicar términos legales o medidas tecnológicas La licencia prohíbe la aplicación de medidas tecnológicas efectivas, según la definición del artículo 11 del Tratado de Derecho de Autor de la OMPI. Más información. que legalmente restrinjan realizar aquello que la licencia permite.
Por este motivo, y con el único objeto de contribuir a mantener vivo el desarrollo homebrew para plataformas 8-bits, EL CHATARRERO GALÁCTICO, un sencillo juego arcade tipo escrito para el ordenador de 8 bits Sinclair® ZX-Spectrum en lenguaje ZXBasic y compilado mediante MCODER3®, ha sido desarrollado bajo la filosofía Open Source ó Código Abierto como una humilde aportación al mundo de la escena retro.
Pero, ¿Qué aporta esta iniciativa a la continuidad de la retroscene?
Aquellos usuarios interesados o atraídos por el desarrollo y la programación, una vez superado el máximo nivel del juego tipo EL CHATARRERO GALÁCTICO (algo que puede conseguirse en menos de 20 minutos) podrán acceder a la Guía Rápida de Desarrollo en la que se detallan todas las técnicas empleadas en la creación de este sencillo arcade y se dan los primeros pasos necesarios para la creación de videojuegos de una forma casi "artesanal".
En la Guía Rápida veremos con detalle las técnicas básicas empleadas en el desarrollo de este juego tales como el diseño de GDUs básicos, el movimiento, la detección de objetos, el control de básico de variables para regular la dificultad, los contadores de gasolina, las vidas del protagonista, etc.
También se verá como estructurar el programa para no perdernos.
Por otro lado, al ser esta la primera Guía Rápida de Desarrollo que publicaré, se ofrecerán anexos con material de interés además de como depurar los algoritmos básicos mediante técnicas de optimización que aumentarán la velocidad de nuestro programa de forma considerable. Si bien en el futuro espero ir añadiendo más contenidos de tipo OPEN SOURCE al presente website, EL CHATARRERO GALÁCTICO es el primer proyecto ZX-OpenSource del que podrán disfrutar y aunque no serán pocos los que lleguen a juzgar su cuestionable calidad artística, solo espero ayudar a que otras mentes mucho más creativas e ingeniosas puedan allanar el camino hacia sus propios éxitos.
NOTA: Queda pendiende en este proyecto la finalización y entrega de la Guía Rápida de Desarollo en la que estoy trabajando intensamente;). Aún así, y dado el considerable volumen de la misma, es de esperar que ésta sea publicada a lo largo de los próximos meses.
Código ZX-BASIC completo del juego EL CHATARRERO GALÁCTICO (v.037b) en .JPG El listado ha sido impreso con una impresora virtual ZX-PRINTER mediante el poderoso emulador EMUZWIN. Si deseas imprimir el código por cualquier motivo para su estudio y análisis en papel, intenta previsualizar antes la impresión por si deseas ajustar el número de páginas y/o el tamaño resultante de la letra.
PROYECTO #02
Basado en el juego tipo EL CHATARRERO GALÁCTICO II - La secuela...
actualizado el 12 de agosto de 2018
¡¡Ya está aquí! ¡Ya ha llegado la secuela de El Chatarrero Galáctico, al que en un desbordado alarde de originalidad he decidido llamar EL CHATARRERO GALÁCTICO 2 - La secuela!
Experimentando como podría gestionarse un juego con diferentes pantallas/niveles, puse en marcha este segundo proyecto que nació a partir de un minúsculo boceto de código escrito probando a estructurar el juego mediante el empleo de matrices (variables dimensionales). Finalmente, tras un proceso de concienzudo pulido y el añadido de algunas mejoras gráficas y sonoras, espero poder compartir esta experiencia nuevamente con todos aquellos entusiastas y curiosos que deseen descubrir las posibilidades de desarrollo para la plataforma ZX-Spectrum haciendo un uso exclusivo de herramientas nativas como son el propio ZX-BASIC (incorporado en la ROM del Spectrum) y el compilador nativo de código MCODER3®.
En este archivo #02 de ZXOpenSource abordaremos de forma práctica otras interesantes técnicas para crear sencillos mapas de juegos, conseguir un movimiento más fluido de los GDUs/Sprites en baja resolución, detección de paredes y escenarios mediante la interpretación de los atributos de pantalla, o la inserción de pequeñas melodías en el motor principal del juego mediante el uso de una matriz unidimensional de valores en la que almacenaremos las notas y cuyos valores iremos recorriendo e intercalando en el motor principal, las posibilidades son limitadas, pero conseguiremos oir una "casi" melodía mientras jugamos. También nos enfrentaremos a ciertos problemas derivados del compilado con MCODER3® con el uso intensivo de matrices y veremos como tratar de resolverlos.
No sé por qué pero algo me dice que vamos a divertirnos más estudiando estas técnicas que tratando de ayudar al Chatarrero a huir del centro orbital penitenciario GUANTRAZ-1.
NOTA: al igual que en el caso del ARCHIVE #01, queda pendiente la entrega de la Guía Rápida de Desarrollo para este proyecto, aunque es previsible que en la correspondiente a este ARCHIVE #02 y basada en el juego EL CHATARRERO GALÁCTICO 2, el tiempo de desarrollo se reduzca notablemente al aprovecharse gran parte del trabajo de la primera Guía Rápida de Desarrollo.
Código del juego EL CHATARRERO GALÁCTICO 2 sin compilar en formato .SNA El código está escrito para el ZX-Spectrum 48K, aunque el SNA debe abrirse inicialmente en MODO 128. Este modo es mucho más cómodo para programar al poder mecanografiar todo el código de forma natural, y siempre puede conmutarse al MODO 48 mediante el comando SPECTRUM (¡ojo! pero no desde el modo 48 al 128). Por otro lado, si bien el código se encuentra ampliamente documentado mediante líneas REM y cualquier usuario con conocimientos de programación podrá interprertarlo sin demasiados problemas, en la Guía Rápida de Desarrollo que se publicará como parte de este proyecto #02 se detallan en profundidad todas las técnicas y recursos empleados en este desarrollo.
Código ZX-Basic completo y revisado del juego EL CHATARRERO GALÁCTICO II(v.096b) en .JPG El listado ha sido impreso con una impresora virtual ZX-PRINTER mediante el poderoso emulador EMUZWIN. Si deseas imprimir el código por cualquier motivo para su estudio y análisis en papel, intenta previsualizar antes la impresión por si deseas ajustar el número de páginas y/o el tamaño resultante de la letra.
(en elaboración...)GUÍA RÁPIDA de desarrollo para ZX-SPECTRUM basada en el juego EL CHATARRERO GALÁCTICO 2
Si lo prefieres, puedes descargar todo el material de este proyecto ZXOpenSource#02 desde el siguiente enlace:
PROYECTO #03
Basado en el juego tipo EL CHATARRERO GALÁCTICO III
Los laberintos de Falken
actualizado el 24 de octubre de 2018
¡¡Ya está aquí! Con todos ustedes la tercera entrega de esta saga escrita en ZX-Basic compilado y que viene a cerrar esta singular trilogía: EL CHATARRERO GALÁCTICO 3 - Los laberintos de Falken
Tras la segunda entrega de este proyecto en el que se experimentaba acerca del diseño de juegos basados en diferentes pantallas/niveles mediante el empleo de matrices, con un aprovechamiento de más del 50% del código de la misma hemos preparado una versión de juego laberíntico para nuestro carismático protagonista y titulada EL CHATARRERO GALÁCTICO 3 - Los laberintos de Falken, en honor al añorado film de culto Juegos de Guerra de 1984 en la que un joven estudiante norteamericano, empleando sencillas técnicas de hackeo y a través de una puerta trasera, accede al superordenador del pentágono organizando tal confusión al gobierno que lleva al país al borde de la tercera guerra mundial.
En este archivo #03 de ZXOpenSource veremos las ventajas y desventajas que pueden reportarnos el aprovechamiento del código de otros programas, así como técnicas sencillas basadas en el azar que nos permitirán incrementar la complejidad del laberinto estableciendo así distintos niveles, persiguiendo, como siempre, una buena jugabiildad y una dificultad relativa que permita un cierto nivel de adicción.
No sé por qué pero algo me dice que vamos a divertirnos mucho más estudiando estas técnicas que tratando de ayudar al Chatarrero a encontrar alcanzar la salida de todos los laberintos de Falken.
NOTA: al igual que en el caso del ARCHIVE #01 y #02, queda pendiente la entrega de la Guía Rápida de Desarrollo para este proyecto, aunque es previsible que en la correspondiente a este ARCHIVE #03 y basada en el juego EL CHATARRERO GALÁCTICO 3, el tiempo de desarrollo se reduzca notablemente al aprovecharse gran parte del trabajo de la primera Guía Rápida de Desarrollo.
Código del juego EL CHATARRERO GALÁCTICO 3 sin compilar en formato .SNA El código está escrito para el ZX-Spectrum 48K, aunque el SNA debe abrirse en MODO 128, mucho más cómodo para programar al poder teclear todo el código de forma natural. Por otro lado, si bien el código se encuentra suficientemente documentado mediante líneas REM y cualquier usuario con conocimientos de programación podrá interprertarlo sin demasiados problemas, en la Guía Rápida de Desarrollo que se publicará como parte de este proyecto #03 se detallan en profundidad todas las técnicas y recursos empleados en este desarrollo.
Código ZX-BASIC completo y revisado del juego EL CHATARRERO GALÁCTICO III en .JPG El listado ha sido impreso con una impresora virtual ZX-PRINTER mediante el poderoso emulador EMUZWIN. Aunque la primera línea REM del código muestra el nombre CHATARRERO GALACTICO 2 se trata en realidad del código completo de la tercera versión de esta saga.
Si deseas imprimir el código por cualquier motivo para su estudio y análisis en papel, intenta previsualizar antes la impresión por si deseas ajustar el número de páginas y/o el tamaño resultante de la letra.
(en elaboración...)GUÍA RÁPIDA de desarrollo para ZX-SPECTRUM basada en el juego EL CHATARRERO GALÁCTICO 3
Si lo prefieres, puedes descargar todo el material de este proyecto ZXOpenSource#03 desde el siguiente enlace:
En este archivo #04 de ZXOpenSource, al igual que en entregas anteriores, veremos las ventajas y desventajas que pueden reportarnos el aprovechamiento del código de otros programas anteriores así como nuevas técnicas sencillas para combinar la alta y la baja resolución del Spectrum basadas en el comando OVER. En el diseño de pantallas hemos aprovechado el potencial de mi espartano software cruzado (para Windows) de diseño gráfico ZX-DRAW, el cual me he visto obligado a corregir y actualizar hasta la versión final utilizable, y también nos hemos servido de otra herramienta de diseño propio que es GDU-Calc, un editor/gestor de gráficos GDUs para Spectrum que nos ha facilitado enormemente el trabajo con sprites de 16x16 en lugar de los clásicos 8x8.
Finalmente y a tenor de los resultados, veremos como desarrollar un juego tan simple como adictivo, todo ello con una dificultad progresiva lo más afinada posible y que convierte al último de los niveles en un reto bastante complicado pero no imposible.
También aprenderemos fácilmente como montar nuestro juego en una cinta de cassette para cargarla en un ZX-Spectrum real (ver guía rápida para crear cintas físicas)
No sé por qué pero algo me dice que vamos a divertirnos mucho más estudiando estas técnicas que tratando de ayudar al Chatarrero a superar a las infalibles inteligencias artificiales.
NOTA: al igual que en el caso del ARCHIVE #01, #02 y #03, queda pendiente la entrega de la Guía Rápida de Desarrollo para este proyecto, aunque es previsible que en la correspondiente a este ARCHIVE #04 y basada en el juego EL CHATARRERO GALÁCTICO 4 el tiempo de desarrollo se reduzca notablemente al aprovecharse gran parte del trabajo de las anteriores Guías Rápidas de Desarrollo.
Código del juego EL CHATARRERO GALÁCTICO 4 sin compilar en formato .SNA El código está escrito para el ZX-Spectrum 48K, aunque el SNA debe abrirse en MODO 128, mucho más cómodo para programar al poder teclear todo el código de forma natural. Por otro lado, si bien el código se encuentra documentado mediante líneas REM y cualquier usuario con conocimientos de programación podrá interprertarlo sin demasiados problemas, en la Guía Rápida de Desarrollo que se publicará como parte de este proyecto #04 se detallan en profundidad todas las técnicas y recursos empleados en este desarrollo.
Código ZX-BASIC completo y revisado del juego EL CHATARRERO GALÁCTICO IV en .JPG El listado ha sido impreso con una impresora virtual ZX-PRINTER mediante el poderoso emulador EMUZWIN. Si deseas imprimir el código por cualquier motivo para su estudio y análisis en papel, intenta previsualizar antes la impresión por si deseas ajustar el número de páginas y/o el tamaño resultante de la letra.
CraPONG! surge a partir de una idea que se me ocurrió hace poco mientras estaba en la cama intentando dormir, o más bien, pensando como podía animar al pixel una paleta de tenis para montar un pong sencillo en el BASIC de Spectrum con desplazamiento píxel a píxel, a sabiendas, de que todos los PONGs originales fueron desarrollados en código ensamblador en su totalidad, o incluso, en placas sin procesador mediante componentes electrónicos y circuitos lógicos en la primera generación. Finalmente, la noche del 26 de mayo me puse a ello y esto que les presento es el fruto de mis elucubraciones digitales y también de mi insomnio.
Debo confesar que con este sencillo desarrollo me he quitado una espinita que siempre he tenido clavada y también, una fuerte curiosidad por saber si podía hacerse algo parecido a un PONG, probablemente el juego más relevante de la historia del videojuego, sirviéndonos únicamente del BASIC del ZX-Spectrum.
Al desarrollo aún le queda recorrido de optimización pues el código es primigenio, pero a tenor del resultado obtenido parece ser que sí es posible, aunque la última palabra es vuestra.
Cuando se me ocurrió la idea, debo reconocer que tenía ciertas dudas acerca de la capacidad del BASIC para conseguir el objetivo pero también estaba convencido de que esa forma era la única manera posible de poder desplazar las paletas (bloques) pixel a pixel. Después, en lo que a la física de la pelota y la lógica del juego se refiere, el compilador nativo MCODER3 y su suculento aporte vitamínico hizo el resto.
El proyecto es super básico, simplón, espartano y seguramente muy aburrido de jugar, pero veréis que la finalidad no era crear un video juego en sí sino experimentar con una técnica nueva y el código, aún sin pulir, no da para más. No en vano, la versión que cuelgo está compilada con nuestro querido MCODER3 y corre incluso en un 16K. El fuente ocupa unos 2KB y una vez compilado con el código añadido por el compilador su peso en memoria apenas supera los 6KB.
En este archivo #05 de ZXOpenSource se aborda el tema tabú de la animación en alta resolución desde BASIC puro (compilado) combinando el uso de potentes comandos gráficos como es el caso de POINT, LINE, DRAW, INVERSE..., con una efectiva técnica de animación que nos permitirá desplazar las paletas de tenis (consistentes en bloques de píxeles) de nuestro CraPONG! de forma elegante y relativamente fluida, ayudados eso sí, por la optimización del código compilado.
NOTA: al igual que en el caso del ARCHIVE #02, #03 y #04, queda pendiente la entrega de la Guía Rápida de Desarrollo para este proyecto, aunque es previsible que en la correspondiente a este ARCHIVE #05 y basada en el juego CraPONG! el tiempo de desarrollo se reduzca notablemente al aprovecharse gran parte del trabajo de las anteriores Guías Rápidas de Desarrollo.
Juego CraPONG! sin compilar y guardado en formato .SNA para su uso con emuladores de ZX-Spectrum El código está escrito para el ZX-Spectrum 48K, aunque el SNA debe abrirse en MODO 128, mucho más cómodo para programar al poder teclear todo el código (incluidos los comandos del BASIC) de forma natural. Por otro lado, y dada la sencillez extrema del código fuente, cualquier usuario con conocimientos de programación podrá interprertarlo sin demasiados problemas y hacer las adaptaciones y/o mejoras que considere oportunas. En la Guía Rápida de Desarrollo que se publicará como parte de este proyecto #05 se detallarán y comentarán en profundidad todas las técnicas y recursos empleados en este desarrollo.
Código ZX-BASIC completo y revisado del juego CraPONG! en .JPG El listado ha sido impreso con una impresora virtual ZX-PRINTER mediante el poderoso emulador EMUZWIN. Si deseas imprimir el código por cualquier motivo para su estudio y análisis en papel, intenta previsualizar antes la impresión por si deseas ajustar el número de páginas y/o el tamaño resultante de la letra.
(en elaboración...)GUÍA RÁPIDA de desarrollo para ZX-SPECTRUM basada en el juego CraPONG!
Versión final de CraPONG! corriendo sobre un Z-80A a doble de frecuencia (7 Mhz)
Animación scroll píxel a píxel de un círculo relleno usando la misma técnica que CraPONG! (vectorial) en basic compilado (procesador Z-80A a 3.5 Mhz)
Si lo prefieres, puedes descargar todo el material de este proyecto ZXOpenSource#05 desde el siguiente enlace:
El reconocimiento al trabajo
y al esfuerzo es quizá el único camino para que el hombre pueda llegar a superarse.
Con este humilde y honorable gesto usted contribuye a la continuidad, mejora y mantenimiento
de esta página web y al desarrollo de sus contenidos y
aplicaciones gratuitas.