A downloadable game for Windows

Miauware

1. Introdução

Gêneros de jogos são amplamente utilizados como forma de classificar experiências interativas, organizando jogos com base em características específicas, como tema, ambientação, perspectiva e tipo de estratégia (NOVAK, 2011). Por mais que existam definições diferentes, essa é a mais comumente utilizada. Apesar de em seu livro não haver uma definição de subgêneros, de acordo com os exemplos dados, pode-se interpretar seu ponto de vista como variações do gênero original, ainda mantendo sua temática principal

Este projeto tem como objetivo testar uma abordagem a base de perguntas e respostas, com o intuito de auxiliar no design de jogos multigênero (que possuem dois ou mais gêneros distintos). O protótipo foi desenvolvido no motor de jogos Unity, especificamente a versão 6.0, com assets 2D originais, elaborados no software Aseprite.

2. Desenvolvimento

Para o protótipo, o fluxo de desenvolvimento foi dividido em cinco etapas: (i) definição de gêneros e mecânicas atrativas; (ii) criação do mundo; (iii) brainstorming de mecânicas; (iv) validação de ideias; e (v) implementação das alternativas.

O objetivo da primeira fase é definir os gêneros e as mecânicas a serem trabalhadas no projeto, visando as dificuldades e possibilidades de integração. É importante ter em mente que, quanto mais distinto forem os gêneros escolhidos, maior a dificuldade de fazer um design coerente, misturando mecânicas que não se encaixam.

Na segunda fase, será criado um universo para o jogo, servindo como uma base de informações para o design das mecânicas, ajudando a criar um design mais contextualizado e coerente.

Para a terceira fase, o Brainstorming, será anotado no mínimo três variações de cada mecânica definida como atrativa. Nesta etapa, podem ser feitas perguntas básicas e contextualizadas, similares às lentes de Schell (2019), para validar a coerência das ideias.

Para a quarta fase, será passado por todas as opções individualmente, sendo feitas as 6 perguntas do método 5W1H. Ao responder essas perguntas, o designer está mais contextualizado com o assunto, adquirindo e entendimento geral de como os sistemas se relacionam e, assim, podendo identificar com mais facilidade os pontos positivos e negativos, comparando com as alternativas. A quinta - e última fase da prototipação - é a implementação das alternativas escolhidas em um protótipo, com o intuito de validar a prática.

2.1 Conceito

Em Miauware, o jogador é responsável por cuidar do Miauware, um antivírus que toma a forma de um gato digital, vivendo sobre a barra de tarefas do sistema. Além de brincar, alimentar e limpar o pet, o jogador também deve proteger sua casinha, uma estrutura que representa o coração do computador, que pode ser melhorada e customizada. Essa casa é dividida em módulos que podem ser organizados da maneira que o jogador quiser, onde cada pedaço da casa disponibiliza um efeito diferente para o gato usar.

O pet virtual ajuda como uma barreira de defesa contra os malvados Malrats, um vírus caracterizado de rato, o inimigo natural dos gatos. Ondas de Malrats surgem periodicamente, onde o gato - com a ajuda do jogador - precisa usar de seu arsenal para proteger o computador. A relação entre cuidado do pet e a proteção do sistema exige tanto planejamento estratégico (montagem do arsenal) quanto atenção emocional (cuidados do pet).

2.2 Programação

Um dos principais pontos de destaque do jogo é a transparência da janela, deixando o usuário continuar a sua rotina no computador enquanto o jogo funciona, e essa transparência foi o primeiro desafio enfrentado na programação do jogo.

Para atingir esse efeito, primeiro foram importados todos os métodos, estruturas e endereços necessários para fazer o controle da janela, cujo código está disponível na Figura 1 - Código importado da API. Para criação desse código, foi seguida as instruções e comentários disponíveis na documentação oficial da Microsoft.

Figura 1 - Código importado da API Win32

Após conseguir o código necessário para esse gerenciamento, é preciso fazer as preparações iniciais para a transparência. Para isso, primeiro é necessário conseguir o endereço de memória da janela (ponteiro), que servirá como argumento para as próximas modificações. Usando esse ponteiro, será aplicado o efeito de transparência na janela, utilizando a estrutura MARGINS. Com a transparência habilitada, será aplicado os estilos WS_EX_LAYERED e WS_EX_TRANSPARENT na janela, que permitem a transparência por pixel - podendo assim utilizar o canal Alpha - e desabilitar a interceptação de cliques do mouse. Para finalizar, a janela é posicionada acima de todas as outras na ordem de renderização. Todo esse código está representado na Figura 2 - Configurações da transparência.

Figura 2 - Configurações da transparência.


Essas configurações são aplicadas durante o método Start, uma função nativa da principal classe de comportamentos da Unity, a MonoBehaviour. Esse método é chamado antes do primeiro quadro ser renderizado, o que permite ao usuário fazer modificações visuais antes de tudo. Essas informações são disponibilizadas pela própria Unity, na documentação oficial.

Para a implementação da inteligência artificial do pet, foi decido o uso de uma Máquina de Estados Finita, por sua facilidade de implementação e baixo custo computacional. FSM (Finite State Machine) é uma arquitetura de código comumente usada desde os primórdios dos jogos, para implementação de NPCs (Personagem Não Jogável). Ela divide os comportamentos de um agente em estados, que por si só são controlados por condições que, quando atendidas, acionam um novo estado (JAGDALE, 2021). 

 O design de código usado para a inteligência artificial do pet é uma implementação da relação entre o córtex pré-frontal (PFC) e o hipocampo, elaborado por Moghadam (et. al, 2019), em uma máquina de estados finita. Conforme ilustrado no modelo proposto, o processo de tomada de decisão é mediado pelo córtex pré-frontal, que utiliza das informações disponibilizadas pelo hipocampo. A partir dessa referência teórica, foi elaborada a Figura 3 - Fluxo de comportamento do pet, que representa o fluxo do algoritmo de tomada de decisões e comportamento do pet.

Figura 5 - Fluxo de comportamento do pet


A tomada de decisões do pet funciona, superficialmente, com duas camadas de comportamento. A primeira camada sendo o estado, uma visão geral do que está sendo executado, e a segunda sendo a ação, um comportamento específico dentro do estado atual.

2.3 Tecnologias Usadas

Quadro 1 - Tecnologias usadas [Autoria própria]

Tecnologia

Uso

Unity

Especificamente a versão 6.0.56f1, motor de jogos de escolha para programação do projeto, na linguagem C#.

Visual Studio 2022 (Community)IDE utilizada para edição dos códigos.

Aseprite

Software para criação de ilustrações, como elementos da interface e sprites.

GitHub e GitHub Dekstop Site e software para armazenamento e versionamento dos arquivos do projeto.

3. Conclusão

O projeto concluiu que a abordagem de perguntas e respostas tem potencial para ser vantajosa no design de jogos, especialmente em jogos multigênero.  O uso sistemático de questões relevantes facilitou a ideação e estimulou a criatividade, auxiliando com uma reflexão cuidadosa e focada, podendo identificar lacunas na junção de dois estilos de jogos distintos.  

Referências

JAGDALE, D. Finite State Machine in Game Development. International Journal of Advanced Research in Science, Communication and Technology, v. 10, n. 1, p. 384–390, 22 out. 2021.

MICROSOFT. Programming reference for the Win32 API - Win32 apps. Disponível em: https://learn.microsoft.com/en-us/windows/win32/api/

NOVAK, Jeannie. Desenvolvimento de games: Gêneros. São Paulo: Cengage Learning, 2011. 96-113 p. ISBN 9788522106325.

SABERI MOGHADAM, S.; SAMSAMI KHODADAD, F.; KHAZAEINEZHAD, V. An Algorithmic Model of Decision Making in the Human Brain. Basic and Clinical Neuroscience Journal, v. 10, n. 5, p. 443–450, 30 nov. 2019.

SCHELL, Jesse. A Arte de Game Design: o livro original. Rio de Janeiro: Elsevier, 2011.

UNITY. Script reference. Disponível em: https://docs.unity3d.com/6000.2/Documentation/ScriptReference/. Acesso em: 17 nov. 2025. 

----

Ficha completa da equipe:

Marco Bossle Villanova - Programador, Designer e Artista - apecuca

Marcelo Dornbusch Lopes - Orientador - m4rc3lo

Universidade do Vale do Itajaí - UNIVALI

Maurício de Campos | 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 no Trabalho de Iniciação Científica (TIC) - Orientador Marcelo Dornbusch Lopes.

Updated 25 days ago
StatusPrototype
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorLupi
TagsTower Defense, Virtual Pet

Download

Download
Miauware v0.3.3.rar 25 MB

Leave a comment

Log in with itch.io to leave a comment.