Crea tus Juegos con 8BPCursos

8BP: Técnica de lógicas masivas

5
(3)

Hola amigos de 8 Bits de poder, en este capitulo de nuestra entrega semanal vamos a hablar sobre la técnica de las lógicas masivas y como podemos hacer uso de la misma.

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.

A menudo vas a necesitar mover muchos sprites, sobre todo en juegos de arcade del espacio o de estilo “Commando” (el clásico de Capcom de 1985).

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á.

Commando para Amstrad CPC canal YouTube de Xyphoe

Técnica de lógicas masivas con 8BP

Podrías actuar por separado en las coordenadas de todos los sprites y actualizarlas usando POKE, pero resultaría muy lento, inviable si quieres fluidez de movimientos. Lo más recomendable (y sencillo) es hacer uso combinado de las funciones de movimiento automático y de movimiento relativo, que son |AUTOALL y |MOVERALL respectivamente.

La clave de lograr velocidad en muchos sprites es utilizar la técnica que he bautizado como “lógicas masivas”. Esta técnica consiste fundamentalmente en ejecutar menos lógica en cada ciclo de juego (lo que se denomina “reducir la complejidad computacional”) y para ello hay varias opciones:

  • Usar una sola lógica que afecta a muchos sprites a la vez (usando los flag de movimiento automático y/o relativo)
  • Ejecutar varias tareas, pero solo una de ellas o unas pocas en cada ciclo del juego, usando aritmética modular (u operaciones binarias) en cascada.
  • Introducir limitaciones en el juego que no sean importantes o no afecten a la jugabilidad, para reducir el numero de tareas que se ejecutan en cada ciclo de juego o simplificar las tareas de modo que se ejecuten mas rápido.
  • Como norma general, reduce el numero de instrucciones por las que pasa tu programa en cada ciclo de juego, reemplazando a veces algoritmos por precálculos o poniendo mas instrucciones para lograr (paradójicamente) que se ejecuten menos cada ciclo.

Estas ideas tienen un mismo objetivo: ejecutar menos lógica en cada ciclo, permitiendo que todos los sprites se muevan a la vez, pero tomando menos decisiones en cada ciclo del juego.

Tecnica-de-logicas-masivas

A esto se le llama “reducir la complejidad computacional”, transformando un problema de orden N (N sprites) en un problema de orden 1 (una sola lógica a ejecutar en cada fotograma).

La clave está en determinar qué lógica o lógicas ejecutar en cada ciclo. En el caso más sencillo, si tenemos N sprites simplemente ejecutaremos una de las N lógicas. Pero en casos más complejos deberemos ser astutos para determinar que lógicas conviene ejecutar.

¡Genial! En la próxima entrega semanal de 8 Bits de Poder hablaremos sobre como mover hasta 32 sprites en pantalla haciendo uso de las lógicas masivas.

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