✳ Elige cómo lo ves
← Volver a proyectos

07 / C++ · JUEGO POR TURNOS

The Final Room

Cada decisión consume un turno.

El proyecto final de la guía de motores ECS: un juego por turnos donde hay que encontrar una llave, abrir puertas y avanzar por niveles aleatorios.

MI APORTACIÓN

Programación completa

FECHA

Junio de 2023

DURACIÓN

1 mes

HERRAMIENTAS

C++ · Raylib · ECS

01 / CONTEXTO

El reto.

Reunir lo aprendido durante la guía en un juego más completo, manteniendo visible la relación entre los sistemas del motor y el comportamiento del juego.

02 / PROCESO

Mi aportación.

Programé el juego y su lógica sobre el motor desarrollado en la guía. Cada movimiento o interacción consume un turno; el avance añade obstáculos y enemigos y reduce los objetos disponibles.

  • Todo el código del juego.
  • Lógica de turnos, interacción y progresión.
  • Integración como ejemplo final de la guía.
03 / RESULTADO

Lo que construimos.

Un juego con niveles aleatorios y dificultad creciente, código consultable y un descargable para Linux. Su implementación se explica paso a paso en los capítulos finales de la guía.

Un proyecto jugable permite comprobar cómo encajan las decisiones de arquitectura.
04 / DECISIONES

Decisiones de desarrollo.

El turno no es el fotograma

El bucle sigue dibujando mientras la lógica alterna la entrada del jugador y la actualización de la IA. Una variable de turno y un intervalo temporal regulan esa alternancia. Así se puede distinguir la presentación continua del momento en que los personajes tienen permiso para actuar.

De una tecla a un cambio en el mundo

El sistema de entrada consulta los componentes del jugador y establece su desplazamiento. Los sistemas de colisión, posición y renderizado procesan después el estado. Seguir esta cadena permite ver qué responsabilidad tiene cada sistema y dónde se conectan las reglas del juego.

Cambiar de nivel también es gestionar estado

El reinicio conserva el inventario mediante el gestor de juego, elimina las entidades y vacía el almacenamiento de componentes antes de preparar otro nivel. La progresión aleatoria exige pensar tanto en lo que se genera como en lo que debe sobrevivir entre escenarios.

05 / RECORRIDO

El proyecto en uso.

  1. Observar el tablero y planear una ruta hacia los objetos que permiten avanzar, teniendo en cuenta obstáculos y enemigos.
  2. Realizar un movimiento y seguir la respuesta del juego: el turno organiza cuándo actúa el jugador y cuándo lo hace la IA.
  3. Superar el nivel y comparar el siguiente escenario, donde cambian la distribución y las condiciones de dificultad.
06 / PARA EXPLORAR

Qué explorar.

Una forma de acercarte al proyecto a través de sus pantallas, su material y, cuando está disponible, su código.

  • La alternancia entre entrada e IA dentro del bucle principal.
  • El recorrido desde el componente de entrada hasta posición, colisión y dibujo.
  • La conservación del inventario y la limpieza de entidades al cambiar de nivel.
EL PROYECTO CONECTA CONCómo construir un motor ECS en C++20

LAS PERSONAS DETRÁS

Créditos.

Laureano Cantó

Programación

Alicia Aurecchia

Arte 2D

SIGUIENTE PROYECTO / 08

Lavadora y secadora, más comprensibles