Crea tus Juegos con 8BPCursos

Descubre 8 Bits de Poder

Curso 8 Bits de Poder

4.9
(12)

8BP es una librería que permite ejecutar rápidamente funciones, como imprimir sprites a toda velocidad, mover bancos de estrellas por la pantalla o gestionar fácilmente la detección de colisiones, estas son cosas que el BASIC no puede hacer con velocidad y 8BP lo consigue. ¡¡Y ocupando sólo 8 KB!!

8BP no necesita instalación. Solo tienes que tener el emulador Winape en tu PC y descargarte 8BP para empezar a programar en BASIC usando toda su potencia.

La librería 8BP no es un “motor de juegos”, sino mas bien un una extensión de comandos BASIC y RSX…

Los motores de juegos como el game-maker, el AGD (Arcade Game Designer), el Unity u otros, limitan en cierta medida la imaginación del programador, obligándole a usar unas determinadas estructuras y a programar en lenguaje limitado de script la lógica de un enemigo, a definir y enlazar pantallas de juego de una forma muy determinada, etc….

Motor de juegos vs 8BP

¿Qué es 8 Bits de Poder?

BASIC es un lenguaje interpretado, significa que cada vez que el ordenador ejecuta una línea de programa debe primero verificar que se trata de un comando válido, comparando la cadena de caracteres de la línea de codigo con todas las cadenas de comandos válidos. A continuación, debe validar sintácticamente la expresión, los parámetros del comando e incluso los rangos permitidos para los valores de dichos parámetros. Además, los parámetros los lee en formato texto (ASCII) y debe convertirlos a datos numéricos. Finalizada toda esta labor, procede con la ejecución. Pues bien, todo este proceso que se realiza en cada instrucción es lo que diferencia un programa compilado de un programa interpretado como los escritos en BASIC.

que es 8bp?

Dotando al BASIC de los comandos proporcionados por 8BP, es posible hacer juegos de calidad profesional, ya que la lógica del juego que programes puede ejecutarse en BASIC, mientras que las operaciones intensivas en el uso de CPU como imprimir en pantalla o detectar colisiones entre sprites, son llevadas a cabo en código máquina por la librería. Sin embargo, no todo es facilidad y ausencia de problemas. Aunque la librería 8BP te va a proporcionar funciones muy útiles en videojuegos, deberás usarla con cautela pues cada comando que invoques atravesará la capa de análisis sintáctico del interprete BASIC, antes de llegar al inframundo del código máquina donde se encuentra la función, por lo que el rendimiento nunca será el óptimo sino eres astuto y ahorras instrucciones, mides los tiempos de ejecución y partes de tu programa y piensas estrategias para ahorrar tiempo de ejecución. ¡¡Toda una aventura de ingenio y diversión!!.

Aquí aprenderás como hacerlo e incluso te presentaré una técnica a la que he llamado “lógicas masivas” que te permitirá acelerar tus juegos a límites que quizás considerabas imposibles.

Además de la librería, tienes a tu disposición un sencillo pero completo editor de sprites y gráficos y una serie de herramientas magníficas que te permitirán disfrutar en el siglo XXI de la aventura de programar un microordenador.

¿Quien dijo que el lenguaje Basic no es suficientemente potente para crear juegos…? 

Descubre como es Space Phantom, uno de los juegos realizados con 8 bits de Poder por José Javier García Aranda.

¿Qué es una librería RSX?

RSX es el acrónimo de Resident System eXtensions. Las librerías como 8BP que proporcionan comandos para extender el BASIC se les llama librerías RSX.

En el AMSTRAD CPC 6128, algunos de los comandos que se utilizan para manejar la unidad de disco son comandos RSX que vienen preinstalados, tales como TAPE, |DISC, |A, |B, |CPM y otros. Si esta funcionalidad no existiese, cada rutina de 8BP habría que invocarla con un CALL <dirección>, por lo que la existencia de RSX hace más accesibles las instrucciones para el programador.

AMSTRAD-CPC-464

Pero no todo es paz y armonía. Usar RSX es más lento que usar CALL directamente y además si declaramos 10 comandos nuevos en una librería, el décimo comando puede tardar 1ms más en empezar a ejecutarse que el primero. La librería 8BP tiene 27 comandos y el último comienza a ejecutarse 2ms mas tarde por encontrarse en el último lugar de la lista. Este es uno de los problemas de estar bajo el intérprete BASIC.

En 8BP compensamos este problema creando los comandos de uso más frecuente al principio de la lista, y dejando para el final los menos frecuentes. Como pronto deducirás, el comando más frecuentemente usado en 8BP es |PRINTSPALL, el cual imprime todos los sprites en pantalla. Dicho comando es, por consiguiente, el primero de la lista.

Funciones de 8BP

Tras cargar la librería con el comando: LOAD “8BP.BIN” e invocar desde BASIC la función _INSTALL_RSX (definida en código máquina) mediante el comando BASIC:

CALL &6b78

Dispondrás de los siguientes comandos, que aprenderás a usar en este manual

comandos RSX en 8BP
Comandos RSX en 8BP

Nótese que aparece una barra vertical al principio de cada uno por ser “extensiones” del BASIC.

Adicionalmente dispones de un comando experimental:

|RETROTIME, fecha

Este comando permite transformar tu CPC en una máquina del tiempo, con solo introducir la fecha de destino deseada. La única limitación del comando es que debes introducir una fecha igual o posterior a la del nacimiento del AMSTRAD CPC, Abril de 1984.

|RETROTIME, “01/04/1984”

Por favor, utiliza esta funcionalidad con precaución. Podrías crear una paradoja temporal y destruir el mundo….

Aunque de momento puedas tener cierto escepticismo respecto lo que puedes llegar a hacer con la librería 8BP, pronto descubrirás que el uso de esta librería junto con técnicas de programación avanzadas que aprenderás en este libro te permitirá hacer juegos profesionales en BASIC, algo que quizás creías imposible.

⚠️ Nota importante para el programador: La librería 8BP está optimizada para ser muy rápida. Es por ello que no chequea que hayas colocado correctamente los parámetros de cada comando, ni que tengan un valor adecuado. Si algún parámetro está mal puesto, es muy posible que el ordenador se cuelgue al ejecutar el comando. Chequear estas cosas lleva tiempo de ejecución y el tiempo es un recurso que no se puede desperdiciar, ni un milisegundo.

En el siguiente articulo veremos como es la arquitectura del Amstrad CPC con el fin de comprender mejor como utiliza la librería 8 Bits de Poder la memoria del microordenador.

¿Te ha Resultado útil este artículo?

Ayúdanos a mejorar y danos tu opinión:

Votación promedio: 4.9 / 5. Total de votos: 12

Etiquetas
Mostrar más

2 comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Botón volver arriba
Cerrar
Cerrar