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:
Mostrando entradas con la etiqueta actualización. Mostrar todas las entradas
Mostrando entradas con la etiqueta actualización. Mostrar todas las entradas

lunes, 18 de agosto de 2025

Disponible nueva versión V43 de la librería 8BP

 Hola amigos de 8 bits de poder

Ya tenéis disponible la versión V43 de la librería 8BP, descargable en github https://github.com/jjaranda13/8BP . Esta nueva versión incorpora varias funcionalidades nuevas y una nueva opción de ensamblaje. Además, en la opción de ensamblaje "cero" te da un poco mas de memoria libre.

Esta nueva versión supone una mejora y en parte es gracias a vosotros que me escribís con preguntas, dudas, ideas, etc.

las novedades son:

  • soporte de doble clipping horizontal: esta funcionalidad es interesante para implementar juegos con scroll estilo ghost n goblins. Estoy trabajando en ello para poder hacer una demostración. 
  • nuevo flag y funcionalidad de borrado. Se activa con PRINTSP,33,1 y se desactiva con PRINTSP,33,0. Con el flag activo tanto PRINTSP como PRINTSPALL borran los sprites. Este mecanismo funciona también con sprites que tienen sobreescritura. Esta funcionalidad me la han pedido desarrolladores de juegos y se ha podido incorporar sin apenas gastar memoria.
  • nuevo modo de ensamblaje ASSEMBLING_OPTION = 4 que permite prescindir de layout y scroll, y que te deja 25300 bytes para tu codigo y 500 bytes mas para tus sprites
  • mas memoria disponible en el modo de ensamblaje cero. Antes eran 23500 y ahora son 23600 bytes
  • corregido bug en ANIMASP 
  • dos nuevas demos: una de doble clipping y otra de flag de borrado
Estos son los 4 modos de ensamblaje disponibles en 8BP V43


El manual ha sido actualizado con todas estas cuestiones y ahora hay una versión del manual "V43". Las traducciones a otros idiomas se han quedado desactualizadas en "V42", pero es lo único que quedaría por actualizar.

Quiero dar las gracias en especial a "fito", por que me ha ayudado a estas mejoras con sus ideas


Espero que la disfrutéis y aprovecho para desearos un feliz verano!

hasta pronto!


domingo, 1 de septiembre de 2024

mapas dinámicos en 8BP V42_001

 hola amigos de 8BP

Recientemente, hablando con un amigo desarrollador de AMSTRAD, "fito", conocido programador de juegos como "space panic", "barr war" o "spaceman kerl" (https://fitosoft.itch.io/), surgió la necesidad de hacer mapas del mundo dinámicos.


No os preocupéis que esto no va de música setentera. Como sabéis, 8BP tiene capacidad de scroll mediante un mecanismo llamado "mapa del mundo", el cual es una lista de "items" compuestos por coordenadas y dirección de imagen. De este modo podemos construir un mundo que después recorremos con el comando MAP2SP, el cual convierte a sprites aquellos items que "caen" dentro de la pantalla.

Pues bien, es posible pokear las direcciones de memoria del mapa usando identificadores de imagen en lugar de direcciones de memoria. En 8BP podéis dar de alta en una lista llamada "IMAGE_LIST" las imágenes que queráis, de modo que a cada imagen le corresponde un numerito pequeño en lugar de una dirección de memoria. Por ejemplo, podríamos decir que una casa es el ID=23 en lugar de decir que se encuentra en la dirección &8D41.  

Al pokear el mapa podéis crear mapas dinámicamente, antes de comenzar una fase de modo que podríais inventar una forma de guardar mapas enormes de un modo mas compacto. O simplemente crear laberintos aleatorios. La imaginación manda.

El caso es que esto ya era posible en 8BP y de hecho se usa en el juego "3D racing one" pero recientemente descubrimos que usar identificadores de imágenes hacia fallar el comando de colisión (lo cual no ocurre en "3d racing one" porque usa otro mecanismo de colisión). Pues bien, esto ha sido corregido y además se ha acelerado un poquitín el comando de colisión. La nueva versión corregida es 8BPV42_001 (https://github.com/jjaranda13/8BP) y también se han añadido estas cuestiones en el manual, Asi como una idea (truco) para lograr imágenes animadas en tu mapa, tales como un volcán en erupción, una cascada de agua o lo que se te ocurra,  Espero que os guste y os sea útil en vuestros juegos

hasta pronto amigos!







domingo, 4 de junio de 2023

Disponible nueva versión V42 de la librería 8BP

hola amigos de 8 bits de poder

Ya tenéis disponible la versión V42 de la libreria 8BP, descargable en github https://github.com/jjaranda13/8BP . Esta nueva versión incorpora varias funcionalidades nuevas pero ademas te deja mas memoria libre gracias a "opciones de ensamblaje". Un simple numero con el que especificas la opción y así no "malgastas" memoria en comandos de scroll si tu juego es de laberintos o viceversa. 

Los cambios y mejoras han sido inspirados por vosotros, por programadores que me hacen consultas, me sugieren ideas y echan en falta cosas que poco a poco se han ido incorporando. Gracias a los que como Toni o Fito, me han sugerido ideas y me han ayudado con sus preguntas a comprender donde debía explicar un poco mas en el manual ciertos detalles. 


librería: se han incorporado las siguientes funcionalidades:

  • "opciones de ensamblaje": con las que 8BP ahora te deja 1.5KB para música y hasta 25KB libres para tu listado. Ahora la librería 8BP dispone de varias opciones de ensamblaje que te permiten elegir las capacidades que deseas para tu juego y así dispones de más memoria disponible para el listado de tu juego. La opción de ensamblaje la debes especificar en el fichero Make_all_mygame.asm , el cual tiene una línea específica para asignar el valor del parámetro “ASSEMBLING_OPTION”. con la opcion para juegos de laberintos (1) tienes 25KB libres, con la de scroll (2) tienes 24.8 KB libres y con la pseudo3D (3) tienes 24 KB libres



  • 1.5KB libres para música (antes eran 1.4 KB). El mapa de memoria ha cambiado ligeramente
  • imágenes de fondo: permite scroll sin parpadeos en objetos que pasan por debajo de tus sprites

  • secuencias de animación encadenadas: esto permite hacer secuencias de animación de cualquier numero de frames

manual: incorpora las siguientes mejoras:

  • explicación de las opciones de ensamblaje
  • nuevo mapa de memoria
  • explicación de las imágenes de fondo
  • explicación de las secuencias de animación encadenadas
  • revisión completa del manual con muchas mejoras en todos los capítulos

las demos han sido actualizadas para usar 8BP V42 y se ha añadido la demo 15, que muestra la utilidad de las imágenes de fondo en juegos con scroll


Espero que os guste y os ayude a programar vuestros juegos aun mejor
hasta pronto!







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!