Game designer e programador  ·  Rataiada  ·  publicado pela TheBOA.Games

So Fart Away

Um puzzle sokoban de comédia em que os peidos são as caixas. Nasceu em uma game jam de 11 dias e virou jogo de Steam.

Game jam · 11 dias · 2022 Steam · 7 mar 2025

Projeto em equipe. O So Fart Away foi feito pela Rataiada, com game designers, programadores e artistas.

O projeto

Linguini sofre de “Fartus Fartalis”, uma doença que a comida apimentada dispara. Obrigado pelo chefe a provar pratos em uma feira gastronômica, ele precisa escapar de cenários cheios de puzzles usando os próprios peidos, que são ferramenta e obstáculo ao mesmo tempo.

Publicado pela TheBOA.Games para Windows, em inglês e português do Brasil. É um sokoban: o jogador come para avançar e cada peido vira algo que precisa ser contornado, sem peidar nos outros.

  • 100+ puzzles
  • 9 regiões
  • Rewind
  • EN · PT-BR

Dados da página pública da Steam.

So Fart Away
Trailer de gameplay ↗

Meu papel

Fui game designer e programador de UX e sistemas. Projetei puzzles e programei a camada que o jogador toca: menus, input, acessibilidade, localização, narrativa e cutscenes.

  • Design de fases: puzzles de várias regiões, do tutorial ao chefe.
  • UI e menus: menu principal em 3D com Timeline, pausa, seleção de fase, configurações e créditos.
  • Input: prompts que seguem o dispositivo e pilha de action maps.
  • Acessibilidade e localização: fonte para dislexia, textos em PT e EN e citações por idioma.
  • Narrativa e animação: diálogos, cutscenes (incluindo a final e o epílogo) e animações do protagonista.
  • Áudio: biblioteca de sons em ScriptableObject e música por fase.
2a 6mda game jam ao lançamento na Steam
500+commits meus, de cerca de 1.600 no repositório
100+puzzles em 9 regiões no jogo final
2prêmios na Ctrl Alt Jam: voto popular e Melhor Som

Números aproximados, tirados do repositório, da página pública da Steam e do devlog; servem como indicador de escala, não de qualidade.

Estudos de caso

03 casos
01Acessibilidade e input: o jogo se adapta ao jogador

Desafio

O mesmo jogo é jogado com teclado ou controle, em português ou inglês, por pessoas com necessidades diferentes. Um tutorial que diz “aperte o botão X” só funciona se o botão certo aparecer no dispositivo certo, no idioma certo.

Prompts

Os textos de tutorial são termos de localização com um marcador no lugar do botão. Um componente observa qual dispositivo foi usado por último (teclado ou controle) e troca a sprite sheet de botões em tempo real; sem input ainda, prefere o controle se houver um conectado. O mesmo texto serve aos dois dispositivos e aos dois idiomas.

Controle de input

Menus, diálogos e cutscenes precisam assumir o controle do jogador e devolvê-lo. O input usa uma pilha de action maps: quando um deles assume, o mapa anterior é desligado e volta a ser ativado quando o outro fecha.

Dislexia

Nas configurações, uma opção troca a fonte de todo o jogo por uma fonte própria para leitores com dislexia (OpenDyslexic), com material de contorno onde o texto fica sobre imagem. Um singleton dispara um evento e cada texto se atualiza sozinho, então nenhuma tela precisa saber da opção. A escolha é salva entre sessões.

Idiomas

As citações que aparecem no jogo dependem do idioma: o objeto se ativa ou se desativa quando o idioma muda, em vez de mostrar texto sem tradução.

Aprendizado

Acessibilidade e input não são polimento de fim de projeto. Quando prompts, idioma e fonte são dados que o resto do jogo consulta, adicionar um dispositivo ou um idioma novo não obriga a mexer em cada tela.

02Design de fases: puzzles para um público casual

Contexto

Depois da jam, a equipe definiu como público principal o jogador casual que gosta de puzzles e joga por passatempo. Isso pediu dificuldade leve na campanha principal, sem travar o jogador, e a equipe planejou fases opcionais mais difíceis para quem quer desafio.

Meu trabalho

Projetei puzzles para várias regiões do jogo, cada uma construída em torno de uma mecânica: armadilhas de comida e de planta, blocos, perfume, cura, peido único, alçapão e alavancas. Também refiz puzzles que já existiam e implementei a luta de chefe.

Ferramentas

Cada fase é uma cena da Unity montada com os prefabs do jogo, então um puzzle novo é uma cena nova, sem código.

03Da game jam ao Steam: consertar o que a jam escondeu

Ponto de partida

Em setembro de 2022, uma equipe de 5 pessoas fez o So Fart Away em 11 dias para a Ctrl Alt Jam, com o tema “Efeito Colateral”. Um sokoban em que os peidos são as caixas. O jogo ganhou dois prêmios, um por voto popular e outro de Melhor Som, escolhido pelos jurados, e foi jogado por mais de mil pessoas na semana de lançamento.

Diagnóstico

Com o jogo pronto, a equipe listou o que a pressa tinha custado: comédia repetitiva (uma piada só), usabilidade ruim (movimentação travada e rewind cortado) e arte irregular. Ser bom para uma jam não era o mesmo que ser bom para a Steam.

Decisão

As melhorias foram separadas em duas categorias: de produto (o que encaixa o jogo no mercado: novo público-alvo, usabilidade, features cortadas) e de jogo (o que aperfeiçoa o design original: comédia e visual). Assim dava para priorizar sem perder de vista que um bom jogo também precisa ser um bom produto.

Antes e depois

Game jam (2022)Steam (2025)
Movimentação travada, sem rewindRewind e polimento de qualidade de vida
Campanha de cerca de 15 minutos100+ puzzles em 9 regiões
Comédia apoiada em uma só piadaHumor mais variado, com citações e trocadilhos ao longo do jogo
Arte de qualidade irregular, típica de jamCenários refeitos com uma nova artista

Aprendizado

Um jogo de jam prova uma ideia; um produto precisa de público definido, usabilidade e fôlego. Ter nomeado o que faltava, em vez de só “polir tudo”, foi o que deixou o redesign gerenciável.

Fonte

Fatos da jam e do redesign vêm do devlog público da equipe.

Stack deste projeto

// unity

  • Unity (2D)
  • C# · Timeline · TextMesh Pro
  • Input System
  • Odin Inspector

// localização e acessibilidade

  • I2 Localization
  • OpenDyslexic (fonte alternativa)
  • Sprite assets de prompts (teclado e Xbox)

// padrões

  • Singletons e eventos
  • ScriptableObjects (áudio, citações)
  • Design de fases em cena, sem código

// equipe

  • Git, com 3 contribuidores
  • Game designers, programadores e artistas

Contato