Cet article a été écrit à l’origine en italien par Paolo Gambardella. Il a été traduit par un agent d’intelligence artificielle et peut contenir des inexactitudes.
Je me souviens de mon premier boulot dans le jeu vidéo : une petite boîte du sud de l’Italie qui distribuait des bornes arcade et des VLT. L’entreprise avait lancé le projet d’une machine basée sur Linux, à expédier une seule fois chez les clients ; les jeux étaient ensuite chargés via un disque externe et une smartcard de déchiffrement.
Mon rôle était d’aider à concevoir et développer ces jeux avec un moteur propriétaire. En pratique, je passais la majeure partie de mon temps à coder en Lua. Je n’avais pas encore fini mes études et je faisais énormément d’erreurs. Plus d’une fois, j’ai mis des instructions bloquantes dans une boucle, avec pour résultat que le jeu plantait. J’utilisais des variables globales là où il n’en fallait pas, et une modification faite à un endroit cassait quelque chose à l’autre bout du code. Comme je l’ai dit, l’entreprise était très petite et mon chef s’en apercevait souvent trop tard, quand le problème était déjà devenu une urgence. Ce qui menait inévitablement à des moments tendus et nerveux.
C’était un travail difficile pour quelqu’un sans expérience et sans encadrement régulier. Aujourd’hui je sais que le problème ne venait pas que de moi : dans une équipe aussi réduite, personne n’avait le temps de relire mon code. La revue de code était un rôle qui n’existait tout simplement pas. Et ainsi, ligne après ligne, j’accumulais de la dette technique sans même m’en rendre compte.
Un junior dans ma situation aujourd’hui aurait à ses côtés un assistant IA qui, avant même que le code arrive au chef, lui signale que cet appel va bloquer la boucle ou que cette variable globale va lui exploser à la figure dans deux semaines. En pratique, la relecture qui me manquait. Quand je pense que dans un futur proche les nouveaux juniors ne courront plus ces risques, j’éprouve franchement un sentiment de soulagement.
Au fond, le rôle d’un développeur ou d’un designer junior a toujours été le même : apprendre à une machine à devenir un jeu. Le langage, la syntaxe et les astuces pour éviter que tout s’effondre ne sont que le moyen. Si un outil prend en charge ce moyen et limite les catastrophes, le junior a plus de place pour ce qui compte vraiment : comprendre si le jeu fonctionne et s’il est fun.
C’est pourquoi, quand je lis qu’Epic Games veut développer son shooter avec des personnages Marvel et Star Wars avec une approche “AI-first”, avec du code et des assets générés par l’IA et des humains pour diriger et superviser, et quand Tim Sweeney parle d’un grand tournant pour toute l’entreprise, je regarde tout ça avec un peu de scepticisme. Et pourtant je sens que l’intention de fond — mis à part, évidemment, celle de réduire les coûts — est positive et peut améliorer les choses.
Si j’étais junior aujourd’hui, j’utiliserais le temps que l’IA me restitue pour deux choses. La première, c’est le réseau : rencontrer d’autres développeurs, aller aux événements, se faire connaître. La deuxième, c’est comprendre vraiment ce que veulent les joueurs. Jouer beaucoup, mais avec un œil critique : prendre un jeu à succès et se demander pourquoi ça marche, quel besoin ça satisfait, à quel moment ça donne envie de relancer une partie et à quel moment ça donne envie de fermer. Celui qui joue à une borne arcade veut se sentir bon en quelques secondes ; celui qui joue à un jeu de gestion veut se sentir aux commandes. Ce sont des questions qu’aucune IA ne peut se poser à ta place, et c’est là qu’un junior peut vraiment faire la différence.