Tyrunn e a Estrela Cadente
A downloadable game
1. Introdução
Jogos de construção de base comumente permitem que os jogadores manuseiam recursos (humanos, naturais, etc.) para criar e desenvolver um assentamento (vila, povoado, cidade, etc.). As tarefas do jogador normalmente incluem construir diversos tipos de estruturas, prover utilidades e serviços, gerir finanças e planejar infraestrutura (ruas, esgotos, etc.), porém, isso varia de acordo com a configuração e complexidade do jogo (Bereitschaft 2016, tradução nossa).
Tyrunn e a Estrela Cadente é um jogo de construção de base single player inspirado em jogos do mesmo gênero, como Kingdom Two Crowns e Timberborn. O jogador assume o papel de um Monarca em busca de recursos para construir seu reino e sobreviver às perigosas noites da ilha de Fjørna.
Cientes da importância do gênero para o campo de jogos e reconhecimento das diversas mecânicas presentes no mesmo, o estudo visa superar os desafios propostos pelo professor responsável na matéria de Programação Aplicada, com foco em entender as mecânicas complexas encontradas nesse gênero de jogos e solucionar os problemas que serão encontrados durante o trajeto.
1.1.Objetivos
Desenvolver um jogo que implemente mecânicas do jogo Kingdom: Two Crowns com uma estética nórdica e com uma progressão linear, ao invés de procedural.
Objetivos específicos:
- Pesquisar aspecto estético da cultura nórdica
- Realizar um planejamento de design técnico
- Implementar o plano no motor de jogo selecionado
1.2.Procedimentos metodológicos
A metodologia utilizada no processo de desenvolvimento do jogo foi inspirada em metodologias de design como a metodologia básica do ciclo de design: análise, síntese, simulação e avaliação, desenvolvida por Koomen (1991). Porém o processo possui diferenças nas pessoas aplicadas e foi mais livre em sua aplicação.
O processo foi dividido em: Pesquisa, Análise, Produção e Avaliação, que foram seguidas de maneira linear. Similar a metodologia Double Diamond criada pelo British Design Council (2007), o processo se repetia após cada avaliação, onde os dados avaliados seriam tomados em conta para melhorar o projeto.
2.CONCEITO
Apoiando a mecânica central de construção de base, jogos deste gênero costumam envolver coleta de materiais, manejo de tropas e pensamento estratégico sobre a aplicação de recursos.
Nosso jogo pega elementos similares aos do jogo Kingdom: Two Crowns, um valor atípico no gênero por ter a perspectiva side-scroller, e desenvolve a bidimensionalidade, ausente em Kingdom, permitindo muito mais dinamismo estratégico e de exploração.
Entre os elementos que não são mantidos de Kingdom estão os cidadãos do reino como entidades com IA própria e geração procedural de níveis. Em Tyrunn e a Estrela Cadente, o reino é construído com estruturas verticais como torres que o jogador pode construir em qualquer lugar válido, e o mapa é um ambiente explorável feito à mão e igual em todas as runs que o jogador fizer.
Efetivamente, ao invés do jogo depender da mecânica de geração procedural para criar rejogabilidade, o desenvolvimento estará focado em abrir um leque de possibilidades para que os jogadores experimentem com builds diferentes e criem reinos novos em busca de formas mais eficientes de jogar. Isto será feito através da implementação de múltiplos tipos de defesa e de um sistema de danos e resistências que gere uma mecânica intransitiva.
Para a protagonista, nos decidimos em design simplificado mas com uma forte linguagem de forma, sendo composta por um retângulo, um cone e um círculo, focando em tentar manter ela como uma personagem ambígua e fria para o jogador poder mais facilmente se imergir no lugar dela. A decisão também de uma protagonista distante entra em contrapartida com o design de cenário e construções, que possuem mais personalidade e destaque.
Imagem 1: Concept Protagonista
O conceito das construções estão sendo desenvolvidos seguindo o tema nordico. Em função do mesmo, para cada conceito houve uma consideração com a arquitetura e aspectos da cultura nórdica, enquanto mantendo uma determinada liberdade criativa de forma a criar construções interessantes e não repetitivas.
Imagem 2: Concept Fazenda
Imagem 3: Concept Serraria
Algumas das construções foram mais influenciadas por aspectos de arquitetura real, como demonstrado pelos conceitos da fazenda na Imagem 2. Porém, outras construções fugiram mais das referências reais, e foram mais modificadas com “elementos de fantasia” como pode ser observado nos conceitos da serraria na imagem 3, que possui uma grande serra. Esse mesmo elemento não faz sentido para a arquitetura e cultura representada, mas serve como ferramenta para destacar a construção. Sendo uma figura que traz a desejada função da construção à mente do jogador.
2.1. Mecânicas
- Perspectiva sidescroller platformer
- Andar e pular
- Construir edificações
- Destruir monstros (tower defense)
- Gerenciamento de recursos
- Destruir portais (spawn de inimigos)
2.2. Personagens Não Jogáveis
Amálgama
Inimigo mais básico, assume forma de uma conjuntura de massa negra, se move mais rápido que o Voador e o Golem, porém é mais fraco, atacam em grupos.
- Movimentação unidimensional, sendo no eixo x
- Habilidade de atacar construções
- Habilidade de atacar o jogador
Voador
Uma evolução do Amálgama, ganha asas e a habilidade de atacar a distância.
- Movimentação bidimensional, sendo nos eixos x e y.
- Habilidade de atacar construções a distância.
- Habilidade de atacar o jogador a distância.
Golem
Inimigo terrestre, um golem de massa negra, lento, porém forte e resistente, podem destruir muros básicos com um só golpe.
- Movimentação unidimensional, sendo no eixo x.
- Habilidade de atacar construções.
- Habilidade de atacar o jogador.
2.3.Telas e Interfaces
Menu Principal
- Botão de Novo Jogo
- Botão de Selecionar Dificuldade
- Botão de Sair do Jogo
Interface durante o jogo
- Menu com recursos disponíveis atualmente para o jogador
- Menu com horário do dia e a quantidade de dias que se passaram desde o jogador começou o jogo
- Menu pop-up de seleção de construções ao interagir com o Main Hub
- Menu pop-up de oferenda no altar
- Menu pop-up de oferenda para acampamentos
3.DESIGN TÉCNICO
Nos parágrafos a seguir será apresentada a arquitetura geral do código do projeto
3.1.Motor de Jogo
Utilizaremos o motor de jogo Godot 4.2, que implementa uma filosofia de design orientada a objeto com Nodes que podem ser instanciados múltiplas vezes.
Para os assets 2D e spritesheets de animação utilizaremos o software Clip Studio Paint.
Para jogar o jogo será necessário baixar o executável em uma máquina com o sistema operacional Windows.
3.2. Descrição dos Scripts
O node principal do jogo cuida do carregamento de cenários e das funções de manager.
O node do jogador contém a classe PlayerMovement, que lida com a movimentação do personagem do jogador.
Inimigos herdam de uma classe base que contém comportamentos compartilhados, e seus nodes herdam de um node base que implementa outros nodes relacionados seguindo o padrão de design de composição.
Um sistema de vida e dano consiste de dois nodes que se comunicam através dos colisores de seus nodes pais.
Recursos são produzidos pelas construções e precisam ser coletados como items que são spawnados pelas construções quando o player passa perto delas.
O mapa é baseado em um tilemap de blocagem, utilizado para formar a hitbox do level design, e sprites são colocadas por cima livremente para compor o cenário esteticamente.
Há uma tela de carregamento que aparece quando o jogo carrega o mapa pela primeira vez. Planejamos ter mais áreas que carregam sem corte, utilizando funções de multi-threading do motor.
3.3.Inteligência Artificial
De acordo com Shapiro: “Inteligência Artificial (IA) é definida como um campo de ciência e engenharia preocupada com o entendimento computacional do que é comumente chamado comportamento inteligente, e com a criação de artefatos que exibem tal comportamento” (tradução nossa).
Nesse projeto, a inteligência artificial dos inimigos consiste de um algoritmo de pathfinding e um de priorização de alvos baseado em tags que os guia para a base do jogador.
3.4.Delineamento de Testes
Teste de Produção de Recursos:
- Descrição: Interagir com as construções várias vezes para comprar cargas de produção, e depois, passado o tempo de produção, coletar os recursos
- Um número de cargas foi adicionado à interface para facilitar a depuração
- Realizado por: Ricardo
- Resultado: iterações resultaram em um sistema funcional
Teste de Pathfinding
Descrição: implementação de um node Label para o teste de seleção de alvos, que cumpre a função de informar qual alvo o inimigo está mirando
Realizado por: Lucas
Resultado: o sistema de Pathfinding foi implementado com sucesso
Teste de Tilemap
- Descrição: Criar um level protótipo usando o novo sistema de tilemap, buscando testar o pipeline de trabalho e a performance do sistema
- Realizado por: Ricardo
- Resultado: Deixar o tilemap com muitos tiles impede que o level carregue normalmente. Foi necessário aumentar o tamanho dos tiles individuais para cobrir o level pretendido.
3.5. Modelo de Dados
No momento do salvamento (que será automático ao início de cada manhã) o jogo registrará:
- O dia em que o jogador está (int)
- A presença de cada instância de construção que o jogador construiu (BuildingBaseClass[ ])
- O processo de produção de recursos, se aplicável (EconomyBuildingBaseClass[ ])
- Os pontos de vida de cada construção (int[ ])
- A posição do jogador no momento do salvamento (Vector2)
- Os pontos de vida do jogador (int)
- Os colecionáveis de progressão adquiridos (bool[ ])
3.6. Cronograma
Segue o cronograma seguido e esperado para o semestre de trabalho.
Diagrama de Gantt
4.CONSIDERAÇÕES FINAIS
O objetivo do projeto é criar um jogo que implemente elementos da jogabilidade de Kingdom: Two Crowns com uma estética nórdica e espaço de jogo vertical. Segue uma análise SWOT (Puyt, 2020) do projeto como um todo:
- Forças: Temática única, jogo engajante, exploração (não é comum em jogos base building), jogabilidade proativa (ao contrário de reativa), narrativa indireta
- Fraquezas: Pouca experiência do time no desenvolvimento de jogos desse gênero, interface pouco dinâmica, falta de polimento nas interações, gameplay repetitiva, falta de conteúdo, narrativa indireta
- Oportunidades: Temática inovadora, nichado (poucos competidores), poucos jogos desse gênero
- Ameaças: Nichado (público limitado)
Num nível básico, o objetivo foi atingido. Resta desenvolver e polir de forma a encorpar o escopo e trazer mais conteúdo e refino para o produto, sempre buscando manter a coesão estética e criativa.
REFERÊNCIAS
Design Council UK. 11 Lessons: managing design in eleven global brands Desk research report [online] London: Design Council, 2007.
KOOMEN, C. J. The basic design cycle. The design of communicating systems: A system engineering approach. pp. 3- 10. Boston, MA: Springer US, 1991.
Shapiro SC. Artificial intelligence. In: Shapiro SC. (ed) Encyclopedia of Artificial Intelligence, vol. 1, 2nd edn. New York: Wiley, 1992.
Puyt, Richard, et al. “Origins of SWOT Analysis.” Academy of Management Proceedings, vol. 2020, no. 1, Aug. 2020, p. 17416. DOI.org (Crossref), https://doi.org/10.5465/AMBPP.2020.132.
Ficha completa da equipe:
Pedro Antônio Cafiero Souza - https://cafiero.itch.io
Guilherme Damiani Fretta - https://antiumbra.itch.io/
Lucas Jordano - https://lucas-jordano.itch.io/
Ricardo Menoncin - https://hairohukosu.itch.io/
Erik von Wangenheim - https://erik-von-wangenheim.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
Status | Prototype |
Author | Guil |
Genre | Adventure, Strategy |
Tags | 2D, City Builder, Experimental, Fantasy |
Leave a comment
Log in with itch.io to leave a comment.