Antes de criar um jogo de plataforma: o que estudei e o que mantive
O que estudei antes de criar o Skyline Run — seis tipos de jogo de plataforma, o pulo, a câmera, a primeira fase —, o que escolhi quando o jogo já existia e o que os agentes de IA que o construíram erraram.
A primeira fase do meu jogo de plataforma tinha um buraco que devia ensinar o dash. Quando medi, um pulo comum conseguia atravessá-lo.
Isso veio depois. Antes de criar o Skyline Run, eu não sabia do que um jogo de plataforma é feito. Então estudei: que tipos existem, como um pulo deve ser sentido, o que a câmera deve ao jogador e como uma primeira fase ensina. Este post é essa pesquisa, mais o que escolhi quando o jogo já existia, como uma equipe de agentes de IA o construiu e onde a pesquisa chegou ao limite.

Só quer jogar? Jogue o Skyline Run. Não precisa ler isto antes.
A versão curta
Esta é a ordem que eu daria a quem vai começar um jogo de plataforma pequeno. Ela parte das três perguntas do meu post sobre o jogo da velha.
- Escolha um tipo de jogo de plataforma e escreva o objetivo em uma frase.
- Descreva o pulo que você quer (altura, distância, tolerância) antes de escolher números.
- Garanta que a câmera mostre onde você vai cair antes de pular.
- Ensine uma ideia por vez e depois conecte início, lição, falha, nova tentativa e final.
- Meça, veja alguém jogar e corrija o que atrapalha antes de adicionar mais coisas.
Escolha um tipo de jogo de plataforma primeiro
Pular pode servir a jogos muito diferentes. Usei seis formas para enxergar o leque. Elas se sobrepõem, e os exemplos são só pontos de referência.
- Precisão: movimento e timing repetíveis, como em Celeste.
- Quebra-cabeça: resolver um problema espacial ou sistêmico, como em Braid.
- Cinematográfico: animação, encenação e sequências roteirizadas, como em Inside.
- Metroidvania: exploração reaberta por novas habilidades, como em Hollow Knight.
- Híbrido roguelite: partidas repetidas com condições que mudam, como em Dead Cells.
- Corrida: movimento para a frente e antecipação, como em Canabalt.
A ideia é contenção: um primeiro projeto escolhe um e deixa o resto.
No Skyline Run: precisão. O jogo inteiro em uma frase: chegue à saída no telhado de um distrito neon correndo, pulando e usando o dash; um perigo ou uma queda manda você de volta ao último checkpoint.
Essa escolha traz quatro perguntas que se alimentam o tempo todo: como o movimento responde, o que a câmera mostra, como uma fase ensina e o que acontece depois de uma falha.

Descreva o pulo antes de escolher números
O livro Game Feel, de Steve Swink, trata de como uma ação é sentida e de quão claramente o jogo responde a um comando. A palestra de Kyle Pittman na GDC, "Building A Better Jump", tornou isso prático para mim: comece pela altura, distância e tempo que você quer, não por um valor de gravidade. Ele também mostra altura de pulo variável e uma queda mais rápida depois do pico.
O texto "Celeste & Forgiveness", de Maddy Thorson, me deu três truques pequenos para comandos que chegam um instante cedo ou tarde demais:
- Coyote time: você ainda consegue pular por um instante depois de sair correndo de uma borda.
- Buffer de pulo: um pulo apertado pouco antes de pousar é executado no quadro do pouso.
- Suspensão no pico: em Celeste, segurar o pulo reduz a gravidade pela metade no alto, dando tempo para alinhar o pouso.

No Skyline Run: um pulo completo sobe 56 px, três blocos e meio, e atinge o pico no tick 14 de um jogo a 60 Hz. Um toque de um tick dá um pulinho de 16,56 px, cerca de um bloco. O coyote time e o buffer de pulo permitem 5 ticks cada, cerca de 83 ms. A gravidade cai pela metade perto do topo enquanto você segura o pulo, e a gravidade na queda é 25% mais forte que na subida.
Mostre o pouso antes do pulo
Você não consegue se comprometer com um pulo se não vê onde ele termina. O trabalho da câmera é mostrar a próxima decisão, não só seguir o personagem.
A análise de câmeras em jogos de rolagem lateral de Itay Keren descreve uma janela de câmera: o jogador se move livremente dentro dela antes de a tela rolar. Em Rastan, a janela vertical tem a altura de um pulo. Fez suaviza uma câmera travada na vertical, enquanto Super Mario World pode ficar parado durante um pulo e se ajustar no pouso.

No Skyline Run: a câmera olha 24 px à frente na direção em que você está virado. A janela para cima tem 72 px, mais que um pulo completo de 56 px, e a janela para baixo tem 40 px, com suavização nos dois eixos.
Ensine uma ideia por vez
O texto de Timothy J. Seppala no Engadget sobre Super Mario 3D World descreve uma lição em quatro passos. Ela vem de um jogo 3D, mas o formato funciona para uma primeira fase 2D:
- Apresente uma ideia onde errar custa pouco.
- Desenvolva a ideia com uma nova posição, ritmo ou consequência.
- Mude a ideia para que a primeira solução precise de ajuste.
- Conclua com um uso claro e siga em frente.

No Skyline Run: foi aqui que a pesquisa se sustentou e meus números não. O buraco de ensino do distrito um tinha 5 blocos de largura e devia dizer "aqui você precisa do dash". Medido no motor do jogo, um pulo comum conseguia atravessá-lo. A correção foi um buraco de 6 blocos sobre um piso rebaixado: só o pulo deixa você cair no fosso, de onde dá para voltar e tentar de novo, e só pulo mais dash aéreo alcança o telhado do outro lado. No buraco seguinte, duas plataformas generosas tinham formado uma escada que permitia pular o dash; elas viraram uma única plataforma de recuperação que não pode virar atalho. A história completa está em Quando a medição corrigiu o salto.

Torne a falha barata
Um jogo de plataforma é, em grande parte, falhar e tentar de novo, então o momento depois de um erro faz parte do design. Decida quando o controle para, onde o jogador volta e o que uma nova tentativa mantém.
No Skyline Run: uma queda ou um perigo trava os comandos por 18 ticks, 0,3 s, e depois você renasce no último checkpoint. Uma nova tentativa mantém seu tempo, suas mortes e seu checkpoint.
Como agentes de IA construíram o jogo, e o que erraram
Eu não escrevi o código do Skyline Run à mão. Em 19 de agosto, apontei o Claude Fable 5 para minhas anotações de pesquisa e pedi um plano de implementação detalhado. Ele escreveu um: constantes do motor, quatro salas e uma sala de ensino com "one 5-tile gap (jump-uncrossable)", ou seja, um buraco de 5 blocos que o pulo não atravessa.
Um agente Claude Opus 5 então conduziu a construção como orquestrador. Ele distribuiu o trabalho em ondas: agentes GPT-5.6 escreveram o motor, a fase e a página em paralelo, e agentes separados de QA e revisão checaram o que eles produziram. O plano resumia assim: implementadores, QA e avaliadores ficam separados, e o QA dá o veredito. A primeira versão jogável ficou pronta naquela mesma noite, em cerca de duas horas.
O erro é o mesmo em torno do qual este post gira. O orquestrador reajustou os números do plano e entregou aos agentes uma tabela intitulada "Measured ability envelope — authoritative for level authoring and tests" (envelope de habilidades medido, oficial para criar fases e testes). A linha do pulo dizia que um pulo atravessa 4 blocos e que "5 is impossible" (5 é impossível). Nada tinha sido medido no motor real ainda. Um agente transformou essa afirmação em teste, e o agente de QA o executou. O teste falhou: um pulo conseguia atravessar o buraco de 5 blocos.
O próprio diagnóstico do orquestrador foi que o buraco estava no fio da navalha: um pulo com coyote time no quadro exato conseguia atravessá-lo. O jogador continua no chão enquanto a borda esquerda da sua caixa de 12 px de largura ainda está sobre o telhado, então o ponto real de impulso ficava 12 px depois do que ele tinha modelado. Na mesma noite, ele declarou a fase "not completable" (impossível de concluir) quando o errado era a sua própria tabela de alcance, e um agente de revisão descobriu que segurar Shift enquanto apertava uma tecla de letra podia deixar você sem conseguir pular pelo resto da partida.
O que levei disso: um agente chamar um número de "medido" é uma afirmação, não uma medição. Quem pegou o erro foi outro agente, rodando a afirmação contra o motor real. Por isso a fase agora tem um teste fixo: uma partida vencedora gravada, de 1.304 ticks, que precisa concluir o distrito um sem nenhuma morte, sempre.
O que ficou de fora
A primeira versão era um distrito em quatro salas: correr, pular, um dash aéreo, cinco checkpoints, controles por teclado e por toque na tela, e arte provisória em blocos cinza. Um replay gravado conclui a fase em 21,7 segundos, sem mortes. Em 30 de agosto, a campanha já tinha dez distritos.
Todo o resto esperou: outras habilidades de movimento, inimigos, combate, itens, som, arte final, suporte a controle, salvamento, editor de fases e níveis de dificuldade. Nada disso está escondido depois da tela final.
Onde a pesquisa chegou ao limite
Ler me deu as perguntas certas. Não podia me dar números verdadeiros para o meu jogo; só medir o motor rodando fez isso. E ainda não vi ninguém jogar sem orientação, então ainda não sei se uma pessoa entende a lição do dash.
O que veio depois: eu medi o pulo, depois transformei o jogo em campo de treino e perguntei se uma rede neural conseguiria aprender a correr pelos telhados. Ela decorou um único distrito.
Você pode ajudar: jogue o distrito um e me conte onde caiu primeiro e se percebeu a lição do dash. Uma DM ou um comentário no @ai.maker.lab no Instagram chega até mim.
IA e automação ajudaram na pesquisa, nas ilustrações, na tradução e na revisão deste artigo, e agentes de IA construíram o jogo que ele descreve. Sou dono do AI Maker Lab e do Skyline Run e respondo pela redação final e pela checagem das fontes.
Fontes
- Swink, Steve; CRC Press. Game Feel: A Game Designer’s Guide to Virtual Sensation. Primeira edição, copyright 2009. https://www.routledge.com/Game-Feel-A-Game-Designers-Guide-to-Virtual-Sensation/Swink/p/book/9780123743282. Acessado em 2026-08-19.
- Pittman, Kyle; Game Developers Conference. “Math for Game Programmers: Building A Better Jump.” GDC 2016. https://gdcvault.com/play/1023559/Math-for-Game-Programmers-Building. Acessado em 2026-08-19.
- Thorson, Maddy. “Celeste & Forgiveness.” Data de publicação não exibida. https://www.maddymakesgames.com/articles/celeste_and_forgiveness/index.html. Acessado em 2026-08-19.
- Keren, Itay. “Scroll Back: The Theory and Practice of Cameras in Side-Scrollers.” 11 de maio de 2015. https://www.gamedeveloper.com/design/scroll-back-the-theory-and-practice-of-cameras-in-side-scrollers. Acessado em 2026-08-19.
- Seppala, Timothy J.; Engadget. “This is why ‘Mario’ levels are brilliant.” 17 de março de 2015. https://www.engadget.com/2015-03-17-super-mario-3d-world-design.html. Acessado em 2026-08-19.