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. 



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.