miércoles, 10 de octubre de 2018

Disponible nueva versión V34 de la libreria 8BP

hola amigos de 8 bits de poder

Ya esta disponible la versión v33 de 8BP,  en https://github.com/jjaranda13/8BP la cual incorpora las siguientes mejoras


  • corregido un bug detectado en v33 en la deteccion de colisiones
  • el comando PRINTAT ahora puede imprimir fuera de los limites establecidos por SETLIMITS y es algo mas rapido
  • soporte de impresion transparente y flipeada en mode 1
  • nuevo codigo de ruta 251 para forzar animacion en mitad de una ruta
  • la libreria ahora ocupa 8200 bytes de los que unos 180 estan libres. comienza en la direccion 24000 dejando 24kB libres para BASIC
  • SPEDIT: (editor de sprites): nueva version v11 con soporte de mode 1, con capacidad de flip tambien para este modo
  • manual : En la documentacion he reflejado todos los cambios y he corregido la distribucion de bits en mode 1 en el capitulo de video
impresion transparente y flipeada en mode 1
Gracias al soporte de mode 1, ahora podemos hacer juegos con impresion flipeada y transparente tambien en este modo. Es la antesala de la capacidad filmation (o algo similar) que incorporaré a 8BP
8BP v34 soporta fliping y sobreescritura n mode 1



SPEDIT V11
ahora SPEDIT (nuestro editor de sprites integrado en la libreria), soporta edicion en mode 1
spedit v11 soporta mode 1


Animación forzada desde rutas:
Podemos dejar inactivo el flag de animación de un Sprite y animarlo solo en determinados instantes de la ruta usando el código 251 ( ver manual para mas detalles).

Esto puede ser muy útil para dar sensación de que un Sprite se acerca en juegos que utilizan técnicas pseudo 3D. Por ejemplo, para un meteorito que se acerca y que queremos que cambie de fotograma para aparecer mas grande. El meteorito se moverá unas cuantas veces antes de pasar al siguiente tamaño. Este mecanismo es muy similar al de cambio de imagen, solo que te permite definir el cambio de imagen sin especificar explícitamente la imagen, sino simplemente indicando un cambio de frame en la secuencia de animación que tenga asignado el Sprite.

un meteorito o una nave que se acerca pueden usar esta funcionalidad
Todas estas cosas las teneis bien descritas en el manual, el cual he actualizado convenientemente. Para el futuro cercano os diré que sigo trabajando en el videojuego "space phantom", del que os adjunto unas pantallas y en cuanto a la libreria, no la voy a hacer crecer mas, pues no quiero dejar menos de 24KB al programador BASIC, pero como aun me sobra algo de espacio en la zona de memoria de la librería, ando pensando cosas para poder hacer juegos estilo filmation. Eso lo dejo para la V35





hasta pronto amigos!



domingo, 24 de junio de 2018

Disponible nueva version V33 de la libreria 8BP

hola amigos de 8 bits de poder

Ya esta disponible la versión v33 de 8BP,  en https://github.com/jjaranda13/8BP la cual incorpora las 4 mejoras prometidas : flipping, sobreescritura con 2 y 4 colores de fondo, mejora del comando RINK para usar cualquier numero de tintas y posibilidad de sobreescritura de segmentos en modo Pseudo-3D.

Una de las mejoras mas importantes es el manual. Le he dado un repaso muy completo y ahora tiene mas aclaraciones y corrección de muchísimos detalles. He incluido mas medidas de rendimiento, mejor explicación de los mecanismos de scroll, mejor capitulo de memoria de video, mas diagramas explicativos, codigo fuente con colores y tipo de letra monoespaciado, etc. Ahora merece ser impreso como un libro de referencia en programación de 8 bit de nuestro querido CPC.


Cosas importantes a saber de la V33:
  • Ocupa lo mismo que la v32 (7700 bytes). Es decir, tienes 24.5KB libre para BASIC
  • Ahora tienes 1400 bytes para musica (100 bytes mas que con v32)
  • El comando RSX SETUPSQ ha sido eliminado. Este comando tenia una sintaxis mas compleja en BASIC que en asm y he preferido dejar la creacion de secuencias unicamente en el fichero asm. Ademas en ninguno de mis juegos lo habia usado. Era el comando menos util. gracias a ello he ganado espacio de memoria para mejoras de funcionalidad y para graficos, pues antes este comando reservaba 256bytes en la zona de memoria de graficos pra poder funcionar.
Con los bytes que me sobraban de la v32 y los que he ganado con SETUPSQ, he incorporado las 4 mejoras:


  • En modo pseudo-3D, ahora tiene capacidad de imprimir segmentos con sobreescritura. Esto es algo que se podía hacer en v32 con todo tipo de sprites menos con los segmentos. Ahora simplemente al configurar los items con sobreescritura (usando MAP2SP, status) los segmentos tendrán sobreescritura
  • Rotación de tintas mejorada (comando RINK) sin limitaciones. Hasta ahora se podían hacer patrones de 4 y 8 tintas rotando. Ahora puedes rotar cualquier numero de tintas
  • Sobreescritura de sprites con posibilidad de elegir el numero de bits de fondo: esto te va a permitir si lo deseas usar 4 colores de fondo en tus juegos
  • sprite flipping horizontal: ahora puedes definir imágenes "virtuales", que en realidad se definen como el "flip" horizontal de una imagen real. Esto te permite ahorrar mucha memoria RAM destinada a gráficos. He hecho el horizontal y no el vertical porque el horizontal es el más útil. Normalmente un personaje que camina a la izquierda es la imagen especular del mismo caminando hacia la derecha, mientras que cuando sube hacia arriba muestra la espalda y al bajar muestra el pecho y la cara.


Os dejo con un video de las demos que vienen con 8BP V33 y que ya podéis descargar y disfrutar. Yo me pondré con el nuevo videojuego que tengo en marcha, y espero poder regalároslo pronto




Hasta pronto amigos!






lunes, 11 de junio de 2018

Nueva versión V33 de la librería 8BP

Hola amigos de 8 bits de poder

Aunque aun no he liberado la v33, ya esta terminada y suficientemente probada. Solo me queda actualizar el manual, lo cual haré en los próximos días.

Os cuento sus características y lo que incorpora:

  • Ocupa exactamente lo mismo que la v32
  • En modo pseudo-3D, ahora tiene capacidad de imprimir segmentos con sobreescritura. Esto es algo que se podía hacer en v32 con todo tipo de sprites menos con los segmentos
  • Rotación de tintas (comando RINK) sin limitaciones. Hasta ahora se podían hacer patrones de 4 y 8 tintas rotando. Ahora puedes rotar cualquier numero de tintas
  • Sobreescritura de sprites con posibilidad de elegir el número de bits de fondo: esto te va a permitir si lo deseas usar 4 colores de fondo en tus juegos
  • sprite flipping horizontal: ahora puedes definir imágenes "virtuales", que en realidad se definen como el "flip" horizontal de una imagen real. Esto te permite ahorrar mucha memoria RAM destinada a gráficos. He hecho el horizontal y no el vertical porque el horizontal es el más útil. Normalmente un personaje que camina a la izquierda es la imagen especular del mismo caminando hacia la derecha, mientras que cuando sube hacia arriba muestra la espalda y al bajar muestra el pecho y la cara. 
ejemplo de sprite flipping
Aparte del manual, voy a preparar un par de demos que incorporaré en la v33 de serie y de momento os dejo con una preview del nuevo juego "space phantom" inspirado en el mítico space harrier.

Os prometo publicar la 8BP v33 con su manual en breve  




hasta pronto amigos!



viernes, 25 de mayo de 2018

Disponible conferencia Pseudo-3D de Retromadrid 2018

Hola amigos de 8BP

En esta ocasión os traigo el video publicado por retromadrid, con una cuidada post-producción, con la charla de 8BP sobre Pseudo-3D. En la charla se explican los conceptos de Pseudo-3D, asi como el funcionamiento de las maquinas recreativas de los 80 y 90, y el de los juegos pseudo-3D de los ordenadores de 8bit. Tambien se eplican los mecanismos que posee 8BP para que puedas programar tus propios juegos Pseudo-3D. La postproducción realizada incluye carátulas de los juegos comentados y ha quedado francamente bien. Además, la proyección de la presentación se ve perfectamente.

La presentacion de la charla la encontrareis en presentacion Pseudo-3D . Uno de los conceptos mas importantes de Pseudo-3D es que las curvas no son reales. No hay nada que gire, sino simplemente una carretera que se deforma y unas montañas o edificios en el fondo que se mueven de acuerdo a la supuesta curva que estamos tomando.



En el manual de 8BP disponible en https://github.com/jjaranda13/8BP  podreis encontrar informacion detallada de como usar las capacidades Pseudo-3D de 8BP. Aqui os adjunto un breve resumen

Las capacidades que aporta 8BP para poder disponer de pseudo-3D son:

1) Proyeccción 3D: consiste en proyectar un mapa del mundo 2D en 3D, de modo que, aunque lo recorramos en 2D, nos de la sensación de verlo en 3D. Esto lo haremos invocando al comando |3D para configurar los comandos PRINTSPALL y PRINTSP de modo que proyecten en 3D antes de pintar en pantalla. No habrá posibilidad de girar en el plano, siempre “miraremos” hacia delante, pero el efcto combinado de una curva unido a unas casas o montañas en el horizonte que se desplacen, simulará que estamos tomando una curva.




2) Zoom: consiste en poder usar distintas versiones de una misma imagen de un objeto para dar efecto de zoom a medida que nos acercamos a el. Esto simplemente lo haremos en el fichero de imágenes, definiendo 3 versiones de una misma imagen y agrupándolas en una estructura. En la imagen se muestra el típico ejemplo del cartel que se acerca. Los comandos PRINTSPALL y PRINTSP escogerán la versión mas adecuada de la imagen según a la distancia a la que se encuentre, sin necesidad de hacer nada mas que definir la imagen como una imagen de tipo “Zoom”.



3) Segmentos: consiste en poder disponer de sprites de tipo “segmento”, definidos por una sola scanline horizontal (por lo que ocupan muy poco), a los que podamos asociar una longitud y una inclinación. Con ellos podremos construir caminos, ríos, etc y bordes de carreteras. Esto simplemente lo haremos en el fichero de imágenes definiendo un tipo de imagen que además de ancho y alto posee inclinación. Estos segmentos los utilizaremos en la construcción del mapa del mundo.


Los segmentos utilizados en el juego “3D Racing one” son rojos o blancos y aunque sean largos, solo estan definidos por una scanline. Por ejemplo, el segmento blanco izquierdo consiste en unos pocos bytes verdes para el cesped, un par de blancos y otros pocos grises para la carretera. En el momento de imprimirse, el segmento asi definido se replica hasta medir la longitud deseada, y se imprime en perspectiva, por lo que, aunque sea un segmento recto, se mostrará torcido.

Por último, mencionar que en muchas ocasiones será necesaria la actualización dinámica del mapa (comando |UMAP). Gracias a este comando, el mapa puede ser muy grande (lo cual es necesario si creamos un circuito con muchísimos segmentos).



Pronto os presentaré 8BP v33 con avances muy interesantes en los que estoy trabajando que estoy seguro que os van a sorprender!


hasta pronto amigos!


lunes, 7 de mayo de 2018

8BP estuvo en Retromadrid 2018

Hola amigos de 8 bits de poder

Estuvimos en uno de los eventos retro mas importantes de España: Retromadrid.
Interesantísimo punto de encuentro (no comercial) donde maquinas antiguas, desarrollos homebrew e intercambio de ideas se viven al minuto. Un evento de referencia para todos nosotros, con conferencias y talleres muy interesantes.

Este año fui con un amstrad CPC464, demostrando una vez mas que todos los juegos hechos con 8BP pueden correr en 64KB de RAM, sin trampa ni cartón. También llevé una Bartop para jugar a shooters hechos con 8BP como el Nibiru o el Anunnaki y un video introductorio a 8BP que os adjunto aqui:




Muchos serán los blogs que tratarán el contenido del evento y como no, la participación de Jon Ritman (creador de Batman, Head Over Hells, Match day...), que fue un invitado de excepción.
Estuvimos con Jon Ritman, el creador de Batman (entre otros)
Tuve la oportunidad de charlar con Jon Ritman y contarle lo que 8BP puede hacer. No todos los dias tenemos la ocasión de  conocer en persona a una estrella del calibre de Jon.

Yo en este post os voy a contar mi impresión sobre el evento. Lo retro esta mas de moda que nunca. Y no hay una causa sino muchas. Una muy importante es que un videojuego de 8bit lo puede hacer una sola persona en unas pocas semanas (o a lo sumo meses), mientras que un juego para sistemas modernos requiere mas tiempo, mas detalles, mas trabajo. Además las limitaciones de estas máquinas, lejos de verse como un problema, son valoradas positivamente pues estimulan la imaginación y el ingenio.

gran acogida del videojuego "3D-Racing One", creado con 8BP
Los amantes de lo retro poseen una complicidad "silenciosa". Cuando un programador de Amstrad se encuentra con un programador de spectrum, commodore o MSX (o otro sistema antiguo), se dan la mano. Se entienden en el lenguaje secreto de los 8 bit.
El publico disfrutando de Anunnaki, 3D-racing one, Nibiru...
Otra cosa que me sorprendió fue el elevado número de niños que descubrieron y disfrutaron de los juegos de 8 bit. Su simplicidad, su fácil manejo, su clara mecánica...les atrapa. En verdad los juegos tan sencillos ya no están de moda y por lo tanto están "fuera del alcance" de las nuevas generaciones.
Los niños son verdaderos embajadores del sentido común, de lo que significa divertirse y su criterio esta limpio de modas. Son auténticos validadores de estos juegos.
Una distinguida visitante disfrutando con "Fresh fruits & vegetables", creado con 8BP
Incluso el primer juego construido con 8BP "Mutante Montoya", fue la delicia de grandes y pequeños. Incluso yo mismo estaba sorprendido. Es un juego sencillo, pero "engancha".
Publico jugando a "mutante montoya"
Una novedad interesante y que me causó una grata sensación fue ver un juego mio ("Nibiru") en edición física a la venta. No es mi intención ganar dinero y prometo donar lo poco que gane con el, pero reconozco que me hizo mucha ilusión. Fue como un deseo anhelado desde niño, ver un juego mio a la venta, en cassette.

gran acogida del juego "Nibiru" ejecutado con una Bartop con joystick profesional
Nibiru a la venta a precio ochentero
Durante la jornada del Sábado ofrecí una charla sobre programación Pseudo-3D, cuya capacidad está integrada en la librería 8BP desde la versión 32. He de decir que el público era excepcional: gente reunida en torno a un interés y una pasión común. Esa pasión nos conectaba a todos en la sala de conferencias. Para mi fue un placer compartir esas ideas con todos vosotros.

imagen de la charla de pseudo-3D
Hablé de como estaban programados los juegos en los 80: Pole Position, After burner, Space harrier... y tambien de como se hicieron los juegos pseudo 3D en el Amstrad, asi como de la programación pseudo 3D con la libreria 8BP.

Aunque en el canal oficial de Retromadrid aun no ha sido publicado, hay un canal de youtube que ya ha publicado la charla, aqui os la dejo. Cuando esté disponible el de Retromadrid, añadiré dicho video




Y por último solo me queda agradecer a la organización (a la Asociacion de Usuarios de Informatica Clasica - AUIC) y a todos, expositores y visitantes, por hacer de Retromadrid un gran punto de encuentro.

gran stand de 8BP en retromadrid 2018


hasta pronto amigos!



domingo, 15 de abril de 2018

Disponible nuevo juego "3D racing one" y la version 32 de 8BP

Hola amigos de 8BP

Ya esta disponible la versión v32 de 8BP,  en https://github.com/jjaranda13/8BP la cual incorpora la prometida y esperada capacidad "pseudo 3D" para hacer juegos de carreras , tanques, naves...etc.. Esta versión representa un avance importante en la librería 8BP, y poder hacer juegos 3D en BASIC es algo revolucionario. 

La nueva versión 32 de 8BP viene con un regalo, el nuevo juego "3D racing one", que encontrarás en la carpeta "GameExamples". Es un juego que demuestra la capacidad pseudo3D de 8BP, el primero realizado con esta nueva funcionalidad. Posee un lujoso gráfico, 4 fases, en una deberás competir con 4 coches y una fase de conducción nocturna.


Además, el manual ha sido actualizado minuciosamente y encontrarás detalles de como funciona el pseudo3D, las matemáticas que usa, los trucos, etc. El manual además incorpora nuevos consejos para aumentar el rendimiento de tus juegos, y por si fuera poco, la librería ha mejorado la funcionalidad de algunos comandos como MAP2SP, PRINTSPALL, mejoras en velocidad de PRINTAT, nuevos comandos ""ROUTESP" y 3D", y un sin fin de mejoras que están a tu disposición, para que las disfrutes y rindas culto al Amstrad CPC

En siguientes posts iré contando cosas del funcionamiento del pseudo3D. De momento os dejo con un video del fabuloso juego (de casi 20KB de BASIC) titulado "3D Racing one", realizado íntegramente en BASIC, con 8BP y usando la técnica de "lógicas masivas".

Te gustaría una charla/conferencia sobre la historia de los juegos y técnicas pseudo3D y la programación 8BP en Retromadrid 2018? vamos a intentarlo!

Larga vida al Amstrad CPC!






















lunes, 12 de marzo de 2018

Edición física de "Nibiru", ya a la venta

Hola amigos de 8 bits de poder

Hoy os traigo una grata noticia, que me hace gran ilusión, un anhelo por fin cumplido: la de editar un videojuego en físico. Se trata de "Nibiru". Siéntelo, óyelo...tócalo!!!!

La lujosa edición ha sido elaborada y puesta a la venta en la web de MATRANET. Lo encontrareis en la sección "boutique", de CPC. Estará disponible en la feria "Amstrad Eterno", el 21 de Abril.

8BP sigue avanzando como una locomotora y este no va a ser el único juego del que veáis edición física. 8BP pretende conquistar con el AMSTRAD CPC, el universo analógico/digital en todas sus dimensiones.


Eres el piloto de una nave destructora y debes vencer al planeta Nibiru y a su líder, GORGO, un reptil milenario casi invencible. Debes destruir a los pájaros galácticos que viven en sus tres lunas y una vez que llegues al planeta te debes enfrentar a sus peligros antes de poder luchar con Gorgo.



 
 







MATRANET hace unas ediciones físicas extraordinarias, a precio ochentero, 8,75€, que nos permiten revivir la verdadera experiencia de disfrutar de un juego en el Amtrad. Poder tocar la cinta, poder abrirla, meterla en la unidad de cassette...oír sus fabulosos sonidos binarios como entran y dan vida al Amstrad como si de su sangre se tratase....es una experiencia que mezcla lo analógico con lo digital. Una sensación indescriptible. Pues aqui está!
Podéis conseguir vuestra cinta en la web de MATRANET, en la sección "check-out". la información del juego está en http://www.matranet.net/boutique/cpc/nibiru/nibiru.php



un abrazo!