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.