A downloadable game for Windows and macOS

HERO SLAYERS

1 Introdução

No mundo de Hero Slayers todos aclamam os aventureiros como verdadeiros e corajosos heróis, derrotando os monstros e seres místicos e coletando os tesouros ocultos e valiosos.
Porém, poucos sabem a real índole desses ditos como "heróis", Drake, um jovem de uma vila no interior aprende isso da maneira mais severa quando  Sir Kestus, um dos heróis mais famosos, acaba o traindo junto a todo o seu grupo de aventureiros para conseguir um tesouro muito valioso, a lágrima de Anjo, Drake acaba sendo deixado para morrer até que um ser semelhante a um corvo chamado Raiver o salva e juntos desmascaram Kestus para toda a vila.
Após isso Drake se une a Raiver e um grupo de seres chamados Assassinos de heróis, que visam exterminar todos os heróis corruptos!

1.1 Objetivos:

1 - Fazer no mínimo 3 fases - 2 de normais e 1 de chefe.
2 – Deixar o jogo divertido para se jogar 
3 – Fazer no mínimo 2 personagens jogáveis – Drake e Raiver 
4 – Fazer um jogo legal

1.2 Procedimentos metodológicos:

Utilizar tutoriais no youtube ou no site da Godot que ensinam alguns códigos que não conheço ou ajudam a revisar os meus erros.
Utilizei também um site de criar sprites chamado Piskel.
A ideia do projeto surgiu quando eu pensei "E se víssemos as histórias de fantasia pelo ponto de vista dos monstros"
Para o sons eu só utilizei uma música do jogo Death's Door, mais precisamente a música do Hub world do jogo.

1.2.1   Metodologia de Projeto:

Começo primeiro fiz algumas sprites de personagens e terreno no site Piskel.  Depois vi os tutoriais para ter uma noção de como é fazer o jogo.  E em seguida comecei a programação do jogo, primeiro fazendo a parte mais de design e em seguida a programação dos scripts q foi aonde mais me dediquei.

2 Desenvolvimento

Hero Slayers é um sidescroller inspirado em jogos como os da franquia Megaman e em alguns Roguelikes como Death's Door e Hades.
O jogo está sendo desenvolvido na engine Godot porém com a reutilização da programação de um outro jogo que foi desenvolvido nela chamado OceanTower(Primeira imagem). Nete jogo o personagem devia subir uma torre no fundo do mar enquanto coletava gemas.
Porém Hero Slayers terá uma pegada  bem diferente e ao invés de saltos precisos e velocidade será necessário experiência e habilidade já que o mesmo terá mais foco em combate e exploração mas com elementos de plataforma.

2.1 Conceito

Como dito acima o jogo terá foco em combate, já que é planejado uma quantia ainda não definida de inimigos nas fases e algumas plataformas, fora a exploração onde há tesouros escondidos pelo mapa e pegá-los garante pontos e alguns novos poderes ao jogador.
Por enquanto foram desenvolvidos somente os esboços iniciais dos personagens principais (Os assassinos/Imagens ao lado), mas para conceituá-los no universo do game, todos os assassinos possuem um tema diferente. No caso do Drake "bom" ele é um dragão, ou seja ele terá habilidades  como cuspir fogo, voar, escamas protetoras e garras. Raiver, por outro lado é baseado num corvo, seu nome é uma união das palavras em inglês raven (corvo) e raider (caçador), e suas habilidades envolvem voar, garras, penas que perfuram e cortam os oponentes e manipulação das sombras.
Os outros dois assassinos ainda estão sendo trabalhados, mas um será um esqueleto e o outro um Kelpie (um cavalo aquático da mitologia irlandesa).
Os elementos de gameplay também lembram um pouco de jogos Metroidvania e roguelikes como Skul e Hollow Knight. Mas as maiores inspirações são dois jogo em específico, Megaman Zero, na questão de gameplay e  Death's Door na questão  visual.
Figura1: Megaman Zero, Fonte: https://www.ign.com/games/mega-man-zero.

Mega Man Zero - IGN

Megaman Zero vem do fato do jogo ser um sidescroller com muitos inimigos, e o jogador ter vários tipos de arma.
Figura 2: Death's Door, Fonte: https://br.ign.com/deaths-door/92069/review/review-deaths-door

Review: Death's Door

Death's Door , o segundo conceito, é uma inspiração no visual que remeterá à um tempo mais antigo e sombrio.
Já sobre a história... Bom o jogo tem como base o conceito de quem é bom e quem é mau feito de uma maneira similar a série de quadrinhos "The Boys" aonde os ditos Heróis são pessoa horríveis que só pensam na fama. E o conceito de tempos antigos veio de um pensamento que eu tive sobre contos de Cavaleiros vs Dragões e pensei "e se ao invés de vermos a história pelo lado do cavaleiro nós visemos pelo ponto de vista do dragão?" e foi aí que surgiu a ideia.

2.2 Programação

A seguir veremos como está o desenvolvimento do jogo e sobre a engine.

2.2.1 Design técnico:

A Godot utiliza o C#, ou seja utiliza códigos para programar o jogo afinal a mesma se mostra uma engine focada em ser uma engine tanto para novos programadores quanto para mais experientes. 

2.2.2 Motor de jogo: 

O motor de jogo usado, já mencionado anteriormente, é a Godot, que tem a proposta de ser um motor fácil de se utilizar com linguagens de programação e sistemas como de colisão bem simples, funcionais e variadas de se usar. Sua filosofia é ser uma engine fácil de se compreender para novos desenvolvedores.
Funciona muito bem tanto para jogos 2D e 3D e com linguagens de programação bem conhecidas.
- Mecânicas: Ataque normal/corpo a corpo, usar poderes e coletar tesouros tanto para ter pontos ou para recuperar vida.
- Personagens não jogáveis: Por enquanto são apenas os inimgos  que só andam e dão dano quando encostam no jogador. um dos chefes, Kestus, está com a sprite pronta mas não está programado. 
- Telas/Interfaces: A tela inicial ainda não está feita mas a interface do jogo, o hud, que tem as estatísticas do jogador como vida e quantia de tesouros está funcionando perfeitamente.
O Godot utiliza a programação C#:


E como foi dito anteriormente estou reutilizando e até refazendo a programação de um jogo antigo feito na matéria de estágio obrigatório chamado OceanTower.
O problema que deu mais trabalho no começo foi a morte do protagonista e os checkpoints. Mas após isso o maior problema foi o chefão, ele utiliza o mesmo script do cavaleiro1 com modificações no movimento e na IA. O maior problema foi que a sua hitbox não funcionou, tentei consertar várias vezes e não deu. Então a solução foi criar uma estratégia para o jogador derrota-lo.

2.2.3 Scripts: 

Player: O jogador. Possui as funções de movimentos como andar, pular e atacar, morrer, levar dano, coletar tesouros e recuperar vida. 
Cavaleiro1: Único inimigo e npc, pode apenas andar, virar, dar dano e morrer com as funções e variáveis.
Morte: Mata o jogador instantaniamente, está linkado com o checkpoint e gamemanager. possui funções e variáveis herdadas com o gamemanager como .
Gamemanager: Serve para termos mais consistência e link entre os scripts, como a morte e o checkpoint com o player. Possui as variáveis, gained_tesouro e current_checkpoint.  
Checkpoint: Marca o ponto de spawn do jogador. Possui variáveis herdadas do gamemanager para isso. como o current_checkpoint.
Hud: É apenas o medidor de quanto de tesouro foi recuperado durante a fase. Herda a variável gained_tesouro do gamemanager.
Tesouro_1: possui apena uma função _on_area_entered para q seja pego pelo player.
Vida_pick: possui também uma função _on_area_entered para ser recuperada pelo player e uma delas.  Herda também o Max_vida e a vida do player.
Plataforma_movel: possui uma variável para mover a plataforma e uma função _on_area_entered para ser movida quando o player sobe nela. 
Kestus: Possui o mesmo script dos cavaleiros, porém com diferenças como mais vida e variáveis para as animações.
Plataforma_que_cai: Possui o mesmo script da plataforma movel porém ela cai ao invés de ir para frente e a área que ativa essa função funciona só com o player para evitar que o boss se mate. 
Incompletos/Descartados: 
Menu e Hub world/Seleção de fases. Os scripts ainda estão no jogo mas não foram concluídos devido a problemas.

2.2.4 Hud e Telas:

O menu não colocarei por que ocorreu outro bug na programação e ficou aparecendo na segunda fase. 
Já o hud do jogo funcionou muito bem e não teve praticamente nenhum problema. A barra de vida e de tesouro funcionarem muito bem e provavelmente foram a parte mais fácil do projeto. Porém na fase 2 por algum motivo a barra de tesouros se enche sozinha com apenas uma moeda.

2.3 Discussão dos Resultados

2.3.1 IA:

A IA pelo menos dos inimigos será o básico, andar, atacar e recuar, já os NPCs passivos, você pode conversar com eles e só. 
Já o chefe, planejo deixar ele um pouco mais estratégico. Para derrota-lo o jogador vai precisar de mais do que os punhos e poderes.

2.3.2 Testes:

Os testes do jogo foram em sua maioria bem sucedidos mas teve alguns problemas como o mal funcionamento do checkpoint e da morte que ficaram sem funcionar por um tempo.
Vou fazer depois uma folha listando os futuros testes e quando for dia de playtest farei um questionário para ver o que o  pessoal gostou e falhas do projeto
Jogador 1/Drake: Funcionando bem porém a animação de ataque está bugada, fazendo as outras animações dele pararem de funcionar. 
Jogador 2/Raiver: Funcionando muito bem mas também com a animação de ataque bugada porém não interfere nas outras animações.
Inimigos: 
Cavaleiro1: funcionando até que bem porém não estava virando e andando de volta (consertado). O problema ainda é que ele ainda está morrendo só com um golpe do Jogador. 
Kestus: Funcionando bem, porém ocorreu um defeito com a sua hitbox ele não está tomando dano, tentei consertar já várias vezes e não consegui arrumar, então o jeito foi bolar uma estratégia para o jogador derrota-lo, o jogando de um precipício.
As plataformas móveis não estão funcionando e estão travando o jogo (Consertado).
Checkpoints e morte: 
Está funcionando mas teve alguns problemas como o jogador não morrer no ponto da morte. Até então só da pra ter um checkpoint por fase, já que a morte esta ligada a um checkpoint apenas. Os checkpoints com Raiver não estão funcionando direito, precisando estar em lugares altos por que senão ele renasce abaixo do cenário. 
Coletáveis: Funcionando bem mas o inimigo pode pega-los também e você recebe os pontos.
Plataformas móveis e que somem: As que somem não estão funcionando direito, elas estão sumindo e aparecendo quando o jogador está em cima dela (Removidas).
Já as que se movem na inicialmente te jogavam pra frente, mas foi concertado e elas agora vão para frente e para trás normalmente.
Também adicionei a plataforma que cai para derrotar o boss derrubando ele, por causa do defeito com a hitbox (Imagem ao lado).

2.3.3 Modelo de dados:

Os dados do jogo são salvos através dos checkpoints e quando vc fecha o jogo vc volta o progresso do último checkpoint salvo. Será salvamento automático, basta apenas passar pelo altar que é o checkpoint.

3 Conclusão

O que foi concluído até agora foi:
O jogador/Drake, a morte, checkpoint , tesouros e inimigo 1 (parcialmente), jogador 2/Raiver, Kestus/1ºChefe e plataformas.
Praticamente tudo.

3.1 Cronograma: 

Diariamente: Programação - 30 minutos 
Design de fases (level design) e personagens - 25 minutos (pra cada)
Roteiro - 25 minutos
Descanso - 5-6 minutos

3.2 Considerações finais:

Pessoalmente estou curtindo trabalhar nesse projeto, mesmo sozinho e tendo que fazer todas as funções. Acho que no mínimo vou conseguir fazer as 3 fases para esse jogo.
Mesmo com as complicações na programação e problemas como os do checkpoint e dos inimigos que foram bem complicados de programar, acredito que vou conseguir entregar tudo que pretendo fazer.

Referências

Imagens: https://www.ign.com/games/mega-man-zerohttps://br.ign.com/deaths-door/92069/review/review-deaths-door.
-‌---

Ficha completa da equipe:

Ricardo Pinto Jorge - Tudo, roteiro, criação, programação, etc - https://ricgo.itch.io/
---
Marcelo Dornbusch Lopes - Orientador - m4rc3lo

Universidade do Vale do Itajaí - UNIVALI

Cesar Albenes Zeferino | Diretor Escola Politécnica
Giorgio Gilwan | Coordenador do Curso de Design de Jogos
Rafael Kojiio | Coordenador Gamelab UNIVALI
-‌---
Projeto  desenvolvido como requisito parcial para obtenção de aprovação nas disciplinas: Motores de Jogos Avançados - Professor - Marcelo Dornbusch Lopes; Ricardo Pinto Jorge - https://ricgo.itch.io/


Updated 9 days ago
StatusIn development
PlatformsWindows, macOS
AuthorRicGo
GenreAction

Download

Download
HeroSlayersFaseTeste.zip 29 MB
Download
Hero SlayersApresentaçãoPDF.pdf 907 kB
Download
HeroSlayers.1.3.rar 25 MB
Download
Hero SlayersApresentação.pptx 1.5 MB
Download
template - relatório técnico.docx 200 kB
Download
HeroSlayers2.0.3.1.7z 27 MB
Download
HeroSlayer.EXE.7z 31 MB

Leave a comment

Log in with itch.io to leave a comment.