Crea tus Juegos con 8BPCursos

8BP: Cómo ahorrar memoria en los layouts del juego

4.9
(10)

¡Hola amigos de 8 Bits de Poder! En el artículo de hoy veremos como ahorrar memoria para tus layouts en 8BP.

Si tu juego tiene muchas pantallas y necesitas ahorrar espacio puedes utilizar muchas técnicas sencillas para ahorrar memoria. Una pantalla consume casi 0.5 KB de modo que es importante usar métodos para reducir su tamaño.

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.

La forma mas sencilla de hacerlo es editar las pantallas como si fuesen sprites. Las editas con SPEDIT (por ejemplo) y cada pixel representará un elemento del layout. Dependiendo del color, representará rocas, ladrillos, espacio vacio, agua, tierra, etc. Como hay 16 colores en mode 0 disponibles, tendrás 16 tipos de ladrillo. El sprite que generes lo tendrás que almacenar como una imagen más y antes de mostrarlo en pantalla, convertirlo a layout, explorando pixel a pixel y transformándolo en el código ASCII que necesites (esto te lo tendrás que programar en BASIC o como desees).

Ahorrar memoria en layouts

Si consideramos que usarás 5 líneas de caracteres para los marcadores del juego, una pantalla consumirá 20×20 píxeles= 400 píxeles = 200 Bytes. Por consiguiente, en 1KB te caben 5 pantallas y en 10KB te caben 50 pantallas. Habrás usado 4 bits por elemento de layout.

La edición de pantallas como si fuesen sprites es muy “visual”, aunque puedes decidir usar menos bits por elemento del layout. Si usas solo 2 bits, tendrás 4 tipos de elementos y también podrás editar pantallas como si fuesen imágenes, usando MODE 1.  En ese caso te cabrán 100 pantallas en 10KB. Si usas un número diferente de bits por ladrillo, la cosa se complica pues no puedes dibujar las pantallas como si fuesen sprites, pero te puedes programar algo que te convierta una imagen que dibujes en los bits que necesites.

Por favor, acepta las cookies de YouTube para poder ver este video. Aceptando, accederás al contenido de YouTube, un servicio externo y gestionado por terceros.

Leer la privacidad de Youtube.

Aceptando este aviso, tu selección será guardara y la página se refrescará.

Otra solución sencilla y eficaz consiste en definir cada layout con bloques grandes, por ejemplo, de 8×16 píxeles, y construir las pantallas definiéndolas con caracteres que podemos almacenar en memoria.

En el videojuego “Happy Monty”, se recrea la primera pantalla del Mutant Monty con una matriz de 16×10 caracteres =160 bytes, de modo que 25 pantallas ocupan 4 KB.  Es cierto que este layout tiene solo 16 bloques de ancho y no los 20 que puede llegar a tener, y además solo se definen 10 bloques verticalmente, en lugar de los 25 que tendría como máximo, pero así ocupa muy poca memoria y podemos crear muchas mas pantallas.

8BP: Cómo ahorrar memoria en los layouts del juego 2
ahorrar memoria
Layout definido con 160 caracteres.

¿Qué tal llevas tu juego con 8BP? En el próximo capitulo hablaremos de programación avanzada y lógicas masivas. Veremos como conseguimos lidiar con la velocidad de proceso de la información de Basic para conseguir que esta sea más rápida y eficiente.

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

Deja una respuesta

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

Publicaciones relacionadas

Mira también
Cerrar
Botón volver arriba