3. Por que aprender com um roguelike
O que é um roguelike
Roguelike é um gênero de jogo nascido em 1980, com o jogo Rogue num terminal Unix da Universidade da Califórnia. As três características que definem o gênero são:
- ASCII no terminal - o jogo é feito só de letras, números e símbolos. O herói é
@, parede é#, chão é., inimigo éZ(zumbi),o(orc), etc. Sem pixels, sem 3D. - Geração procedural - cada partida tem mapa diferente. As salas, inimigos, itens, a posição da escada para descer - tudo é sorteado por algoritmos a cada nova partida.
- Permadeath (morte permanente) - quando o herói morre, acabou. Não tem
savesalvo dez segundos antes. Você começa do zero, com personagem novo, num calabouço novo.
Não é estética nostálgica. É estética que força o jogo a ser sobre a tomada de decisão. Quando cada movimento pode ser o último, o jogador pesa cada escolha. Fugir vira estratégia, não covardia.
Por que terminal e não interface gráfica
A escolha de fazer o livro num jogo de terminal é deliberada. O motivo é foco.
Se este livro ensinasse a fazer um jogo gráfico em Flutter ou Unity, metade dos 37 capítulos seria sobre a ferramenta gráfica: como configurar sprites, como animar transições, como lidar com resolução de tela. Você sairia sabendo Flutter melhor; sairia sabendo Dart pior.
Fazendo no terminal, todos os 37 capítulos podem ser sobre a linguagem e a arquitetura: como modelar combate, como implementar IA, como gerar mapas, como organizar código, como aplicar padrões de design. O jogo continua sendo jogo. E quando você terminar, sabe Dart sólido o bastante para depois aprender Flutter ou qualquer framework gráfico sem fricção.
Interface gráfica vira projeto futuro, não pré-requisito.
Aprender de verdade vs ler tutorial
Aviso importante: este livro NÃO funciona como “copia e cola”. Cada um dos 37 capítulos termina com uma seção chamada Desafios da Masmorra - 4 a 5 desafios práticos para você implementar. Quem só lê o capítulo e segue para o próximo não fixa o conteúdo. Quem implementa os desafios fixa.
Total no livro: 185 desafios + 5 Boss Finals = 190 exercícios. Cada um tem gabarito comentado no Apêndice G - Pergaminhos resolvidos, com explicação linha-a-linha, armadilhas comuns e variações alternativas. Mas a regra do herói é simples: tente o desafio primeiro, espie o gabarito só depois de tentar de verdade.
Programação aprende-se com os dedos, não com os olhos. Pode até parecer que você entendeu lendo, mas só vai descobrir o que sabe quando o compilador apontar o que você ainda não sabe.
O salto progressivo
O livro principal tem 37 capítulos divididos em 6 partes, cada uma com ambição maior que a anterior:
- Parte I (caps 1-7) - “A Primeira Tocha” - fundamentos da linguagem Dart
- Parte II (caps 8-14) - “Sangue, Ouro e Aço” - orientação a objetos e combate por turnos
- Parte III (caps 15-21) - “A Masmorra Desperta” - mundo 2D, FOV, geração procedural
- Parte IV (caps 22-27) - “O Mercador e a Escada” - economia, loja, progressão, boss final
- Parte V (caps 28-32) - “A Forja do Código” - refatoração, testes, async, persistência
- Parte VI (caps 33-37) - “A Mente dos Monstros” - design patterns, FSM, síntese
Aqui no Guia do Iniciante, a gente prepara só para a Parte I. Os fundamentos Dart cobrem variáveis, condições, loops, listas e funções - tudo que os primeiros sete capítulos do livro vão exigir.
Quando terminar este Guia, abra o Capítulo 1 do livro principal e comece. A escada vai estar suave por algumas páginas. Confie no degrau.