Pular para o conteúdo
Jogos Digitais
Nesta página
  1. Objetivos de aprendizagem
  2. Pré-requisitos
  3. Materiais
  4. Conceitos
  5. Exemplos
  6. Tutorial passo a passo
  7. Imagens
  8. Indicação da interface
  9. O código completo
  10. Explicação do código
  11. Resultado esperado
  12. Problemas comuns
  13. Exercício guiado
  14. Desafio individual
  15. Desafio avançado (opcional)
  16. Critérios de avaliação
  17. Checklist de conclusão
  18. Extensão

Módulo 6 · Aula 6.8 · Geração procedural simples (opcional)

Carga horáriaDificuldadeFerramentaCompetências
4 h/a⭐⭐⭐GDevelop 5C1, C2

Objetivos de aprendizagem

  1. Explicar o que é geração procedural e quando ela ajuda.
  2. Sortear a posição dos itens a cada partida, evitando lugares proibidos.
  3. Usar o evento Repetir para criar vários objetos.
  4. Reconhecer o risco: o sorteio pode criar uma fase impossível.

Pré-requisitos

Aulas 6.1 a 6.4. Aula 3.6 (criar objetos e sorteio).

Materiais

Computador com o GDevelop; uma cópia do Cajueiral.

Conceitos

Geração procedural. Parte da fase é criada por regras no momento em que o jogo roda, e não desenhada à mão. Cada partida fica um pouco diferente.

Desenhado × sorteado. O Cajueiral é todo desenhado: o designer controla a curva de dificuldade. Sortear tudo pode gerar fases chatas ou impossíveis. Um meio-termo: cercas e cães desenhados, castanhas sorteadas.

Sortear e conferir. Sorteia-se a posição; se cair dentro de uma cerca, sorteia de novo. Na Aula 3.6 bastava limitar o sorteio a uma área segura; aqui as cercas ficam no meio da área, então é preciso conferir depois.

Evento Repetir. Faz as ações e subeventos de dentro um número fixo de vezes no mesmo quadro: "Repetir 5 vezes: criar uma castanha".

Exemplos

JogoO que é gerado
jogos de mineração com blocoso mundo inteiro, a partir de um número "semente"
jogos de cartasa ordem das cartas
esta aulasó a posição das castanhas

Tutorial passo a passo

As instruções abaixo não foram testadas nesta versão do curso. O professor deve montar uma vez antes da aula.

  1. Na cópia, apague as castanhas da Fase1 (fica o objeto, sem instâncias).
  2. Nos eventos da Fase1, antes do link das Regras: No começo da cena com um subevento Repetir 5 vezes → Criar um objeto Castanha em RandomInRange(64, 720), RandomInRange(64, 520).
  3. Evento: Colisão Castanha com Cerca → mudar a posição da Castanha para outro sorteio. Ele roda a cada quadro até nenhuma castanha estar dentro de cerca.
  4. Faça o mesmo para castanhas que caíram perto demais de um cão (Distância entre dois objetos < 100).
  5. Visualizar várias vezes. Anote: alguma partida ficou impossível? Alguma ficou fácil demais?

Imagens

Não há capturas desta aula.

Indicação da interface

ItemOnde fica
Evento Repetirbotão Adicionar... no fim da folha de eventos (nome exato da opção não conferido)
Criar um objetoações, grupo de objetos

O código completo

Cena Fase1 (cópia):
No começo da cena
    subevento: Repetir 5 vezes → Criar o objeto Castanha na posição RandomInRange(64, 720); RandomInRange(64, 520)
Castanha está em colisão com Cerca → posição de Castanha = RandomInRange(64, 720); RandomInRange(64, 520)
Incluir eventos de Regras

Explicação do código

Repetir e conferir até dar certo é um laço com condição de parada, como o "repita até" do Scratch (Módulo 1). Aqui a parada é "nenhuma castanha dentro de cerca".

Resultado esperado

Cada partida com castanhas em lugares diferentes, nunca dentro de cerca, e uma lista no diário das partidas boas e ruins.

Problemas comuns

SintomaCausaSolução
Castanha aparece por um quadro dentro da cercao conserto acontece no quadro seguinteaceitável; ou esconder até confirmar
Placar mostra o total erradoTotal continua 5 fixocriar exatamente Total castanhas
Castanha fora da cenasorteio maior que a faselimitar o sorteio à área entre as bordas

Exercício guiado

RandomInRange(64, 720) sorteia entre quantos valores inteiros? (Resposta: 657.)

Desafio individual

Sorteie também qual dos três desenhos de fase é usado, criando três "moldes" e escolhendo com RandomInRange(1, 3).

Desafio avançado (opcional)

Pesquise "semente aleatória" (seed): como dois jogadores podem jogar a mesma fase sorteada?

Critérios de avaliação

  • Itens sorteados sem cair em lugar proibido.
  • Registro de partidas boas e ruins com explicação.

Checklist de conclusão

Extensão

Faça um jogo de tabuleiro de papel em que o caminho é montado sorteando cartas. Depois de 3 partidas, alguma ficou injusta?