Desarrollo de videojuegos en Ensamblador Z80

Sitio: Moodle UA 2023-24
Curso: VIDEOJUEGOS I (21038)
Libro: Desarrollo de videojuegos en Ensamblador Z80
Imprimido por: , Invitado
Día: sábado, 4 de abril de 2026, 05:56

Descripción

Vídeos y material de aprendizaje sobre desarrollo de juegos, modelo Entidad-Componente-Sistema (ECS), programación en Amstrad CPC con CPCtelera y ensamblador Z80

1. Listas de vídeos

Listas completas de clases de cursos anteriores

  • Curso 2022/23 
    • Bases: Instrucciones, símbolos, variables, pila, arrays, debugger
  • Curso 2021/22 
    • CPCtelera, desafíos, aprendizaje, arrays, VSYNC, ECS, Componentes, Estrategias de Render, colisione, Game Design
  • Curso 2020/21 
    • Bases de ensamblador, linker, gestión memoria y renderizar sprites a mano. Técnicas de Render: double buffer, tilemap, flickering, scroll, cámara, Interrupciones, raster, música.
  • Curso 2019/20 
    • Arquitectura ECS desde 0. Macros y constantes. IA: Árboles de decisión, abstracción, movimiento, patrullas. Técnicas de render.  Animaciones. Colisiones y optimizaciones. Gestión de proyectos. Interrupciones, música y fuentes propias de texto.
  • Curso 2018/19 
    • Micro-GameEngine orientado a objetos. Control por teclado. Macros. Punteros a función. Herencia. Double Buffer. Niveles y tilemaps comprimidos. Cargadores propios de casete. 
  • Curso 2017/18
    • Ensamblador, CPCtelera y movimientos. Saltos con tabla. Teoría de colisiones. Estructuras de datos en ensamblador e IX. Música e interrupciones. Scroll por software y double buffer. Llamar a C desde ensamblador.

2.1. Nivel 0: Introducción

1. Introducción

2. Estructura

3. Líneas

4. Evaluación

2.2. Nivel 1: Sprite en Código Máquina

Para trabajar más cómodo, usa Linux e instala CPCtelera 1.5. Con CPCtelera 1.5. tienes el comando cpct_winape que instala WinAPE automáticamente.

PRÁCTICA

P01. Introducción

Instalar CPCtelera (y WinAPE)

P03. Reto 1.1

P04. Jugando con el código

P05. Paso a Paso

P06. Los colores

P07. De 2 en 2

P08. El formato

P09. Por la pantalla

P10. RETO: Pinta

P11. RETO: Memoria de Vídeo

P12. DESAFIO: Sprite

TEORÍA

T1. Ciclo de la CPU

T2. Binario

T3. Hexadecimal

T4. Memoria de Vídeo

T5. Formato de píxel

T6. Distribución Mem.Video

T7. Instrucciones Z80

2.3. Nivel 2: Animaciones en Código Máquina

PRÁCTICA

P1. Introducción

P2. RETO: Animar píxeles

P3. EJ: Píxel animado

P4. RETO: En movimiento

P5. Repeticiones

P6. RETO: A lo grande

P7. Posiciones variables

P8. RETO: Repeticiones

P9. DESAFIO: Animación

TEORÍA

T1. Tiempo, animaciones

T2. Monitor: Raster Scan

T3. Positivos y negativos

T4. Repeticiones, bucles

T5. Almacenamiento: Variables

2.4. Nivel 3: Ensamblador

PRÁCTICA

P01. Introducción

P02. RETO: Ensambla

P03. EJ: Reto 1.1

P04. Movimiento

P05. RETO: Teclado

P06. Condicionales 2

P07. Pulsaciones

P08. Usando variables

P09. RETO: minijuego

P10. RETO: Control

P11. DESAFÍO: Videojuego

TEORÍA

T1. Ensamblador

T4. Pila de programa

3. C y Ensamblador

Entendiendo C y Ensamblador desde 0. Comprendiendo las bases para poder empezar a programar en ensamblador.

  1. ¿Cómo se pinta un sprite?
    • ¿Cómo se pinta un sprite? CPU, RAM, Registros, Funciones...
  2. Mover sprites
    • Variables, tipos, funciones, const, enum, if...
  3. Colisiones
    • condicionales avanzados, stack, lectura de teclado, geometría...

4. GameEngine en C con CPCtelera

  1. ECS Básico
  2. ECS Estándar

4.1. ECS Básico

  • Starfield Effect (1)
    • Teoría ECS, Entity Manager, Inversión de control
  • Starfield Effect (2)
    • Raster, render, destrucción de entidades, operaciones de bit, debug, timing

4.2. ECS Estándar

  • Atari Assault (1)
    • Componentes, sprites, conversión PNG, borrado básico, teclado, forall por tipo
  • Atari Assault (2)
    • Comportamientos IA, Animaciones, Responsabilidades y Game Manager, static, union
  • Atari Assault (3)
    • Punteros, constantes, inicialización estática, inspección del binario, movimiento de enemigos, gestión del juego, entidades fantasma y borrado, clonado de entidades y ciclo de juego, refactorización, colisiones: teoría y sistema básico



5.2. Game Design

Curso 2019/20:

Curso 2020/21:


5.3. Sistema Físico

Curso 2020/21: