Regardez un ordinateur essayer de s’attaquer à Spelunky 2
Vous savez peut-être déjà que Spelunky 2 est l’un des meilleurs jeux de l’année. Vous savez peut-être aussi que c’est très, très difficile. Un faux pas ou un coup de fouet mal placé peut facilement vous renvoyer au tout début. Une partie de ce qui rend les jeux Spelunky si difficiles est leur caractère aléatoire: les niveaux sont générés à la volée avec des règles prédéfinies, mais les dispositions générales peuvent varier considérablement. Tester à la main tous les niveaux possibles prendrait des siècles. C’est pourquoi les développeurs ont créé une IA pour gérer le gros du travail.
Bien que les niveaux de Spelunky 2 puissent sembler totalement aléatoires, il y a une logique dans la façon dont ils sont conçus. L’une des règles clés est que vous devriez être capable de traverser à peu près tous les niveaux du jeu sans avoir à utiliser une bombe ou une corde. Le chemin à suivre n’est peut-être pas toujours sûr, peut-être jonché de taupes et de lézards roulants, mais ce n’est pas un chemin que vous auriez techniquement besoin de parcourir. C’est le générateur de niveau de Spelunky 2 qui fonctionne comme prévu.
Pour Spelunky 2, le concepteur du jeu, Derek Yu, a fait appel à Blitworks en tant que co-développeur. Blitworks est connu comme l’une des principales maisons de portage dans l’industrie du jeu (l’impressionnant port Switch de Divinity: Original Sin 2 était l’œuvre de Blitworks, par exemple), mais Spelunky 2 est la première fois que le studio travaille en tant que co-développeur . Son expérience en tant que maison de portage signifie que les tests sont un objectif majeur, et le studio a intégré cette mentalité directement dans le développement de Spelunky 2 et de son générateur de niveau complexe.
Javier Moya Nájera, le programmeur de gameplay et d’intelligence artificielle sur Spelunky 2, s’est entretenu avec JeuxServer par e-mail sur la manière dont l’équipe a mis au point l’IA qui garantirait que tous les niveaux du jeu soient satisfaisants.
«Je pense que tout a commencé avec [lead programmer] Micky [Pascual’s] système de test », a déclaré Moya Nájera. Le système de test «créait des niveaux encore et encore, avec la vitesse de trame déchaînée, juste pour essayer de détecter tout problème potentiel de génération de niveau.»
Si vous regardiez le système de test faire son travail (voir ci-dessus), tout ce que vous verriez, ce sont des niveaux de Spelunky 2 qui scintillent sur l’écran à une vitesse fulgurante pendant que le système vérifie les erreurs. C’est une solution intéressante pour le problème du test de la génération de niveaux infinis, mais cela ne recrée pas exactement l’expérience de quelqu’un qui joue à ces niveaux.
C’est là que l’IA entre en jeu. Blitworks a programmé une IA pour aider à contrôler les mains embauchées de Spelunky 2 – des aides chaotiques que vous pouvez sauver dans votre quête, généralement au détriment de ladite quête. Ces Hired Hands ne sont pas censés être des génies, mais ils doivent comprendre comment franchir un niveau sans être transportés.
Donc Moya Nájera et l’équipe se sont demandées: «Et si nous ajoutions l’IA au [character in the level tester], juste pour faire bouger un peu plus le niveau et créer des interactions? Et, après quelques changements, nous avons eu un test de niveau primitif où l’IA essayait juste d’atteindre la porte de sortie sans prendre en compte autre chose.
Malheureusement – et de manière prévisible – l’IA n’était pas exactement un génie du jeu au début.
“Je me souviens que [the AI character] essayait de traverser tous les monstres et les pièges avec insouciance, alors il se faisait tuer la plupart du temps sans atteindre la sortie. Au fur et à mesure que l’IA était en cours de développement (ajout d’IA de combat, recherche de trajectoire plus complexe, gestion des pièges …), les tests de niveau s’amélioraient de plus en plus, et finalement elle a pu attaquer des monstres, faire des sauts très complexes et atteindre la porte de sortie. . »
Il vaut la peine de considérer à quel point il est difficile de programmer une IA qui doit prendre en compte toutes les différentes variables que Spelunky 2 a à offrir.
“Le jeu a beaucoup d’objets, de bonus, de monstres, etc. à gérer”, a déclaré Moya Nájera, “et chacun a son propre comportement et ses particularités, et l’IA doit les connaître tous pour décider comment procéder. Ce n’est pas la même chose [fight] une chauve-souris volante, qui peut être piétinée ou fouettée, [versus] un yéti, qui ne peut pas être fouetté mais [can be] coup, par exemple. »
Compte tenu de tout cela, l’IA de Spelunky 2 a parcouru un long chemin, mais elle fait encore beaucoup d’erreurs stupides … cependant, n’est-ce pas tous? Bien que ce ne soit pas tout à fait au niveau d’un joueur réel, Moya Nájera a déclaré que c’était toujours étonnamment amusant de regarder l’ordinateur essayer de battre le match.
«C’est complètement hypnotique!» dit Nájera. “Je me suis souvent découvert en regardant l’écran pour voir si l’IA pouvait atteindre la sortie, et en regardant des mouvements incroyables et des situations impossibles de l’IA tuant beaucoup de monstres qui l’entouraient facilement.” Il le décrit comme «presque comme regarder un flux».
Malheureusement, il n’y a aucun moyen de regarder l’IA faire son travail toute seule dans le jeu, mais si jamais vous voulez un aperçu, essayez de suivre l’une des mains engagées et voyez si elle est capable de réussir des mouvements lisses. N’oubliez pas qu’il a probablement joué beaucoup plus de niveaux de Spelunky 2 que vous n’en avez.