A downloadable game for Windows

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.

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çãoonde 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.

2.2.1 Design técnico:

O tópico a seguir conta como está o trabalho e como é trabalhar com a engine.

2.2.2 Motor de jogo: 

O motor de jogo usado é 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 até agora foi a morte do protagonista e os checkpoints. 

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 até agora, 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.

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á os chefes, planejo deixar eles com estratégias mais complexas para torna-los mais desafiadores.

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. 
Jogador 2/Raiver: Funcionando muito bem mas também com a animação de ataque bugada.
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.
As plataformas móveis não estão funcionando e estão travando o jogo.

Código do cavaleiro

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.
Plataforma funcionando

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 (parcialmente), tesouros e inimigo 1 (parcialmente), jogador 2/Raiver.

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 do inimigo 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 7 days ago
StatusIn development
PlatformsWindows
AuthorRicGo
GenreAction

Download

Download
HeroSlayersFaseTeste.zip 29 MB
Download
HeroSlayers.1.3.rar 25 MB
Download
Hero SlayersApresentaçãoPDF.pdf 907 kB
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

Leave a comment

Log in with itch.io to leave a comment.