Essayez 37 parties telles que des batailles, des champs et des événements avec lecture automatique jusqu'à la fin de Persona 3 Reload et détectez les bugs. Réduisez les coûts de travail qui prendraient 300 jours s’ils étaient effectués manuellement [CEDEC2024]

La plus grande conférence du Japon pour les développeurs de divertissement informatique s'est tenue du mercredi 21 août au vendredi 23 août 2024.« CEDEC2024 (Conférence des développeurs de divertissement informatique 2024) ». Nous aimerions vous parler du contenu de la session du troisième jour, "Mise en œuvre et fonctionnement du jeu automatique dans Persona 3 Reload".

L'orateur de cette session était M. Takahiro Niwatari, programmeur en chef d'Atlas Consumer Software Division 2nd Production (Persona Team).


"rechargement de Persona 3"(ci-dessous,"P3R''), un système qui vous permet de faire fonctionner automatiquement le jeu du début à la fin et de vérifier les défauts, ainsi que les effets et les réalisations de son utilisation.


La lecture automatique est également équipée d'un mécanisme pour collecter les journaux d'action, ainsi que d'une fonction de « serveur d'actions recommandées » qui utilise ces journaux pour faire avancer efficacement le jeu et demander des actions via le réseau pour élargir la plage de contrôle. À la fin de la présentation, il a été mentionné que la mise en œuvre et l'exploitation de ce système avaient entraîné une réduction significative des heures de travail consacrées au travail d'assurance qualité et une meilleure stabilité.

Qu'est-ce que la lecture automatique ?

Le jeu automatique vous permet de jouer au jeu et de vérifier les problèmes en laissant l'IA prendre le contrôle sans aucune intervention humaine.

Les jeux modernes nécessitent d’énormes quantités de données, c’est pourquoi le nombre d’éléments à vérifier a considérablement augmenté. Puisqu'il n'est pas possible de répondre directement en vérifiant directement auprès des personnes, dans la même série,personnage 5 le royal"(ci-dessous,

{P5R}) a été introduit. Lors de la mise en œuvre du jeu automatique, M. Nowatari garde les trois points suivants à l'esprit.

  • Ne laissez pas la lecture automatique interférer avec la création du jeu principal.
  • Pouvoir effectuer diverses vérifications de la manière la plus générique possible.
  • Créez un format aussi peu affecté que possible par les modifications des données ou des spécifications.

À propos des détails de mise en œuvre

Ensuite, M. Niwata a déclaré :『P3R』J'ai expliqué les quatre éléments suivants concernant la lecture automatique implémentée dans .

  • Implémentation de la base du corps de lecture automatique
  • Extension des opérations avec les commandes de lecture automatique
  • Collecte de journaux pendant la lecture automatique
  • Tests automatisés à l'aide de la lecture automatique

Implémentation de la base du corps de lecture automatique

Parlons d’abord de la conception de l’implémentation du jeu automatique. Fondamentalement, il a été créé d'une manière qui ne dépend pas des applications, afin qu'il puisse être utilisé dans d'autres titres et dans le prochain ouvrage et au-delà, plutôt que d'en faire une spécification qui ne peut être utilisée qu'avec ce titre.

De plus, afin d'augmenter la fiabilité du jeu automatique lui-même, il a également mentionné son engagement unique, comme la saisie pour faire progresser le jeu "uniquement à partir de la saisie du pad".

Il semble que le traitement détaillé ait été divisé en parties et mis en œuvre individuellement.

『P3R』Dans le cas de , il sera implémenté en 37 parties telles que bataille, champ, événement, etc. Chaque partie a une priorité, et si plusieurs parties se chevauchent, la partie ayant la priorité la plus élevée sera exécutée. Cette fois, les détails de la partie campagne et de la partie combat ont été discutés.

Implémentation de la partie terrain


Afin que le personnage se déplace automatiquement, il existe un moyen de préparer un chemin de mouvement à l'avance et de faire en sorte que le personnage se déplace selon ce chemin, mais cet ouvrage explore une méthode différente. "Access event hit" est défini comme une opération permettant de rechercher une destination et de s'y diriger tout en évitant les collisions (collisions entre modèles 3D).

Un événement est un lieu où une action se produit, comme un PNJ ou une porte. Il est désormais possible de rechercher automatiquement des destinations (occurrences d'événements) à portée de main en se déplaçant en ligne droite et en se dirigeant vers elles.

Un autre point est que l'introduction de « cartes thermiques » a également joué un rôle important dans l'amélioration de la précision du jeu automatique. Une carte thermique est un système qui enregistre l'historique des mouvements d'un joueur et montre en détail les endroits que le joueur a parcourus le plus récemment, les endroits où il s'est rendu il y a quelque temps et les endroits où il n'a pas encore marché grâce à un code couleur. .

Si vous ne trouvez pas un événement réussi, utilisez la carte thermique pour trouver les « endroits que vous n'avez pas encore parcourus » et déplacez votre personnage vers eux. En les combinant, il est désormais possible de vérifier minutieusement les événements se déroulant dans la zone et les conversations avec les PNJ.

De plus, en combinaison avec le mouvement de trajectoire à l'aide du système de navigation, le jeu automatique sur le terrain a été complété.

Mise en œuvre de la partie bataille

Même avec des opérations aléatoires, vous pouvez avancer sans terminer la partie en augmentant le niveau ou en diminuant la difficulté. Cependant, cela limiterait les schémas comportementaux, alors préparez à l’avance plusieurs variations de mouvements (instructions d’action). Ils ont également défini des priorités pour chaque action, telles que « utiliser les compétences et les objets de récupération lorsque les PV sont faibles » et ont mis en œuvre le jeu automatique selon différents modèles.

Au cours de cette session, des « actions qui exploitent les faiblesses de l'ennemi » ont été sélectionnées parmi les nombreuses instructions d'action et présentées avec des vidéos.

Extension des opérations avec les commandes de lecture automatique

『P3R』Le jeu automatique du jeu correspondait essentiellement à chaque partie utilisant des opérations aléatoires, mais cela seul ne permettait pas d'opérations complexes et ne couvrait pas « les actions spéciales qui ne peuvent être effectuées qu'en visant ». Afin de reproduire de telles actions spéciales, le réglage des commandes à l'avance et l'extension des opérations peuvent être considérés comme un point important dans ce jeu automatique.

Il semble que les commandes soient désormais implémentées dans des unités d'action, telles que « ouvrir un menu » et « sélectionner un élément spécifique », plutôt que dans des unités de saisie telles que « appuyer sur un bouton de décision ». Tout d’abord, ils ont été intégrés dans un CommandManager qui gérait l’exécution des commandes, et chaque partie était exécutée à l’aide d’un CommandWorker appartenant à chaque partie.

Quel est le serveur d'action recommandé ?

M. Niwata{P5R}Depuis que j'étais en charge du jeu automatique, j'avais prévu un "serveur d'action recommandé". Il s'agit d'un système dans lequel le serveur lui-même réfléchit aux actions recommandées pour jouer au jeu en douceur à partir de l'énorme quantité de journaux obtenus lors du jeu automatique, et émet des instructions pour le jeu automatique sous forme de commandes.

Dans la vidéo de référence,P3R" a été pris comme exemple, et des instructions telles que donner la priorité à la survenue d'" événements communautaires " et aux actions qui élèvent les " paramètres humains " parmi les nombreux modèles de comportement ont été confirmées.

Tests automatisés à l'aide de la lecture automatique

Le jeu automatique lui-même sert à progresser vers la fin du jeu principal. En combinant ces opérations de commande, il est désormais possible d'utiliser la lecture automatique pour effectuer diverses tâches de confirmation qui étaient auparavant effectuées manuellement. Dans cette session, nous présenterons cela sous le nom de « tests automatisés ».

C’était particulièrement utile pour les tâches qui nécessitaient de collecter des données en répétant la même situation encore et encore. Cette fois, un « test de confirmation pour voir si toutes les cartes peuvent être tirées » a été introduit comme exemple de mise en œuvre d'un test automatisé.

Reporting des résultats opérationnels

『P3R』Il semble que deux programmeurs étaient chargés d'implémenter le jeu automatique et les tests automatiques dans , et le travail a nécessité environ 300 jours de travail manuel.

Nous l'avons implémenté très tôt et avons ajusté les spécifications, etc. en fonction du développement du jeu principal. Au début, le système fonctionnait sur trois machines de développement, mais au moment où la période d'assurance qualité était en cours pour vérifier les bogues et autres problèmes, 25 machines étaient utilisées. En continuant à faire fonctionner le système jour et nuit, nous avons finalement réussi à détecter 412 problèmes. Parmi ceux-ci, 168 étaient des bogues de rang S/A.

Selon M. Niwatari, « tout n'est pas dû au jeu automatique ».{P5R}Au cours du développement, 693 bogues de rang S/A ont été trouvés pendant la période d'assurance qualité. Cette fois, il semble que le nombre de parties ait été maintenu à ce niveau, en partie parce que le jeu automatique a été mis en place dès le début.

Ensuite, les résultats de la réduction des coûts d'assurance qualité grâce à la mise en œuvre de tests automatisés ont également été divulgués, y compris le nombre de jours économisés pour chaque élément de contrôle.

A la fin de la séance, sous le titre « Défis futurs », ont également été évoqués les éléments qui n'ont pas pu être réalisés cette fois-ci.

Les quatre aspects retenus étaient « l'utilisation de l'enregistrement et de la lecture des commandes », « les variantes des serveurs d'actions recommandés », « l'utilisation des journaux collectés » et la « détection des bugs de rang B/C ». La session s'est terminée par le toucher des participants. sur les axes d'amélioration.