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 C. Mostrar todas las entradas
Mostrando entradas con la etiqueta C. Mostrar todas las entradas

martes, 21 de junio de 2022

"Paco, el hombre" : nuevo juego disponible para descarga

 hola amigos de 8BP

Un nuevo juego se añade a la lista de juegos 8BP. Se trata de "Paco, el hombre" un comecocos con 4 niveles de dificultad que hace uso intensivo de logicas masivas. Lo podéis encontrar en https://github.com/jjaranda13/8BP .junto con sus fuentes, música, etc


Como su nombre indica, "Paco el hombre" esta basado en el clásico PAC-MAN. Creado en 1980 por la empresa Namco, fue el juego que más monedas recaudó en los 80 (14 mil millones de dólares). Entre 1981 y 1987 se vendieron 293.822 máquinas arcade con todas las variantes de este videojuego. La versión de 8BP tiene la esencia del mítico comecocos pero simplificado. No se han incluido frutas ni te puedes comer a los fantasmas


Consta de 4 niveles y en cada uno la velocidad es mayor. En cada nivel el numero de fotogramas por segundo aumenta y la velocidad llega a complicar mucho el juego

  • nivel 1: 15 fps (en BASIC)
  • nivel 2: 19 fps (en BASIC)
  • nivel 3: 30 fps (en C)
  • nivel 4 : 33 fps (en C)

Cada nivel tiene un diseño de colores diferentes al resto, pero el laberinto es el mismo.


Este juego usa una tecnica especial para mover los sprites medio byte (dos pixels de mode 1, o si estuviesemos en mode 0 sería un solo pixel). Un byte contiene 2 pixels en mode 0 , o bien 4 pixeles en mode 1. La tecnica para mover medio byte se trata de tener una imagen del personaje desplazada medio byte y simplemente asignársela al Sprite. Aunque se imprima en la misma coordenada, parecerá que se ha movido


Para ayudar a generar estas imágenes desplazadas, junto con el juego he publicado la versión V15 de SPEDIT que permite desplazar hacia la derecha e izquierda cualquier imagen. 

Un movimiento suave es mas agradable pero también da la impresión de ser mas lento. Por eso es muy importante lograr el mayor numero de FPS posibles y para ello se ha hecho uso intensivo de logicas masivas. Las tareas del juego se dividen en ciclos y tras 4 ciclos de juego todo vuelve a comenzar. Es como un "motor de 4 tiempos". En cada ciclo todo se mueve (los 4 fantasmas y también paco) pero solo se realizan algunas tareas. Ello permite reducir el numero de instrucciones que se ejecutan en cada ciclo. 


Para que esto sea posible, cada vez que un fantasma se encuentra en una bifurcacion del laberinto es muy importante que justo en ese momento se ejecute su lógica. Para que esto ocurra se colocan inicialmente los fantasmas en posiciones calculadas de modo que SIEMPRE que un fantasma alcanza una bifurcación, su lógica se va a ejecutar.

Una estrategia "extra" de lógicas masivas se usa en los niveles 2 y 4. Se calculan las decisiones de los fantasmas en una ejecucion "normal " y se almacenan en una tabla. Dicha tabla es consultada en estos niveles, ahorrando lógica de chequeo de muros etc. El universo del juego es "determinista" y con ello aceleramos unos cuantos fps

El laberinto se ha construido con la capacidad de layout de 8BP y tienes mucha información en el documento "making of" del videojuego, también disponible en la sección de documentación de 8BP

¡espero que lo disfrutes! te dejo con un video del juego



hasta pronto amigos! y feliz verano!










domingo, 13 de marzo de 2022

SPACE PANIC: un nuevo juego creado por adolFito usando 8BP

 hola amigos de 8 bits de poder

En esta ocasión quiero presentaros Space Panic, un nuevo juego creado con 8BP , programado por adolFito (https://fitosoft.itch.io/ ) . Es una conversión de clásico juego de 1980 creado para máquinas arcade, considerado como el "padre de los juegos de plataformas"

Como veis la pantalla de carga es soberbia, creada por brundij


El juego ha sido creado con la versión 8BP v41 y utiliza ciclo compilado (es decir, ha programado en C y usa la capacidad C de 8BP). Lo podéis encontrar en el repositorio de juegos github de 8BP.(https://github.com/jjaranda13/8BP) , Tanto el dsk como el cdt y el fuente en C con el que podéis inspiraros para hacer vuestro propio juego. En el repositorio github de 8BP podéis encontrar un total de 17 juegos que os sirven como ejemplo para vuestras creaciones. Algunos de estos juegos incluso traen un documento "making of" que podéis  encontrar en la carpeta de documentación


Durante el desarrollo, que a su autor le ha llevado algo menos de 3 meses, he tenido ocasión de charlar con el algunas veces y aunque comenzábamos hablando de programación, dudas, etc, acabábamos hablando de lo divino y lo humano y he de decir que en la escena retro hay muy buena gente. Fito es uno de esos tipos con los que conversar es un verdadero lujo.

En realidad ya conocí a Fito, como a Cervantes, a través de sus obras. Jugué mucho a su remake de west bank para android, una pasada de juego con la que he pasado muchas horas viajando en metro. ¡Os lo recomiendo!



Os invito a descubrir Space Panic (descargable desde la web itch de fitosoft y desde el github de 8BP) y a disfrutar se un verdadero clásico.

Gracias Fito!




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!




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!