help me to make 8BP better

If you like 8BP, your help is welcome. Help me supporting this initiative (from 1€, whatever you want). Donations will be used for materials and 8BP disemination:

domingo, 14 de noviembre de 2021

Menus personalizados para DES con 8BP

 hola amigos de 8 bits de poder

Con la llegada del dispositivo DES a la escena AMSTRAD, hemos descubierto una nueva forma de cargar juegos en nuestro CPC, los fabulosos cartuchos cuya carga es instantánea


con La herramienta “ROM Generator” de Dandare (aqui) podemos crear nuestra propia compilación de juegos. Quizás quieres personalizar tu menú de juegos con una imagen. Eso es posible aunque debes saber los pasos, que los encontraras en el documento “como hacer juegos con intro para DES”, en la serie de manuales de ayuda de 8BP.  

En este post te voy a contar como hacer un menú con un juego integrado en el propio menu, es decir, que el menú sea un juego. Puedes encontrar esta información en el documento "menus para DES con 8BP", en la serie de manuales de ayuda de 8BP.  



Pero puedes hacer un menú aun mas lujoso y personal si en lugar de una simple imagen haces un programa a modo de menú desde el que puedes saltar a otros juegos. Para ello ROM generator te permite elegir dos modos de comportamiento:
  • arrancar con uno de los juegos directamente (marcando la casilla Autoboot)
  • arrancar desde el menú para elegir el juego

Esto nos sugiere una idea: podríamos hacer un juego con autoboot que en realidad sea un menú personalizado a nuestro gusto. Además, dicho menú podría tener varias pantallas, animaciones e incluso minijuegos integrados. Podemos usar 8BP para construir de forma sencilla estos menús, desde BASIC y para todos los públicos.


Ubicación de la rutina DES
Si vas a hacer un programa que haga las veces de menú con 8BP, necesitas cargar la rutina DES que permite conmutar al DES de una rom a otra en la memoria, para poder saltar a cualquiera de los juegos del menú.
La rutina es esta (como ves es corta). Yo la he ensamblado en la dirección 42000, en la zona de gráficos de 8BP. 


A continuación, tienes el mapa de memoria de 8BP. Podría meter la rutina en cualquier zona por debajo de la dirección 24000 o bien en la zona dedicada a sprites o a música , si es que nos sobra memoria. En el caso que te voy a presentar me sobra casi toda la memoria de gráficos y he usado la zona de sprites (desde la 42000 hasta la 42030). Es decir, son 30 bytes al final de la zona de sprites, sin llegar a tocar ni siquiera el map layout, aunque podría ubicarla ahí porque en este programa no voy a usar el layout


El programa/juego menú

Este programa esta creado con 8BP e integra un minijuego dentro del propio menú.  Primero muestra una imagen en pantalla y mientras se visualiza un fondo de estrellas cayendo te invita a pulsar una tecla. Justo después aparece nuestra lista de juegos al mismo tiempo que podemos jugar a un minijuego. Durante la ejecución del minijuego podemos pulsar un numero para seleccionar un juego de la lista o bien para cambiar de pagina

El minijuego es sencillo: manejas al personaje “hackman” y debes saltar esquivando los enemigos, y cada vez que te matan vuelve a empezar. La máxima puntuación siempre se presenta en pantalla para que sepas la marca que debes batir.
Algunas variables importantes de este pequeño programa:
  • NUMGAMES: numero de juegos de tu lista
  • GAME$(NUMGAMES)=almacena los títulos de los distintos juegos de la lista
  • Page: variable de página. Puedes tener dos páginas de juegos
La rutina que te permite saltar a un juego comienza en la 620 y es invocada cuando pulsas un número. Como ves justo al final se invoca la rutina que hemos ensamblado en la 42000

el listado completo con el lanzamiento de la rom y el juego de saltar bichos lo puedes descargar desde el github de 8BP (https://github.com/jjaranda13/8BP ). No te lo pego aqui porque ocupa un par de paginas pero si estas interesado en los detalles simplemente ve al github de 8BP y descargatelo. Tambien lo tienes en el documento  "menus para DES con 8BP", en la serie de manuales de ayuda de 8BP.  

En este caso se trata de un minijuego muy sencillo, que con los comentarios prácticamente se entiende, pero si que quiero destacar la forma la leer el teclado, con la función B$=INKEY$. Esta función nos permite capturar cualquier tecla que pulses. Solo la ejecutamos si no has pulsado la barra, que es el control de salto del personaje. 

482 if inkey(47) then 484 else |SETUPSP,31,15,0:|SETUPSP,31,0,137:goto 500
484 b$=inkey$: if b$="" then 500 

Como ves en esas líneas solo ejecutamos el INKEY$ si no has pulsado la tecla 47 (la barra)

Últimos pasos

Una vez que te funciona todo, los pasos que debes dar para crear tu rom son:
 1) Grabar la SNA del programa menú (ejecutada desde un 464) 
 2) Grabas las SNA de los juegos de tu lista 
 3) Ejecutas el ROM generator y arrastras los juegos y tu programa menú
 4) Seleccionas AutoBoot en tu programa menú
 5) Pulsas crear rom


Ahora te toca a ti crear un menú. ¿con minijuego integrado? ¿Con animaciones? ¿con pequeñas capturas de pantalla de los juegos que ofrece? ¿con un piano para tocar música hasta que el jugador se decida por un juego?
Puedes hacer lo que tu quieras. Imagina y hazlo realidad con 8BP

hasta pronto amigos!

sábado, 30 de octubre de 2021

DISPONIBLE NOMWARS en DSK y TAPE

Hola amigos de 8 bits de poder

Recientemente he liberado el juego NOMWARS (junto con sus fuentes, sus gráficos , música etc.). Lo podéis encontrar en https://github.com/jjaranda13/8BP . En total ya tenéis 16 juegos completos hechos con 8BP libres para descargar. Dos de ellos realizados por otros programadores ("dogfight" de Iván Ávila y "zampamanzana" de Dani Masó). Si te animas a publicar tu juego para que forme parte del lote de juegos de 8BP, y ayudar así a otros programadores, ponte en contacto conmigo

El juego NOMWARS ha sido programado con la versión V41 de 8BP y ofrece las dos versiones: BASIC puro y ciclo compilado.



El juego lo encontrareis para descargar tanto en disco como en cinta:
  • DSK: contiene la intro del juego y te da a elegir entre jugar con ciclo compilado o con BASIC puro
  • TAPE: un fichero .cdt con la version del juego compilada y otra .cdt con el juego en BASIC puro. En el formato cinta no esta incluida la intro, porque tardaría mucho en cargar todo, pero en el DSK tenéis todo en el mismo disco
Ademas, puedes comprar la edición fisica en https://hobbyretro.com/retro/nom-wars

Espero que os guste y que os inspire para hacer vuestros propios juegos. Recordad que en la carpeta de "documentacion" tenéis el "making of" de muchos juegos, entre los que se encuentra NOMWARS

Y por ultimo, también disponéis de SPEDIT V14, el cual os proporciona una nueva funcionalidad: podéis capturar sprites de capturas de pantallas de vuestros juegos favoritos o pantallas editadas con la herramienta ConvImg o cualquier otra


Estoy preparando un menú de juegos para DES, programado con 8BP, que os puede servir para crear vuestros propios menús de juegos DES. En este caso va a contener un juego integrado en el menú, de modo que mientras te piensas el juego al que quieres jugar, puedes jugar a un minijuego, Es un concepto atractivo porque os permite hacer menús mucho mas lujosos a vuestro gusto, de un modo sencillo, como siempre, con 8BP. Muy pronto lo tendréis disponible 

hasta pronto amigos!




miércoles, 11 de agosto de 2021

Disponible "NOMWARS" en formato DES

 Hola amigos de 8 bits de poder

Ya podéis disfrutar de NOMWARS, el último videojuego de 8BP 


El juego ha sido editado en formato DES (Dandanator Entertaiment System), un formato que le permite dar nueva vida a tu AMSTRAD CPC con cartuchos, cargándo instantáneamente, con la posibilidad de crear tus propias compilaciones de juegos. El juego esta a la venta en https://hobbyretro.com/retro/nom-wars

Si quieres saber mas sobre DES y sus posibilidades, puedes consultar en https://auamstrad.es/hardware/dandanator-entertainment-system/


NOMWARS es un juego creado en honor al clásico "Commando"  creado por Capcom en 1985.La versión programada con 8BP ha sido titulada “NOMWARS”, por estar de moda las historias sobre el nuevo orden mundial como amenaza. El título es lo de menos porque igual se podría haber titulado “el retorno de joe” o “supercommando”, no deja de ser un clon de comando

NOMWARS ha sido programado en BASIC con 8BP, demostrando una vez más que con 8BP puedes hacer cualquier tipo de juego.

En esta versión se explota la capacidad de scroll de 8BP (comando MAP2SP) y se incluye el famoso puente por el que Joe pasa por debajo usando una técnica basada en el comando SETLIMITS de 8BP.

EL juego se ofrece en dos versiones: la versión de BASIC pura y la versión de ciclo compilado (ciclo traducido a lenguaje C usando el wrapper de 8BP y el minibasic de 8BP).  Ambas versiones son idénticas, pues la traducción a C es una réplica total, casi un espejo de la versión BASIC. De hecho, el juego ha sido programado en BASIC y el ultimo día ha sido pasado a C con la facilidad que tiene para ello 8BP.


Historia de NOMWARS

Siglo XXI, el Nuevo Orden Mundial ha creado una pandemia y se ha hecho con el control de los medios, ha arruinado la economía y está utilizando técnicas de ingeniería social para que la población acepte un régimen totalitario basado en la tecnología. Mediante un plan de vacunación masiva están esterilizando silenciosamente a la población. Cualquier fiesta está prohibida.

Quedan pocos pensadores libres como tú, y tu misión es unirte a una fiesta clandestina, para lo cual deberás destruir al ejército del nuevo orden mundial. Una vez destruido, la humanidad te agradecerá haber roto sus cadenas


Hay gente a la que le ha “alertado” la historia de NOMWARS, porque contradice lo que se dice en los medios de comunicación sobre el NOM, pero una vez más quiero dejar claro que NOMWARS es un videojuego, no es un libro de actualidad geopolítica ni de historia. Es un simple juego y como tal es una ficción. 

La programación del videojuego esta explicada paso a paso en el documento "making of" que encontraras en la sección de documentacion de github , en https://github.com/jjaranda13/8BP

En el documento "making of" encontraras el mecanismo para construir los mapas de cada fase, el scroll, el mecanismo usado para lograr que nuestro personaje pase por debajo del puente, la programación del disparo tan rápido que tiene, el movimiento del personaje, etc



Vamos a explicar aquí el mecanismo del puente, que es sencillo de entender y a la vez interesante:

En estas dos imágenes se ilustra: tras imprimir todos los sprites, se hace un SETLIMITS para restringir el área de impresión de la pantalla y se imprime el personaje. El mecanismo de “clipping” de la impresión de sprites hace que Joe desaparezca justo al entrar en el puente. Justo después de imprimir a Joe se deja el SETLIMITS como estaba para poder usar todo el área de juego al imprimir sprites en el siguiente ciclo de juego

Con 8BP puedes lograr crear juegos de todo tipo y como ves los resultados pueden ser muy profesionales. Espero que disfrutéis de este juego y que os animéis a programar vuestros propios juegos con 8BP!!

os dejo con un video del juego



un abrazo y feliz verano!









miércoles, 5 de mayo de 2021

¿ Y qué mas da?

 Hola amigos de 8 bits de poder,

Recientemente escribí un tweet en el que informaba que no participaría en ferias que siguiesen las medidas "sanitarias" impuestas por el gobierno.  Ojo, he dicho que no voy a participar, no que vaya a participar incumpliendo las normas. Y he recibido muchas criticas, insultos y hasta anónimos. Simplemente por mi posicionamiento en este tema. Incluso me han llegado a decir que debido a mi posicionamiento ya no quieren programar con 8BP (como si yo ganase dinero con 8BP). Considero que una cosa es el problema sanitario y otra muy diferente las medidas. Hay una distancia enorme entre ambas cosas.

8BP es una librería de programación. No es una librería negacionista ni covidiana. Por programar con 8BP nadie se vuelve negacionista. Miguel Bose no es programador de 8BP (que yo sepa).

Este asunto es delicado. Unos creen en la versión oficial (la que ofrece la televisión) y otros piensan (pensamos ) que la televisión no es el mejor camino para llegar a la verdad. La búsqueda de la verdad es lo que debería unirnos a todos, pero parece que este es un tema como el futbol o la política: o eres del Barsa o eres del Madrid. O eres de AMSTRAD o de SPECTRUM. No hay encuentro posible.


La versión alternativa la ofrecen organizaciones como médicos por la verdad, biólogos por la verdad, la universidad de stanford, el centro de la evidencia medica de oxford, los 14000 médicos que han firmado la declaración de Barrington, cientos de científicos a los que por no seguir el dogma de su televisión llaman "negacionistas". La lista es interminable. Hay gente que no piensa lo mismo que dicen en la tele. ¿y que mas da????

En los años 80 tu podías ser racista, el otro podía ser homosexual, otro podía ser homófobo, otro podía estar en contra de los calvos, otro podía ser franquista y otro comunista. Había gente que era de AMSTRAD y gente que era de SPECTRUM (de commodore pocos, que era mas caro). Y todos podíamos juntos charlar y tomarnos una litrona en un parque. Daba igual lo que pensases. La libertad de pensamiento y opinión estaba por encima de todo (a ver, sin usar violencia ni nada para defender las ideas). Disfrutábamos hablando. Hablando en persona, sin wasap ni twitter ni porquerías de esas. Y pasábamos tiempo pensando, meditando mientras paseabas, mientras viajabas en autobús, sin una pantalla de 3 pulgadas a la que mirar como poseído por la berza.

Al igual que a la NASA, que se les ha olvidado como hacer cohetes, nosotros ya no sabemos hablar. Somos de agua dulce o salada pero además, sólo vale ser de una forma. En la televisión llaman debate a interrumpirse hablando, a razonar con adjetivos "no tienes razón porque eres tal". Y si ahora en televisión dijesen  que el AMSTRAD es mejor que el SPECTRUM, los amantes del SPECTRUM tendrían que esconderse para no ser mal vistos por el resto, incluidos otros amantes de SPECTRUM que les señalarían y hasta les denunciarían. ¿nos hemos vuelto locos?

No voy a cambiar mi posición porque una vez que adquieres conocimiento ya no hay marcha atrás. No puedo dejar de saber programar el Z80. Igual que no puedo aceptar que una prueba PCR sea un diagnóstico o que una mascarilla te protege de una persona que no tose ni estornuda. Yo sé que los paraguas funcionan, pero eso no me motiva a usarlos los días que no llueve. Y son razonamientos muy sencillos que se puede plantear cualquiera ( y no debería asustar a nadie). Por ejemplo, el tiempo necesario para conocer los efectos adversos a dos años de una vacuna son... dos años. ¿que alguien no esta de acuerdo? pues mejor. Que cada uno piense lo que quiera.

Queridos amigos: la ciencia consiste en hacer hipótesis falsables. Tu propones una hipótesis y a continuación hay que hacer experimentos hasta que logremos falsarla. En ese momento mejoramos o cambiamos la hipótesis y vuelta a empezar. En ciencia lo que hoy es verdad mañana es mentira. Y NO PASA NADA. El que no esta dispuesto a aceptar esa "terrible" verdad, no tiene espíritu científico. 

En ciencia, todas las ideas, por descabelladas que parezcan, son hipótesis válidas hasta que se refuten. En ciencia, los dogmas no son algo a seguir. Son algo de lo que avergonzarse. Y la televisión es una fuente de dogmas, al igual que muchos libros de texto, pero esa es otra historia de la que os hablaré otro dia.  

Os dejo y me despido con un enlace a un documento que considero una buena contribución para conocer "la otra versión", la que no cuentan en la TV. Da igual si contiene toda la verdad o parte de ella. Tiene valor porque "es la otra versión", la que no te cuentan en TV, y está apuntalada por muchas referencias bibliográficas científicas. Desde que la ví por primera vez me pareció una contribución valiosa y por ello la comparto. 

No es obligatorio leerla, igual que no es obligatorio poneros un supositorio que alguien comparta con vosotros. Yo simplemente lo comparto para el que lo quiera. 

INFORME PANDEMIA




hasta pronto amigos!

 








miércoles, 3 de febrero de 2021

Como actualizar el cartucho DES de 8BP

hola amigos de 8 bits de poder

Hoy os voy a contar como actualizar el cartucho DES de 8BP con los últimos juegos. Para ello he grabado un videotutorial que os adjunto en esta entrada.


El cartucho de 8BP contiene una compilación de juegos que podéis disfrutar de forma inmediata (sin necesidad de esperar a cargar la cinta) gracias al dispositivo DES (Dandanator Entertaiment System) , del que tenéis información en https://auamstrad.es/des/ , y donde podréis adquirirlo.

Tendréis que instalar dos cosas en vuestro PC. un driver USB , pues conectareis el PC al DES a través de un cable USB, y el ROM generator 2.4 , que es la aplicación para crear ROMs con colecciones de juegos y para controlar la grabación del cartucho desde el PC. Aquí tenéis los enlaces a todo:

web del proyecto CPC Dandanator

driver USB para el DES

rom generator 2.4

La compilacion de juegos de 8BP en una ROM la teneis en https://github.com/jjaranda13/8BP , en la seccion de "game examples", dentro de "DANDANATOR ROM COLLECTION"

Aqui os dejo el videotutorial que he preparado, bastante casero. Y os adjunto también un video de pablo Forcén, de AUA (video tutorial de Pablo Forcén)



espero que lo disfrutéis!


sábado, 26 de diciembre de 2020

8BP galardonado con un AMSTRAD ETERNO 2019 Award

 Hola amigos de 8 bits de poder

Es una alegría poder compartir esta noticia, ser uno de los agraciados de los premios AMSTRAD ETERNO de esta edición 2019 y nada menos que con el "premio al mejor equipo desarrollador". Fueron muchos los participantes y un selecto grupo los finalistas, de las 18 categorías del certamen

https://videojuegosretro-upm.blogspot.com/2020/01/2019-international-amstrad-eterno-awards.html

https://videojuegosretro-upm.blogspot.com/2020/01/finalists-2019-international-amstrad.html

Extraordinaria ilustración de Amstrad Eterno

El premio es un reconocimiento a la labor de la gente que le da vida a la escena y cuando reciba el diploma, lo colgaré en mi "sala retro" junto a mi querido Amstrad CPC. Estoy muy agradecido al equipo de amstrad eterno y en especial a Atila Merino @blackmores

Este premio es especial porque tal y como dicen las bases, Para ganar este premio un mismo autor o grupo tiene que haber publicado al menos dos juegos en un mismo año y que la suma de sus puntuaciones sea la mas alta de todas. El jurado (compuesto por 40 miembros) ha sido generoso con 8BP y continuaremos la labor , si cabe, con más ilusión.

Los juegos de 8BP de 2019 fueron "Eridu", "Frogger Eterno" y "Happy Monty". En 2020 sólo he sacado el "Blaster Pilot", aunque he dedicado mas tiempo a mejorar la librería para dotarla de nuevas capacidades musicales y compatibilidad con lenguaje "C", de modo que se puedan hacer juegos mas potentes. Lástima no tener listo el nuevo juego estilo "commando" que estoy acabando. Estará listo en 2021.

como os decía los juegos fueron estos:





Son juegos aceptables, no "top" como puede ser "Pinball dreams" (galardonado como mejor videojuego), pero demuestran las capacidades de 8BP y mi intención es siempre hacer juegos diferentes unos de otros, de diferentes estilos que pongan a prueba la librería, demostrando que puedes hacer cualquier tipo de juego con ella. Y como veis me inspiro en clásicos donde podáis reconocer y hasta comparar con aquellos juegos en los que me inspiro. En "happy monty" incluso incluí el medidor de FPS para que vieses en todo momento la velocidad del juego, como afecta cuando hay mas o menos enemigos, como afecta activar y desactivar la música, etc. Es decir, divertido, si, pero a la vez didáctico y con el código fuente disponible y hasta un manual "making off" explicativo de como se ha hecho el juego.

Cuando termine el juego estilo "commando" que estoy haciendo ( de momento titulado "WWF" World War Fest - guerra mundial fiesta) trataré de preparar un making off y cuando nuestros queridos políticos nos dejen hacer ferias, trataré de dar alguna charla didáctica para explicar su funcionamiento y compartir ideas con todos vosotros.

Tengo muchas ganas de que vuelvan las ferias retro. Muchos sabéis como pienso respecto de las prohibiciones de hacer ferias o reuniones, restricciones que han llevado a la ruina a mucha gente y todas las medidas draconianas que estamos sufriendo. Cada cual debe ser libre para pensar si está o no de acuerdo, para informarse por diferentes vías (esquivando la censura) y formarse su opinión. Pero al igual que no todos los videojuegos valen igual, porque el conocimiento necesario para crear "Pinball dreams" es superior al necesario para crear  un "Pong", tampoco debemos caer en la tentación de pensar que la opinión del sabio vale lo mismo que la del necio. Y mucho menos que un mensaje por el mero hecho de salir en la TV tiene mas credibilidad o sensatez. Vivimos tiempos convulsos, donde la información es manipulada, censurada, recortada, y la verdad se nos hace difícil de alcanzar.

Lo que si deseo, penséis lo que penséis, es que estemos unidos, no dejemos que las ideas o los mensajes de unos y otros rompan nuestras buenas relaciones, nuestra amistad, nuestro afecto. Aquello que nos une tiene un valor que debemos proteger y os deseo que lo logréis, ese es mi mensaje y mi deseo para todos


un abrazo y felices fiestas

y larga vida al AMSTRAD CPC!









viernes, 31 de julio de 2020

Disponible version V41 de la libreria 8BP

hola amigos de 8 bits de poder

Ya tenéis disponible la versión V41 de la libreria 8BP, descargable en github https://github.com/jjaranda13/8BP . Esta nueva versión ocupa exactamente lo mismo e incorpora las siguientes mejoras:

libreria: se han incorporado algunas actualizaciones en ficheros asm para proporcionar las siguientes funcionalidades:
  • el comando MUSIC ahora interpreta efectos de sonido (canal FX de wyxtracker) que incluya la melodía
  • nuevo flag en el codigo de enrutamiento 254 para resetear opcionalmente el fotograma de la nueva ruta asignada a un sprite (para hacer que pase a frame 0)
  • cambios en direcciones de cada rutina incorporadas al wrapper 8bp.h 
 
SPEDIT: se incluye spedit v13 , que puede grabar la paleta en disco:

  


manual:

  • se incluyen las explicaciones de las mejoras
  • se incluye una ampliación de como usar mas color en el capitulo de sprites
  • aclaración del comando PRINTSPALL: primero anima y después imprime
  • actualización de las mejoras de SPEDIT v13

Demos: todas las demos actualizadas a v41



Como podeis ver (más bien oir) en el video, suena la musica con un cuarto canal de efectos (efectos de percusion) que en realidad es un "truco" mediante el que se puede simular ese mecanismo sin disponer de un verdadero cuarto canal. A la vez en este video se ha reservado el tercer canal (comando SOUND 4, ...) para los efectos de disparos y colisiones, de modo que en la musica se usan 2 canales y el "pseudo-canal" de efectos y el tercer canal se usa para los sonidos del juego.
Estos efectos se pueden editar con wyztracker, sin embargo conviene probarlo porque en el wyztracker se pueden oir los efectos incluso si no hay un canal activo y en realidad asi no funciona, pero al menos se puede hacer. 

en cuanto a las capacidades nuevas de enrutamiento, se trata del codigo 254, que ahora permite asignar una secuencia de animacion y cambiar el frame al mismo tiempo a frame cero. Para ello se usa el tercer byte que hasta ahora era un cero de relleno, para resetear el frame id.



lo siguiente que os regalaré será un nuevo juego que acabo de empezar, y que espero que os guste

feliz verano!