Regras Centrais do Jogo
Regras agnósticas de gênero que todo jogo precisa. Peculiaridades de gênero vão por cima destas, nunca as substituem.
Fluxo de Trabalho
- Identificar dimensão (2D/3D), gênero, câmera e esquema de entrada.
- Definir o conjunto de regras ANTES do código: entidades, estados, regras, vitória/derrota, casos extremos.
- Implementar usando os padrões abaixo.
- Ler
references/collision.mdpara especificidades de colisão/física. - Gerar um
RULES.mdno projeto listando cada regra específica do jogo para que possa ser testada mais tarde.
Estrutura Universal
- Loop do jogo: entrada -> atualização(dt fixo) -> colisão -> resolução de estado -> renderização. Use um passo de tempo fixo para física, variável para renderização.
- Estados do jogo:
Início -> Menu -> Jogando <-> Pausado -> GameOver/Vitória -> Menu. Cada transição deve ser explícita; nenhuma mudança de estado silenciosa. - Entidades: cada uma tem posição, tamanho/colisor, velocidade, estado e é dona de suas próprias regras.
- Tabela de regras: para cada regra escreva
Gatilho -> Condição -> Efeito -> Caso extremo.
Regras que Todo Jogo Deve Definir
- Condição de vitória, condição de derrota e o que acontece no reinício (o que reseta, o que persiste).
- Pontuação/progresso: como aumenta, limites e como é salvo.
- Saúde/vidas do jogador: fonte de dano, janela de invulnerabilidade, tratamento de morte.
- Spawn/despawn: onde, quando, limites e limpeza (sem vazamentos).
- Curva de dificuldade: o que escala e com que rapidez.
- Entrada: entradas simultâneas, buffering, reatribuição, comportamento de pausa.
Complementos de Gênero (escolha o que se aplica)
- Plataforma: gravidade, altura de pulo/pulo variável, tempo de coyote (~100ms), buffer de pulo (~100ms), plataformas unidirecionais, carregamento em plataforma móvel, plano de morte por queda.
- Corrida/sem fim: rampa de velocidade, espaçamento de spawn procedural garantido de ser ultrapassável, semente para reprodutibilidade.
- Tiro: taxa de disparo, tempo de vida do projétil, registro de acerto, munição/recarga.
- Quebra-cabeça: estado determinístico, desfazer, verificação de solucionabilidade.
- Corrida/3D: pontos de verificação, validação de volta, regras anti-atalho, colisão de câmera.
Regras Rígidas
- Nunca atrelar lógica de jogabilidade à taxa de quadros.
- Nunca deixar uma entidade sair dos limites jogáveis sem um resultado definido.
- Toda regra recebe um número (sem "rápido", use unidades/seg).
- Aleatoriedade deve ser seedável.