Como garantir que um jogo possa ser concluído

10

Não sei ao certo qual é o termo correto para o que estou procurando, portanto, desculpe-me se for uma pergunta duplicada. Mas existe um termo / algoritmo para garantir que um jogo seja "completável" em relação a um scroller infinito. O que eu quero dizer com completável é que, se eu tivesse um jogo, em que um usuário tivesse que continuar pulando blocos enquanto a tela tenta alcançá-los, como garantir que sempre haja um novo bloco acessível que o usuário possa teoria pular para?

Eu sei que em teoria eu verificaria a que altura o usuário pode pular e garantir que haja um bloco dentro desse alcance, mas há mais alguma coisa? ou seja, evitar verificações caras ao colocar novos blocos para garantir que eles não se sobreponham etc.?

Eu estou olhando especificamente para html5 / js, mas me perguntei se havia um termo para este ou um tipo específico de algo que eu poderia investigar.

obrigado

TommyBs
fonte
2
Você praticamente descreveu. Saiba até onde seu usuário pode saltar e não coloque um bloco além disso. Realmente esse é um cálculo cinemático simples e não será um gargalo para o seu jogo em comparação com a animação.
mobo
2
Você pode gostar de ler gamasutra.com/view/feature/170049/…
Kelly Thomas
3
Preocupar-se com verificações caras pode ser um pouco prematuro ao resolver problemas de jogabilidade. Você quase sempre pode otimizar algo que se torna um problema de velocidade mais tarde, mas você não pode sempre enviar um jogo, porque isso é impossível de jogar, porque você pensou que um método seria demasiado lento e que você nunca tentou fazê-lo =)
Patrick Hughes
1
Obrigado por todos os comentários pessoal, realmente aprecio isso. O artigo Gamasutra é muito útil @KellyThomas
TommyBs

Respostas:

6

Uma abordagem interessante que eu já vi é fazer um bot / AI que entenda como jogar o jogo. Nem precisa ser bom nisso. Apenas certifique-se de que, para qualquer ponto em particular, pareça necessário / possível que a IA tente especulativamente um bom número deles (simulando o salto) até encontrar um que possa fazer. Execute a IA no nível várias vezes e veja se alguma delas resulta na conclusão.

Veja o vídeo do Inifinite Mario AI e artigos de suporte sobre essa técnica possível. Você pode perceber no vídeo que a IA é significativamente melhor do que um ser humano deveria ser. Você pode desacreditar artificialmente qualquer IA desse tipo para garantir que ela represente um nível razoável de habilidade do jogador.

Sean Middleditch
fonte