← Todos os posts

A sarjeta está molhada

O primeiro trecho de verdade do Capítulo 1: sete camadas de profundidade, luzes pintadas que viram luz de verdade, água que reflete a tela e uma chuva fraca.

Ouça este post

Narrado com a voz do Dodz, clonada por IA

0:00 / 0:00
O Pew ao lado do disco caído e de um farol alienígena verde na sarjeta, à noite, na chuva.

Movimento e tiro numa sala cinza só vão até certo ponto. Hora de colocar o Pew onde a história começa: o trecho 1.1 do Capítulo 1, a Sarjeta, bem ao lado do disco caído.

A Sarjeta rodando no Godot no piloto automático: o disco, as poças e o bueiro.

O layout

A fase inteira é um punhado de listas no topo de um script: pedaços de chão, poças, plataformas, alvos, checkpoints. A fase se monta sozinha a partir delas quando carrega, então mudar o layout é editar números, não arrastar nós.

Da esquerda para a direita: o disco onde o Pew começa, asfalto molhado, uma tampinha para subir, uma lata de refrigerante, uma primeira poça atravessada pulando em duas bitucas boiando, pedaços de meio-fio, uma caixa de fósforos, o bueiro brilhando no meio-fio, uma segunda poça com uma tampinha boiando e três faróis alienígenas que funcionam como checkpoints. Caiu na água, o Pew afunda, a tela escurece e ele volta no último farol que acendeu.

Sete profundidades

A profundidade vem das camadas. Cinco camadas de parallax pintadas (céu, horizonte, prédios, beco, rua), depois a face do meio-fio logo atrás do plano de jogo, e um primeiro plano quase preto passando na frente de tudo. As camadas de parallax saíram de um preset de imagem novo, que pede só o que a camada deve ter. O gerador gosta de encher o espaço vazio com cidade, então toda camada é conferida para ter transparência onde deve.

O parallax é só horizontal. Camadas densas se repetem em cópias espelhadas, e as emendas somem. Camadas esparsas, como a rua com o hidrante, se repetem com espaçamento e sem espelho, senão aparece um par suspeito de hidrantes gêmeos.

Luzes pintadas, luzes de verdade

As camadas vêm com postes e neon pintados. Eu queria que eles iluminassem a cena de verdade, sem posicionar cada luz à mão.

Então o script que exporta a arte procura essas luzes. Ele varre cada camada atrás de pontos claros e quentes (postes) e de pontos rosa e ciano (neon), junta os que estão próximos e grava posição e tamanho num lights.json. A fase lê esse arquivo e coloca uma luz 2D de verdade em cada um. Um tom de noite escurece tudo, e as luzes devolvem a vida aos brilhos pintados. As luzes de fundo só tocam o fundo; as de gameplay, como a escotilha aberta do disco, o bueiro, os faróis e os tiros do Pew, iluminam o plano de jogo.

O Pew no bueiro, com luz ciano saindo da grade e uma caixa de fósforos por perto.
O bueiro, iluminado de dentro da grade.

Água que reflete a tela

As poças e o asfalto molhado usam o mesmo nó, com um shader que espelha o que já está na tela acima da superfície da água, com ondulação. Funciona com qualquer zoom e reflete tudo, inclusive o Pew e os tiros, sem uma segunda câmera.

Clima

O relâmpago alterna entre um raio perto (clarão forte e trovão logo depois) e um distante (clarão fraco e um ronco atrasado). Para o Capítulo 1 escolhi uma chuva fraca: menos gotas, menos respingos no chão e o loop de chuva mais baixo. Assim os sons da cidade aparecem.

O último toque foram as gotas. Gotas incham nas bordas, caem e respingam de tempos em tempos: na borda do disco, nas tampinhas, nos pedaços de meio-fio, nas beiradas das poças e nas gotas pintadas no meio-fio. Quando uma cai na água, deixa um anel e um "plim" baixinho.

Jogue

Você não precisa acreditar só na minha palavra. A seção Jogue com o Pew da página inicial é este trecho rodando no seu navegador, com o mesmo layout, o mesmo piloto automático e os movimentos reais do Pew.

O que vem agora

No roadmap, o marco do protótipo cinza pede movimento, tiro em 8 direções, um inimigo, interação básica e uma primeira versão do reflexo na água. Movimento, tiro e água já estão lá. Os próximos são o primeiro inimigo e os primeiros objetos para empurrar e boiar. Depois disso, o plano é um vertical slice dos trechos 1.1 e 1.2, depois o Capítulo 1 completo, e então uma demo pública do Capítulo 1 na Steam.

Vou continuar contando tudo por aqui.