Desenvolvimento do jogo Amber Spear
Palavras-chave:
Desenvolvimento de Jogos 2D, Entity Component System (ECS), Princípios SOLIDResumo
O mercado de desenvolvimento de jogos eletrônicos tem se destacado globalmente, devido ao seu crescimento acelerado e impacto econômico significativo. Atualmente, os jogos eletrônicos constituem uma parte vital da cultura popular em múltiplos países e desempenham papel crucial em diversas áreas, como educação, simulação industrial, treinamento corporativo e saúde. O Brasil destaca-se como o maior mercado de jogos da América Latina, com aproximadamente 103 milhões de jogadores online em 2022. Estudos indicam que 82,1% dos brasileiros consideram os jogos digitais como uma de suas principais formas de entretenimento. Nos Estados Unidos, o cenário é igualmente expressivo, com 212 milhões de pessoas (cerca de 65% da população) jogando videogames ao menos uma vez por semana. Com projeção de faturamento global estimado em US$ 206,4 bilhões até 2025, a indústria de jogos digitais mantém-se como um dos principais motores do setor de entretenimento, demonstrando resiliência e capacidade de inovação, mesmo diante de desafios econômicos globais [Abragames 2023] [ESA 2023].
O jogo desenvolvido foi inspirado por Warlock [Zymoran et al. 2011], um título multijogador onde jogadores controlam magos usando diferentes magias para empurrar seus oponentes em uma arena cercada por lava, vista na Figura 1. No jogo desenvolvido, cada jogador controla um mago, o acelerando com as teclas wasd ou com as setas direcionais. Além disso, tem acesso a duas magias distintas: uma bola de fogo, que causa dano e empurra o alvo atingido, vista na Figura 3(a), e uma magia que aumenta o seu peso, dando maior eficácia ao empurrar oponentes e maior resistência contra projéteis, vista na Figura 3(b). O objetivo é causar dano suficiente para deixar o oponente com zero de vida, sendo os métodos de dano: empurrar seu oponente na lava ou atingi-lo com bolas de fogo.
O desenvolvimento foi feito na linguagem C++, utilizando a biblioteca SDL2¹ para renderização e áudio, e a biblioteca mylib² para classes de vetores matemáticos. O desenvolvimento foi feito seguindo o paradigma orientado a objetos (POO) e os princípios SOLID, visando maior qualidade e manutenibilidade do código. As classes foram organizadas baseadas no padrão Entity Component System (ECS), onde entidades são compostas de vários componentes que interagem com sistemas. Como exemplo, uma entidade de caixa contém o componente de sprite, que armazena dados como suas dimensões e textura. Estes dados são utilizados por um sistema de sprites que o renderiza na tela. Esta abordagem permite que as entidades sejam altamente customizáveis e atomiza as funcionalidades em sistemas separados, o que facilita a manutenção do código. O código encontra-se disponível no GitHub³.
Para o desenvolvimento dos gráficos do jogo, foram criados diversos sprites. Alguns objetos são estáticos, como as caixas, pedras e lava, vistos na Figura 2. As entidades mais complexas, como o personagem do jogador, necessitam de múltiplos sprites para compor as animações. Para atender a essa necessidade, foi desenvolvida uma spritesheet, vista na Figura 3(c).
A experiência de desenvolvimento incluiu várias dificuldades, dado que foi a primeira experiência com um projeto de grande escala em C++, com o desenvolvimento de jogos e com certos paradigmas como ECS. Além disso, foi necessário implementar manualmente vários sistemas geralmente incluídos em motores de jogos, como física e animação. Como resultado, o projeto proporcionou uma nova perspectiva sobre o funcionamento e desenvolvimento de jogos.
Referências
Abragames (2023). Relatório final 2023: Setor de games no Brasil. Disponível em: https://www.abragames.org/uploads/5/6/8/0/56805537/2023_relatório_final_v4.3.2_-_ptbr.pdf. Acesso em: 23 de Outubro de 2024.
ESA (2023). 2023 essential facts about the u.s. video game industry. Disponível em: https://www.theesa.com/wp-content/uploads/2024/02/2023-EF-FINAL.pdf. Acesso em: 23 de Outubro de 2024.
Zymoran, Adynathos, and Toraxxx (2011). Warlock. Disponível em: https://www.warlockbrawl.com/. Acesso em: 23 de Outubro de 2024.
Downloads
Publicado
Edição
Seção
Licença

Este trabalho está licenciado sob uma licença Creative Commons Attribution-ShareAlike 4.0 International License.
Os autores mantêm os direitos autorais sobre os trabalhos publicados nesta revista, concedendo à SETIF o direito de primeira publicação. O conteúdo está licenciado sob uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional (CC BY-SA 4.0), que permite copiar, redistribuir, remixar, transformar e criar a partir do material para qualquer finalidade, inclusive comercial, desde que seja atribuída a autoria e feita referência à publicação original nesta revista.
Os autores concordam que qualquer reutilização de seu trabalho por terceiros deve incluir o nome dos autores, o título do artigo, o nome da revista, o DOI (quando disponível) e o link para a licença.
É permitido e incentivado que os autores disponibilizem a versão publicada do trabalho em repositórios institucionais, sites pessoais ou redes acadêmicas imediatamente após a publicação, com menção à publicação inicial nesta revista.