Ubisoft utilise l’IA pour identifier les bugs avant les développeurs!

Ubisoft utilise l'IA pour identifier les bugs avant les développeurs

Ubisoft a présenté un nouvel outil lors de la conférence Ubisoft des développeurs (UDC) à Montreal. Un nouvel assistant qui grâce à l’IA, l’intelligence artificiel, peut identifier les bugs lors du « commit », la phase pendant laquelle un développeur publie son code à l’ensemble de l’équipe.

En fait, l’assistant ne s’arrête pas là, il propose aussi les corrections de code. L’IA se sert du code des développements passés pour apprendre à mieux identifier les bugs. En d’autre termes, cet outil ne cessera d’apprendre et de se perfectionner. A l’heure actuelle, les développements de jeux impliquent de nombreux développeurs, et donc un processus complexe. L’objectif est de gagner du temps et d’améliorer la qualité des produits.

Ubisoft – un assistant IA issu d’une collaboration

«Je pense que comme beaucoup de bonnes idées, on se demande : comment se fait-il que nous n’y avions pas penser avant? », Explique Yves Jacquier, qui dirige La Forge, la division R&D d’Ubisoft à Montréal. Son département travaille en partenariat avec des universités locales, dont McGill et Concordia. Afin de collaborer sur des recherches visant à faire progresser le domaine de l’intelligence artificielle dans son ensemble, et pas seulement dans l’industrie des jeux vidéo.

La Forge a fourni au « Commit Assistant » une dizaine d’années de code à travers la bibliothèque de logiciels d’Ubisoft. Permettant ainsi d’apprendre où les erreurs ont été historiquement faites, de référencer les corrections appliquées et de prédire quand un codeur pourrait écrire un bug similaire. «Il s’agit de comparer les lignes de code que nous avons créées dans le passé, les bugs qui y ont été créés et les bogues qui ont été corrigés. Et de trouver un moyen de créer des liens entre eux pour fournir une super-IA pour les programmeurs », explique Jacquier.

Ubisoft espère que le « Commit Assistant » réduira l’un des aspects les plus chers et les plus laborieux de la conception de jeux. La société affirme que l’élimination des bugs au cours de la phase de développement nécessite des équipes importantes et peut absorber jusqu’à 70% des coûts de développement.

Le début de l’IA dans le processus de développement

Mais décharger le processus d’élimination de bugs à l’intelligence artificielle, même partiellement, n’est pas sans problèmes. « Vous avez besoin d’une énorme quantité de données, mais aussi d’une énorme quantité de puissance pour traiter les données et toutes les méthodes mathématiques », dit-il. « Cela permet à l’IA de faire cette prédiction avec suffisamment de précision pour que le développeur fasse confiance à la recommandation. »

Ubisoft - intelligence artificielle - Yves Jacquier - directeur R&D de la forgeIl est encore trop tôt pour évaluer les bénéfices de cet assistant, le recul n’est pas suffisant pour savoir comment cela affecte la création de jeux. Il y a aussi le facteur humain à prendre en compte: les développeurs voudront-ils que l’intelligence artificielle analyse leur code et dise effectivement « vous vous trompez »?

« La partie la plus importante, en termes de gestion du changement, est juste de s’assurer que vous prenez les gens à bord pour leur montrer que vous êtes totalement transparent avec ce que vous faites avec l’IA – ce qu’il peut faire, la façon dont vous obtenez les données », explique Jacquier. « Le fait que lorsque vous montrez à un programmeur des statistiques qui disent ‘hé, apparemment vous avez fait une erreur!’, Vous voulez qu’il se rende compte que c’est un outil pour l’aider et aller plus vite. Si vous ne voulez pas utiliser cela, ne l’utilisez pas, c’est juste un autre outil. « 

Ubisoft utilisera l’IA dans d’autres domaines

Ubisoft travaille sur d’autres applications IA au-delà du « Commit Assistant », même si Yves Jacquier souligne qu’il est seulement utile actuellement pour traiter des tâches individuelles très spécifiques. « Jusqu’à présent, l’IA est très bonne pour prendre des décisions sur des sujets très précis, comme Alpha Go », dit-il. (AlphaGo est le système d’AI de DeepMind qui a battu Ke Jie, le meilleur joueur de Go, lors du jeu de plateau notoirement complexe en mai 2017.)

AlphaGo - l'IA contre Ke Jie - jeu de go

« Nous verrons dans le futur de plus en plus d’exemples où cela fonctionne. Mais en réalité, [quelque chose comme] une voiture autonome, nous ne pourrons pas le voir dans nos rues avant 20 ans. », dit-il. «Simplement parce que toutes ces voitures autonomes devraient éviter d’autres véhicules automatisés, les piétons, les voitures de la vieille école conduites par de vrais humains, et les facteurs imprévisibles comme la faune se promenant sur les routes.

Améliorer l’IA dans les jeux pour résoudre des problèmes du monde réel

Mais améliorer l’IA dans les jeux pourrait aider à résoudre certains des problèmes du monde réel. Olivier Delalleau, programmeur d’IA chez Ubisoft, a parlé à UDC de la conduite autonome dans Watch Dogs 2. Utilisant un exemple de voiture non-pilotée par un joueur circulant dans un San Francisco virtuel. Delalleau a montré comment, au début, il était difficile pour l’IA d’apprendre à bien négocier les virages.

« [Nous avons observé] des voitures qui n’ont jamais freiné, parce qu’elles ne considéraient pas que c’était une bonne solution », explique Delalleau. En conséquence, l’IA n’a pas appris à freiner. «C’est assez difficile [pour une IA] d’apprendre à freiner, parce qu’il ne considère pas que ce soit la meilleur solution la plupart du temps. Vous devez l’aider à comprendre que c’est une bonne solution.

Ubisoft- Watch Dogs 2 - l'IA comme pilote de voiture

Delalleau a utilisé l’apprentissage par renforcement, une forme d’apprentissage automatique, pour aider l’IA à apprendre cette compétence. Ubisoft a fourni des milliers d’exemples de freinage. Et le système a appris qu’il pouvait atteindre ses objectifs plus efficacement en suivant des règles de pilotage. Le résultat a été que les voitures d’IA ont commencé à prendre les virages plus lentement. Cela a rendu la représentation de San Francisco plus réaliste et réduit les accidents aléatoires.

« En termes d’éthique, je pense que l’industrie des jeux peut réellement aider », dit Yves Jacquier. « Quand vous vous demandez comment une voiture autonome se comportera dans une situation impliquant des piétons ou d’autres voitures. C’est comme le problème du Trolley, quelque chose que vous ne pouvez pas tester dans la vie réelle, que ce soit pour des raisons morales ou économiques. Mais peut-être que vous pouvez avoir des réponses en simulant cela dans un environnement de jeu vidéo. Et voir comment votre IA se comporte. « 

Les applications de l’IA dans les jeux

Enfin l’IA peut avoir de nombreux domaines d’application dans les jeux vidéo. Par exemple, les personnages non-joueurs (NPC) qui le plus souvent gérés par une fausse IA, c’est à dire que le comportement des NPC est souvent limité.

Dans le prochain Far Cry 5, Ubisoft a implémenté une version virtualisée de la hiérarchie des besoins de Maslow, la théorie psychologique des facteurs de motivation pour le comportement humain. Cela donne aux agents dans le jeu des motivations pour leurs actions, modelé sur les strates d’auto-préservation de la pyramide de Maslow.

Quand un joueur rencontre un personnage non-joueur dans Far Cry 5, deux facteurs interviennent : la confiance et le moral. Si vous sortez votre arme face à quelqu’un que vous n’avez jamais rencontré auparavant, il réagira avec méfiance ou crainte. Vous demandant de baisser votre arme. Si le PNJ reconnaît une menace persistante de votre part, il lancera une attaque de son propre chef, craignant pour sa propre «vie».

Far Cry 5 - l'intelligence artificielle pour gérer les NPC

Aussi, lorsque vous affrontez un groupe d’ennemis, les ennemis peuvent se rendre compte qu’ils sont dépassés, perdant ainsi leur confiance. Par ailleurs, des animaux auront un comportement différent en fonction de l’activité du joueur. C’est le genre de travail qui ajoute de la profondeur et au réalisme au monde.

L’avenir de l’IA dans les jeux

Pour finir, l’intelligence artificielle est de plus en plus présente dans différent domaine. Plus facile à utiliser, plus accessible. C’est pourquoi, dans les prochaines années, nous devrions la voir apparaître dans plusieurs aspects des jeux vidéo

Des domaines comme la gestion des NPC sont une cible idéale. Afin de procurer des mondes virtuels plus vivants, moins automatisés, moins prévisibles. Et les applications vont au delà d’un simple comportement. Nous pourrons peut être donner une vie virtuelle au personnage. Entendre des NPC nous parlaient grâce l’IA. Parler aux NPC comme nous parlons à nos smartphones ou notre Google Home.

Intelligence artificielle

Mais tout ceci a un coût, une complexité de développement qui ne cesse de grandir. Créant un fossé toujours plus important entre les petits et les grands studios de développement. Ubisoft a bien compris l’intérêt de l’IA, comme de nombreuses sociétés de développement au delà du jeux vidéo. Et avec cet assistant intelligent, il pourront réduire leur temps de développement. Afin de proposer des mises à jour plus régulières et plus sûres.

A lire aussi :
L’irrépressible croissance du jeu sur mobile
Far Cry 5 : Ubisoft sort un court métrage sur Amazon Prime – Trailer

6 Commentaires

  1. Bonjour Emmanuel,
    Malheureusement pour Ubisoft, il ne s’agit pas de 70% de ROI. Tu parles bien de la phrase suivante ?
    « La société affirme que l’élimination des bugs au cours de la phase de développement nécessite des équipes importantes et peut absorber jusqu’à 70% des coûts de développement. »
    Sur certains projets, Ubisoft passe plus de 70% du temps de développement sur la correction des bugs. Ceci sans l’utilisation de l’IA.

    Je crois qu’il est encore un peu tôt pour évaluer l’efficacité/rentabilité d’une telle solution. Vu ta question, tu utilises l’IA dans ton travail pour identifier les bugs? ou tu y penses?

    Alban

Laisser un commentaire