A downloadable game for Windows

1.0 Introdução:

Este projeto consiste no desenvolvimento de um jogo de Survival Shooter, criado por uma equipe de cinco pessoas. O objetivo principal é aplicar os conhecimentos adquiridos nas disciplinas de Projeto de Jogos e Entretenimento Digital e Motores de Jogos Avançados. O projeto não só busca colocar em prática os estudos sobre o uso de motores de jogos e técnicas de design de jogos, mas também criar uma experiência de entretenimento envolvente e adaptada à cultura brasileira, incorporando uma lenda local popular.

A disciplina de Projeto de Jogos e Entretenimento Digital abrange conteúdos relacionados ao balanceamento e funcionalidade, focando na criação de mecânicas de jogo equilibradas e na implementação eficiente do código necessário para trazer essas mecânicas à vida. Já a disciplina de Motores de Jogos Avançados aprofunda-se na programação, enquanto tecnologias de renderização gráfica, simulação de física e inteligência artificial, essenciais para criar um ambiente de jogo imersivo.

Os objetivos do projeto são desenvolver um jogo funcional e divertido, e redigir um relatório detalhado sobre o processo de desenvolvimento. Este relatório aborda desde a concepção do jogo, passando pela programação e balanceamento, até a aplicação prática das teorias estudadas nas disciplinas envolvidas. O desenvolvimento do jogo utilizará o motor de jogo Unity, que oferece as ferramentas necessárias para prototipagem, testes e refinamento contínuo.

Os procedimentos metodológicos incluem reuniões regulares de equipe para planejamento e divisão de tarefas, desenvolvimento com uma fase de prototipagem e testes, e a documentação de cada etapa do processo. A escolha do tema nacionalizado visa não só criar um jogo que ressoe com o público local, mas também  proporcionar uma experiência divertida aos jogadores.



2.0 Desenvolvimento:

Projeto de Jogos e Entretenimento Digital aplica princípios de design para criar experiências interativas e envolventes, abrangendo a mecânica do jogo, narrativa e estética. Os designers estudam a motivação e o comportamento dos jogadores para mantê-los engajados, com referências importantes como The Art of Game Design de Jesse Schell, Rules of Play de Salen e Zimmerman e Game Balance Concepts de Ian Schreiber e Brenda Romero.

Motores de Jogos Avançados foca na parte de programação da tecnologia de renderização gráfica, simulação de física e inteligência artificial. Motores como Unreal Engine, Unity e Godot permitem criar gráficos realistas e simulações avançadas. Livros como Game Engine Architecture de Jason Gregory e Physically Based Rendering de Pharr, Jakob e Humphreys exploram essas tecnologias.

A integração de disciplinas no desenvolvimento de jogos é importante para criar jogos coesos. Equipes trabalham em prototipagem, testes e refinamento contínuo usando ferramentas como Unity, Godot e Unreal Engine. Level Up! de Scott Rogers e Unity Game Development Essentials de Will Goldstone são recursos valiosos sobre teorias e práticas de desenvolvimento de jogos.

Falando especificamente do nosso projeto, usamos como base as ideias das disciplinas de Projeto de Jogos e Entretenimento Digital, em que estudamos bastante sobre balanceamento,  e Motores de Jogos que utilizamos de relatórios para acompanhar o projeto.  Queríamos criar algo que pudesse alinhar essas necessidades aos nossos gostos pessoais, e assim surgiu "ProjEcto".

2.1 Conceito

Gênero do Jogo:
O projeto é um jogo de Survival Shooter, onde os jogadores controlam um soldado anônimo que explora uma antiga base militar brasileira abandonada. Durante a exploração, o jogador deve enfrentar hordas de inimigos e desvendar os mistérios do local.

Mecânicas:
O jogo utiliza uma visão isométrica e é estruturado em rounds de sobrevivência. A cada round, o jogador enfrenta ondas de inimigos perigosos. No final de cada round, o jogador é recompensado com um ponto de atributo, que pode ser usado para melhorar habilidades e aumentar as chances de sobrevivência. No entanto, o número de rounds é limitado, o que exige que o jogador faça escolhas estratégicas sobre quais atributos melhorar, já que não será possível maximizar todos eles. O desafio culmina em uma horda final, que é infinita, testando ao máximo as habilidades e preparações do jogador.

Personagens:
O personagem principal é um soldado sem nome, cuja missão é explorar a base militar abandonada. A identidade anônima do soldado permite aos jogadores se identificarem mais facilmente com o personagem e mergulharem na experiência do jogo. O ambiente hostil é habitado por diversos inimigos, cujas hordas aumentam em dificuldade a cada round.

Jogabilidade:
A jogabilidade foca na sobrevivência e na estratégia. O jogador deve usar a visão isométrica para navegar pelo mapa e enfrentar inimigos de forma eficaz. A progressão através dos rounds oferece uma dinâmica de risco e recompensa, onde cada ponto de atributo ganho pode ser crucial para a sobrevivência nas hordas seguintes. A decisão de quais atributos melhorar adiciona uma camada estratégica ao jogo, forçando o jogador a planejar com antecedência para a horda final infinita.

Este jogo combina ação com elementos estratégicos, proporcionando uma experiência desafiadora e envolvente para os jogadores. A ambientação em uma base militar brasileira e a inclusão de uma lenda local adicionam um toque cultural único ao jogo, aumentando seu apelo e imersão.

2.2 Programação:

Durante o desenvolvimento do jogo foi utilizando o motor gráfico Unity. Neste contexto, os componentes fundamentais são os Scripts, que são classes escritas em C# e associadas aos objetos do jogo para controlar sua lógica e comportamento. Os Scripts são classificados em duas categorias principais: Comportamentos e Administradores. Comportamentos são classes modulares que definem métodos específicos para os objetos do jogo. Eles são projetados para serem independentes e reutilizáveis, facilitando sua aplicação em diferentes contextos e objetos. Já os Administradores são responsáveis por coordenar e organizar os Comportamentos. Eles lidam com a gestão de estados mais amplos dos objetos e tendem a ser menos modulares, focando-se na aplicação e integração dos Comportamentos específicos.

O objeto Player é central no jogo, representando o avatar controlado diretamente pelo jogador. Este objeto possui uma estrutura complexa, incluindo outros objetos filhos como PlayerGFX para animações e Arm com sua subestrutura Gun, responsável pelas interações relacionadas à arma de combate. O Player é gerenciado por Scripts como MoveBehaviour (para movimento), AimBehaviour (para mira) e PlayerManager, que coordena esses comportamentos e gerencia atributos como velocidade de movimento.

A arma do jogador é encapsulada no objeto Gun, que possui seus próprios Scripts especializados. Isso inclui FireBehaviour, responsável por instanciar projéteis (balas), FireRateBehaviour para controlar a taxa de disparo e o administrador GunManager, que gerencia atributos da arma como dano causado por bala e taxa de tiro. Esses componentes são essenciais para o funcionamento e interação da arma dentro do jogo.

Durante o desenvolvimento, foram aplicadas técnicas de balanceamento inspiradas por Ian Schreiber e Brenda Romero, conhecidas por seus conceitos em design de jogos. Essas técnicas foram utilizadas para ajustar a dificuldade do jogo e a mecânica geral com base em feedback de testes. O processo envolveu a análise crítica dos elementos do jogo para garantir uma experiência de usuário desafiadora e satisfatória.

O desenvolvimento do jogo enfrentou desafios técnicos significativos. Um deles foi a implementação de Pathfinding, essencial para guiar inimigos pelo cenário de forma eficiente. Inicialmente, houve dificuldades com a compatibilidade do NavMesh da Unity com o ambiente de física 2D do jogo, que foi resolvido com adaptações no código e ajustes nas colisões e movimentação dos objetos. Além disso, a arquitetura de áudio precisou ser otimizada devido ao impacto negativo na performance do aplicativo. O sistema inicial, que criava novos objetos para cada reprodução de áudio, foi revisado para utilizar uma abordagem mais eficiente e econômica, melhorando assim a experiência geral do jogo.

2.3 Discussão dos Resultados:

Durante o desenvolvimento do jogo Survival Shooter, enfrentamos desafios, como o afastamento temporário do nosso produtor e programador líder por motivos de saúde, o que impactou a interdisciplinaridade entre as disciplinas de Projeto de Jogos e Entretenimento Digital e Motores de Jogos Avançados.  O projeto foi adaptado para atender às exigências das disciplinas e contornamos problemas como dificuldades técnicas com o PathFinding. Essas adversidades nos levaram a ajustar o planejamento inicial, simplificar mecânicas e focar em soluções criativas. A experiência destacou a importância da gestão de equipe, e formas de simplificar um projeto sem que ele perca sua essencia. 

3.0 Conclusão:

O desenvolvimento do jogo Survival Shooter foi desafiador, mas proporcionou uma valiosa aplicação dos conhecimentos que são abordados na pratica das disciplinas de  Projeto de Jogos e Entretenimento Digital e Motores de Jogos Avançados. Enfrentamos dificuldades como o afatsamento temporário do produtor e programador líder, e o remanejamento de ideias iniciais que eram grandes demais para nosso escopo, o que exigiu adaptações no planejamento. Ao fim do projeto, foi possível implementar mecânicas de jogo de sobrevivência e integrar teorias de design com tecnologias  de motores.. O projeto fortaleceu nossa experiencia  prática e teórica, apesar dos desafios enfrentados.

Referências:

Ficha completa da equipe:

Andrei  Falk - Artista de Concept/Animador/Roteirista - https://andrei-falk.itch.io/

Bruno Alves - Artista de Cenário/Game Designer/Animador - https://bgun2609.itch.io

Caroline Serpa - Designer de Som/ Roteirista/ Co-Produtora - https://caroline-ribeiro-serpa.itch.io/

Filipe Coutinho - Programador - https://filp-cout.itch.io

Theo Santos - Game Designer/Programador/Produtor - https://theofs.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: (i) Motores de Jogos Avançados - Professor - Marcelo Dornbusch Lopes; e (ii) Projeto de Jogos - Professor - link para itch.io. 



Updated 1 day ago
Published 16 days ago
StatusReleased
PlatformsWindows
Rating
Rated 3.0 out of 5 stars
(1 total ratings)
Authorsbgun2609, Andrei Falk, Caroline ribeiro serpa, Filipe Pereira Coutinho, TheoFS
GenreAction
TagsMonsters, Pixel Art, Top down shooter, Unity, Zombies

Download

Download
ProjEcto.rar 33 MB

Install instructions

Baixe o arquivo / Extraia com Winrar ou 7zip/ Clique em ProjEcto.exe/ Divirta-se  

Leave a comment

Log in with itch.io to leave a comment.