Gravity Adventure
A downloadable game for Windows
Gravity Adventure
1 Introdução
Este projeto tem como foco o desenvolvimento, programação, sonorização e arte de um jogo para a disciplina de Programação Aplicada do curso de Design de Jogos e Entretenimento Digital, UNIVALI, 24/2.
O objetivo é o desenvolvimento de um jogo de plataforma que explora mecânicas dinâmicas de movimentação e alteração de gravidade. O jogador poderá se deslocar tanto horizontalmente quanto verticalmente, manipulando a gravidade para superar desafios e alcançar o final de cada fase, desbloqueando a próxima etapa do jogo.
1.1 Objetivos
O projeto Gravity Adventure: Criação de um Jogo de Plataforma 2D na Engine Godot com Mecânica de Alteração de Gravidade tem como objetivo desenvolver um jogo de plataforma no qual o jogador deve escapar de inimigos e superar obstáculos, utilizando a habilidade de alterar a gravidade durante a partida para alcançar com segurança o checkpoint ou o final da fase.
Além disso, o projeto visa sua conclusão e publicação na plataforma Itch.io, contribuindo para a formação de portfólio de todos os integrantes da equipe.
1.2 Procedimentos Metodológicos
Com base em tutoriais sobre o desenvolvimento de jogos de plataforma utilizando a Godot Engine, a equipe esteve trabalhando na implementação da principal mecânica do jogo: a inversão de gravidade.
Os sprites dos personagens e cenários foram criados com os softwares ProCreate e FireAlpaca. Após sua finalização, essas artes digitais foram importadas para a Godot para integração ao projeto.
1.2.1 Metodologia de Projeto
A metodologia adotada para este trabalho é a Double Diamond, desenvolvida na Inglaterra. Essa abordagem tem como objetivo estruturar e mapear os estágios divergentes e convergentes ao longo de um processo de produção, promovendo uma solução criativa e eficaz para os desafios identificados. Descobrir o público-alvo, Definir o tema e a definição do jogo, Desenvolver o jogo e Entregar o projeto.
2 Conceito
2.1 Mecânicas
A mecânica de inversão de gravidade do jogo é simples e fácil de entender. Ao pressionar a Barra de Espaço, a gravidade será invertida, permitindo que o personagem se mova para o teto. Ao apertar novamente, a gravidade volta para a direção normal.
Para se mover, o jogador usa as teclas A (para ir para a esquerda) e D (para ir para a direita), como em muitos jogos de plataforma. O personagem não pode pular, mas para superar obstáculos, o jogador deve inverter a gravidade, usando a Barra de Espaço até atingir a altura desejada. Depois, ao apertar novamente a Barra de Espaço, a gravidade volta a sua configuração normal.
O personagem tem apenas uma vida, o que aumenta a dificuldade do jogo. O jogador precisa pensar bem antes de tomar qualquer ação para não cometer erros. Um dos principais desafios são os espinhos: ao tocar neles, o jogador perde a vida e é mandado de volta ao início da fase ou ao último checkpoint. O mesmo acontece se o personagem sofrer dano de um inimigo. Durante toda a partida, todos os inimigos terão de ser evitados, não podendo ser mortos, trazendo assim para o jogo uma dificuldade elevada.
2.2 Personagens Não Jogáveis
- Inimigos
- Aranhas - Inimigo cujo sobe obstáculos e não é afetado pela gravidade
- Lagartos - Inimigo cujo muda de direção quando encontra um obstáculo e é afetado pela gravidade
- Besouros de Mármore - Inimigo invencível cujo não é afetado pela gravidade e se mantém no ar.
2.3 Telas e Interfaces
Ao começar o jogo, terá a tela de inicio, na qual o jogador poderá escolher para começar um jogo novo, uma opção para saber qual o maior recorde dele e os créditos a todos os envolvidos no projeto. A princípio o jogo conta com apenas um cenário, com estruturas de pedra e os desafios, como espinhos e inimigos. Contará também com o botão para pausar o jogo caso necessário, e para voltar ao início ou então sair do jogo.
3. Design Técnico
O jogo Gravity Adventure é desenvolvido utilizando a Godot Engine, uma das plataformas mais populares para criação para criação de jogos 2D e 3D. A mecânica central do jogo gira em torno da inversão da gravidade, permitindo que o jogador altere a direção da força da gravidade para desviar de inimigos, como aranhas, lagartos e besouros de mármore e superar obstáculos de espinhos e paredes mais altas, que oferecem desafios dinâmicos ao longo das fases.
3.1 Motor de Jogo
A Engine que será utilizada será a Godot Game Engine, a linguagem que será aplicada para a programação, será a linguagem GDScript, ou seja, a linguagem própria da Godot.
A Godot adota o design orientado a objetos em seu núcleo, com o seu sistema de cenas flexíveis e hierarquia de Nós, além disso o motor de jogo também tenta ficar longe de padrões estritos de programação para oferecer uma maneira intuitiva de estruturar um jogo. A engine permite compor ou agregar cenas, e além disso, também pode-se herdar de qualquer cena.
3.2 Descrição dos Sripts
Script do Jogador: Mostra as mecânicas que serão implementadas no personagem principal, como andar para um lado e para o outro, pular e alterar a gravidade.
Script dos inimigos: Mostra como a inteligência artificial dos inimigos serão usadas e como eles matarão o jogador.
3.3 Inteligência Artificial
O objetivo da Inteligência Artificial para Jogos é que ela seja usada para a diversão. Sua importância é quanto aos resultados que o sistema irá gerar, e não como o sistema chega até os resultados; ou seja, o problema não é como o sistema pensa, mas sim como ele age.
As inteligências artificiais presentes serão as dos três inimigos na demo do jogo. São esses:
- A aranha, cuja sobe todos os obstáculos incluindo o teto, e não é afetada pela gravidade.
- O lagarto, cujo muda de direção quando atinge um obstáculo, e é afetado pela gravidade
- O Besouro de Mármore, cujo não é afetado pela gravidade e não morre quando leva dano, se recuperando após um segundo.
Todos os inimigos são máquinas de estado finitos, programados para matar o jogador caso o mesmo encoste neles.
3.4 Delineamento de Testes
Os testes do jogo foram realizados pela equipe de produção em diferentes momentos do desenvolvimento. Todos os membros da equipe tiveram acesso à versão de testes de Gravity Adventure, podendo testar o jogo tanto em seus computadores pessoais quanto nos computadores do laboratório de jogos da Univali.
3.5 Cronograma
4. Considerações Finais/Conclusões
O desenvolvimento de Gravity Adventure ainda está em andamento, mas já é possível perceber como o projeto tem sido uma experiência enriquecedora e desafiadora. Através da exploração das mecânicas do jogo, da programação realizada em GDScript e da aplicação das ferramentas da Godot Engine, este jogo se torna uma oportunidade única para aprender e aplicar conceitos fundamentais da criação de jogos.
Embora o projeto ainda esteja em desenvolvimento, as lições aprendidas até o momento, tanto no aspecto técnico quanto criativo, tornaram o processo mais desafiador e completo. Cada etapa do desenvolvimento tem ajudado a aprimorar as habilidades e a expandir o entendimento das ferramentas utilizadas, preparando o caminho para a criação de jogos ainda mais complexos e envolventes no futuro.
Gravity Adventure é, portanto, mais do que apenas um jogo em desenvolvimento. Ele é uma valiosa oportunidade de aprendizado que integra programação, design e mecânica de jogos, servindo como um marco importante no crescimento e amadurecimento profissional dentro da área.
Referências
Documentação da Godot: https://docs.godotengine.org/en/stable/about/introduction.html
Documento do Projeto:
https://univali-my.sharepoint.com/:b:/g/personal/boff_victor_edu_univali_br/EXcs...
Filosofia de Design da Godot:
https://docs.godotengine.org/pt-br/4.x/getting_started/introduction/godot_design...
Tutorial para o Projeto:
https://www.youtube.com/playlist?list=PLMb6Yv6-w-RWngEjn_YeMzVwgyXBZ73Bf
Membros da Equipe:
Beatriz Zardo: Arte
Gabriel Bion: Level Design
Gabriel Medeiros: Arte
Felipe Shiroma: Level Design e Programação
Victor Boff: Programação
João Seixas: Roteiro
Updated | 18 days ago |
Status | Released |
Platforms | Windows |
Authors | Circle Lake Studios, El_Vek |
Leave a comment
Log in with itch.io to leave a comment.