2 puntos por GN⁺ 2024-10-19 | Aún no hay comentarios. | Compartir por WhatsApp

Mazmorras e interfaz

Resumen general

  • En la parte anterior se exploraron el patrón de arquitectura entidad-componente-sistema (ECS), comúnmente usado en el desarrollo de juegos, y el paradigma de programación de metalenguajes.
  • Esta vez se usará esta tecnología para crear un pequeño juego del género dungeon crawler y, a través de ello, revisar el diseño de sistemas de una aplicación de juego real.

Preparación

  • Se configura el entorno de Common Lisp y se actualizan los paquetes necesarios.
  • Se inicia el proyecto usando una plantilla de cookiecutter y se establece el tamaño de la ventana del juego en 1280x800.

Mazmorra

  • Se necesita un mapa de mazmorra para que el jugador pueda explorarla.
  • Se crea el mapa de la mazmorra con Tiled, un editor de mapas de código abierto, y se usa la biblioteca cl-tiled para cargarlo como un objeto de Lisp.
  • Después de preparar el archivo del mapa, se realizan algunos pasos previos para poder cargarlo y usarlo dentro del juego.

Aplicación del patrón ECS

  • Los datos de los tiles del mapa se mueven al almacenamiento ECS para mejorar el rendimiento.
  • Se agrega el framework cl-fast-ecs al proyecto y se inicializa el sistema ECS.
  • Los tiles del mapa se almacenan como entidades individuales y se definen sistemas para procesarlos.

Animación

  • Tiled admite tiles animados, lo que permite darle más vida al juego.
  • Para implementar la animación, se amplía y refactoriza la estructura del código.
  • Se definen los componentes animation-frame y animation-state para gestionar el estado de la animación.
  • Se define el sistema update-animations para cambiar los cuadros de animación en el momento adecuado.

Resumen de GN⁺

  • Este artículo explica cómo usar eficientemente el patrón ECS en el desarrollo de juegos.
  • Presenta una forma de crear y gestionar mapas fácilmente con herramientas como Tiled.
  • Explica cómo darle más vida al juego mediante animaciones.
  • Con el patrón ECS es posible optimizar el rendimiento y mantener una estructura de código concisa.
  • Otros proyectos con funciones similares incluyen el sistema ECS de Unity o el sistema Blueprint de Unreal Engine.

Aún no hay comentarios.

Aún no hay comentarios.