Desarrollar para Gameboy: temas y referencias
5. Colisiones
Colisiones con el tilemap
Explicaciones de cómo calcular colisiones de sprites contra un tilemap. Requiere calcular posiciones en tiles y acceder a la matriz (array) del tilemap y comprobar qué tile hay. Estos vídeos explican los cálculos y ayudan a visualizar lo que hay que hacer y cómo funciona:
- [2021] Cómo calcular colisiones con el tilemap [ #Z80 #ASM ]
- Cómo crear un sistema de colisiones ECS.
- Explicación teórica del cálculo de colisiones.
- Realizar los cálculos en ensamblador Z80 para obtener las posiciones de memoria dentro del tilemap.
- [2022] Cálculos y colisiones con el tilemap (Vídeo Privado)
- Explicación teórica más pausada (más paso a paso)
- Visualización de la memoria y tilemaps como arrays
- ¿En qué consisten exactamente las colisiones con el tilemap?
- Calcular posiciones en tiles y direcciones de memoria
- Optimizar los cálculos
- Detectar la colisión y deshacerla
Importante: ambos vídeos están hechos en ensamblador Z80 para Amstrad CPC. Si bien es similar a lo que hay que hacer en Gameboy, no es lo mismo. Quedaos con las explicaciones y cread el código para Gameboy. En Gameboy no tenéis registros IX ni IY, ni tampoco tenéis que usar las funciones de CPCtelera, ni tampoco podéis leer los píxeles de la pantalla.