$ masmorra_ascii

Item 03 de 10

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 save salvo 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:

  1. Parte I (caps 1-7) - “A Primeira Tocha” - fundamentos da linguagem Dart
  2. Parte II (caps 8-14) - “Sangue, Ouro e Aço” - orientação a objetos e combate por turnos
  3. Parte III (caps 15-21) - “A Masmorra Desperta” - mundo 2D, FOV, geração procedural
  4. Parte IV (caps 22-27) - “O Mercador e a Escada” - economia, loja, progressão, boss final
  5. Parte V (caps 28-32) - “A Forja do Código” - refatoração, testes, async, persistência
  6. 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.

$ masmorra_ascii — terminal interativo
Bem-vindo. Digite help para ver os comandos. Esc para sair.
$