A downloadable game

1 Introdução

Forsteri é um jogo de plataforma com elementos estéticos e de jogabilidade em função da conscientização sobre energias renováveis e mudanças climáticas. Ishi, uma pinguim-fada e a protagonista da história, é convocada por Tunin, um pinguim-saltador-da-rocha e líder da ilha em que vive, para visitar ilhas vizinhas e ajudar com suas dificuldades perante o vazamento da plataforma de petróleo adjacente.

No artigo “Biodiversidade e poluição”, publicado em 2024 no jornal da UFRGS, aponta a falta de cuidado no uso de pesticidas nas regiões da Pampa, afetando inúmeras espécies de animais terrestres, como insetos, e animais aquáticos. Também expõe o descuido na enchente do Rio Grande do Sul, que lançou grandes quantidades de detritos em locais de água doce, como a Lagoa dos Patos, ameaçando imensamente a vida de diversos organismos (Ellwanger; Fearnside; Ziliotto; Chies, 2024).

Um blog postado pela WWF (World Wide Fund for Nature) em 2023, relata a dificuldade da reprodução da espécie pinguim-imperador, que sofrem pelo aquecimento global devido a falta de estabilidade no gelo pelo fato das geleiras estarem se dividindo, assim tornando fatal para pinguins colocarem seus ovos de forma segura (Grilly, 2023).

Em 2015, a organização Environment America alerta por meio de seu periódico o perigo de usinas de petróleo para a vida marinha e aviária, afirmando que mais de 200 mil pássaros migratórios falecem devido à contaminação por petróleo, queimaduras ou pelo cansaço de voar em volta de dessas usinas, normalmente colidindo com outros pássaros ou a própria estrutura em si.

Assim, Forsteri tem o objetivo de demonstrar e conscientizar o público sobre essas dificuldades que os animais passam com a poluição do meio ambiente, através de diferentes mecânicas, elementos visuais e narrativa, mantendo-se focado em trazer a conscientização para os malefícios da poluição ambiental e aquecimento global.

1.1. Objetivos

O objetivo principal da equipe para este projeto é desenvolver uma versão aprimorada do protótipo Forsteri.

Os objetivos específicos dos desenvolvedores são:

  • Reconstruir os elementos gráficos (personagens, cenários, UI) e mecânicos (códigos e jogabilidade) que compuseram a versão original de Forsteri;
  • Criar novas partes para a versão atual, como novas fases, mecânicas de jogabilidade e personagens;
  • Concluir o projeto da forma que os integrantes da equipe almejam.

1.2. Procedimentos metodológicos

Na área da programação, cada mecânica e implementação passa por um processo de rascunho e teste, e após a verificação de que funciona corretamente, é finalmente implementada no jogo. Tal processo acontece em um ambiente de prototipagem na engine utilizada para produção do jogo. Após a construção de todas as mecânicas base necessárias, acontece a união das mesmas e criação de um protótipo jogável com a finalidade de testar o funcionamento correto das interações, correção de bugs e melhorias na qualidade geral do jogo. O motor de jogo utilizado será a Unity, com a linguagem de programação C#. Github será usado para o versionamento de código.

Na área artística e visual, os primeiros passos são organizar os conceitos e ideias discutidas pelo grupo e recriá-las visualmente. Após a definição do visual final de um elemento, o mesmo entra no processo de adaptação ao jogo, sendo realizado de acordo com os padrões estéticos definidos pelo artista. Agora um asset de jogo finalizado, é enviado para o programador e inserido no jogo. Serão utilizados o aplicativo Aseprite para a confecção dos diversos assets que comporão o jogo, e o programa de ilustração 2D digital Clip Studio Paint, que será usado para conceitualizar os visuais e demais ideias.

Na área sonora, as músicas são prototipadas ao longo de várias sessões. Após a gravação da versão crua final de uma música, a mesma é editada digitalmente. Ao ser finalizada e de acordo com os padrões de qualidade do diretor de som, é enviada para o programador e inserida no jogo. FL Studio e Reaper serão os programas escolhidos para a gravação e edição das novas músicas da trilha sonora.

1.2.1. Metodologia de Projeto

O objetivo principal da equipe para este projeto é desenvolver uma versão aprimorada do protótipo Forsteri.

Os objetivos específicos dos desenvolvedores são:

  • Reconstruir os elementos gráficos (personagens, cenários, UI) e mecânicos (códigos e jogabilidade) que compuseram a versão original de Forsteri;
  • Criar novas partes para a versão atual, como novas fases, mecânicas de jogabilidade e personagens;
  • Concluir o projeto da forma que os integrantes da equipe almejam.


2 Conceito

Forsteri é um jogo de ação e plataforma 2D. Este gênero é denominado desta forma por colocar o personagem jogável em fases em que o objetivo é se locomover entre plataformas na tela. É composto tradicionalmente por jogos com gráficos e jogabilidade bidimensionais, como é o caso do presente projeto. (iD Tech, 2012).

Tematicamente, o projeto trará à tona pautas sobre energias renováveis, com cada ilha/fase representando uma forma de energia limpa, e mudanças climáticas, por meio de espécies da Antártica sendo os personagens principais do jogo e sendo impactados pelas mesmas.

Esteticamente, o jogo é altamente inspirado em jogos de plataforma retrô e mídias com estilo cartunesco e divertido, como Super Mario World, Mega Man Legends, Club Penguin, entre outras. Os gráficos serão realizados em pixel art.

2.1. Mecânicas

Mecânicas de jogos são as regras e ludemes que regem e guiam as ações do jogador e as respostas do jogo para as mesmas. Neste caso, as regras são as instruções e as ludemes são os elementos de jogo que compõem a experiência (Boller, 2012).

Em Forsteri, as mecânicas do jogo que Ishi, a personagem jogável, pode realizar são: andar para a esquerda e direita, pular, avançar horizontalmente por meio de uma investida e pular entre paredes. Ao apertar a tecla e pular por mais tempo, a altura do pulo aumenta.

Uma nova mecânica que não está presente na demo do jogo é a de falling platforms, que são plataformas nas quais Ishi pode pisar, porém após certo tempo que o jogador se mantém em cima da plataforma, ela começa a cair. Essa mecânica busca dificultar o jogo, pois exige uma rápida reação do jogador, além de variar a gameplay e causar a sensação de tensão e urgência.

2.2. Personagens Não Jogáveis

No jogo, encontra-se alguns personagens não jogáveis, estes sendo: 

  • Francis, um papagaio-do-mar, amigo de Ishi e inventor de equipamentos tecnológicos criados a partir de sucatas encontradas pela ilha para auxiliar a protagonista em sua jornada por meio de uma loja de aprimoramentos; 
  • Tunin, um pinguim-saltador-da-rocha que, há muito tempo atrás, se tornou o herói da ilha Forsteri devido aos seus atos de bravura. Entretanto, atualmente ele é apenas um preguiçoso que se aproveita do conforto e dos privilégios de ser o líder da tribo dos pinguins da ilha e age como um mentor para a protagonista Ishi;
  • Beaufort, um urso-polar, é o líder da tribo dos ursos polares em uma ilha vizinha de Forsteri. Conversa com Ishi após terminar a segunda fase.

2.3. Telas e Interfaces

Ao iniciar o jogo, há um menu inicial, com o título do jogo e botões de iniciar o jogo, opções, créditos e sair do jogo.

O menu de seleção de fases é acessível após terminar a primeira fase/tutorial. Inicialmente, é possível selecionar entre a ilha inicial e a ilha dos ventos. Entretanto, ao concluir as fases, mais fases serão selecionáveis.

Ao iniciar uma fase, um cartão com o nome da ilha aparece antes do gameplay começar.

O jogador poderá pausar o jogo durante uma fase a qualquer momento, com as opções de continuar o jogo, reiniciar a fase, configurações e sair da fase.

Ao ser derrotado, uma tela de derrota aparece, com as opções de reiniciar a fase ou sair para a tela inicial.


3 Design técnico

Este capítulo busca apresentar ao leitor sobre os processos e detalhes específicos que compõem o desenvolvimento técnico do projeto realizado pelos integrantes programadores da equipe.

3.1 Motor utilizado

O motor de jogo utilizado para desenvolvimento deste projeto será a Unity. Os requisitos mínimos ainda não foram determinados pois não houveram complicações nos testes em nenhuma das máquinas testadas, seria necessário apenas possuir Windows 10 ou 11 em seu computador e uma conexão a internet para realizar o download do jogo.

Em sua filosofia de design, a engine utiliza um sistema de componentes, em que cada objeto do jogo é um GameObject, que pode ser composto de diferentes componentes que definem suas propriedades e comportamentos (Unity, 2023). Por exemplo, um GameObject pode ter um componente de Transform para definir sua posição, um componente de RigidBody para aplicar física, e um componente de Script para adicionar lógica personalizada.

GameObjects são organizados em Scenes (cenas). Uma cena é basicamente um container que organiza todos os GameObjects dentro dela, como um nível de jogo ou uma tela de menu.

Prefabs são outra parte essencial da estrutura de dados da Unity. Um prefab é um modelo ou "blueprint" de um GameObject que pode ser reutilizado em diferentes partes do jogo.

Algumas funcionalidades da Unity são: desenvolvimento de jogos 2D e 3D, desenvolvimento multiplataforma, sistema nativo de física, sistema de animações, scripting em C#, suporte para IA e sistema de áudio, além de ferramentas de depuração e otimização.

3.2. Descrição dos Scripts

Os scripts de Forsteri serão reutilizados em sua grande maioria, passando por um processo de refatoração e alinhamento de funcionalidades que acontecerá antes do início do desenvolvimento das novas funcionalidades do jogo.

A movimentação de Ishi e inimigos passarão por poucas alterações, assim como funcionalidades de menu e passagem entre fases. Por outro lado, funcionalidades das fases (os ventiladores da primeira fase e o sistema de áudio, por exemplo) serão completamente refeitos, buscando melhor otimização e funcionamento.

A partir do momento que os scripts já existentes estejam todos satisfatórios e organizados entre si, se dará início à criação das novas mecânicas e funcionalidades para o jogo. Novos inimigos, novas mecânicas exclusivas de fase e melhorias de gameplay são atividades obrigatórias que serão desenvolvidas.

Um dos principais mecanismos de organização de código na Unity é a herança. Utilizando herança, é possível agrupar funcionalidades comuns em classes base, enquanto as classes derivadas implementam comportamentos mais específicos. Por exemplo, tanto o personagem Ishi quanto os inimigos podem herdar de uma classe base, se necessário. 

Outro padrão importante é o princípio da composição, onde diferentes scripts podem ser combinados em um GameObject para adicionar comportamento. Em vez de criar heranças longas, componentes como o sistema de áudio ou elementos específicos de fase podem ser scripts independentes, atribuídos a GameObjects específicos nas fases. Isso permite que os elementos sejam facilmente reutilizados e configurados em diferentes fases, sem depender de herança.

A organização dos códigos, refatoração e componentização fará com que novas funcionalidades sejam desenvolvidas com mais facilidade e rapidez.

3.3. Inteligência Artificial

A Inteligência Artificial (IA) é uma área que cria sistemas capazes de executar tarefas que normalmente requerem inteligência humana, como aprendizado, raciocínio e adaptação. De acordo com as conclusões de Robertson e Watson (2014, p. 1), “Os jogos são um domínio ideal para explorar as capacidades de inteligência artificial”. A IA pode ser utilizada para controlar o comportamento de personagens não controlados pelo jogador, tanto aliados quanto inimigos, criar desafios dinâmicos e ajustar a dificuldade do jogo automaticamente, proporcionando oponentes mais realistas e ambientes interativos que respondem às ações dos jogadores, enriquecendo a experiência de jogo.

Forsteri é um jogo com mecânicas e inimigos simples, sendo assim, inteligência artificial será utilizada somente para fazer a movimentação dos inimigos. Por exemplo, o Pinguim-Robô, que utilizará inteligência artificial para delimitação do espaço que irá cobrir em sua movimentação.

Durante o período da M3, em conjunto com a disciplina de Inteligência Artificial, foi desenvolvido um novo tipo de Pinguim-Robô que detecta quando Ishi está perto e se movimenta em direção dela caso o jogador esteja em seu raio de atuação. Para isso, foi utilizada a lógica de detecção por meio de Raycasts.

3.4. Delineamento de Testes

As mecânicas base de Forsteri serão refatoradas quando o trabalho no jogo for reiniciado, sendo assim, será necessária a realização de testes básicos, como testes de movimentação, funcionamento de inimigos, troca de fases, menus, diálogos e outras mecânicas que irão receber melhorias.

Quanto às novas mecânicas e funcionalidades, citadas anteriormente na seção 2.1, terão de ser projetadas e testadas do zero. Durante o desenvolvimento será realizado o processo de testes de forma síncrona, com o intuito de encontrar problemas e identificar espaços para melhorias antes da finalização do desenvolvimento, permitindo assim maior adaptatividade na produção, facilitando e agilizando o workflow do projeto, permitindo a entrega de um artefato de maior qualidade em menos tempo.

Todos os participantes do projeto irão participar e realizar os testes, buscando descentralizar as experimentações da equipe de programação, utilizando mais testadores e assim recebendo feedbacks diversos, com diferentes opiniões e experiências.

3.5. Cronograma

Durante o desenvolvimento,  cada integrante focará em sua respectiva parte do desenvolvimento do jogo (gráficos, programação, roteiro e música/SFX).

Entre todos os participantes da equipe, serão discutidos os conceitos do jogo, design de níveis e mecânicas. Mecânicas novas a serem implementadas, design de fases novas e demais expansões no jogo serão foco principal após a organização e refatoração do projeto. Cada semana, será realizada uma reunião para mostrar o progresso de cada pessoa e discutir sobre dificuldades e dúvidas.

Até o final do semestre, a equipe busca alcançar uma qualidade satisfatória no jogo, melhorando e implementando novas funcionalidades no jogo que já foi produzido no período de 2023/1.

-

Etapa 1: Planejamento e Organização

Atividade: Revisão do protótipo anterior e organização do trabalho.

Tarefas:

  • Revisão do protótipo anterior (equipe completa).
  • Definição de novas funcionalidades e melhorias (equipe completa).
  • Estruturação do repositório no GitHub (programadores).

Data: 09/10/2024 a 23/10/2024.

Artefatos: Documento de entrega M2, criação de repositório Github.

-

Etapa 2: Refatoração de Scripts e Infraestrutura

Atividade: Refatoração dos scripts, adaptação da estrutura do jogo e início de criação de novas artes.

Tarefas:

  • Refatoração de scripts gerais do projeto (programadores).
  • Organização dos assets gráficos (artista).
  • Criação de concepts de novas artes (artista).
  • Criação de novos templates de fase (equipe completa).

Data: 24/10/2024 a 06/11/2024.

Artefatos: Código refatorado, novos templates de fase, novos assets organizados.

-

Etapa 3:  Desenvolvimento de Novas Funcionalidades

Atividade: Criação de novas fases, inimigos, mecânicas e artes.

Tarefas:

  • Desenvolvimento de novas fases e mecânicas de gameplay (programadores e designers).
  • Criação de novas artes (artista).
  • Desenvolvimento de novas funcionalidades para o jogo (programadores).

Data: 07/11/2024 a 26/11/2024.

Artefatos: Novas fases implementadas, personagens e inimigos finalizados, novas funcionalidades e mecânicas.

-

Etapa 4:  Finalização e Entrega

Atividade: Revisão final e entrega do projeto.

Tarefas:

  • Integração de todas as mecânicas e funcionalidades (programadores).
  • Polimento de gráficos e mecânicas (equipe de design e programação).
  • Publicação no repositório final e distribuição (equipe completa).

Data: 27/11/2024 a 04/12/2024.

Artefatos: Versão final do jogo, relatório final.


4 Considerações finais

Até então, estão sendo estabelecidas as bases conceituais para a realização dos novos elementos do jogo, assim anulando ideias e selecionando outras para serem desenvolvidas. O código, agora sendo reconstruído para melhor funcionamento e organização, está rapidamente adaptando as funcionalidades da versão original.

A retomada do projeto de jogo Forsteri, anteriormente realizado para a disciplina de projeto de jogos no 3º período pela equipe, será realizada em prol da confecção de um produto final que servirá futuramente como parte dos portfólios dos integrantes participantes do desenvolvimento. Na presente disciplina, o principal objetivo da equipe é realizar suas funções eficazmente e, no final do semestre, entregar um produto de qualidade satisfatória tanto para os desenvolvedores, quanto para o público geral que terá contato com o jogo.

Referências

BOLLER, S. "Learning Game Design: Game Mechanics". 2012, Knowledge Guru.

BONZON, T. How to Build a Complete 2D Platformer in Unity. Disponível em: https://gamedevacademy.org/how-to-build-a-complete-2d-platformer-in-unity.

DESIGN COUNCIL (org.). "What is the framework for innovation? Design Council's evolved Double Diamond". 2019. Disponível em: https://www.designcouncil.org.uk/news-opinion/what-framework-innovation-design-councils-evolved-double-diamond.

ECS para Unity. Disponível em: <https: unity.com="" pt="" ecs="">. Acesso em: 16 out. 2024.</https:>

ELLWANGER, J; FEARNSIDE, P; ZILIOTTO, M; CHIES, J. A. “Biodiversidade e poluição”. 2024. Universidade Federal do Rio Grande do Sul. Disponível em: https://www.ufrgs.br/jornal/biodiversidade-e-poluicao/.

Entity Component System | Entities | 0.17.0-preview.42. Disponível em: <https: docs.unity3d.com="" packages="" com.unity.entities@0.17="" manual="" index.html="">.</https:>

ENVIRONMENT AMERICA (org.). “Drilling Is Tragic For Marine Life”. 2015.

GRILLY, E. “Antarctica’s sea-ice crisis: climate change threatens antarctic wildlife as sea-ice levels drop”. 2023, WWE.

iD Tech. What is a Platform Game? | 10 Design Types & Video Game Examples. 2012. Disponível em: https://www.idtech.com/blog/10-types-of-platforms-in-platform-video-games.

ROBERTSON, A.; WATSON, I. "A Review of Real-Time Strategy Game AI". 2014. p. 1. 

THEREALJOHN. Using Visual Studio Tools for Unity. Disponível em: https://learn.microsoft.com/en-us/visualstudio/gamedev/unity/get-started/using-using-visual-studio-tools-for-unity.

UNITY TECHNOLOGIES. Unity - Manual: AI. Disponível em: https://docs.unity3d.com/Manual/com.unity.modules.ai.html. Acesso em: 9 out. 2024.


-‌---

Ficha completa da equipe:

Alice Cegielka de Almeida Doro - Character design -  https://alice-doro.itch.io/

Gabriel Cerveira Cardoso Vilela - Game design, level design - https://itch.io/profile/gabesl

Inácio Serra Martins - Direção sonora, música -  https://itch.io/profile/goodguyminho

Pedro Marchiori de Araújo - Programação - https://itch.io/profile/pmarchiori

Rodrigo da Cunha Schilling - Direção criativa, arte - https://goldenrodart.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 na disciplina de Programação Aplicada  - Marcelo Dornbusch Lopes

-‌---

Controles

A e D: Andar

Espaço: Pular

Shift: Dash

Botão esquerdo do mouse: Passar caixa de diálogo, seleção em menus

Download

Download
Forsteri Build.zip 40 MB

Leave a comment

Log in with itch.io to leave a comment.