Prólogo
A tela pisca. Preta. Está escura há séculos, ou talvez desde esta manhã, quando o computador foi desligado pela última vez. O tempo não passa no monitor quando ninguém está olhando. Você se senta. A cadeira range sob o seu peso. Os dedos encontram as letras familiares do teclado, aquelas teclas que seus músculos já decoraram há anos de prática, e você digita como tantas vezes antes, o comando que torna tudo real, que desperta o silício do repouso:
dart run
Só isso. Duas palavras. Uma linha. O compilador logo começaria seu trabalho.
Mas desta vez, desta vez, algo é diferente. O cursor não para no ponto de espera habitual, naquele piscar monótono que significa “tudo bem, estou aqui, esperando”. A tela não mostra a mensagem tranquilizadora de sucesso que você conhece. Em vez disso, caracteres começam a cair pela janela do terminal como chuva de texto, gotas de código tornando-se visíveis. Símbolos que você não solicitou explicitamente. Paredes feitas de cerquilhas (#) despontam na tela. Chão que respira em pontos (.), vivo, pulsando. As linhas se organizam em padrão, e quando você pisca, quando permite que seus olhos se focalizem, você percebe que não está olhando para um log de execução. Está olhando para um mapa. Não apenas seu código. Um mundo. Uma masmorra inteira.
No centro daquela grade ASCII, ali no coração da tela, onde o cursor do editor deveria estar piscando, há um símbolo que não deveria estar lá: um arroba, simples e arrogante, um @. Você move a mão para o mouse, para sair, para fechar a janela e voltar à segurança da ignorância. Mas os dedos hesitam. Ou talvez não queiram obedecer. A masmorra tem peso. A masmorra é real.
Você toma fôlego profundo. Naquele momento, você compreende algo fundamental: aquilo que você construiu em código (linha por linha, função após função, estrutura sobre estrutura) está agora diante de você em sua forma viva. E, num estalo, programar não significa mais abstrair o mundo em símbolos textuais. Significa estar dentro dele. Você não está escrevendo um jogo de um lado de fora. Não está observando. Você é o jogo. Cada variável que você declarar será um poder que possuirá. Cada função que você chamar será um passo literal que dará. Cada if será uma encruzilhada que o salva da morte ou o enterra no chão úmido da masmorra.
A tela mostra pouco: as paredes ao seu redor desenhadas em cerquilhas, o vazio e a segurança das salas em pontos, e você, tão pequeno, tão simples, feito de apenas uma letra, no meio de tudo. Nenhuma instrução. Nenhuma tela de tutorial condescendente. Nenhuma certeza, nenhuma promessa de que há saída. Há apenas a descida que começou, e a lembrança vaga de que, se você aprender rápido, muito rápido, quem sabe chegará ao fundo vivo.
Ou construirá algo que valha a pena conquistar na volta.
Você respira fundo. Segura ar nos pulmões. Os dedos tocam as setas do teclado com a delicadeza de quem toca um instrumento pela primeira vez. O @ se mexe. Você se mexe. A masmorra responde (responde!) como se estivesse viva, como se o houvesse estado esperando. A tela se redesenha. Inimigos aparecem nas adjacências. O ouro brilha (em amarelo ASCII). Pela primeira vez, você compreende na profundidade dos ossos: não é o roguelike que foi criado para você o observar e aprender. É você que está sendo criado pela masmorra, moldado por ela, um símbolo por vez, um comando por vez, um nível descendente de cada vez.
A descida começa. E desta vez, você não pode voltar atrás.
Não quer voltar atrás.
Rode o primeiro comando. A primeira tocha acesa contra a escuridão.