Faça seu próprio jogo
moood é uma cena viva desenhada por código e uma página onde o seu código roda por cima dela — o que isso vira é com você. O que está aberto, em que o estúdio ajuda e como entrar.
No coração do moood há duas coisas. Uma cena viva desenhada por código: um lugar com luz, clima, pessoas e música. E uma página onde o código do seu jogo roda por cima dessa cena. Todo o resto — que tipo de jogo vai ser — fica por conta do autor.
Os nossos jogos acabaram sendo histórias com escolhas: capítulo após capítulo, falas com voz, minijogos. Mas esse é só um caminho. Uma cena pode ser um lugar onde você simplesmente quer ficar um pouco. Um jogo pode ser um quebra-cabeça, um brinquedo, um passeio sem destino, uma conversa — qualquer coisa que caiba em código. Aqui está o que existe para isso e como usar.
Um mundo no moood é um conjunto de cenas. Cada uma é um lugar: um cais ao amanhecer, uma cozinha, uma estepe coberta de neve. O código a desenha — luz, água, névoa, vento, reflexos — e nela vivem pessoas: andam, sentam, se viram. A câmera filma sozinha quem a cena está olhando. Cada cena tem a sua própria música.
Uma cena também vive por conta própria. O estado dela — amanhecer ou noite, chuva ou céu limpo, quem está onde — muda por chaves, e a mesma cena pode ir do crepúsculo à escuridão em um minuto. Uma cena pode ser mostrada sem jogo nenhum, só como uma imagem viva: no moood.me também há esboços assim.
Um jogo é código que você mesmo escreve, e quanto dele vai existir também é decisão sua. A página entrega a ele as cenas e tudo o que nelas pode mudar: mostrar outra cena, mudar o tempo, levar uma pessoa a algum lugar, deixar que ela diga uma fala com a própria voz, tocar um som, salvar, pausar. O resto fica como você imaginar.
Você pode escrever capítulos e escolhas, como fazemos. Para isso há ajuda pronta: um mapa da partida, repetições, uma linguagem de minijogos — gestos, marcas e respostas que o jogador entende sem legendas. Você pode não usar nada disso: deixar uma cena só e dar à pessoa algo para fazer nela. Pode mostrar o jogo no seu próprio site e deixar o código dele conversar com o que quiser — até com um modelo de linguagem que interpreta um personagem.
No começo cada jogo tinha minijogos próprios, e o jogador tinha que adivinhar toda vez o que apertar. Depois, de reclamações e pedidos, cresceu uma linguagem comum: uma marca num objeto, um gesto da mão, a resposta da cena, uma plaquinha no alto — e um som que avisa se deu certo. Mais na história [«A linguagem dos minijogos»](/stories/minigame-language). Não é obrigatório usá-la, mas ela poupa muito esforço.
Por uma pasta. Um mundo, um jogo e uma história são simplesmente pastas num repositório git: o seu, no seu GitHub, com os seus coautores, branches e histórico. Num repositório cabem quantas você quiser.
O mais fácil é escrevê-los junto com um agente de IA — Claude Code, ChatGPT, Gemini, qualquer um. Para isso existe o repositório aberto [moood](https://github.com/moood-me/moood): os motores, a página da cena e a página do jogo, a linguagem dos minijogos, a verificação e um pequeno player para jogar na sua própria máquina. Colocamos as coisas ali por uma regra só: se algo é necessário para fazer um jogo e jogá-lo, está lá. E a documentação, escrita para que um agente consiga trabalhar com ela: o que importa numa cena e o que nunca fazer, como acertar a luz e as pessoas, como um jogo é montado, como escrever um roteiro se você precisar de um.
E para que o agente tenha o que olhar, abrimos também o nosso próprio trabalho — os repositórios [works](https://github.com/moood-me?q=works). Lá estão os mundos e jogos do moood.me com o código das cenas e a história de como foram feitos, um espaço de testes de minijogos onde cada gesto pode ser experimentado sozinho, e pequenos mundos iniciais — tentativas de descobrir o que as cenas podem ser. Leve o que ajudar.
Qualquer coisa — um mundo, uma cena, um jogo, uma história — é nomeada por uma linha só: `seu-repositório@branch:pasta`. Um commit pode ocupar o lugar da branch. É assim que se abre no estúdio, que se faz referência a partir de outro jogo, que se entrega a um agente. Um jogo também pode ficar sobre o mundo de outra pessoa — por um endereço assim.
No começo era mais complicado: cada mundo tinha branches de serviço próprias para cada site em que era publicado. Os agentes estavam acostumados. O Pavel olhou e disse: «Isso é meio complicado cognitivamente)… Não dá para fazer sem as branches?)» — e pediu para pensar não em como remendar, mas em como deixar simples. Descobriu-se que não é preciso nada além do git: as suas branches são os seus rascunhos.
Na sua máquina — no player do moood: ele roda sobre a sua pasta, e assim que você salva um arquivo a página se recarrega sozinha, e o jogo continua de onde estava. Ou no estúdio: qualquer branch aparece lá logo depois do push, no computador e no celular. Mudou algo enquanto jogava? O estúdio oferece continuar na versão nova, sem recomeçar.
Algumas coisas não dá para fazer no seu próprio computador: é preciso uma placa de vídeo e modelos que falam, compõem música e movem pessoas. É para isso que serve o estúdio. Você pode usá-lo inteiro, pegar só uma coisa ou não usar nada.
**Ver.** O estúdio desenha uma cena numa placa de vídeo: uma imagem, uma folha de quadros segundo a segundo, um vídeo. Não é só para você. Um agente olha o próprio trabalho em imagens e o corrige sozinho enquanto você cuida de outra coisa. Ele se conecta ao estúdio uma única vez: você autoriza numa página que diz em palavras simples o que ele poderá fazer, e daí em diante ele trabalha em seu nome.
**Dar vida às pessoas.** O movimento de uma pessoa é descrito em palavras: «anda devagar para a frente», «senta e olha para a água». Quem faz é um modelo treinado com gravações de movimento real, e o estúdio o mostra em pessoas diferentes antes de ele entrar na cena.
**Dar voz.** Qualquer fala pode ser dublada: cada personagem tem a sua voz e o seu jeito, e uma fala isolada pode ter um jeito só dela — «com inveja e encanto, não de zombaria». Todas as falas de um jogo ficam num só lugar, e você pode ouvi-las.
**Dar música.** Você descreve a música de uma cena em palavras e mistura as descrições por peso: «piano suave ao entardecer» mais alto, «chuva nas folhas» mais baixo. Dá para ouvir na hora, antes de salvar qualquer coisa. O que foi feito uma vez fica guardado: a mesma fala ou a mesma música nunca é feita duas vezes.
**Começar sem código.** O estúdio tem um artista — uma IA para quem você pode simplesmente escrever: «faça ser noite, e deixe o lampião do cais aceso». Ele edita a cena sozinho, e cada mudança aparece na hora. Ele existe para que um mundo possa ser começado direto no navegador, sem editor e sem agente seu. Até só por curiosidade: faça umas duas cenas e veja no que dá.
**Não engasgar.** Uma cena viva precisa rodar fluida num notebook fraco e também no celular. O estúdio a mede em máquinas diferentes e mostra onde ela não dá conta. Por que isso importa tanto para nós — na história [«Por que era lento»](/stories/why-it-was-slow).
**Falar todas as línguas.** Os jogos do moood falam doze idiomas, e o seu também pode. A verificação encontra o que não foi traduzido, links que não levam a lugar nenhum, cenas que não montam — e mostra quais vozes, músicas e imagens estão faltando. O que falta é feito com um botão. A verificação é rápida: ela só redesenha as cenas na placa de vídeo se você pedir — afinal, a gente quer verificar com frequência.
Um jogo pronto pode ser enviado para publicação no moood.me. Ele é olhado antes de ser exibido, e depois ocupa o seu lugar no site ao lado dos outros — com imagens das cenas, vozes e música.
Ou sem nós. As páginas do moood podem ser exibidas por qualquer site ou aplicativo que responda às poucas requisições simples delas. Você pode pegar o motor e fazer com ele algo totalmente seu.
Tentamos fazer do estúdio um lugar onde ninguém se perde. Ele é montado como um portal: à esquerda os serviços — repositórios, mundos, jogos, histórias — e a oficina: renders, medições, fala, música, movimento, o artista, verificações, publicações. No alto, uma busca em tudo de uma vez: digite «lampião» e aparecem o jogo, a história e a cena. O que você precisa pode ser marcado com uma estrela. Há tema escuro e versão para celular, e o próprio estúdio fala os mesmos doze idiomas.
Também pegamos as miudezas. Você aperta um item do menu e nada responde — apertou ou não? Agora o item acende na hora, e se a página demora mais que um instante, aparece «Carregando…». Se for mais rápido, nada pisca.
Um agente à parte percorreu o estúdio inteiro como várias pessoas inventadas: um autor experiente, um iniciante, alguém que tinha acabado de entrar. Abriu cada página em dois idiomas, no tema claro e no escuro, no computador e no celular — e anotou onde tropeçava.
Houve achados engraçados e chatos. Um autor apertava «Medir» e caía em «não encontrado»: a própria medição dele não abria. Um jogo em inglês aparecia no estúdio em russo sem título e sem o botão «Jogar». Um iniciante dava de cara com um beco sem saída: entra — e depois não há nada. Tudo foi corrigido antes de o estúdio abrir.
O acesso ao estúdio é dado pelo Pavel. Escreva para ele no [Telegram](https://t.me/pavel_zhur) ou em [[email protected]](mailto:[email protected]) — ele abre a porta, sem cerimônia. E se você quiser ajudar o próprio moood — o motor, as páginas, a documentação —, ele vai gostar: issues e pull requests no [moood](https://github.com/moood-me/moood) estão abertos a todos.