Microshooter - Bullet Hell Game
Palavras-chave:
Desenvolvedor de Jogos, SDL2, Arquitetura HexagonalResumo
Desenvolvedor de jogos digitais é a profissão responsável pela criação de jogos interativos que podem ser usados em tópicos como entretenimento, educação, ou, ainda, negócios. Atualmente, os Jogos Digitais estão ganhando mais visibilidade no mercado, já que sua atuação não é somente limitada à criação de games para um público específico, mas sim para diversos perfis.
Muitas empresas estão usando as habilidades desses profissionais para a elaboração de simuladores de negócios, com a finalidade de apresentar à sua equipe cenários como a realidade da empresa, quais são os objetivos e como chegar até eles. Também estão presentes na educação, já que muitos sites educativos ou escolas contratam esses profissionais para fornecer jogos interativos que envolvam os conteúdos estudados em sala de aula. Além disso, os Jogos Digitais estão ganhando tanta expansão e importância no mercado que têm sido frequentemente usados na área médica, na criação de simuladores de cirurgia e outros procedimentos [Unit 2023].
Desenvolvido com inspiração nos clássicos Touhou e Space Invaders, este jogo de bullet hell coloca o jogador no papel de um programador que deve enfrentar uma enxurrada de inimigos em forma de códigos binários. O objetivo principal é destruir o máximo de inimigos possível enquanto desvia de seus tiros, que em alguns momentos preenchem a tela inteira, criando um desafio intenso e emocionante. Cada inimigo destruído concede pontos ao jogador, que são acumulados e exibidos ao final da partida, quando o jogador é derrotado. Os disparos do jogo são representados por "mouses".
A linguagem de programação escolhida para o desenvolvimento do projeto foi o C++, utilizando a biblioteca SDL2¹, juntamente com suas extensões, para implementar as diversas funcionalidades necessárias ao jogo, como a manipulação de som, carregamento de sprites e fontes. O desenvolvimento foi estruturado seguindo o padrão de arquitetura hexagonal, garantindo uma separação clara entre as camadas de aplicação e infraestrutura, facilitando manutenções e futuras expansões. Além disso, foi adotada a prática de pair programming para otimizar o processo de desenvolvimento, aumentando a produtividade. Elementos do Jogo:
-
Barra de vida: O jogador possui 10 pontos de vida, que diminuem se ele for atingido por um projétil ou encostar em um inimigo. (Figura 1(c))
-
Jogador: Pode se movimentar em todas as direções, sendo limitado apenas pelas bordas da tela. (Figura 1(c))
-
Inimigos: Surgem a cada 5 segundos e efetuam disparos que seguem a direção do jogador. (Figura 1(c))
-
Tela de game over: Exibe a pontuação final e oferece a opção de voltar ao menu. (Figura 1(a))
(a) Tela de game over e registro de nome do jogador para leaderboard. (b) Tela inicial com menu para seleção e tutorial sobre os comandos do jogo. (c) Tela principal do jogo com inimigos que atiram, barra de vida e o player em si. (d) Leaderboard com o histórico de partidas e pontuações.
-
Menu: Apresenta as opções de jogar, leaderboard, créditos e sair. (Figura 1(b))
-
Leaderboard: Apresenta o histórico de pontuação dos últimos jogadores. (Figura 1(d))
Desenvolver este jogo de bullet hell em C++ com SDL2 foi uma experiência técnica significativa. O projeto permitiu a criação de um jogo funcional e desafiador, além de aprimorar as habilidades de programação. Implementar a movimentação do jogador, a geração de inimigos, disparos e a detecção de colisões exigiu um entendimento sólido de conceitos avançados de programação. Trabalhar com SDL2 proporcionou uma visão prática sobre o desenvolvimento de jogos eficientes em C++. No final, ver o jogo funcionando e proporcionando uma experiência satisfatória aos jogadores foi recompensador.
Referências
Unit (2023). Mercado de trabalho para jogos digitais: Oportunidades e desafios. Blog da Unit. Postado em 28 abr 2023.
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.