2 pontos por GN⁺ 2024-10-19 | Ainda não há comentários. | Compartilhar no WhatsApp

Masmorras e interface

Visão geral

  • Na parte anterior, exploramos o padrão de arquitetura Entidade-Componente-Sistema (ECS), comumente usado no desenvolvimento de jogos, e o paradigma de programação metalinguística.
  • Desta vez, vamos usar essas técnicas para criar um pequeno jogo do gênero dungeon crawler e, com isso, examinar o design de sistemas de uma aplicação de jogo real.

Preparação

  • Configurar o ambiente Common Lisp e atualizar os pacotes necessários.
  • Iniciar o projeto usando um template cookiecutter e definir o tamanho da janela do jogo como 1280x800.

Masmorra

  • É necessário um mapa de masmorra para que o jogador possa explorá-la.
  • Usar o Tiled, um editor de mapas open source, para criar o mapa da masmorra, e a biblioteca cl-tiled para carregá-lo como objetos Lisp.
  • Depois de preparar o arquivo do mapa, realizar alguns ajustes para que ele possa ser carregado e usado no jogo.

Aplicação do padrão ECS

  • Mover os dados dos tiles do mapa para o armazenamento ECS para melhorar o desempenho.
  • Adicionar o framework cl-fast-ecs ao projeto e inicializar o sistema ECS.
  • Armazenar os tiles do mapa como entidades individuais e definir sistemas para processá-los.

Animação

  • O Tiled oferece suporte a tiles animados, o que pode dar mais vida ao jogo.
  • Expandir e refatorar a estrutura do código para implementar animações.
  • Definir os componentes animation-frame e animation-state para gerenciar o estado das animações.
  • Definir o sistema update-animations para alternar os frames de animação no momento apropriado.

Resumo do GN⁺

  • Este artigo explica como o padrão ECS pode tornar o desenvolvimento de jogos mais eficiente.
  • Mostra como usar ferramentas como o Tiled para criar e gerenciar mapas com facilidade.
  • Explica como adicionar mais vida ao jogo por meio de animações.
  • Com o padrão ECS, é possível otimizar o desempenho e manter a estrutura do código enxuta.
  • Outros projetos com funcionalidades semelhantes incluem o sistema ECS da Unity e o sistema Blueprint da Unreal Engine.

Ainda não há comentários.

Ainda não há comentários.