Crea tus Juegos con 8BPCursos

8BP: Una sola lógica para gobernar a todas

4.7
(7)

Hola amigos de 8 Bits de Poder, en nuestra entrega semanal de nuestro curso de programación para Amstrad CPC, usaremos una sola lógica para gobernar todas y hablaremos sobre las lógicas masivas en el control de todas las pantallas del juego.

rutas avanzadas

Pero espera… ¿Es posible que no sepas nada de 8 Bits de Poder? Puedes leer el primer artículo del curso de programación en Amstrad CPC de 8BP.

Nuestro amstrad solo tiene 64KB y si descontamos la memoria de video, la memoria para tus sprites, tu música y la librería 8BP, te quedan 24KB de BASIC que debes usar muy bien. Si cada pantalla tiene su propio “programa” dentro de tu juego, apenas podras hacer un juego de 10 pantallas.

Haciendo uso de la lógica para gobernar pantallas

Hay dos cosas que debes tratar de hacer para reducir el uso de la memoria:

  • Crear pantallas con pocos bytes
  • Crear una sola lógica para gobernar todas las pantallas, es decir que un mismo ciclo de juego es el que se va a ejecutar en todas las pantallas del juego.

En los juegos de pasar pantallas que usan layout, cada pantalla puede ocupar 20×25 bytes, es decir 500 bytes.  Si empleas ciertos “trucos” como los explicados en el capitulo 8, puedes reducir esta memoria. En el videojuego “happy Monty” se construyen 25 pantallas con solo 160 bytes cada una y hay una única lógica de ciclo de juego para todas las pantallas.

Es muy importante que programes una única lógica de ciclo de juego y la apliques a todas las pantallas.

Si programas una lógica de ciclo de juego para cada pantalla, el código fuente de tu programa será enorme y podras programar pocas pantallas pues se te acabará la memoria pronto.

Tambien puedes superar las limitaciones de memoria mediante algoritmos que generen laberintos, o pantallas sin necesidad de almacenarlos. De este modo podrás hacer muchas más pantallas. Esto requiere creatividad, desde luego, pero es posible. Un algoritmo siempre ocupa menos que los datos que genera, aunque lógicamente cuesta mas tiempo ejecutarlo que simplemente leer datos almacenados.

massive-logics-logica-para-gobernar

Puedes reutilizar la lógica de enemigos de una pantalla en otra, ahorrando líneas de código. Aprovecha el mecanismo GOSUB/RETURN para ello. Tambien es muy útil usar rutas en los enemigos. Con el mecanismo de rutas, el enemigo se mueve sin ejecutar lógica BASIC y funcionará muy rápido. Basta con asignar una ruta a un enemigo para que este la recorra una y otra vez sin que necesitemos costosas instrucciones IF , asignaciones, etc

También puedes hacer juegos que carguen por fases, de modo que no tengas todo el juego en memoria a la vez. Esto es un poco molesto para el usuario de cinta (CPC464) aunque no lo es para el de disco (CPC6128)

Recuerda que siempre puedes hacer uso de sprite flipping para ahorrar memoria en tus sprites.

Y hasta aquí llega nuestra entrega semanal de 8BP. Para la semana que viene hablaremos sobre cómo aplicar esta técnica de «lógicas masivas» en la creación de vuestros juegos.

Hasta aquí hemos llegado por hoy con el curso de programación en Amstrad CPC de 8 bits de poder Si tienes alguna duda puedes escribir en comentarios y te contestaré lo antes posible.

Todos los recursos, como manuales, ejemplos y juegos compilados de este curso los puedes encontrar en el repositorio Github de 8BP.

Hasta la semana que viene amigos 😄

¿Te ha Resultado útil este artículo?

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

Mostrar más

2 comentarios

Deja una respuesta

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

Publicaciones relacionadas

Botón volver arriba