<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Thiago Dev Blog]]></title><description><![CDATA[Thiago Dev Blog]]></description><link>https://thiagodevblog.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 02:16:58 GMT</lastBuildDate><atom:link href="https://thiagodevblog.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Moo-nlight Harvest: Estudo de caso]]></title><description><![CDATA[Sobre o projeto
Autores do jogo (e também deste artigo):

Thiago Luiz (Eu)

Juliana M. | Bluesky & Medium


Moo-nlight Harvest é um jogo casual que coloca você no controle de um OVNI com uma missão simples: abduzir vacas para um alienígena colecionad...]]></description><link>https://thiagodevblog.hashnode.dev/moo-nlight-harvest-estudo-de-caso</link><guid isPermaLink="true">https://thiagodevblog.hashnode.dev/moo-nlight-harvest-estudo-de-caso</guid><category><![CDATA[Game Development]]></category><category><![CDATA[Game Jam]]></category><category><![CDATA[Case Study]]></category><dc:creator><![CDATA[Thiago Luiz]]></dc:creator><pubDate>Sun, 01 Feb 2026 17:39:30 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961086396/eba60625-7c0e-4c43-8364-d6342ed3848a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-sobre-o-projeto"><strong>Sobre o projeto</strong></h3>
<p>Autores do jogo (e também deste artigo):</p>
<ul>
<li><p>Thiago Luiz (<a target="_blank" href="https://hashnode.com/@thiagoluiz">Eu</a>)</p>
</li>
<li><p>Juliana M. | <a target="_blank" href="https://bsky.app/profile/agimasz.bsky.social">Bluesky</a> &amp; <a target="_blank" href="https://medium.com/@jln.maria16">Medium</a></p>
</li>
</ul>
<p>Moo-nlight Harvest é um jogo casual que coloca você no controle de um OVNI com uma missão simples: abduzir vacas para um alienígena colecionador. As vacas se amontoam caoticamente pelo pasto, e o jogador deve acertar as corretas com o raio abdutor, evitando coletar as outras vacas que cruzarem o caminho.</p>
<p>Ideia estranha? É porque ela foi originada por duas pessoas que queriam participar de uma Game Jam, um evento no qual desenvolvedores se reúnem para criar jogos em um determinado período de tempo. <a target="_blank" href="https://itch.io/jam/gb-halloween-jam">No nosso caso, a proposta da Game Jam era desenvolver um jogo de halloween dentro de 72 horas</a>. Como chegamos nessa ideia de abdução? Como foi o processo de desenvolvimento? Como ficou o projeto final? As respostas para essas e outras perguntas você vai ver a seguir ;)</p>
<hr />
<h3 id="heading-desafio"><strong>Desafio</strong></h3>
<p>Luzes misteriosas, discos voadores, homenzinhos verdes, desenhos em milharais e abduções de gado, são lendas (ou não) que sempre estiveram no imaginário da população e, conforme o passar das décadas, essas lendas se tornaram um folclore tão famoso e tão bem estabelecido que pode ser categorizado como algo clássico. Ambos acreditamos que explorar esse tema alienígena seria divertido, daria ao jogo um diferencial e abriria um leque de possibilidades de mecânicas e visuais, o que era essencial para conseguirmos definir quais elementos seriam viáveis e mais impactantes para desenvolver no período de 72 horas.</p>
<p>Decidindo o que iríamos explorar no jogo, fizemos uma sessão de <em>brainstorming</em> de elementos do folclore alien que poderiam se tornar mecânicas interessantes para desenvolver, chegando nas seguintes ideias:</p>
<ol>
<li><p>Jogo de coleção; O jogador deve abduzir animais de acordo com o que um alienígena colecionador pedir. O jogador deve ser cuidadoso com o raio de abdução para não pegar outros animais do rebanho que não batem com o pedido do colecionador. (Vimos potencial nesta opção!)</p>
</li>
<li><p>Jogo de vestir; O jogador deve criar roupas e acessórios que se adaptem às formas de diferentes alienígenas para um desfile de moda. O jogador deve ter cuidado enquanto monta as peças para não incomodar e/ou ferir o alienígena modelo. (Também gostamos muito dessa ideia, tanto por relacionar com o tema de halloween pelo lado de criação de fantasias, quanto o tema de aliens pelo lado de explorar as diferentes representações que a mídia apresenta dessas criaturas. Mas, para fazer a lógica e desenhar várias peças de roupas para diferentes aliens, previmos que o tempo não seria o suficiente :/ )</p>
</li>
<li><p>Jogo de tabuleiro; As peças são alienígenas e realizam ações inusitadas dentro do tabuleiro, como tirar a gravidade e imobilizar certas peças. O objetivo é comer todas as peças do adversário antes que o adversário coma as do jogador. (Não pareceu ligar tanto com a temática de halloween e não soou muito divertido.)</p>
</li>
<li><p>Jogo point and click; O jogador escuta várias vozes e deve acreditar na que mais faz sentido para fugir do local. As vozes seriam alienígenas entrando em contato para guiar ou atrapalhar o jogador. (E essa, apesar de incluir o terror da data, não sentimos que se relacionou com as representações populares dos aliens.)</p>
</li>
</ol>
<p>A fim de manter a simplicidade durante o desenvolvimento e evitar imprevistos, optamos pela primeira opção, que abordava a temática de abdução de animais e que posteriormente viria a se tornar o Moo-nlight Harvest.</p>
<p>Nosso conceito inicial incluía múltiplas fases com diversos tipos de animais. No entanto, para otimizar o desenvolvimento e garantir a entrega dentro dos 3 dias disponíveis, realizamos uma delimitação de escopo, onde nos concentraríamos em uma única fase que apresentaria um rebanho de vacas (ícone clássico da abdução alienígena) e um objetivo simples de coletar apenas 3 animais.</p>
<p>Então definimos que as <em>core features</em> para criar o protótipo, a partir da 1ª opção, seriam:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961400285/04ce9630-613e-4710-aeb6-e4be0a0f2197.png" alt="Six colorful sticky notes on a purple background explain game mechanics with doodles. 1: UFO moves side-to-side. 2: Cows have different patterns. 3: An alien requests specific cows. 4: A beam abducts cows into three ship slots. 5: Game ends when slots are full. 6: Success depends on catching the requested cows. Each note features a simple hand-drawn illustration like a UFO, a cow, or an alien to visualize the rules." class="image--center mx-auto" /></p>
<blockquote>
<p>Core features divididas em post-its</p>
</blockquote>
<p>Com o conceito do jogo definido, partimos para a escolha das ferramentas. Optamos pelas gratuitas que já éramos familiares como a Unity, Paint e Figma, pois além de eliminar a curva de aprendizado, esses softwares oferecem um espaço colaborativo e produtivo.</p>
<hr />
<h3 id="heading-producao-e-desenvolvimento"><strong>Produção e Desenvolvimento</strong></h3>
<p>Com o conceito definido e programas abertos começamos a esboçar o projeto.</p>
<p>No primeiro dia, além da concepção da ideia, fizemos <em>storyboards</em> para determinar quais telas precisariam ser desenvolvidas e organizar como os elementos seriam posicionados em cada uma delas. Após analisarmos e imaginarmos vários conceitos, chegamos em um rascunho do Moo-nlight Harvest completo.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961462766/b1feac10-67bb-473e-bf5d-b315e378af2f.png" alt="A digital sketch made on paint. On the left, a UFO with an abduction beam over a cow, a dog, and a farmer. On the right, a flow chart shows three screen boxes: &quot;Menu&quot; with options like &quot;Play&quot; and &quot;Sound&quot;; &quot;Game&quot; with a &quot;3x&quot; repeat loop; and a results screen labeled &quot;3 Cows Collected&quot; with stats for time and phrases, plus a &quot;Return&quot; arrow pointing back to the &quot;Menu&quot;." class="image--center mx-auto" /></p>
<blockquote>
<p>Rascunho final das telas de Moo-nlight Harvest feito no Paint</p>
</blockquote>
<p>Elaboramos uma lista de vacas que poderiam ser incluídas no jogo, considerando critérios como diversidade para a temática de halloween, os movimentos e o tempo de desenvolvimento dos comportamentos de cada animal e por fim, mas não menos importante, o quão divertido seria ver tal vaca ganhando vida no jogo.</p>
<p>Tendo os principais itens do jogo organizados, dividimos as tarefas e definimos as datas das reuniões que seriam necessárias para alinhar o progresso e debater escolhas nos próximos dias.</p>
<p>Com o tempo restante, já partimos para desenvolver alguns dos módulos mais críticos do jogo a partir dos <em>storyboards</em> feitos anteriormente:</p>
<p><strong>• Gerenciamento de Fluxo</strong>: O jogo utiliza um sistema centralizado de navegação que controla a transição entre as diferentes telas e menus. Isso garante que apenas os elementos necessários para cada momento estejam ativos.</p>
<p><strong>• Setup do cenário do jogo</strong>: Configuração das barreiras invisíveis que mantém todos os elementos do jogo, como a nave e as vacas, enquadradas na tela onde o jogador irá interagir.</p>
<p><strong>• Movimentação do jogador</strong>: Criação dos controles do jogador a partir dos botões do teclado.</p>
<p><strong>• Base das vacas</strong>: Cada uma tem um identificador que reconhece e controla seus estados. Isso organiza e permite a criação de novos comportamentos de forma escalável.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769956664644/d9335590-0734-4457-9a0f-51e29e53fc4d.png" alt="A high-angle photo of a green-tinted notebook page. It contains handwritten programming logic and flowcharts for the game's abduction module. Notations include lists like &quot;toCollect&quot; and &quot;collected,&quot; along with conditional logic for checking if the abducted cow matches the target. Diagrams with arrows illustrate the step-by-step process of updating the &quot;cow current&quot; and removing items from the collection list upon a successful match." class="image--center mx-auto" /></p>
<blockquote>
<p>Foto com as primeiras anotações dos módulos</p>
</blockquote>
<hr />
<p>O segundo dia foi usado para continuar grande parte da lógica e começar os <em>assets</em> do jogo.</p>
<p>Na parte visual, tínhamos uma ideia de misturar diferentes estilos para adicionar personalidade ao jogo, então cada vaca recebeu um visual inspirado em desenhos e artistas famosos.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961521661/ca27a8b2-5cf4-48e8-85ed-ebb8e295bef0.png" alt="A 3x3 grid showcasing character inspirations for the game. Row 1: &quot;Crazy Cow&quot; (Rubber Hose style) inspired by vintage 1930s cartoons. Row 2: &quot;Elastic Cow&quot; (minimalist style) inspired by the &quot;Asdfmovie&quot; web series. Row 3: &quot;Chubby Cow&quot; (round, cute style) inspired by animator Cas van de Pol. Each row features the original cow design on the left, a darkened middle tile with the inspiration name, and the source material image on the right." class="image--center mx-auto" /></p>
<blockquote>
<p>Moodboard das vacas e os estilos que inspiraram seus visuais</p>
</blockquote>
<p>Aos poucos a UI e o cenário principal também eram montados, seguindo uma mistura de arte digital e fotografia real. O objetivo era deixar o cenário com uma atmosfera assombrada, ao mesmo tempo que não chamasse atenção, para que o foco fosse direcionado nas vacas e no jogador.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769957139009/9597f5f6-2dfe-430b-9a61-3c2fc4130f21.gif" alt="An animated sequence showing the construction of the game's background. It begins with an dark gradient blue sky, then stars are added. A green fog and a dark gray grass are placed on the lower part of the image. Finally, two silhouettes of leafy trees and wooden fences are placed on the far left and right, completing the nighttime farm setting for Moo-nlight Harvest." class="image--center mx-auto" /></p>
<blockquote>
<p>Camadas do cenário</p>
</blockquote>
<p>Conforme os <em>assets</em> ficavam prontos, já os exportávamos para Unity para que pudéssemos ter uma noção de como as coisas estavam se encaixando. Foi nessa etapa que, vendo como a animação de abdução ia ficar pixelizada, decidimos que o UFO controlado pelo jogador também deveria ser no mesmo estilo - e também bem colorido, para que não se perdesse no meio do caos das vacas!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769957189034/8c995f2d-a3ef-44d3-b2db-68819ce0dd98.gif" alt="An animated GIF showing the &quot;Abduction Effect&quot; in the game. A teal pixel-art UFO hovers against a starry night sky. The UFO pulses with a bright green light from its top dome, emitting a vibrant purple glow into the surrounding atmosphere. Suddenly, it fires a wide, bright green tractor beam straight down toward the dark grassy ground, meant for capturing cows." class="image--center mx-auto" /></p>
<blockquote>
<p>Efeito pixelizado do raio de abdução</p>
</blockquote>
<p>Para deixar mais divertido, pensamos em adicionar uma música de fundo e alguns sons para as vacas. Salvamos algumas opções, e deixamos para aplicar no último dia, se tivéssemos tempo.</p>
<p>Já na lógica, as principais adições foram:</p>
<ul>
<li><p>Módulo de abdução: Adiciona uma ação que o jogador pode realizar... Abduzir!</p>
</li>
<li><p>Contador de abdução: Três caixinhas no canto da tela que são preenchidas quando o jogador coleta uma vaca. Um feedback simples que acrescenta ludicidade.</p>
</li>
<li><p>Instruções: Informações dos controles que aparecem antes do jogo. Elaboradas para serem fáceis de entender.</p>
</li>
<li><p>Comportamentos das vacas: Para agilizar o desenvolvimento e manter a qualidade do código, cada animal tem uma lista de ações para executar durante o jogo. O foco a partir desse conceito foi desenvolver esses ações individualmente:</p>
<ul>
<li><p>Andar em linha reta;</p>
</li>
<li><p>Inverter - uma vaca que segue essa instrução inverte sua direção quando chega numa borda;</p>
</li>
<li><p>Voar em linha reta - igual o primeiro, porém a altura é ajustável;</p>
</li>
<li><p>Alternar velocidade - quando ela chega na borda, além de inverter, sua velocidade é alternada.</p>
</li>
</ul>
</li>
<li><p>Som e música: Essencial para deixar a atmosfera divertida e alienígena.</p>
</li>
</ul>
<hr />
<p>O terceiro dia, como esperávamos, foi corrido. Apesar dos visuais e da lógica essencial de <em>gameplay</em> estarem prontas, faltavam ainda alguns tópicos importantes que foram implementados no decorrer das 24hrs:</p>
<ul>
<li><p>Tela inicial completa: Agora com créditos, logotipo finalizado e botão de áudio.</p>
</li>
<li><p>Tela final: A tela após o <em>gameplay</em> que mostra as vacas coletadas, tempo e um <em>feedback</em> de acordo com a performance do jogador.</p>
</li>
<li><p>Alien colecionador: Foram implementados, tanto visualmente quanto mecanicamente, o diálogo dos pedidos e validação das vacas coletadas.</p>
</li>
<li><p>Transições: Animações entre as telas para adicionar fluidez e personalidade ao jogo.</p>
</li>
<li><p>As ações das vacas restantes:</p>
<ul>
<li><p>Pular e refletir força - a vaca não se move linearmente, e sim, em saltos com física complexa.</p>
</li>
<li><p>Teleportar - uma simples passagem para o outro lado da tela quando a vaca ultrapassa uma das bordas.</p>
</li>
<li><p>Animação - é uma ação única que regularmente muda algum aspecto visual.</p>
</li>
</ul>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961945927/ef02bdd4-f006-421f-96e0-bf75885f2fbb.gif" alt="An animated screen capture of the Unity game engine interface showing the &quot;Elastic Cow&quot; animation process. In the center, a simple black-and-white cow illustration stretches vertically and horizontally on a blue grid. Below the scene, the Animation timeline and Dopesheet are visible, displaying green and blue keyframe curves that fluctuate to control the cow's &quot;squash and stretch&quot; movement, demonstrating the technical implementation of its elastic behavior." class="image--center mx-auto" /></p>
<blockquote>
<p>Timeline de animação da vaca elástica</p>
</blockquote>
<p>Conseguimos terminar o principal do jogo com um tempo de sobra para escolhermos uma música e um efeito de som para as vacas. Inicialmente, cada vaca teria um som único de mugido que seria reproduzido durante o jogo. Porém, decidimos colocar apenas um mugido genérico para todas elas e deixar para fazer variações em outra versão do jogo, se continuássemos o projeto depois da Game Jam (Foi nesse momento que percebemos que nenhum de nós tínhamos conhecimento em <em>sound design.</em> Mas particularmente achamos que conseguimos fazer uma boa escolha).</p>
<p>No fim, dos itens que estavam na lista inicial, apenas 2 ficaram de fora:</p>
<ol>
<li><p>Algumas vacas de lógica mais complexa, que precisariam de mais tempo de desenvolvimento e testes.</p>
</li>
<li><p>Polimento dos personagens, que inicialmente seriam animados <em>frame-by-frame</em> e teriam sons diferentes.</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769961635093/8845537b-eea5-49ed-a2a1-362119ca46b7.png" alt="An figma page that displays a collection of game assets including: the &quot;Moo-nlight Harvest&quot; logo, a color palette of greens and purples, and several UI screens (Menu, Credits, and Gameplay). Other elements include UFO sprites, background layers, a checklist of completed items, and a &quot;Unused &amp; References&quot; area with various artistic sketches." class="image--center mx-auto" /></p>
<blockquote>
<p>Um pouco de como ficou a página no Figma</p>
</blockquote>
<hr />
<h3 id="heading-analise-e-resultados"><strong>Análise e Resultados</strong></h3>
<p>Com o Moo-nlight Harvest terminado, enviamos o link do jogo para um grupo de pessoas compartilharem sua experiência. Os testes revelaram pontos importantes de melhoria, como uma comunicação mais clara dos objetivos, uma duração maior de jogo e a inclusão de elementos que estimulassem a rejogabilidade. Mas no geral recebemos vários elogios pela estética criativa, mecânica divertida e música.</p>
<p>Além dos feedbacks, também acreditamos que o processo de desenvolvimento trouxe aprendizados valiosos para a equipe. A boa comunicação e a divisão estratégica de tarefas foram cruciais para superarmos as restrições de tempo da Game Jam. Por outro lado, o projeto deixou claro que poderíamos fazer mais anotações das atividades que estavam sendo realizadas e buscar um equilíbrio maior entre o refinamento visual e o desenvolvimento das mecânicas, priorizando a experiência do jogador.</p>
<p>No fim, concluímos o projeto com a sensação de dever cumprido! Entregar o jogo dentro do prazo e ver as pessoas jogando foi muito gratificante. E, diante do interesse demonstrado pelos jogadores, podemos dizer que o Moo-nlight Harvest tem espaço para futuras melhorias e possíveis expansões.</p>
<p>Você provavelmente quer ver o resultado com os seus próprios olhos agora, <a target="_blank" href="https://theiagolviz.itch.io/moo-nlight-harvest">clique aqui para jogar Moo-nlight Harvest!</a></p>
<p>Sinta-se à vontade para nos contar o que achou!</p>
<p>Até o próximo estudo de caso!</p>
]]></content:encoded></item></channel></rss>