Comment s'assurer qu'un jeu peut être terminé

10

Je ne sais pas quel est le terme correct pour ce que je recherche est décrit, donc veuillez m'excuser s'il s'agit d'une question en double. Mais existe-t-il un terme / algorithme pour s'assurer qu'un jeu est "completable" par rapport à un scroller infini. Ce que je veux dire par complétable est que, si j'avais un jeu, où un utilisateur doit continuer à sauter des blocs pendant que l'écran essaie de les rattraper, comment pourrais-je m'assurer qu'il y a toujours un nouveau bloc accessible dans lequel l'utilisateur pourrait sauter à la théorie?

Je sais en théorie que je vérifierais à quelle hauteur l'utilisateur peut sauter et m'assurer qu'il y a un bloc à cette portée, mais y a-t-il autre chose? c'est-à-dire éviter les vérifications coûteuses lors du placement de nouveaux blocs pour s'assurer qu'ils ne se chevauchent pas, etc.?

Je regarde spécifiquement html5 / js mais je me demandais s'il y avait un terme pour cela ou un type d'algo spécifique que je pourrais étudier?

Merci

TommyBs
la source
2
Vous l'avez à peu près décrit. Sachez jusqu'où votre utilisateur peut sauter et ne placez pas un bloc plus loin que cela. C'est vraiment un calcul cinématique simple et ne sera pas un goulot d'étranglement pour votre jeu par rapport à l'animation.
mobo
2
Vous aimerez peut-être lire gamasutra.com/view/feature/170049/…
Kelly Thomas
3
S'inquiéter des chèques coûteux peut être un peu prématuré lors de l'élaboration de problèmes de jouabilité. Vous pouvez presque toujours optimiser quelque chose qui devient un problème de vitesse plus tard, mais vous ne pouvez jamais expédier un jeu parce qu'il est injouable parce que vous pensiez qu'une méthode serait trop lente et que vous ne l'avez donc jamais essayée =)
Patrick Hughes
1
Merci pour tous les commentaires, appréciez vraiment. L'article gamasutra est très utile @KellyThomas
TommyBs

Réponses:

6

Une approche intéressante que j'ai vue consiste à créer un bot / IA qui comprend comment jouer au jeu. Il n'a même pas besoin d'être bon dans ce domaine. Assurez-vous simplement que pour tout point particulier un saut semble nécessaire / possible que l'IA en teste spéculativement un bon nombre (en simulant le saut) jusqu'à ce qu'il en trouve un qu'il peut faire. Exécutez l'IA au niveau un certain nombre de fois et voyez si l'un d'eux aboutit.

Voir la vidéo d' Inifinite Mario AI et les articles à l'appui sur cette technique possible. Vous remarquerez peut-être dans la vidéo que l'IA est nettement meilleure qu'un humain devrait l'être. Vous voudrez peut-être réduire artificiellement une telle IA pour vous assurer qu'elle représente un niveau de compétence raisonnable pour les joueurs.

Sean Middleditch
la source