article

L'entrevue fleuve avec Dr JVtek

Le 7 août 2024, j’étais l’invité de Dr JVtek, pour la huitième de ses émissions Histoire de Vie — la série où il s’assoit avec quelqu’un qui fait des jeux vidéo et prend le temps de parcourir toute une carrière, dans l’ordre, sans se presser. Nous avons parlé quatre heures et quarante-huit minutes. Ni l’un ni l’autre n’avons vu le temps passer.

Arnaud Storq — Histoire de Vie 8, par Dr JVtek
L'émission en entier, 7 août 2024 — la voir sur YouTube

Cela va d’un CPC 6128 arrivé chez mon frère à Noël 1988 jusqu’aux serveurs que je surveille encore aujourd’hui. Entre les deux : un assembleur envoyé par la poste à un garçon de quatorze ans par un inconnu trouvé dans les petites annonces d’Amstrad 100%, des fins de semaine de code avec un mentor venu de la scène Amiga, une candidature avec un CD dans l’enveloppe — et un virus sur le CD — des jeux mobiles chez In-Fusio quand un téléphone tournait à 16 MHz, le départ pour le Québec en 2003, Far Cry Instincts à faire tenir d’un gigaoctet et demi dans les soixante-quatre mégaoctets de la Xbox, Deus Ex : Human Revolution et un plateau silencieux de mille personnes à Tokyo, LEGO Legends of Chima Online et l’apprentissage des services web en partant de zéro, Stingray et un point d’arrêt qui donne la nausée dans un casque, une année chez Unity, et Gotham Knights du premier jour au dernier.

Et puis l’autre moitié de l’histoire, celle qui se joue le soir : phX, deuxième à la Revision 2018 après cinq ans de travail, et Sonic GX, toujours en chantier sur une console que tout le monde avait enterrée.

Ce qui suit est la conversation entière, mise en forme pour la lecture : les hésitations, les chevauchements et les interruptions techniques d’un direct retirés, les noms et les termes rétablis, rien du fond enlevé. Les chapitres suivent l’ordre de l’enregistrement, et chacun renvoie à la minute où il commence.

L’entrevue, chapitre par chapitre

Quatre heures quarante-huit, dans l'ordre où elles ont été dites. Choisissez un chapitre pour le lire.

Choisissez un chapitre ci-dessus pour le lire.

1Rencontre avec l'invité

À partir de 00:05 — voir ce moment sur YouTube

Dr JVtek ouvre l'émission avec les annonces du soir — les conventions où il est invité, les nouvelles de la chaîne — puis en vient à l'invité qu'une bonne partie du public avait déjà deviné.

Dr JVtek — Notre invité de ce soir, c'est quelqu'un qui a travaillé sur beaucoup de jeux, mais aussi, côté rétro, sur la GX4000, sur un Sonic, sur des démos. Et une petite info en passant : il est français, mais il vit au Québec, et vous allez l'entendre à sa voix. Il s'est transformé en Québécois. C'est Arnaud Storq.

NoRecess — Bonjour Arnaud. Et désolé pour mon accent — on va faire avec ça, on va aller de l'avant, vous allez être capables.

Dr JVtek — Il m'a dit que j'avais de l'accent, comme si j'étais du Sud, et après il s'est avéré qu'il était né à Toulon. Franchement, il abuse. Ça fait combien de temps que tu es au Canada ?

NoRecess — Je suis sorti en 2003, donc à un certain moment on ne compte plus vraiment les années. Vingt et un ans. J'ai presque passé la moitié de ma vie au Québec. Le temps passe tellement vite.

Dr JVtek — Il y en a un qui a déjà repéré les consoles derrière toi. Et je n'avais pas vu, mais tu as l'affiche d'Another World — moi j'ai la litho, deux même, vu que j'ai travaillé chez Delphine.

NoRecess — Quand je suis arrivé dans ma nouvelle maison, j'ai voulu faire une petite décoration sympa. Donc c'est ça que tu vois, et il y a un album de Jean-Michel Jarre que j'aime beaucoup.

2Un CPC au pied du sapin

À partir de 00:11 — voir ce moment sur YouTube

NoRecess — Je suis Arnaud, né en 79, et l'informatique pour moi c'est quasiment depuis toujours. Enfant, j'adorais voir ça dans les films. Mais ce n'est pas le parcours que j'ai pu entendre chez certaines personnes ici — ce n'est pas le plan Informatique pour tous, j'étais trop jeune pour ça. Où j'ai eu le virus, c'est mon frère, qui a reçu son premier Amstrad CPC à Noël 1988. Au début la machine était dans sa chambre. Moi je voulais tellement l'utiliser que l'Amstrad a fini dans le couloir, partagé entre nous deux, et avec le temps il est passé dans ma chambre et il y est resté.

NoRecess — Cette machine-là, pour moi, ça a été tout. Et ce qui a tout déclenché, c'est la notice. Imagine-toi qu'à l'époque tu pouvais vraiment t'acheter un ordinateur et ça venait avec un livre qui te disait comment le programmer. Ça n'existe plus, ça. Ça t'apprenait le BASIC, et j'ai immédiatement accroché. C'était magique.

Dr JVtek — Tu étais où à l'époque ? Je pose la question parce que moi j'étais à la campagne, tout seul. On arrivait quand même à échanger des disquettes, mais du coup je n'ai pas pu participer à la demoscene ou à quoi que ce soit.

NoRecess — Campagne, on va dire. Isolé, pas mal. Ce qui fait que quand tu avais une disquette, quand tu avais un contact qui te passait une disquette, tu la mangeais dans tous les sens. Tu essayais de voir vraiment tous les fichiers. Il n'y avait pas Internet.

NoRecess — Et les magazines faisaient un super travail à cette époque-là. C'est ça qui donnait finalement la vie à une machine. Tout mon argent de poche passait dans l'achat de ces magazines, et un en particulier : Amstrad 100%, que certaines personnes ici doivent connaître. Il y avait toujours là-dedans des listings en assembleur. Je n'y comprenais rien au début, puis j'ai commencé à comprendre un petit peu.

NoRecess — Et à un moment, dans ce fameux Amstrad 100%, il y a eu l'adresse d'une personne qui s'offrait d'échanger des démos — par disquette, toujours. On était en 94, j'avais quatorze ans. Et cette personne-là m'a fourni un assembleur avec la notice d'utilisation. Ça y est, j'étais parti. Donc en gros, de quatorze à seize ans, j'ai fait des programmes. Ça n'allait vraiment pas bien loin, je te le dis.

Dr JVtek — Je ne serais pas étonné qu'à un moment donné quelqu'un d'Amstrad 100% passe voir le live.

NoRecess — Je serais enchanté. Il y a autre chose sur le fait d'être un enfant à la campagne : il n'y avait pas vraiment tant de moyens que ça dans la famille. Quand tout le monde avait eu la Super Nintendo à Noël, avec Street Fighter puis F-Zero, et qu'ils s'éclataient, moi j'étais terriblement jaloux. J'avais encore mon Amstrad. Ce que je percevais à l'époque, c'était vraiment de la frustration — j'en voulais au monde entier pour ne pas avoir ma Super Nintendo moi aussi.

NoRecess — Et donc j'étais avec mon Amstrad, et je persistais avec mon Amstrad. Sans le savoir, cette période-là a été un cadeau du ciel. À quatorze, quinze ans, je regardais des programmes sur comment compresser des images, je comprenais des algorithmes, je savais un peu comment fonctionne la machine. Ce sont des choses qui m'ont servi plus tard, indirectement. C'est clair que ce n'est pas avec un Amstrad que j'ai fait ma carrière, mais ça m'avait déjà lancé mon intérêt pour la programmation.

3Un mentor, et les premières démos

À partir de 00:17 — voir ce moment sur YouTube

NoRecess — Vers quinze, seize, dix-sept ans, j'ai enfin un premier PC. Puis j'ai dix-huit ans, je suis dans mon BTS Informatique de Gestion, donc la programmation, j'avais toujours gardé ça en tête, mais c'était devenu moindre. Et tout a changé parce que pendant ces deux années-là j'ai eu la chance d'avoir une personne qui a pu être une sorte de mentor pour moi — accessoirement un ancien demomaker Amiga, qui était en train de se reconvertir au PC. Cette personne-là va se reconnaître : son pseudo, c'est XBS. Je lui dois vraiment énormément.

NoRecess — J'étais en chambre étudiante à ce moment-là, et toutes nos fins de semaine, on les passait ensemble dans une pièce à programmer. J'étais un peu le débutant qui suivait, lui il faisait des choses, et ce n'est pas grave. L'esprit de ces séances-là, c'était d'être créatif — c'était ça le truc — et d'avoir du fun. On avait quand même des intérêts communs, on écoutait le même genre de musique, on avait le même genre d'humour. Je suis très nostalgique de cette période-là. On était vraiment fauchés, et ce n'était vraiment pas un problème.

Dr JVtek — Et la contrainte aide, aussi. C'est une des choses que je dis à ceux qui sont fans du Game Pass : c'est le même phénomène que nous à l'époque, quand on récupérait toutes les disquettes pirates. Quand tu as beaucoup, en fait tu ne joues plus à rien. Quand tu n'en as qu'une, tu la finis.

NoRecess — Exactement. Et c'est pareil pour le code, et pareil pour beaucoup de choses.

NoRecess — Donc cet ami faisait des démos. Pour ceux qui ne savent pas ce qu'est une démo : en gros c'était faire des programmes multimédia, montrer des animations graphiques. On pourrait voir ça un peu comme un clip musical, où tu as des effets graphiques synchronisés sur la musique, et tout ça est fait par programmation, et ça dure deux ou trois minutes. À cette époque-là j'ai fait aussi des concours — des demo parties.

NoRecess — Il y a beaucoup de développeurs de jeux vidéo, ou de gens rattachés au jeu vidéo, qui ont commencé dans les demo parties, dans le code de démo. Sans le savoir à l'époque — et je n'étais vraiment pas intéressé, je voulais apprendre pour apprendre, parce que c'était fun et que j'avais envie de montrer aux autres ce que je savais faire — en fait j'étais en train de me construire un super CV pour entrer dans le jeu vidéo.

NoRecess — Et ça, ça va te plaire : LightWave. J'en avais fait un player de scène. Je lisais directement les fichiers LWO, les meshes, et les LWS pour les animations, pour suivre une spline et tout ça. J'ai adoré ce logiciel-là.

Dr JVtek — Il était simple parce qu'il enlevait la complexité. Tu avais les meshes d'un côté, la scène de l'autre, et la référence des meshes dans la scène. Là où ça devenait plus complexe, c'était les squelettes, mais à la limite les squelettes ce n'était pas fait pour ça. Nous on l'a utilisé en version 7 sur Motoracer 3 et World Tour — c'est fait intégralement sous LightWave, et j'avais fait tous les outils à l'intérieur. Si on avait fait un concours de productivité à l'époque entre les graphistes LightWave et les graphistes 3ds Max, je pense qu'on battait tout le monde.

NoRecess — Moi ce que je sais, c'est qu'à l'époque 3ds Max m'intimidait. J'avais compris que ça fonctionnait sous forme de plugin pour exporter du data, et très honnêtement je n'avais pas encore les connaissances techniques pour ça.

Dr JVtek — LightWave au début n'était que sur Amiga, il est arrivé sur PC bien plus tard, et je crois que ce n'est même pas la même équipe. L'équipe originale qui a fait la version Amiga a créé une nouvelle boîte avec un autre logiciel qui reprend la même logique et qui existe encore, alors que LightWave n'existe plus. Blender est un peu dans le même esprit aujourd'hui.

NoRecess — Donc vous voyez un peu mon profil : c'est un peu un profil autodidacte, mais je suivais mes études en parallèle.

Dr JVtek — Je saute sur le mot autodidacte, parce que c'est une remarque qu'on m'a faite cette semaine. Dans beaucoup de ces lives, les personnes disent qu'elles sont autodidactes. Ce qu'il faut bien comprendre, c'est qu'à l'époque on était tous autodidactes, parce qu'il n'y avait pas d'école de jeux vidéo. Ceux qui faisaient du jeu vidéo, c'étaient ceux qui avaient un minimum de capacité à faire des choses en informatique. Depuis la crise du jeu vidéo en France, parmi les actions du gouvernement il y a eu l'idée de créer l'école nationale du jeu vidéo, ce qui a créé beaucoup d'autres écoles. Du coup, aujourd'hui, les autodidactes existent moins dans le jeu vidéo, parce que les boîtes ne vont pas forcément les embaucher.

NoRecess — Je confirme à cent pour cent, mais je rajoute un point : quand vous êtes ingénieur aujourd'hui — ingénieur ou pas, je veux dire développeur, programmeur — vous devez apprendre toute votre vie. Donc c'est la même chose qu'être autodidacte toute sa vie.

NoRecess — Et encore un mot là-dessus. Ce que j'ai pu observer sur certains projets, c'est que c'est très utile dans un projet d'avoir les deux — des autodidactes et des personnes qui ont fait les grandes études. C'est souvent la combinaison des deux qui fait bien avancer les choses.

Dr JVtek — Je suis tout à fait d'accord.

NoRecess — L'autodidacte, il va foncer, il va déblayer, il va te faire ton prototypage, et tu vas avoir un résultat assez vite — pas nécessairement propre, attention, et ça c'était le Arnaud de l'an 2000. Alors que celui qui sort des grandes écoles — j'ai en tête un collègue qui travaille sur les moteurs physiques, dans les maths vraiment avancées — il n'y a pas de doute, ça lui prend ses études. Et c'est cette combinaison-là qui fait qu'un jeu avance bien, si le lead programmeur arrive à bien prendre les capacités de chacun.

4In-Fusio, et un CV avec un CD dedans

À partir de 00:27 — voir ce moment sur YouTube

NoRecess — Donc, BTS Informatique de Gestion, et on arrive en 2000. J'ai vingt ans. Est-ce que j'avais envie de poursuivre mes études ? Franchement, je ne le voyais pas comme ça — je n'avais pas de motivation à continuer. Et c'est à ce moment-là que j'ai répondu à une offre d'emploi, un peu par hasard, et c'était un peu fou : la compagnie s'appelle In-Fusio, basée à Bordeaux, et moi je suis à Toulon.

Dr JVtek — Tu avais fini le BTS ?

NoRecess — Non, je ne l'avais pas fini. Et pour information, un BTS Informatique de Gestion — je ne suis pas sûr que vous ayez beaucoup de C dans un programme de gestion.

Dr JVtek — Pas du tout, non.

NoRecess — Mais justement, c'est une très bonne chose, ce programme-là. Ils ne t'apprennent pas le jeu vidéo ; ils m'ont appris Office, par exemple. Excel — je n'avais jamais ouvert Excel de ma vie. Le scripting dans Access, qui est une sorte de BASIC. Ça m'a appris les bases de données. Visual Basic aussi. Ça m'a ouvert les yeux sur autre chose dans l'informatique, et je ne le regrette pas : les années qui ont suivi, je savais ce que c'était qu'un fichier Excel.

NoRecess — Donc, mon entrée chez In-Fusio. Peut-être que certains d'entre vous connaissent Thomas Landspurg, connu sur Amiga sous le pseudonyme de Tomsoft. C'est lui que j'ai eu en face de moi pour mon entretien d'embauche. Et j'ai une anecdote assez sympathique. Je précise que j'étais étudiant et vraiment sans le sou. Je réponds à l'annonce, ils me disent viens tel jour, et je dis : je suis super intéressé, par contre s'il vous plaît, pouvez-vous me payer le billet de train ?

Dr JVtek — J'allais exactement te poser la question.

NoRecess — J'étais tout à fait sincère. Je n'avais pas deux cents, trois cents francs devant moi. Il se renfrogne un peu, pas habitué à cette procédure, mais d'accord, on va te payer le billet. Rien que ça, je voyais qu'il y avait une vraie volonté, et pour moi c'était super. Donc je fais l'entrevue, et ça se passe très, très bien. Thomas a su voir en moi ce côté créatif, touche-à-tout, fonce dedans, et comme je parlais de mes activités de demoscene, ça rentrait pas mal dans ce que je m'apprêtais à faire.

NoRecess — Pour expliquer ce qu'était In-Fusio : une compagnie qui faisait des jeux sur téléphone mobile — mais attention, pas juste les jeux, ça venait aussi avec carrément la plateforme de jeux qui allait avec. On avait un moteur d'exécution, ExEn, c'était le nom de notre techno. Les téléphones à l'époque, c'était les Nokia, l'époque du jeu du serpent. Nous, ce qu'on faisait, on démarchait les constructeurs pour intégrer notre plateforme. La plateforme intégrait une VM Java, et ça tournait sur un CPU à 16 mégahertz. C'était quand même une grosse prouesse.

NoRecess — Je suis arrivé et j'ai commencé par faire des petits jeux — un clone de Tetris, un clone de casse-brique, et un jeu d'aventure isométrique assez poussé pour la plateforme. J'étais très à l'aise, parce qu'en 3D j'avais des connaissances, mais en 2D j'excellais. Je dirais que j'étais correct en 3D et cent pour cent opérationnel en 2D. Donc je me suis fait plaisir, et j'étais rapide.

NoRecess — Les contraintes, c'était autre chose. Il y avait plusieurs résolutions de jeux disponibles, ce qui était très frustrant, et c'étaient de toutes petites résolutions, et c'était monochrome. Et je travaillais avec un graphiste très plaisant.

NoRecess — En parallèle — même si je suis maintenant à Bordeaux et que je ne vois plus mes amis du BTS — je continue pareil les fins de semaine à être super productif.

Dr JVtek — Il y avait du monde là-bas qui faisait des choses, à l'étage au-dessus d'In-Fusio. C'était Calisto.

NoRecess — Exactement. Et évidemment j'ai cherché à faire des relations. J'étais tout le temps attiré par cette industrie. À l'époque, j'avais l'impression de faire des petits jeux sur téléphone portable, mais c'est certain que mon but ultime, ça aurait été de faire des vrais jeux dans une vraie compagnie. Et il y a eu un drôle de revirement, parce que Calisto a été un super bateau qui s'est échoué, et quand ça a foiré il y a eu bon nombre de personnes de chez Calisto qui ont intégré In-Fusio.

Dr JVtek — Calisto est la première société française à être rentrée en bourse — pas au monde, parce qu'Electronic Arts et d'autres l'étaient déjà. Nicolas Gaume, que je connais bien, s'est dit que la bourse allait permettre d'avoir l'argent. Le problème, c'est qu'il y a eu deux problèmes. La bulle Internet qui a pété dans les années 2000, ce qui a fait un peu de mal. Et le deuxième problème, c'est que le jeu vidéo, du moins à l'époque — si on pouvait appeler ça une industrie — n'était pas une industrie très respectueuse des plannings. À la bourse, si tu annonces un truc qui sort tel jour et que les investisseurs arrivent ce jour-là parce qu'ils savent que le produit sort, et que le produit ne sort pas, en gros ça ne marche pas.

NoRecess — J'ai de très belles anecdotes sur cette compagnie-là. Mon CV original, par exemple — comment j'ai fait. Quand j'ai dit que j'avais répondu à l'annonce, j'ai fait un truc curieux : j'ai envoyé mon CV imprimé, mais dans la lettre j'ai aussi glissé un CD avec mon expérience dessus. Littéralement mes démos, avec mes codes sources. C'était vraiment moi, ma personne, tout ça.

NoRecess — Et je l'ai appris beaucoup plus tard, un an ou deux après être rentré dans la compagnie : c'est la directrice des ressources humaines qui m'a dit que mon approche avait été géniale. Ils avaient une pile de CV, et il y avait toujours cette lettre plus grosse que les autres, avec ce CD qui intriguait. Et ils l'ont mise au-dessus de la pile — en partie parce qu'avec le CD dedans ce n'était pas stable et ça faisait tomber les autres, donc ils étaient obligés de la mettre au-dessus. Puis assez rapidement ils l'ont donné au directeur technique, qui a pu évaluer.

NoRecess — Et pour la petite histoire : ce CD-là contenait un virus, et le virus a contaminé pas mal du parc informatique de la compagnie. Je m'en excuse encore. Je n'étais même pas encore employé.

Dr JVtek — Sérieux ?

NoRecess — Très sérieux. Un CD pour PC, avec le binaire précompilé dessus. Tu l'exécutes, et hop, ça s'est bien transmis dans toute la compagnie.

NoRecess — Mais cette histoire de balancer le CV, c'est un peu la version moderne de ce que je peux voir avec les artistes qui essayent de se faire un portfolio. Se démarquer au moment de se faire embaucher, c'est une bonne chose.

NoRecess — In-Fusio, c'était vraiment une super compagnie. J'ai de très bons souvenirs, des personnes vraiment attachantes. C'était un générateur de super profils — plein de mes collègues de l'époque sont toujours dans le jeu vidéo ou satellite, et tout le monde a eu une bonne carrière par la suite.

NoRecess — Et pour l'anecdote : In-Fusio, véritablement, je pense que c'est le premier App Store mondial. Sur la plateforme qu'on avait, tu pouvais télécharger des jeux sur ton mobile, et là on parle de 2002, 2003. Et tu payais avec des SMS. Tu veux cette application, tu vas l'avoir sur ton téléphone, mais le SMS sera à onze francs, ou euros — je ne sais plus. C'était vraiment la manière de se payer, et ça marchait vraiment bien.

NoRecess — Encore une anecdote. Dans toutes les autres compagnies qui ont suivi, évidemment, il y avait du QA — un jeu doit être solide pour être distribué. Mais chez In-Fusio, pour ces jeux mobiles, c'était énorme. Je n'ai jamais connu autant de QA qu'à cette époque-là, et la raison est simple : si ton jeu fait planter le téléphone, ce n'est pas juste le problème d'In-Fusio. C'est le problème de l'opérateur, le problème du constructeur, ce sont des téléphones qu'il faut rappeler. C'est l'enfer, et tu ne veux absolument pas ça. Donc même pour un Pac-Man ou un Tetris, il fallait que le code source soit compris en long, en large et en travers, et s'assurer qu'il ne soit pas générateur de bugs. Il y avait une vraie équipe de test assez conséquente.

NoRecess — Et on peut se demander pourquoi une VM Java après tout, pourquoi pas du natif sur le téléphone, mieux animé, plus fidèle. La raison est simple : dans la VM Java, tu maîtrises le bytecode. Tu maîtrises ton programme. Tu t'assures que tu offres ces instructions-là au jeu et qu'il n'y aura pas de choses stupides qui vont faire cracher le téléphone. Même là c'était encore un petit peu possible — si tu écrivais en dehors de ton frame buffer, par exemple — mais c'était quand même bien géré.

5Pigiste pour Code(R)

À partir de 00:46 — voir ce moment sur YouTube

NoRecess — Il y a une chose que je n'ai pas abordée. En parallèle, j'ai aussi travaillé pour Posse Press — j'étais pigiste dans le magazine Code(R). C'était un magazine que tu retrouvais dans les kiosques, et j'ai écrit pas mal d'articles pendant à peu près deux ans.

NoRecess — Je me souviens d'un test d'OpenGL 1.5 que j'ai fait. Je me souviens d'avoir écrit un compresseur qui se basait sur zlib, où j'expliquais comment réunir plusieurs fichiers compressés avec zlib ensemble pour générer notre propre format, des trucs comme ça. C'est une expérience très intéressante, et ça a fait de moi un meilleur technical writer.

NoRecess — Il y avait d'énormes contraintes. J'étais payé au signe — un signe, c'est un caractère — et je me souviens qu'il y avait quatre mille signes par page. J'étais vraiment rémunéré, comme un deuxième emploi.

NoRecess — Ce qui était amusant comme contrainte, c'est que déjà à l'époque le magazine commençait à se faire concurrencer par Internet, alors on me demandait d'écrire des articles intemporels. Ne fais pas un programme qui se base sur la version 1.2.4 de tel truc ; essaye d'écrire des articles génériques qu'on peut éventuellement rééditer six mois plus tard dans une série. Et d'ailleurs c'est arrivé.

Dr JVtek — Tu es un peu mon clone à plusieurs niveaux, parce que moi aussi j'avais écrit des articles — pas rémunérés, attention, dans un fanzine, à l'époque du Falcon. J'avais des articles pour expliquer comment programmer en C et des choses comme ça, parce qu'il y avait une population qui était en demande de ça et qui ne savait pas faire, vu qu'à l'époque ce n'était pas encore très populaire.

6Le départ pour le Québec

À partir de 00:50 — voir ce moment sur YouTube

NoRecess — Donc on est en 2002 chez In-Fusio, et j'ai toujours un peu cet esprit étudiant : est-ce qu'il y aurait une opportunité ailleurs dans le monde ? Et avec ma conjointe de l'époque, on a eu ce projet un peu fou de venir s'installer ici au Québec. C'était 2003 — mais je commence à en parler en 2002, parce qu'à partir du moment où tu te décides, ça demande un an, un an et demi avant que ça se concrétise.

Dr JVtek — Je pose le tableau, c'est tout. C'est la période où Ubisoft a commencé à aller au Canada, parce qu'il y avait des aides qui permettaient de développer moins cher, et a commencé à créer des studios. Et c'est aussi la période de la crise du jeu vidéo en France, 2003, où énormément de personnes sont parties en même temps au Canada. Si Ubisoft n'était pas allé au Canada, tu ne serais peut-être pas allé au Canada non plus.

NoRecess — Certain. En réalité, tu ne peux pas t'installer au Québec si tu n'as pas un plan professionnel. Ils regardent vraiment ton CV, ils regardent ton compte bancaire. Tu es vraiment nu quand tu te présentes au Québec — on veut tout savoir de votre vie, toutes vos dettes, votre passé criminel, tout ça.

Dr JVtek — Je te donne une autre anecdote pendant que j'y suis. J'étais allé au Canada, chez Ubisoft, avec la société que j'avais à l'époque. Mon collègue n'avait jamais pris l'avion et n'était jamais allé au Canada. On arrive à la douane, et tu sais comment c'est la douane, chacun pour soi. Moi je passe. On lui demande ce qu'il vient faire au Canada, et lui il arrive comme ça, venant de France sans visa — un visa de vacances — et il dit : je viens travailler. Il ne faut pas dire ça. On ne venait pas travailler, on venait voir des clients. Et du coup on est restés une demi-heure, une heure, tous les deux bloqués dans le bureau derrière. Ce qui m'avait marqué, c'est que tu quittes la France et ce sont des gens gentils avec des grands sourires, et quand tu arrives au Québec, ou aux États-Unis, ce sont des armoires à glace qui ne rigolent pas du tout.

NoRecess — Pas du tout. Et ne viens pas commencer à faire une blague, parce qu'ils sont capables de te bloquer pendant cinq heures.

NoRecess — Pour Ubisoft : j'avais un contact juste avant de partir de France, et ce qu'il m'a dit c'est viens passer une entrevue dès que tu arrives au Québec. Donc je n'ai pas d'emploi en arrivant au Québec, mais j'ai la volonté absolue de rejoindre une compagnie de jeux vidéo. Je m'essaye chez Ubisoft, parce que c'était grand et qu'ils cherchaient du monde — ils cherchaient du monde de toute façon.

NoRecess — L'entrevue s'est très bien passée, et pour cause : en face c'était la personne qui m'avait dit de venir. Donc l'entrevue a été plutôt facile. Évidemment il y a eu une validation de qui j'étais au niveau de ma personne, mais techniquement ça m'a fait passer les tests assez facilement. Et donc, très très rapidement, quelques semaines après être arrivé au Québec, je travaille chez Ubisoft et je suis embarqué sur un nouveau jeu. Ce jeu-là, c'est Far Cry.

7Far Cry Instincts, et soixante-quatre mégaoctets

À partir de 00:54 — voir ce moment sur YouTube

NoRecess — Far Cry, pour moi, ça a été un jeu que je ne connaissais pas, parce qu'il n'était pas encore sorti commercialement. Il est sorti d'abord sur PC pour le public, et notre version est arrivée vraiment en fin de vie de la Xbox originale — la 360 pointait déjà le bout de son nez.

NoRecess — Ce jeu-là a été ultra bénéfique à toute l'industrie du jeu vidéo. À l'époque, il y avait Doom, il y avait Unreal Tournament, et beaucoup de jeux où ça se passait à l'intérieur, dans des salles, dans des corridors. Far Cry a été une vraie bouffée d'oxygène.

Dr JVtek — Technologiquement, c'était hallucinant à l'époque. C'est un open world avant que ça s'appelle open world.

NoRecess — Au-delà de l'open world, ne serait-ce qu'au niveau graphique, il y a beaucoup de choses qui ont posé des bases — tout ce qui est ambient occlusion a été inventé par Far Cry à l'époque. Si vous regardez les images, vous avez une forêt comme on n'en avait jamais vu. Aujourd'hui, une forêt, c'est trop facile, à la limite tu les peins. À l'époque, c'était complètement différent de tout.

NoRecess — Une petite anecdote. Chez Ubisoft on avait la version PC, et moi j'étais dans l'équipe pour porter ça sur la Xbox. Au début, c'était supposé être un portage. Et ça a été assez amusant, le moment où j'ouvre l'éditeur de Far Cry pour la première fois, je charge la première map, et sous Windows je regarde un peu les ressources prises. Là je vois que le process de l'éditeur, avec la map loadée, faisait un gigaoctet et demi de RAM. Et je te rappelle qu'on est en 2003, où les machines à deux gigaoctets commençaient à être le haut des standards.

NoRecess — Et la mauvaise nouvelle, c'est que ce jeu-là fait un gigaoctet et demi, qu'on doit le convertir pour la Xbox, et que la Xbox a juste soixante-quatre mégaoctets.

Dr JVtek — Je vois bien. J'ai fait la même chose avec Fade to Black, entre le PC et la console.

NoRecess — Donc il a fallu introduire des stratégies de streaming, parce qu'il n'y avait aucun streaming dans le Far Cry original — il chargeait toute la map en RAM, littéralement. Ce qu'on a fait, on a subdivisé le monde, et quand le joueur progresse on charge les prochaines cellules et on retire de la mémoire les anciennes. Donc on a toujours deux ou trois cellules en RAM plutôt que tout le jeu au complet.

NoRecess — Et je me corrige sur le mot open world : visuellement ça ressemble à un open world, mais ça reste un jeu de couloir. Un gros couloir, mais un couloir. Tu avais quand même des murs invisibles que tu ne peux pas franchir. La partie multiplayer, c'était différent — des maps plus petites, et là toute la map était chargée.

NoRecess — Maintenant, venant de la demoscene et connaissant bien la 3D, je m'attendais à faire programmeur 3D, côté rendering. Et c'est là que j'ai eu une vraie claque, quand j'ai compris ce que c'est qu'un programmeur 3D dans une compagnie de jeux. Ce n'est pas du tout ce que j'avais connu dans la demoscene. Quand tu fais des démos, tu peux te permettre d'être approximatif tant que ça rend bien — si ton animation est cool, ça plaît. Mais dans un jeu, quand tu as le directeur artistique qui vient te voir et qui dit : regarde les arbres sur les plages, je voudrais que l'ombre soit vraiment de cette couleur-là, et il faut que ça se reflète comme ça — là tu t'aperçois que ce n'est plus de l'approximatif. Cette fois-ci il faut vraiment que ça ressemble à la vraie vie. Et à ça je n'étais pas du tout préparé, parce que ça devient des vraies mathématiques poussées.

NoRecess — Donc c'est là où j'étais un petit peu inconfortable, et par contre j'ai commencé à être très confortable avec la programmation d'outils. Dans l'éditeur, je rajoutais des nouvelles fonctionnalités d'édition — n'importe quelle amélioration qu'un level designer voulait pour être plus productif, ou une fonctionnalité dans le jeu.

Dr JVtek — Une question d'historique : Far Cry utilise le CryEngine, de Crytek, une société allemande. Mais il n'y avait pas un jeu avant ? Il me semble que Far Cry a bénéficié d'une technologie faite avant, que le moteur n'a pas été fait pour ce jeu-là.

NoRecess — Je vais parler avec mes souvenirs, je peux dire des bêtises, mais je pense que Far Cry a vraiment commencé — et c'est étonnant — avec un screensaver. Crytek faisait un programme de benchmark, pour mesurer les performances du PC, où ça se baladait dans l'île. Après ça ils en ont fait une version légère, cette fois-ci vraiment comme un screensaver, et ça a fait vendre plein de PC, parce que ça présentait super bien en public. Quand tu plaçais un PC devant une vitrine, c'était beau visuellement.

NoRecess — Et puisqu'on y est, j'ai plein d'anecdotes sur ce jeu-là. J'ai utilisé beaucoup de moteurs différents dans ma carrière, mais il n'y en a qu'un seul que j'ai maîtrisé à cent pour cent, et c'est le CryEngine. Les versions commerciales du moteur sont peut-être devenues plus complexes après, mais à l'époque c'était encore un engin qui se parcourait facilement, et c'était limpide. Tu avais l'éditeur, tu avais le runtime. Un folder physique, un folder loading, un graphe de scène. Une classe de base, l'entity, comme tu aurais les UObject avec Unreal. Donne-moi la liste des instances, donne-moi la liste de tel type d'instance — et tu comprends vite. Tu regardais comment était chargée une map, et c'était exactement ce que tu imaginais comme programmeur.

NoRecess — Avec du recul, c'était un moteur vraiment très facile d'accès. Parce qu'après, tous les autres moteurs que j'ai manipulés — que ce soit Unity, Unreal, Stingray, ou le moteur de Crystal Dynamics — c'était devenu trop gros pour une seule personne. Le CryEngine, c'était encore compréhensible pour une seule personne.

Dr JVtek — Mon expérience avec le CryEngine, elle était bien plus tard, à l'époque où Amazon en avait racheté une licence — Lumberyard. Quand j'ai essayé de l'utiliser, c'était déjà une usine à gaz, et en version beaucoup moins efficace. Il fallait lancer un batch pour arriver à le recompiler, tu étais obligé, et recompiler prenait trois jours à l'époque. Je n'ai pas eu une bonne expérience.

NoRecess — Ce que je peux te dire, c'est que les gens de Crytek, c'étaient des personnes très talentueuses, et leur version PC de Far Cry était absolument époustouflante.

NoRecess — Et j'ai une anecdote amusante sur la version PC. Tu avais le multiplayer, tu pouvais jouer en ligne — mais tu pouvais aussi réduire tes détails graphiques, et ils n'avaient rien fait contre ça. Le gars qui avait son super PC et qui voulait voir tous les buissons pouvait jouer comme ça, mais si tu avais une autre personne à côté qui mettait tous ses détails graphiques au minimum, le buisson disparaissait pour lui. Donc en multiplayer, tu voyais le gars qui se cachait dans son buisson. Tu savais exactement où il était.

NoRecess — Si j'avais une tâche à retenir de ce jeu-là, celle que j'ai vraiment adorée, c'est le prototypage de l'herbe. Je l'ai faite verticalement : je me suis occupé de l'édition de l'herbe, de faire que ça rentre dans le data, que ça rentre dans le jeu, et qu'on le voie visuellement dans le jeu. Ma version était très lente côté runtime — littéralement une position X, Y, Z pour chaque brin d'herbe. Mais ça a permis qu'un programmeur rendering passe derrière moi, fasse la version optimisée shader et aux petits oignons, et que ça marche super bien.

Dr JVtek — C'était en mode peinture, comme sur Unreal ?

NoRecess — Il y avait une notion de layers sur le terrain. Tu te crées un nouveau layer, ça va être mon truc d'herbe, et les layers se mélangent pour avoir la texture finale au sol — mais moi j'avais toute l'information de savoir : à cet endroit-là on veut de l'herbe. C'est ça que je mettais dans le data, et après pour l'affichage.

NoRecess — J'ai vraiment adoré toucher à tout ce truc-là, et voir que c'est resté dans le jeu final. Quand tu regardes les images et que tu regardes l'herbe, tu peux penser à moi.

8Le crunch, savoir dire non, et une équipe qui explose

À partir de 01:20 — voir ce moment sur YouTube

NoRecess — J'ai travaillé très très fort sur Far Cry. Pour être honnête avec vous, je mélangeais complètement travail et passion. Toutes mes capacités à travailler sur mes fins de semaine, je les avais vraiment intégrées là-dedans, et j'avais complètement perdu cette limite-là.

NoRecess — Je ne plaisante pas : pendant ma période de crunch, je sais qu'à un moment on était invités chez des amis, et un samedi soir à vingt-deux heures je leur ai dit : bon allez, les gars, je vous laisse, il faut que je retourne au bureau. Ils étaient tous éclatés de rire, la bonne blague. Et je dis : non, vraiment, il faut que j'y retourne, ils attendent après moi pour demain. Et je suis vraiment retourné cette soirée-là, à vingt-deux heures, chez Ubisoft, et j'ai travaillé environ une heure.

NoRecess — Il y avait un truc vraiment super tripant là-dedans. Entre faire du code chez toi pour le fun à la maison et faire la même chose dans un produit commercial dont tu sais qu'il va être joué par des millions de joueurs, il y a un petit côté qui dit : j'ai vraiment envie d'apporter cette différence supplémentaire qui va faire que c'est cool. Avec du recul — et c'est juste la maturité qui me dit ça — j'étais vraiment trop con. Il ne faut pas agir comme ça.

Dr JVtek — Moi je continue encore aujourd'hui. Je suis encore trop con aujourd'hui.

NoRecess — Je reste très passionné par ce que je fais, mais mes limites sont claires. Je continue de temps en temps à faire de l'overtime, et c'est toujours parce qu'il y a quelques personnes qui attendent vraiment après moi et que j'ai le pressentiment que ça peut vraiment faire une différence. Mais faire de l'overtime pour faire de l'overtime, ça ne sert à rien. Et ceux qui font de l'overtime puis qui arrivent le lendemain au bureau à onze heures, moi je n'appelle pas ça de l'overtime, j'appelle ça un simple déplacement de ton horaire.

NoRecess — Une autre, et ça peut paraître stupide : savoir dire non. Un jour, j'étais bien installé comme programmeur outil, on me fait confiance, tout va bien, et il y a un chef de projet qui vient me voir et qui dit : écoute Arnaud, on aimerait que tu fasses le travail de build master. Build master, c'est un métier noble dans l'industrie, c'est ce qui permet de release une version du jeu tous les jours. Et j'ai refusé, parce que j'ai toujours considéré que j'étais un développeur, et que je vais toujours devenir un meilleur développeur.

NoRecess — Le chef était comme frustré que je réponde ça. Mais avec du recul, je trouve que ça a son importance de le souligner, parce que ça indique bien que je n'étais pas juste un électron libre. J'étais vraiment déterminé : je suis programmeur, je sais ce que je veux faire, je veux faire de la programmation d'outils. Cette personne-là m'avait dit que je manquais — comment dire — de malléabilité. Il avait râlé, et je l'avais laissé râler.

Dr JVtek — Je pense que tu as raison. C'est important de connaître ses limites, et pas seulement ses limites : ce qu'on peut faire, ce qu'on sait faire, ce qu'on a envie de faire, et ses intérêts. Sinon tu ne vas pas faire du bon boulot. Et même pour la personne qui te le demande, c'est bien qu'elle comprenne que ce qu'elle te demande est au-dessus de tes limites.

NoRecess — Je vais tempérer un peu — on parle du Arnaud de vingt-trois, vingt-quatre ans. Maintenant je suis ouvert à peu près à tout. À l'époque, quand tu es jeune, dans tes premières années d'expérience, tu as envie de bien faire et de le montrer. Maintenant, après certaines années d'expérience, tu as acquis cette confiance en toi, tu sais que tu es capable de rebondir, donc j'ai une autre approche.

NoRecess — Mais il y a une fin à Ubisoft me concernant. Je suis resté trois ans, trois ans et demi. Ce n'est pas pour ça que j'ai quitté, mais voilà ce qui s'est passé. Sur Far Cry Instincts sur Xbox, on était tous à peu près du même âge, et j'étais vraiment uni avec mes collègues — d'ailleurs ce n'est pas pour rien si je faisais de l'overtime, c'est parce que je n'étais pas seul, j'allais aussi retrouver les copains qui faisaient exactement la même chose.

NoRecess — Et quand Far Cry Instincts a été livré, toute cette équipe-là a complètement explosé. Il y a des personnes qui ont exprimé leur intérêt pour aller sur un autre projet. J'ai perdu l'équipe où je me sentais bien. Je me sentais comme dans une colonie de vacances qui prend fin — ben mince, vous partez tous, je ne vais pas rester seul. Et en fait on n'était plus qu'un tout petit groupe, parce que toute l'équipe de Splinter Cell est venue sur Far Cry 2.

NoRecess — Et moi là-dedans, j'ai perdu tous mes repères. Far Cry 2, c'est une upgrade majeure du premier : on prend le code source de Far Cry 1 et on fait un Far Cry 2 avec. Et ils ont très bien fait — l'éditeur, qui était écrit en C++ avec une librairie appelée CodeJock pour les widgets, on vire ça et on commence une UI en C# from scratch, puisque ça commençait à s'imposer. Donc on retire beaucoup de code, on en réécrit du nouveau, et il y a eu un nombre énorme de systèmes réécrits comme ça.

NoRecess — Et moi je trouvais ça dommage, parce que j'avais beaucoup de connaissances sur ces systèmes, et je trouvais dommage qu'une personne arrive et que je lui dise : je suis là pour t'expliquer comment ça marche, et qu'elle réponde : non mais t'inquiète pas, tu n'as pas à m'expliquer, je suis en train de le réécrire. Réécrire, c'est plus facile pour moi, c'est plus facile pour apprendre. Et ça a été comme ça pour beaucoup de choses. Donc quand je te dis perdre mes repères — mes anciens chefs d'équipe n'étaient plus avec moi non plus.

Dr JVtek — Tu as perdu la foi.

NoRecess — Exactement, la foi. Je la retrouverai des années plus tard pour le jeu vidéo, mais je quitte Ubisoft.

9Deux petites structures : Kutoka et xtranormal

À partir de 01:26 — voir ce moment sur YouTube

NoRecess — En 2006, j'intègre une compagnie qui s'appelle Kutoka, une petite compagnie de jeux éducatifs. Au passage, toutes les compagnies que je vais nommer sont basées à Montréal, pour faire simple.

NoRecess — J'avais vraiment l'envie de retrouver une petite structure, quelque chose d'un peu plus humain, parce que quand Far Cry 2 avait commencé, ça avait été un peu le saccage avec les employés qui partaient. J'étais très content de pouvoir intégrer une petite compagnie où je pensais vraiment pouvoir faire une différence — et pour cause, on n'était que deux développeurs dedans. Quand vous êtes deux, tout ce que tu fais a un impact énorme. Je ne vais pas trop m'étendre, parce que je suis resté à peu près un hiver.

NoRecess — Ils faisaient des jeux éducatifs. Il y avait un produit, Mia la souris, pour faire apprendre la lecture aux enfants — une petite souris qui se déplace, quelque chose de très mignon. C'est un produit qui a été primé par Apple, qui le mettait dans leurs Apple Store physiques, pour dire : regardez, sur Mac on a aussi des jeux éducatifs pour les enfants. Il y en avait très peu, et il y en a toujours très peu, donc c'est directement accrocheur, et ils sont restés pendant des années avec un produit finalement assez moyen techniquement.

NoRecess — C'était fait avec Director, et Director c'était en fait un bon choix technique, parce que c'était comme une plateforme, portée partout. Tu pouvais le générer sur un CD — il y avait plusieurs modes de génération, et ça te créait directement un CD multimédia.

Dr JVtek — Director, c'était avant Flash.

NoRecess — C'était une bonne stratégie de la part du directeur technique d'aller vers ça. Mais en 2006 le produit devenait vieillissant, et Director commençait déjà à sentir le sapin. Donc il y avait la promesse de créer un nouveau moteur de jeu from scratch : ok Arnaud, toi et une autre personne, vous allez faire un nouveau moteur cross-plateforme, et comme on est une petite structure, prenez tous les outils open source que vous avez à votre disposition. Je trouvais le mandat sympathique, je savais faire techniquement, et l'équipe me semblait très agréable.

NoRecess — Et très rapidement, quasiment une semaine après avoir mis les pieds là-dedans, j'ai été déçu par plein de choses — des choses qui m'avaient toujours semblé acquises et qui n'étaient pas là. Par exemple, il n'y avait pas de source control. Pas du tout. Donc les gens s'échangeaient des assets avec des dossiers partagés : tiens, voilà tel zip. Et en code, malheureusement, la même chose. Et évidemment je ne parle pas du QA, parce qu'il n'y avait pas de QA.

Dr JVtek — Il faut dire ce que veut dire QA, parce que tout le monde n'est pas forcément au courant : quality assurance. En gros, ce sont les tests et les validations du jeu, la qualité du jeu final.

NoRecess — La précédente version de ce jeu éducatif tournait sous Director, et les artistes faisaient des petits modèles en 3D rendus en 2D. Donc ils faisaient péter le budget au niveau des polygones, et c'était super beau, super mignon — de beaux effets d'éclairage sur les personnages, assez fantastique. Mais nous, on avait comme mandat de faire un produit en 3D, vraiment avec un personnage 3D. Donc demander à des personnes habituées à ne faire que des personnages high poly super léchés, sans contrainte, de faire soudainement du low poly. Low poly, c'est réduire le nombre de polygones pour avoir de meilleures performances. Tu passes de vingt mille polys à peu près pour un personnage à trois cents polys.

Dr JVtek — Le premier low poly que j'ai reçu à l'époque, c'était cinq mille polygones.

NoRecess — Et tu dis : ça, ça va tourner à vingt FPS, ce n'est pas possible. Et il y avait le côté open source : le moteur qu'on utilisait s'appelait Ogre. C'est bien, mais tu n'as pas l'outil, tu n'as pas le truc qui va avec.

Dr JVtek — En venant du CryEngine, ça devait faire mal.

NoRecess — Tout n'a pas été si mal. Il y a eu un grand bonheur à jouer au Lego avec les librairies open source — tiens, je vais prendre ça, et ça, oh ça c'est sympa, un petit parser XML, je vais prendre ça et mettre tout ça au même endroit. On avait réussi à avoir un exécutable qui compile sur PC et sur Mac. Et vous voyez mes doigts, ici, ils sont beaux, mais à l'époque, avec Xcode, j'y ai laissé plein de sang. Il faisait la transition de PowerPC à Intel, et c'était lamentable. Tu avais des freezes de quatre minutes, et je disais : ok, ça a crashé, et mon collègue disait : attends, ça n'a pas crashé, il va te rendre la main après sept minutes.

Dr JVtek — Dans les vieux Mac il y avait CodeWarrior, qui avait l'air d'être un IDE bien meilleur.

NoRecess — Exactement, mais Apple a pris la décision de couper tout ça. Ça ne passe que par Xcode pour avoir nos binaires universels qui fonctionnent aussi bien sur PowerPC que sur Intel — et sur ARM aujourd'hui.

NoRecess — Kutoka, c'est une expérience qui m'a quand même grandi encore une fois : voir cette différence entre les grandes productions et retourner sur un petit truc, et le manque de moyens constant. Bien sûr, si on retransmet ça aujourd'hui, les outils sont devenus bien plus puissants — tu as git comme source control, et si tu es développeur et que tu n'es pas sur git, tu n'es pas développeur.

NoRecess — Après ça, j'ai intégré xtranormal, de 2007 à 2009, et ce n'est pas du tout du jeu vidéo. C'est une application multimédia. Pour vous dire un peu ce que c'était : tu pouvais placer une scène — une bête pièce, disons — puis deux personnages dedans, choisis par l'utilisateur. Et après ça tu avais un système de chat : le premier personnage, tu tapes du texte, puis l'autre personnage, encore du texte. A, B, A, B, donc tu vois une séquence, un échange. Tu pouvais mettre des petites icônes dans le texte pour dire : là fais une pause, fais un sourire, serre la main — ce genre d'animation.

NoRecess — Et tu avais un bouton Generate, et ça générait une vidéo en 3D. La génération va lire tous les textes que tu as écrits à la main et utiliser le text to speech : si ton personnage était une fille, ça prend une voix féminine, si c'était un gars, une voix d'homme.

Dr JVtek — C'est le ChatGPT d'aujourd'hui, en version de l'époque.

NoRecess — Dans l'impression extérieure, oui — il n'y a pas d'IA là-dedans. Et tu avais quand même du rendering 3D, parce que quand tu avais mis l'icône, ton personnage levait les bras. Ça faisait des choses très sympathiques, très plaisantes.

NoRecess — Malheureusement, c'est un peu l'application qui cherchait son marché. Ça a été mis en marché avec des méthodes modernes — pas je te vends le produit, mais tu l'utilises puis après tu payes : tu as droit à deux ou trois vidéos gratuites et après ça tu payes pour en avoir d'autres. Tu pouvais mettre le résultat sur YouTube.

NoRecess — Ce que ça a rencontré comme marché est assez étonnant : l'éducation. Des professeurs ont vraiment utilisé ça pour introduire des choses aux élèves sous une forme un peu humoristique, parce que les personnages prenaient des poses rigolotes. Donc il y a eu un marché de niche dans l'éducation, alors qu'évidemment on aurait voulu à ce moment-là que ce soit tous les jeunes de l'univers qui utilisent l'application.

NoRecess — Moi là-dedans, je travaillais sur l'équipe core, la couche système. Il y avait un framework construit autour, et j'étais très à l'aise avec ça. Au début on avait notre propre UI créée à la main, avec une personne qui s'occupait de ça, et après ça on a basculé vers Qt. C'était intéressant comme expérience — je ne connaissais pas ce framework, c'est super propre, une API très clean qui fonctionne sur toutes les plateformes.

NoRecess — Et c'est là que j'ai appris que c'est bien d'avoir une librairie cross-plateforme, mais que c'est mal aussi en même temps. Si tu veux sélectionner un fichier photo sur PC, tu ouvres le file dialog et tu laisses l'utilisateur choisir son image. Alors que sur Mac tu as un widget spécial qui apparaît avec la possibilité de browser les images — à l'époque tu pouvais aller à gauche, à droite, et choisir. Et par défaut Qt ne te permet pas de faire ça : si tu ne fais rien, c'est le drôle de file browser qui apparaît sur la version Mac, et ça fait Frankenstein.

NoRecess — Donc pour moi Qt c'est bien pour les applications médicales, ou n'importe quoi qui n'a pas vraiment besoin d'une UI super avancée, mais pour faire vraiment des produits commerciaux parfaitement intégrés avec une plateforme, j'ai peut-être des petites restrictions. Chez xtranormal, ce qu'on avait fait pour afficher ce widget de photos, c'est qu'il y avait un développeur pour la version Mac qui a fait exprès de déclencher cette sélection-là.

NoRecess — Et c'est chez xtranormal que j'ai rencontré Hervé Lange pour la première fois, qui est devenu un véritable ami avec le temps. Pour ceux qui ne connaissent pas son profil : sur Amstrad, c'est lui qui a fait Fer et Flamme, et Baba — je me réfère à ce que je connais — et il en a fait beaucoup d'autres.

10Eidos, Square Enix, et un plateau de mille personnes

À partir de 01:42 — voir ce moment sur YouTube

NoRecess — Et puis à Montréal il y a la grande annonce, en grande pompe, d'un nouveau studio qui ouvre. Ce studio s'appelle Eidos. Et là, l'industrie du jeu vidéo m'attire de nouveau très fortement pour revenir sur la production de jeux classique. Donc je rejoins Eidos en 2009, qui sera renommé trois mois plus tard en Square Enix, parce qu'ils ont été rachetés.

NoRecess — On n'avait qu'un seul jeu en interne à ce moment-là, c'était Deus Ex — j'ai travaillé sur Deus Ex : Human Revolution. Ce jeu-là était basé sur le moteur de Crystal Dynamics.

Dr JVtek — Crystal Dynamics, c'est le studio qui faisait Tomb Raider.

NoRecess — Exactement. C'est un moteur qu'ils ont gardé très très longtemps et qu'ils ont fait évoluer de jeu en jeu. Et j'ai une anecdote en parlant de vieilles choses. Un jour, en me baladant dans le code source de ce moteur-là, il y a un fichier qui contient l'implémentation des asserts. Je ne vais pas rentrer dans les détails, mais l'en-tête m'a fait énormément sourire. Mon fichier C++ s'appelait debug.cpp, mais l'en-tête du fichier disait debug.c — et surtout il y avait marqué 1994 à côté. Donc je suis dans cette compagnie en 2009, et je découvre un fichier de code source qui date de 1994. Il y avait une dimension un peu philosophique là-dessus, comme un appel du passé.

Dr JVtek — Il me semble que les sources complètes de Tomb Raider sur PS1 ont fuité et existent quelque part, donc tu pourrais retrouver ce truc de l'époque. C'est pareil pour d'autres jeux — Wipeout, et d'autres.

NoRecess — Si tu fais vraiment ça, tu n'es pas correct, tu n'es pas professionnel.

Dr JVtek — Je suis d'accord, je te dis ce qui a dû se passer, pas que c'est bien.

NoRecess — Il y a un truc là-dedans. À partir du moment où tu travailles dans cette industrie, tu dois avoir un certain comportement. Moi, j'achète tous mes jeux vidéo. Je me dis que c'est l'industrie qui me fait vivre, et c'est normal que je ne pirate pas mes jeux et que je les achète. C'est ce qui me fait vivre, et les gens ont droit à une rétribution pour le travail effectué. Les plateformes old school, c'est différent — si je prends un ISO d'un jeu sur la Sega Saturn, ce n'est pas grave. Mais tout ce qui vit commercialement ne doit pas être piraté.

Dr JVtek — Je suis assez d'accord, mais je n'ai pas tout à fait la même vision, parce que je travaille en indépendant. Dans mon cas ça me choque moins — même si en fait je ne le fais plus, j'achète tous les jeux maintenant. Quand tu travailles pour une grosse société, tu as ton salaire tous les mois. Quand tu travailles en indépendant, tu te fais toujours arnaquer par l'éditeur, donc cette notion-là n'est pas tout à fait réelle : c'est l'éditeur qui gagne l'argent. Dès que le jeu est parti, il est parti, il ne t'appartient plus.

Dr JVtek — Et il y a un point derrière. C'est lié à une loi française du milieu des années quatre-vingt, que le monde entier a copiée, qui dit qu'en tant que programmeur travaillant pour une société informatique, le code que tu fais appartient à la société. Le problème dans le jeu vidéo, c'est que cette loi a été utilisée pour l'intégralité des personnes qui y travaillent. C'est logique d'un certain côté, mais là où ça devient problématique, c'est que ça bloque potentiellement la notion d'auteur, au sens du droit d'auteur français, appliquée aux jeux vidéo. C'est là où j'ai une limite. Je trouve dommage que l'éditeur s'approprie l'intégralité des droits quand tu développes un jeu en tant qu'indépendant. Je comprends la logique, mais c'est un peu mauvais pour la suite du jeu, parce qu'il ne t'appartient plus.

NoRecess — C'est à ça que ça sert de lire le contrat de travail : on signe, c'est écrit.

NoRecess — Pour revenir à Eidos — un détail, mais un détail qui a vraiment son importance pour moi : l'ambiance matinale. Pendant deux ans et demi, chaque matin, j'étais avec mes collègues et on allait dans le café en bas, et pour commencer notre journée on prenait notre café à emporter et on revenait dans le studio. Ce simple geste-là, qui nous prenait dix, quinze minutes, nous permettait de tous s'échanger les nouvelles. Juste échanger dans un autre cadre, et c'était super plaisant. Une petite routine matinale, c'est toujours appréciable, et tout le monde au même niveau, que ce soit avec le directeur technique ou d'autres personnes. Ça parlait de tout et de rien, et c'est super important, ce genre de truc.

NoRecess — Le rachat par Square Enix était assez intéressant. Une compagnie japonaise très populaire, mais qui ne fait pas les chiffres qu'elle devrait faire en Amérique du Nord. Ils font des jeux, ils essayent, mais ça ne marche pas ; ça marche surtout au Japon. Par contre ils ont l'argent, et ils ont décidé de s'étendre en Amérique du Nord. Puisqu'on fait des jeux qui ne marchent pas en Amérique du Nord, on va essayer de racheter les studios qui vont faire des jeux qui marchent. C'était la stratégie.

NoRecess — Et j'ai eu l'occasion d'aller au Japon les visiter dès que ça a été racheté. Ils ont pris une poignée de développeurs et les ont envoyés au Japon, pour essayer de voir comment ça peut se marier techniquement, essayer de faire des stratégies. Ce voyage a été très marquant pour moi, parce que j'avais une vision du Japon et ce n'est pas du tout ce que j'avais en tête.

NoRecess — Par exemple, la première fois qu'un Japonais m'a tendu sa carte professionnelle. Je donne ma carte aussi, mais je suis comme tous les autres : je prends sa carte et je la range dans mon portefeuille, qui arrive sur mes fesses. J'ai appris après qu'il fallait que je regarde la carte, que je remercie, et cetera.

Dr JVtek — Tu les as insultés en arrivant.

NoRecess — C'est considéré comme une insulte, mais eux, ils savaient. Et le Square Enix que j'ai visité, c'est probablement celui qui reste dans l'imaginaire de toutes les personnes ici qui ont beaucoup joué dans les années 90 — les mêmes personnes, le même studio, et toutes ces personnes-là étaient là.

NoRecess — La chose qui m'a vraiment choqué : imagine un open space japonais énorme, mille personnes sur un plancher. Et accroche-toi bien : pas un bruit. Un silence. Quand les gens se parlent, ils s'accroupissent quasiment sur le bureau et chuchotent. Ça, c'était vraiment un waouh. Alors que moi je suis toujours habitué à être bruyant, avec mes écouteurs no cancelling. Pour moi en tout cas, ça a été impressionnant.

NoRecess — Ce qui en est ressorti, c'est qu'en Amérique du Nord et en Europe, les développeurs vont souvent être valorisés, ce sont eux qui vont avoir les gros salaires, et même si les artistes sont très importants, sur la grille salariale c'est un petit peu l'inverse. Au Japon c'est complètement l'inverse. Les superstars, ce sont les graphistes, ceux qui font le visuel, et les programmeurs, on leur dit : tu fais fonctionner, moi j'ai fait le truc, toi tu te débrouilles. C'est un vrai changement de paradigme. Et c'est pour ça que tout est magnifique dans leurs cinématiques, plus polishé.

Dr JVtek — Il y a d'autres méthodes radicalement différentes entre le Japon et l'Occident. La préprod, par exemple. Ici c'est souvent une petite équipe, les meilleurs de la boîte, qui travaillent dessus, et quand la préprod est validée tu as tout le gros de l'équipe qui arrive et des personnes qui sont embauchées. Au Japon ce n'est pas comme ça : ils font une préprod sous forme de compétition. Ils prennent tout le monde, dans leurs équipes, et chacun doit faire une préprod pour tel jeu, et c'est une sorte de concours — celui qui fait la meilleure préprod va diriger le jeu.

NoRecess — Et ça coûte peut-être plus cher, mais ça a un autre avantage : ça garde une certaine soudure.

Dr JVtek — C'est lié à ce que tu disais sur Far Cry, le fait que tout le monde parte dans d'autres équipes. Dès que tu as fini le jeu, toutes les personnes doivent faire quelque chose, donc même si on démarre un nouveau jeu, c'est une petite équipe, et les autres, il faut bien qu'ils fassent quelque chose — donc ils partent sur un autre projet, et quand tu recrutes une nouvelle équipe ils ne sont plus disponibles. Alors qu'au Japon ça coûte plus cher, mais tu gardes tout le monde, et quand tu redémarres tu gardes la même équipe.

NoRecess — C'est ça que j'ai ressenti aussi, une hiérarchie vraiment très forte. C'est complètement vertical, et c'est aussi pour ça qu'il n'y a pas de bruit : ceux qui décident sont en haut, et entre les équipes on ne se parle pas. L'autre truc qui m'avait marqué, c'est que sur ces mille personnes, tu en avais juste une poignée qui étaient capables de parler anglais. Ça a changé un petit peu au Japon apparemment, mais à l'époque c'était compliqué.

NoRecess — Quant au jeu lui-même, je vais être honnête : il a eu une très bonne réception auprès des joueurs, ça a vraiment bien marché, mais personnellement je n'ai pas cliqué avec ce jeu. C'est le mode de jeu — je suis un peu trop Quake-like, je veux que ça bouge, qu'il y ait de l'action. Le principe de Deus Ex, c'est que ça s'adapte à ton gameplay : si tu as un gameplay un peu mou, c'est un gameplay mou. Mais si je suis devant Steam et que je cherche un jeu, ce n'est pas ce type de jeu-là. Je suis plus jeu de voiture, des trucs où ça fonce.

NoRecess — Ce que j'ai fait là-dedans, c'est encore une fois beaucoup de tooling, et quelques mois avant mon départ j'ai intégré un département un peu central, une technologie partagée. C'était intéressant, et l'équipe était plaisante.

11Warner, LEGO Chima, et l'apprentissage des services web

À partir de 02:02 — voir ce moment sur YouTube

NoRecess — Ensuite, un autre studio ouvre à Montréal — WB Games Montréal — et je commence chez Warner en 2011, sur un jeu qui s'appelle LEGO Legends of Chima Online.

NoRecess — Je fais l'entrevue, ça se passe très bien, et on me dit que je vais faire de la programmation sur iPad pour ce jeu. Donc je signe mon contrat, je suis content, et je me rends compte le premier jour que sur mon bureau il y a marqué web programmeur. J'arrive dans l'équipe online, pas du tout la programmation iPad que je connaissais. Mais j'ai eu plusieurs bonnes surprises : je n'y connaissais vraiment rien, et ils le savaient — ils me l'avaient demandé en entrevue — et ce n'est pas grave. Ils ont dit : écoute, tu vas te former. Donc j'ai eu beaucoup de training.

Dr JVtek — C'était quelle année ?

NoRecess — 2011. Et j'ai eu la belle surprise de retrouver des personnes avec qui j'avais travaillé sur le premier Far Cry — l'esprit de colonie de vacances dont je te parlais. Deux collègues avec qui j'étais proche, et un des deux se retrouve être mon chef. C'était le grand bonheur. J'étais super content socialement, et ça compte.

Dr JVtek — Ça compte tellement. Quand tu te sens bien avec une équipe, ça change tout.

NoRecess — Donc j'ai travaillé sur l'infrastructure online. C'est-à-dire tout ce que vous voyez ici : tu pouvais commencer ta partie sur l'iPad et la finir dans un browser web sur ton PC.

Dr JVtek — Il faudrait peut-être que tu nous présentes le jeu avant, parce que je ne suis pas sûr que tout le monde le connaisse. C'était un jeu iPad et un jeu web, ou il y avait PC, ou d'autres consoles ?

NoRecess — C'est normal qu'il y ait des questions, parce que ça a été un échec commercial. Il n'a pas été longtemps dans le commerce. C'est un jeu PC et iOS, basé sur LEGO — et à l'époque, ce qui marchait vraiment bien avec les enfants, c'était la licence Chima. LEGO les renouvelle assez souvent : pendant trois ans ça va être des pirates, pendant trois ans les dinosaures, ainsi de suite. Donc on a fait un jeu où il fallait se balader dans les mondes. Je m'excuse un peu, je n'ai finalement pas tant joué que ça à ce jeu-là.

Dr JVtek — C'est quelque chose qu'il faut faire comprendre aussi : quand tu développes un jeu, tu es souvent assigné à faire un certain nombre de choses dedans. Ça peut être une ou plusieurs choses, ça dépend de la grosseur de l'équipe, mais tu vas te consacrer à cette chose-là. Il y a d'autres personnes qui travaillent sur le graphisme, sur l'histoire, sur l'intégration des scripts d'histoire, et eux sont obligés de jouer au jeu. Mais quand toi tu es assigné sur des outils, tu es au service de ces personnes-là.

NoRecess — Je vais même aller plus loin. La licence m'importe peu — un jeu pour enfants, un jeu pour ados, un jeu de voiture, c'est un détail. Ce qui compte pour moi, c'est la tech derrière. Je suis un gars de tech. Développer une belle infrastructure, ou un beau plugin, ou une nouvelle feature, et l'amener jusqu'au bout — c'est ça qui me fait triper.

NoRecess — Donc j'ai appris toute la programmation des web services. Et si vous êtes programmeur et que vous aimez les outils et les API, j'insiste : il faut absolument apprendre ça. Ça peut peut-être faire sourire du monde — ceux qui font ça toute la journée — mais dans l'industrie du jeu, c'est étonnant de voir qu'il y en a qui n'ont mangé que du C++ en trente ans et qui n'ont rien vu à côté. C'était d'ailleurs un peu mon cas. Toutes mes expériences avant, c'était principalement du C++, un peu de C#, et un peu d'assembleur aussi.

NoRecess — Une anecdote sur pourquoi ce jeu n'a pas si bien marché que ça : je pense qu'ils ont complètement sous-estimé le marché iOS. C'est comme un studio triple A qui soudainement va essayer de faire un jeu pour iPad et iOS. Les joueurs sont vraiment différents. Quand on a sorti ce jeu-là, on a eu très rapidement des bons scores — le jeu était bon, il a été joué, il a été apprécié — et très rapidement ça a descendu du top de l'Apple Store. Et on sait exactement pourquoi, avec du recul.

NoRecess — Ce qu'on aurait dû faire, c'était balancer des updates toutes les semaines. Si tu mets ton jeu à jour, même un petit truc de rien du tout dans ton binaire, immédiatement ton update est poussé de nouveau en haut du store, et ça rappelle au joueur qui avait son application installée sur son iPad. Il voit une pastille, une nouvelle update, il l'installe, et il retourne au jeu. Le simple fait d'avoir la notification suffit. L'erreur qu'on a faite, c'est de prévoir une vraie grosse update comme si on faisait un triple A — ce qui prend du temps — et qu'on a sortie six mois plus tard.

Dr JVtek — Ça a cassé la dynamique. Les gens ont complètement oublié le jeu.

NoRecess — C'était une période assez exploratoire. Tout le monde voulait faire des jeux iOS à cette époque-là. Je pense qu'il y a toujours un intérêt, mais que le marché a maturé — aujourd'hui ils font des jeux triple A sur iOS, des Resident Evil et des choses comme ça, avec une qualité pas tout à fait équivalente à une console, mais pas très loin.

NoRecess — Ce que j'ai fait dans ce jeu, ça ne se voit pas trop. Je me souviens qu'il y avait un mode customer support — ce sont les choses cachées d'un jeu vidéo. Une personne a peut-être envie de se faire rembourser quelque chose qu'elle a acheté, alors j'ai fait un programme à utilisation interne : affiche-moi tout l'inventaire de tel joueur, assigne-lui tel objet, donne-lui gratuitement ça.

NoRecess — C'était un jeu intéressant parce que ça s'adressait vraiment aux enfants, et je pense que c'est aussi un des problèmes de ce jeu-là. Les enfants n'ont pas le droit de dépenser de l'argent aux yeux de la loi. Il y avait tout le temps besoin de l'accord d'un parent, d'un tuteur. Le vrai truc, c'est que les enfants de huit ans n'ont pas le droit de faire des dépenses, et c'était bien encadré.

NoRecess — Une autre chose amusante : au début on avait un système de chat, mais on avait vraiment peur que des gens s'en servent — que des adultes mal intentionnés cherchent des enfants là-dedans, ou même que ce soit vulgaire. Donc à la fin il y a eu juste un système d'émotions et d'icônes, et il n'y avait plus cette notion de chat où je tape. C'est dommage, c'était une vraie feature, mais on l'a retirée justement parce que c'était pour les enfants.

NoRecess — Le développement en tant que tel était très sympa, ça s'est bien passé, je travaillais avec des anciens d'Ubisoft, j'aimais bien l'univers, et je venais d'être papa deux fois, donc ça allait bien dans le tableau.

NoRecess — Après Chima, il y a eu un projet interne qui a été lancé, et je n'en dirai pas plus — mais ça m'a un petit peu démotivé, parce qu'à un moment ça a été annulé. Ce qui nous amène en 2017.

Dr JVtek — Tu peux nous dire sur quelle console, ou PC, ou même pas ça ?

NoRecess — Je ne peux vraiment pas le dire. Je suis un petit peu désolé.

Dr JVtek — On le sait, et tu n'es pas le seul. Jusqu'à présent on a eu beaucoup d'anciens qui ne sont plus dans l'industrie et qui peuvent lâcher des choses. Toi, tu es encore dans l'industrie — je préfère le préciser pour tout le monde — et c'est du coup compliqué de tout dire, ce qui est logique.

NoRecess — Les gens ne se rendent pas compte : ce sont des histoires de gros sous au niveau du marketing. Il y a une sorte de gestion du hype — quand tu communiques à tes joueurs, les premiers screenshots, c'est réfléchi, parce que tu sais que derrière tu vas avoir d'autres choses à montrer. Tout est prévu jusqu'au lancement et même après. Et si tu viens divulguer une information, ça casse ça.

Dr JVtek — Le fait que tu dises ça est intéressant pour ce live aussi, parce que ça fait partie de la problématique, et c'est une des raisons de l'existence de ce live. Aujourd'hui on ne voit plus les programmeurs, on ne voit plus les développeurs en général, parce qu'ils sont cachés par le marketing et par les éditeurs. Avoir un témoignage comme le tien permet de donner cette explication. Et c'est vraiment important, quand tu es dedans, que ces choses-là soient respectées — parce qu'il y a tout un tas de personnes qui deviennent complètement débiles sur les réseaux sociaux, qui peuvent insulter ou menacer des personnes parce que telle ou telle chose qu'ils voulaient n'est pas arrivée. Et ça peut aller très loin.

NoRecess — On l'a vu à Montréal.

Dr JVtek — C'est pour ça que je dis que c'est important, et c'est tout à fait respectable, et merci de ce témoignage.

12Autodesk, Stingray, et un point d'arrêt dans un casque

À partir de 02:24 — voir ce moment sur YouTube

NoRecess — En 2017, j'ai quitté Warner pour intégrer Autodesk. Je me suis dit : j'avais fait quand même pas mal de tooling après beaucoup d'années dans un contexte de production de jeu, alors pourquoi ne pas franchir la porte et aller chez les gens qui font les programmes que j'utilise tous les jours.

NoRecess — Ce qu'on voit ici, c'est l'engin Stingray, d'Autodesk. Il n'existe plus. Avant c'était Bitsquid — ça va peut-être parler à des personnes — et quand ça a été racheté par Autodesk ils l'ont renommé.

NoRecess — J'ai été embauché pour faire une expérience VR, faire du tooling en VR, un prototype. C'était la première fois que je faisais de la VR. Personnellement, je l'ai vue un peu comme une sorte de bulle où il y avait beaucoup d'intérêt, et maintenant c'est devenu plus niche. Ma perception, c'est que c'est un peu comme les télévisions 3D au début des années 2010 : il y a eu un intérêt et c'est retombé. Ça ne veut pas dire que c'est fini — peut-être qu'il leur manque la killer app, celle qui fait que waouh, il le faut absolument.

Dr JVtek — C'est dommage qu'on ne se soit pas connus à l'époque, parce que je t'ai montré le 3dRudder. Le 3dRudder était fait à la base pour travailler avec Autodesk, pas forcément en VR. Son histoire, c'est que Valerio Bonora était un architecte qui en avait marre de se déplacer dans son design architectural avec la souris, et il s'est dit que ce serait super d'avoir un truc avec les pieds, pour pouvoir se déplacer en même temps qu'il modélise et tourner autour. C'est devenu un produit VR, même sur PS4. On essayait de trouver des contacts avec qui travailler chez Autodesk, et on ne les a pas trouvés.

NoRecess — Deux anecdotes à partager sur la VR. La première, c'est un concept de développeur : le point d'arrêt, le break point. Les personnes qui ont expérimenté ça en VR comprendront. Vous avez le casque sur la tête, ça tourne à cent vingt FPS, vous naviguez, et d'un coup vous avez une erreur de programmation et l'application se met en pause. Et là, d'un coup, ce n'est plus rafraîchi, il n'y a plus rien qui vient dans le casque, et donc le casque flippe super rapidement les images qu'il a. C'est statique, et tu regardes ça, et je vous le dis : c'est la nausée. Immédiate. C'est à vomir comme truc.

NoRecess — Et ce truc-là fait penser à SOS Fantômes, le gars qui n'a pas la bonne carte et qui reçoit son choc électrique. J'avais l'impression d'être ça. Merde, j'ai mal programmé. Et en plus, pourquoi moi ? Parce qu'on n'était que deux à faire de la VR dans notre département. Je me sentais vraiment comme puni à chaque fois qu'il y avait un bug. Ça me fait sourire maintenant, et je suis persuadé que ça a largement évolué.

Dr JVtek — Ça a un peu évolué, mais je pense que le truc ultime, c'est ce que tu as sur le Vision Pro, parce que quand tu codes en Vision Pro tu peux coder en ayant le casque complètement sur la tête. Non seulement c'est transparent et tu vois l'extérieur, mais tu peux aussi mettre l'écran de ton Mac en tant qu'écran sur lequel tu codes, et lancer à partir de là, ce que tu ne peux pas faire sur le Quest — il n'y a pas d'API pour ça.

NoRecess — L'autre truc avec la VR, pour les applications sérieuses qu'on faisait, c'est d'avoir ton bras en l'air. Tu peux le faire pendant plusieurs minutes, mais tu ne peux pas rester des heures et des heures à faire ça. Tu es fatigué physiquement, ça ne marche plus.

NoRecess — Et une chose curieuse sur cet engin, vous allez comprendre pourquoi. Dans un seul exécutable, tu avais du code natif C++, tu avais du C#, et tu avais du JavaScript — ils avaient intégré V8 dedans. Et il y avait du Lua pour ceux qui ne voulaient pas faire du C++.

Dr JVtek — Et maintenant tu as aussi du Python dans tous les outils Autodesk. Ça fait encore un langage en plus. Et si tu fais du Maya c'est encore pire, parce que tu dois avoir le MEL en plus, vu que Maya a été écrit en MEL à la base.

NoRecess — Pour être honnête, je ne suis pas fan. Deux layers, ça me suffit. Donc les call stacks étaient assez plaisantes à décrypter.

NoRecess — Ce que j'ai observé pendant longtemps, c'est que tu faisais ton runtime en C++, ton UI était faite en C#, et tu intégrais ton runtime directement dans le viewport — ta vue de jeu, c'était ton viewport, et tu mets tes panels autour, en C#. C'est ce que j'ai vu sur pas mal d'engins.

Dr JVtek — Moi j'étais malade, je faisais tout en MFC.

NoRecess — L'histoire du CPP généré avec le bloc surtout ne pas toucher, c'était une source infernale d'erreurs.

Dr JVtek — Tu as ça dans Unreal aujourd'hui.

NoRecess — MFC, ça se voulait comme du C++ avec de la programmation objet, mais c'était juste un layer par-dessus l'API Win32, et ça se voulait objet jusqu'au moment où, d'un coup, ça prend une structure en entrée — la même structure que celle que tu utilisais de toute façon.

Dr JVtek — Je suis d'accord, c'était une version étendue du Win32, et comme le Win32 a des notions de classes qui n'ont rien à voir avec des classes, ça devient compliqué. Si tu n'es pas un pro de ça, tu peux vite être noyé. Mais moi j'aimais bien.

NoRecess — Malheureusement, Autodesk avec Stingray, il fallait se rendre à l'évidence : ça n'arrivait pas à compétitionner par rapport à Unity et Unreal. Ça a été annulé en interne, et franchement je ne leur en veux pas, je comprends.

13Une année chez Unity

À partir de 02:35 — voir ce moment sur YouTube

NoRecess — Donc je vais taper chez les voisins — et littéralement chez les voisins, parce qu'Unity était à trois buildings à côté. En 2018, j'avais vraiment cette volonté de rester sur les moteurs commerciaux, et ça m'avait semblé être une belle opportunité d'entrer chez Unity. Donc j'ai fait tout le processus de recrutement.

NoRecess — C'est une compagnie très intéressante et ils méritent leur succès, dans le sens que leur noyau de jeu est vraiment très bien fait, très bien implémenté. Je n'ai rien à redire contre ça. Mais dans mon poste, je voulais être chez Unity et faire un petit peu quelque chose de différent, et je me suis remémoré mes expériences online chez Warner. Donc j'ai intégré l'équipe licensing — l'équipe qui gère les licences, ce qui te dit quand tu lances l'éditeur que ta licence est activée. On a réécrit au complet le système de licence.

NoRecess — Malheureusement, c'est beaucoup trop sensible pour que je donne plus de précisions.

NoRecess — L'équipe était très compétente, c'était plaisant de travailler là-bas, mais vraiment, la production de jeu commençait à me manquer. C'était bien d'être de l'autre côté, mais à un moment tu fais de la tech et tu as juste des petits samples pour jouer avec. C'est le fun de revenir sur la vraie chose, parce que je m'aperçois que je suis une personne qui — c'est encore le thème de ce qu'on dit. Moi je dis qu'un développeur de jeux vidéo, au sens large, est la personne la plus passionnée du jeu vidéo. Plus passionnée que n'importe quel joueur.

NoRecess — Je vais t'avouer un truc : je suis triste d'en savoir trop sur la création des jeux vidéo. Quand j'étais adolescent, quand je voyais un jeu, je ne réfléchissais pas à toutes les affaires techniques. Maintenant quand je regarde un jeu, je me dis : ah, ça, ils l'ont fait comme ça, ou je devine comment c'est fait.

Dr JVtek — Je comprends bien. Quand je joue à un jeu, je ne joue pas vraiment, j'analyse. Je joue en mode hyper easy parce que je veux avancer dans le jeu pour voir le jeu. Je me fous de la partie fun que d'autres pourraient apprécier. Donc de certains côtés, oui, ça fait de la déformation professionnelle.

NoRecess — Unity avait une particularité assez fantastique. Unity est réparti sur plusieurs studios dans le monde, et une fois par année ils appellent tous les développeurs et les mettent dans une place pendant une semaine, et tu fais à peu près ce que tu veux. Tu t'inventes un projet, pourvu que ça utilise Unity. Je ne sais pas si tu te rends compte, c'est gros : il y a plus de mille personnes chez Unity.

Dr JVtek — Ils étaient à trois mille ?

NoRecess — Je te parle de quand j'y étais, entre 2018 et 2019. Donc beaucoup de monde réuni au même endroit, dans un cadre idyllique — je ne plaisante pas, on était au Danemark, dans une salle énorme.

Dr JVtek — Unity est une société nordique, et on ne le sait pas suffisamment.

NoRecess — Et j'avais rencontré les créateurs d'Unity en 2008 dans une conf Nintendo, à Hollywood, dans le ballroom d'un de ces hôtels des stars, où je suis resté une semaine. On avait notre table, on présentait notre solution, et la table à côté, c'était les créateurs d'Unity. Une chose m'avait un peu choqué à l'époque. Déjà, il faut savoir qu'Unity a été créé sur Mac à la base, ce n'est pas du tout un truc PC. Ils étaient nordiques, du Danemark. Et ils venaient dans cette conf Nintendo parce qu'ils présentaient la version Wii — la Wii était la première console sur laquelle Unity a été développé. Et ils étaient en C#.

NoRecess — Donc déjà, pour moi, il y avait un problème : tu codais en C# sur Mac, C# étant un langage Microsoft. Mono, à l'époque, qui est la version open source d'un langage déposé par Microsoft. Sur Mac, et ça tournait aussi sur la Wii, qui n'avait rien à voir avec tout ça. En tant que développeur qui essaye d'optimiser les trucs et de faire du code optimisé, ce n'était pas dans ma logique d'optimisation.

Dr JVtek — Il faut voir ça un peu comme si le C# était plus utilisé comme un moteur de script ou d'exécution, parce que le C# est un langage très accessible. Tu fais tout ton jeu avec ça et c'est plaisant.

NoRecess — À part quand tu dois faire les interfaces avec les trucs par-dessous.

Dr JVtek — C'est toujours ce que j'ai fait, et c'est pour ça que j'ai beaucoup de mal avec Unity — ça m'a un peu rebuté. Dès que tu dois faire des interfaces avec le C++, c'est mal foutu.

NoRecess — Je n'ai pas fait assez de code client avec Unity pour vraiment argumenter.

NoRecess — Mais réunir tous les développeurs ensemble — et c'est fantastique — on avait réussi à se faire un clan de demoscene dans cette conférence-là. Et accroche-toi bien : c'était l'ambiance demo party, mais avec le petit verre de vin blanc. Il y avait un truc qui ne collait pas. J'ai fait la connaissance de tous les demomakers de chez Unity à ce moment-là, vraiment des gens très talentueux, et il y en a beaucoup. J'en garde un plaisir fantastique, de cette semaine-là. Imagine autant de créativité : ce sont tous les programmeurs qui ont fait la techno Unity, tu les mets tous physiquement dans une même pièce et tu leur dis : faites ce que vous voulez, mais il faut que ça utilise Unity.

Dr JVtek — C'est là que tu as rencontré Léonard ?

NoRecess — Oui — Arnaud Carré, demomaker pour ceux qui connaissent, et développeur chez Delphine à l'époque où j'y étais.

NoRecess — Et c'est un incubateur de projets en interne : il y a vraiment eu des débouchés commerciaux suite à des prototypes faits dans ce cadre-là. Mais tout a une fin, et avec les affaires de covid ce n'était plus possible. À partir de la covid, ces événements-là ont été annulés, donc j'ai été comme dans les derniers à pouvoir en bénéficier.

14Gotham Knights, et dix ans de télétravail

À partir de 02:44 — voir ce moment sur YouTube

NoRecess — Donc je me questionne très sérieusement. Je suis à Montréal, il y a beaucoup de studios et beaucoup d'opportunités, et j'ai regardé mon nombril en me demandant où je préférais être au quotidien. Parce qu'il faut que tu saches que j'ai eu ma fille en 2009 et mon fils en 2011, et à partir de ce moment-là la famille et ma qualité de vie ont vraiment pris le dessus. Je prends moins de risques — même si j'ai changé beaucoup d'emplois — et je favorise la stabilité. Et chez Warner, les gens étaient vraiment super plaisants à travailler avec.

NoRecess — Alors je me suis dit : je vais essayer chez Warner. Je parle avec mon ancien chef de projet et je dis : bon, je vais faire un test technique. Et mon ancien chef me dit : non, mais c'est bon, on sait qui tu es. Tu veux revenir, tu reviens. Rien que ça — une poignée de main, et je peux revenir. Pour moi c'était le grand retour dans la famille, et ça n'a pas manqué.

NoRecess — J'ai travaillé sur Gotham Knights du début jusqu'à la fin, en tant que programmeur système, et j'ai eu deux grosses tâches là-dessus. Ce jeu-là est fait avec l'Unreal Engine 4.

Dr JVtek — C'est vrai que le 4, c'est plus compliqué de faire un open world dessus. Le 5 est plus simple, mais à l'époque il fallait que vous vous adaptiez, parce qu'il n'est pas prévu pour l'open world.

NoRecess — En effet, il y a eu du travail à faire — un peu comme sur Far Cry, quand on parle de subdivision.

NoRecess — Ma première tâche, c'était un outil de visualisation des budgets.

Dr JVtek — Explique bien, parce que budget, ça parle finance, alors que non, ce n'est pas du tout ça.

NoRecess — Pas du tout finance. Vous savez qu'un jeu, ça prend des assets, ça prend des animations, ça prend des textures, un peu de tout, mais on est limité par des choses — soit par la RAM, soit par le CPU. Mon outil était surtout concentré sur l'utilisation de la mémoire : à tout moment tu pouvais savoir c'est quoi le graphe de scène, ce qu'on a en mémoire, donc on voit tous les objets. Et ça devient très subtil, parce qu'un lampadaire dans un jeu, ça va être toujours le même lampadaire qui va être répété. Donc cet outil-là te permet de voir la réutilisation d'un asset, et ça c'est très intéressant.

Dr JVtek — Donc ton outil te permettait de connaître la mémoire pendant le jeu — la mémoire finale dans le jeu, affichée. Pas une prédiction avant.

NoRecess — Tu ne peux pas le faire dans l'éditeur, l'éditeur triche. Tu as moyen de faire des prédictions, mais c'est plus compliqué. Et le principe, c'est qu'il faut le dire aux artistes. Si tu ne donnes pas de limite, s'il n'y a pas de budget, il n'y a pas de limite et ils font ce qu'ils veulent. Ça ne marche pas comme ça dans la vie. Ça n'a pas été la sauce magique — c'était juste un outil d'information pour les artistes techniques — mais avoir ça sous le nez, c'est une information précieuse.

NoRecess — L'autre chose, c'était la partie online. On peut jouer en multiplayer dans ce jeu-là, et je me suis occupé de la partie matchmaking : rejoindre une partie, et si pour une raison X ou Y on ne peut plus la rejoindre, présenter ça à l'utilisateur. J'ai passé vraiment beaucoup de temps là-dessus. Il y a toute une infrastructure derrière qu'il a fallu maintenir, et qu'il faut maintenir encore de nos jours — même si je suis passé depuis sur un autre projet, je dois régulièrement mettre le nez dans les serveurs de ce jeu-là pour m'assurer que ça fonctionne bien.

NoRecess — J'ai beaucoup aimé ce jeu-là, pour l'ambiance, les personnages qui sont vraiment attachants, il y a une vraie histoire derrière, et les boss fights sont très intéressants. Et c'est super beau visuellement. Je ne l'ai pas encore fini, malheureusement, parce que j'ai trop vu de séquences. Les jeux vidéo de nos jours se calquent assez souvent sur Hollywood, avec les histoires et tout ça, et tu ne veux pas être spoilé.

NoRecess — Et c'est là que ça devient intéressant. Il y a eu la covid en mars 2020, ça n'aura échappé à personne, et je me souviendrai toujours de mon chef d'équipe qui me dit : bon, là on va commencer à travailler depuis la maison, ne t'inquiète pas, ça devrait être quatre, six, peut-être huit semaines, mais pas plus. Donc je prends tout mon truc, et je n'aurais jamais cru que c'était la dernière fois que je travaillais physiquement dans un studio.

NoRecess — Depuis ce temps-là, je ne fais que du télétravail, à mon plus grand bonheur. Le télétravail, ce n'est pas pour tout le monde, mais pour moi ça a très très bien fonctionné. J'habitais Montréal, donc une heure de transport le matin et une heure le soir — c'est magnifique de ne plus avoir ce temps-là.

NoRecess — Et je trouve qu'il y a de nouvelles opportunités intéressantes en matière de communication dans le télétravail. Ne serait-ce que les écouteurs. Je suis — comment dire — difficilement bilingue.

Dr JVtek — Tu es à Montréal et tu ne parles pas anglais ?

NoRecess — Même si tout le monde parle français là-bas. Je vais préciser : parler anglais dans un contexte professionnel, où on me parle d'informatique et de jeux vidéo, je n'ai aucun problème, je suis cent pour cent compétent. Mais va me demander de commenter la dernière crevaison que j'ai eue sur l'autoroute, c'est déjà des fois un peu plus difficile — je manque de vocabulaire. Et pourquoi je te dis ça : c'est que quand j'utilise les écouteurs, dans le contexte du télétravail, ça me permet parfois de mieux me concentrer sur une conversation, alors que des fois, quand on était tous ensemble en réunion, ce n'était pas le cas.

Dr JVtek — Je travaille beaucoup mieux en télétravail qu'en vrai. Mais il ne faut pas utiliser le télétravail en disant : je suis en vacances. Et à l'opposé, tu ne vois pas les heures, donc des fois tu travailles plus. Il y a des personnes qui s'aperçoivent qu'elles travaillent beaucoup plus d'heures en télétravail parce qu'elles ne savent plus s'arrêter.

NoRecess — En télétravail tu pourrais être plus relax, mais je m'impose des règles. Je commence tous les jours à la même heure le matin, et dès que je commence, j'ai les dents brossées, je suis habillé, et je me présente bien — comme si j'étais au bureau en personne. Ça me semble très important, et même mon cerveau se met : puisque tu as fait l'effort de bien t'habiller, la prochaine étape c'est que tu commences à travailler. Je me suis développé une certaine discipline.

NoRecess — Ça n'a rien changé sur mes horaires de travail en réalité. Je suis pas mal un lève-tôt, je suis à sept heures trente devant mon ordinateur, et l'overtime, c'est seulement s'il y a un besoin — sinon je ne fais pas d'overtime pour faire de l'overtime.

Dr JVtek — Qu'est-ce que ça a changé sur les méthodes de travail, notamment avec les consoles ?

NoRecess — Au début j'avais mes dev kits à la maison, mais j'avais la sensation que ça bouffait trop d'électricité. Quand tu as plusieurs kits chez toi — et moi je faisais du multiplayer, de l'online, donc ce n'est pas un kit qu'il me fallait, c'est genre quatre kits si je voulais tester du coop à quatre joueurs. Donc au début j'ai été sur une configuration comme ça, parce qu'on ne savait pas, on s'est adaptés. Et après ça, tous les kits, on les a ramenés au studio. Il y en a encore quelques-uns qui aiment ça.

NoRecess — Les consoles se sont adaptées. Il y avait déjà des micro-fonctionnalités pour faire ce type de télétravail sur la PlayStation bien avant la covid, et ils les ont encore simplifiées. L'automation — être capable de lancer une console à distance — ça existe depuis très longtemps. Je ne sais pas si c'était là sur la 360, mais c'était très certainement là avec la génération de la PS4.

Dr JVtek — Une question par rapport au télétravail : tu nous parlais tout à l'heure de l'importance des personnes avec lesquelles tu bosses. En étant en télétravail, ça ne te manque pas ?

NoRecess — C'est sûr que tout n'est pas cent pour cent beau dans le contexte du télétravail. Mais nos meetings d'équipe, par exemple, on aime ça les faire démarrer cinq minutes plus tôt, donc ça permet de dire bonjour et de demander comment était ta fin de semaine. Et je vais être honnête avec vous : ça m'est arrivé de faire un meeting avec une personne juste pour parler, pour se transmettre des nouvelles de la famille. C'est anecdotique, c'est plus dans le temps des fêtes.

NoRecess — J'ai la chance d'avoir mes enfants qui viennent manger le midi chez moi, et ma conjointe aussi, et c'est un peu ce qui me tient socialement. J'imagine que tous les employés ont plus ou moins leur truc. Mais c'est sûr que le team building en a pris un coup. Ça marche très bien pour moi parce que je connais mes collègues de longue date — on est une petite équipe à l'intérieur de la grande équipe. Si je venais prendre un nouvel emploi immédiatement cent pour cent télétravail, il y a des chances que ce soit bien plus l'aspect business, professionnel, et moindrement la personne. Mais chez Warner en ce moment, ce n'est pas ce que je ressens.

NoRecess — Et il y a des choses — par exemple le party de Noël, qui est une institution au Québec. Pendant le temps des fêtes, toutes les compagnies réunissent tous les employés, soit dans un restaurant, soit dans une salle.

Dr JVtek — Ça existe en France aussi, mais ça dépend de la taille des sociétés. Chez Delphine, on en a fait un après que la boîte a coulé.

Dr JVtek — Ce qui doit te manquer malgré tout, c'est le phénomène machine à café — rencontrer quelqu'un que tu n'avais pas prévu de rencontrer, et qui du coup te soumet un problème ou te parle d'un truc.

NoRecess — Ça arrive souvent en fin de réunion : on s'est dit ce qu'on avait à se dire, et tu finis par — et toi, comment ça va sinon ?

NoRecess — Une dernière chose sur le télétravail, et c'est super important : le cadre de travail. Quand la covid est arrivée, dans mon ancienne maison, j'étais dans le sous-sol, c'était mal éclairé, avec une déco qui ne marchait pas — ce n'était pas fait pour ça. Vu que j'habite maintenant loin de Montréal, très loin même, en région, c'était très important que dans ma nouvelle maison j'aie mon propre bureau, avec une porte qui ferme, qui soit lumineux, et avec les choses que j'aime autour de moi, pour que je me sente à l'aise. Le cadre, c'est super important.

Dr JVtek — Il y a aussi une notion de confiance.

NoRecess — Exactement. Si le gars qui a des années d'expérience s'amuse à faire l'idiot chez lui et à tricher sur les heures, à voler l'employeur, ça va se remarquer tôt ou tard, et il ne pourra plus fournir. C'est une notion de confiance, c'est tout. Et ceux qui ne font rien, ça se voit assez vite.

15Les affiches signées, le Québec et la France

À partir de 03:05 — voir ce moment sur YouTube

NoRecess — J'ai un gros attachement au travail que j'ai fait, et j'ai une particularité sur chacun des projets sur lesquels je travaille : j'essaie d'avoir une affiche, une grosse affiche, que je fais signer par chacun des développeurs. Et je la fais laminer — mettre dans la résine — et je la mets dans mon bureau.

NoRecess — Donc là, ça c'est Far Cry, avec tous les gens de l'équipe qui ont signé. Quand je vois ça, juste un coup d'œil, ça me fait remonter plein de bons souvenirs, parce qu'il y a des personnes avec qui j'ai travaillé par la suite et avec qui je suis toujours en contact aujourd'hui. J'ai fait pareil avec Deus Ex — encore une fois, une affiche que j'ai demandé à tout le monde de signer. Et c'est amusant de voir cette image, parce que le personnage principal a de l'alcool et il fume, et ça a été retiré plus tard. Et une dernière, Gotham Knights. C'est un peu mon tableau de chasse. C'est important pour moi que tous les gros projets qui ont eu un impact aient ça.

NoRecess — En parallèle, je conserve sous blister tous mes originaux des jeux sur lesquels j'ai travaillé. Ils ne sont jamais ouverts. À un moment, mon frère est venu dans mon bureau, et il a fait le geste pour ouvrir le plastique — oh là là, non, surtout ne fais pas ça.

Dr JVtek — Au pire tu le rachètes en double et tu joues.

NoRecess — Ce n'est pas pareil, parce que celui-là, c'est la compagnie qui me l'a donné. Quand tu es employé chez Warner, tu as accès gratuitement aux jeux.

Dr JVtek — Ce n'est pas partout. Chez Ubisoft ça ne fonctionne pas comme ça.

NoRecess — Tu es limité à quatre jeux Warner par an.

NoRecess — Parlons du Québec par rapport à la France. Ça a été un grand Eldorado pendant quelque temps, une porte de sortie pour beaucoup de monde dans l'industrie française du jeu vidéo, comme tu disais, quand il y a eu certaines crises. Ça peut être une belle issue professionnelle pour les Français qui veulent continuer à travailler dans l'industrie.

NoRecess — J'ai pris quelques points intéressants dans mes notes. Il y a un très grand vivier de compagnies — indé, triple A, ce que tu veux, il y a vraiment tout à Montréal, et je ne plaisante pas, c'est vraiment une bonne chose.

Dr JVtek — Depuis tout à l'heure tu dis compagnie, et je ne sais pas si tout le monde comprend — c'est le mot anglais. En français, c'est société.

NoRecess — Tu me parlais de crise en France, et je n'ai rien connu de ça. Ici au Québec, je n'ai jamais vécu l'insécurité de l'emploi — et je touche du bois, parce que je sais que c'est en train de vaciller un peu ces derniers temps, avec les crédits qui sont en train d'être réduits et on ne sait pas trop ce qui va se passer.

NoRecess — Les compagnies dans lesquelles j'ai travaillé offrent souvent une certaine stabilité, mais on n'est jamais à l'abri d'une mauvaise chance. Je l'ai d'ailleurs vécu deux fois. Chez xtranormal, il y a eu une partie de licenciements à un moment, et ça sentait mauvais. Et chez Autodesk, la compagnie va très bien, c'est une très bonne compagnie, mais eux c'est stratégiquement qu'ils ont décidé d'arrêter le produit. Il y a eu du replacement en interne, mais la majorité du monde est allée dehors.

NoRecess — Sincèrement, j'ai toujours été bien traité, avec des salaires compétitifs. Je ne roule pas en Ferrari, ce n'est pas du tout le truc, mais c'est assez pour que je vive bien avec ma famille. Donc, beaucoup d'opportunités à Montréal.

NoRecess — Quelque chose de très différent par rapport à la France : en France, c'est toujours trois mois de préavis quand tu quittes une société.

Dr JVtek — Ça peut être plus, ça dépend de ton statut.

NoRecess — Au Québec, c'est deux semaines maximum. Quand tu poses ta démission, tu as deux semaines pour vraiment partir, donc tu es mieux d'avoir un bon plan. Ce qui peut faire peur aux Français, en entendant que c'est insécuritaire — c'est aussi parce que c'est aussi facile de récupérer un emploi. Le marché du travail est beaucoup plus actif. Les gens sont beaucoup plus mobiles dans leur expérience. Il y a des gens qui sont très stables, dix ans à la même place, et c'est correct, mais il y a une plus grande volatilité, et c'est assez facile de sauter d'opportunité en opportunité.

NoRecess — Dans un rayon de trois kilomètres à Montréal, tu ne peux pas compter le nombre de compagnies, tellement il y en a. Et j'inclus aussi les compagnies qui font du développement logiciel, et pas juste du jeu vidéo.

Dr JVtek — Historiquement, Montréal a une très grosse histoire au niveau du graphisme informatique. Quasiment toutes les sociétés graphiques étaient là. Autodesk est originaire de Montréal, et Alias, et Matrox.

Dr JVtek — Mais fais attention, parce que d'après ce que j'entends, comme ils sont en train de réduire le crédit d'impôt, ça peut malgré tout faire partir beaucoup de sociétés d'un coup.

NoRecess — Relativise. Regarde les studios aux États-Unis, fais la conversion du dollar canadien, ou en euros, et tu verras qu'on est encore très compétitifs. Si une compagnie qui a une dimension mondiale cherche à ouvrir un studio, le Québec est très très compétitif, même s'il n'y avait plus de crédit d'impôt.

Dr JVtek — Tu as peut-être complètement raison, mais je dis qu'on ne sait jamais, ce sont des choses qui peuvent changer. Et la crise qu'on a eue en France, surtout avec ce qui est en train de se passer — le coût des éditeurs qui abusent parfois sur les budgets, des budgets presque trop gros par rapport au marché, et le fait qu'il y a un peu de remplissage dans certains jeux — ça peut avoir des impacts, parce qu'un jeu qui a coûté très cher et qui n'est pas rentabilisé, ça peut faire mal.

NoRecess — Je ne commenterai pas.

Dr JVtek — Tu ne commentes pas, mais je te donne le point. Ce que je veux dire, c'est que ça a dû faire un gros trou, et si tu en as deux ou trois comme ça, ça peut faire mal.

NoRecess — Quant à mon expérience en tant que Français — j'ai quand même travaillé trois ans chez In-Fusio, vraiment en France avec des collègues français — la différence de travailler ici au Québec avec des Québécois, elle est énorme au quotidien.

Dr JVtek — Tu as les avantages des deux mondes : l'avantage anglo-saxon et l'avantage francophone, dans la philosophie des personnes.

NoRecess — C'est exact, mais il y a aussi le fait qu'un Français va parfois être plus rentre-dedans. Alors que le Québécois va peut-être être plus réfléchi. Je vais citer un exemple : il n'y a qu'un Français pour demander devant tout un groupe de programmeurs qui a écrit cette atrocité, avec un copier-coller d'un bout de code. Jamais tu ne verrais un Québécois faire ça. Il y a un respect.

Dr JVtek — Je suis français, je n'ai pas bougé, je suis français.

NoRecess — Ça vient aussi de ma manière de raisonner. Je suis un peu introverti, et ça va bien avec ma manière de penser.

Dr JVtek — Parlons un peu du froid, parce que Montréal veut dire froid. La première fois que j'y suis allé, une des choses qui m'avaient choqué, c'est que tu sors de l'aéroport et tu prends une différence de température qui est énorme, et ça te coupe la respiration. J'y étais allé l'hiver, bien sûr, et j'allais chez Ubisoft. Donc j'arrive de France en me disant qu'il va faire super froid, et je prends le gros manteau que j'avais presque acheté pour l'occasion — vraiment le gros truc. J'arrive chez Ubisoft, dans les bureaux, et je passe de moins trente à plus trente. Et du coup je suis mort de chaud toute la journée.

NoRecess — Tu as un peu surestimé. Je pense que tu t'es habillé comme pour faire du ski toute la journée. Si tu quittes l'autobus pour aller dans le métro, une petite veste, ça suffit.

Dr JVtek — Mais personne ne me l'a dit. Et à Montréal, quand il fait froid, tu vis en sous-sol — les métros sont en sous-sol, la vie de surface est en sous-sol.

NoRecess — Attends, on n'est pas tous des fourmis non plus.

Dr JVtek — Il y a une vie en sous-sol quand même. Tu as des commerces qui sont reliés ensemble.

Dr JVtek — Et je te rajoute un truc fun à mon anecdote : cette fois-là où j'étais venu avec une valise de trucs super chauds, on me dit : en fait la semaine prochaine tu ne rentres pas, tu as un rendez-vous à San Diego. Donc je suis passé de moins trente à plus trente, et je n'avais rien d'autre, il a fallu que je rachète des habits.

NoRecess — Quant à mon cheminement personnel : j'étais beaucoup à Montréal au début, et il y a vraiment un quartier français — le quartier Mont-Royal — avec beaucoup de Français dedans. Et après ça, quand il y a eu l'histoire de la covid et que Warner a autorisé le télétravail à plein temps, c'est là que je me suis décidé à aller en région, pour une meilleure qualité de vie. Il fait même un peu plus froid ici, techniquement — je suis vraiment à l'est, à l'est du Québec, on va dire. Mais c'est une autre qualité de vie, et les gens sont vraiment différents. Personnellement, j'aime.

NoRecess — Et c'est pour ça que c'est important pour moi de garder un peu ce rattachement à la France, et d'avoir mon petit jardin, on va dire.

16Ce que je dirais à quelqu'un qui commence

À partir de 03:24 — voir ce moment sur YouTube

NoRecess — À travers les années, j'ai repéré des choses à faire ou à ne pas faire dans cette industrie.

Dr JVtek — En gros, tu es en train de parler à toi-même quand tu avais vingt ans.

NoRecess — Carrément. Donc en gros : quand vous intégrez une nouvelle compagnie de jeu, essayez si possible de vous trouver un mentor, ou au moins une personne de référence. Dans chacune de mes compagnies, j'ai grandi en me concentrant un peu plus sur une personne qui m'a donné des workflows, des pratiques, des astuces. Ce sont des relations qui ne sont pas intéressées, c'est amical. Mais si vous pouvez vous imprégner de certaines choses de certaines personnes, vous ferez des pas de géant.

Dr JVtek — Je rajouterais une couche par-dessus : mettez-le sur LinkedIn.

NoRecess — Oui — en fait, c'est ce que je dirais à tous les étudiants, même ceux qui ne sont pas encore dans le monde du travail : faites-vous un profil LinkedIn. J'ai toujours le même depuis le début et ça m'a vraiment servi. Des collègues que j'ai pu recontacter par la suite, qui sont devenus très haut. Et au moment où tu te dis : c'est qui que je connais à tel endroit — ça te dit que telle personne est rendue dans telle compagnie. C'est quoi cette compagnie ? Ah, ce sont des nouveaux. Des fois, c'est important de rester un peu éveillé.

NoRecess — Rester humble en tout temps. C'est super important. Ne pas écraser son voisin. Donner la même importance à tout le monde — ne t'adresse pas différemment à une personne senior et à un stagiaire. Tout le monde est égal.

Dr JVtek — Là-dessus, je suis deux cents pour cent d'accord avec toi.

NoRecess — S'intéresser aux choses qui ne sont pas forcément dans le premier intérêt. J'ai eu une phase où on avait des outils web à faire, et je ne connaissais pas — alors j'ai pris le truc. C'est intéressant de faire des liens un peu à côté. Ne soyez pas juste jeu vidéo, jeu vidéo, jeu vidéo. Tôt ou tard, vous aurez des tâches qui demandent des trucs un peu sur le côté, et c'est important de rester ouvert.

Dr JVtek — Et même au métier. J'ai beaucoup travaillé avec les artistes, avec les graphistes — c'est intéressant, ou avec les musiciens, de comprendre ce qu'ils font et pourquoi. Notamment quand tu fais les outils, parce que tu vas apprendre d'eux ce dont ils ont vraiment besoin et là où ils ont du mal à faire des choses parce que l'outil n'est pas adapté. Et de l'autre côté, eux risquent de t'apprendre comment utiliser Photoshop, ou le logiciel 3D, ce qui va te simplifier la vie, parce qu'à un moment donné tu ne vas pas aller voir un graphiste chaque fois que tu as besoin d'un petit truc. Tu vas avoir besoin de le faire par toi-même.

NoRecess — Exactement, il faut être curieux. Ensuite : essayer de canaliser sa connaissance sur des choses qui sont plus ou moins intemporelles. J'ai fait l'erreur d'apprendre AngularJS 1, qui était un framework web, et quand le 2 est sorti, tout ce que j'avais appris sur le 1 était perdu, parce que tout avait changé. Ça, c'est surtout ce qu'il ne faut pas faire. Pareil pour Entity Framework chez Microsoft. Ce sont des choses qui sont devenues legacy très rapidement.

Dr JVtek — Microsoft est historiquement très bon à ça, et c'est lié à la façon dont Microsoft fonctionne : tous les ans, ils virent et embauchent un tiers du personnel, du coup les nouveaux qui arrivent — un peu le phénomène que tu disais tout à l'heure — se disent : je n'ai pas compris, donc je veux le refaire. Et ça a un impact sur la partie outils et la partie API.

NoRecess — Un autre conseil : savoir dire non, c'est super important. Quand on ne connaît pas, il faut le dire. Quand on ne comprend pas, il faut le dire. Il ne faut jamais mentir, il faut être intègre, il faut reconnaître ses erreurs. C'est du bon sens. Il faut communiquer.

NoRecess — J'ai déjà vu des juniors se mettre dans des situations où je n'aurais vraiment pas aimé être, quand ils disent : oui, ça marche, et en fait tu grattes un peu, et non, ça ne va pas marcher, parce que tu avais des bugs que tu n'avais pas prévus. Sauf que le chef d'équipe, lui, a compris que c'était fait et qu'il peut passer à la prochaine tâche, et là le junior vient de s'exploser lui-même, et ça fait du conflit partout. Donc vraiment, donner la vraie vérité, le vrai statut. Et c'est tout à fait correct de dire je ne connais pas, ou je n'ai jamais expérimenté ça. Les gens vont mieux apprécier ça qu'au contraire essayer de dire oui je connais sans avoir la connaissance derrière, ce qui ne va faire que des déceptions.

NoRecess — Pas de pointage de doigt. L'exemple que je t'ai dit tout à l'heure — qui a écrit cette atrocité — envoyé à trente personnes. Il ne faut pas faire ça. Il faut essayer d'être ce qu'on dit un team player, un bon joueur en équipe. Ne jamais essayer d'écraser l'autre, ne pas le dénigrer.

NoRecess — Personnellement, j'ai un truc : une compagnie, c'est comme une société. Il y a des gens que tu n'aimes pas, et c'est tout à fait normal, on est des êtres humains et on a des affinités avec certaines personnes et pas d'autres. Ce que j'ai développé, c'est qu'avec les personnes que je n'apprécie pas, je m'en tiens au contact professionnel dont on a besoin pour faire les tâches, mais je ne vais pas nécessairement aller vers elles pour leur parler de ma fin de semaine. Et c'est très bien comme ça. Jamais j'irai parler derrière leur dos. C'est un processus qui se fait naturellement : je vais parler de ma fin de semaine avec les personnes avec qui j'ai des affinités, et celles que je n'apprécie pas plus que ça, je m'en tiens au cadre du travail. Pour moi en tout cas, ça a bien marché.

NoRecess — La ponctualité, c'est super important. Quand c'est neuf heures, c'est neuf heures, ce n'est pas neuf heures cinq — évidemment, suivant ton poste, ce n'est pas toujours possible.

NoRecess — Quand tu es dans le cadre du télétravail, ce n'est pas obligatoire, mais essaye si tu peux de toujours mettre ta caméra, pour que tes collègues te voient. Parce que même en télétravail, quand tu regardes sur un appel vidéo, tu vas quand même être porté à regarder ton collègue dans les yeux, même si lui ne sait pas que tu le regardes dans les yeux. Et je trouve que c'est important, tout simplement.

NoRecess — Et, comme j'en parlais tout à l'heure dans le contexte du télétravail, toujours bien s'habiller comme si tu allais physiquement au bureau, avoir une bonne hygiène, et respecter les heures — pas neuf heures un jour, puis sept heures trente le lendemain et n'importe quand après, parce que tu donnes un mauvais message.

Dr JVtek — Et tu as tenu en dix minutes.

NoRecess — Pour ChatGPT — c'est une techno que je commence à intégrer tout doucement. Mon use case, c'est vraiment : indique-moi comment charger un asset de manière asynchrone, et pouf, il te sort l'API que ça utilise, et c'est génial. Je vois ça comme un bon outil, et ça fait vraiment gagner du temps, parce qu'avant je passais un temps fou à aller chercher dans le code source, ou à regarder dans les docs — et souvent les docs n'exposent que l'API, ce ne sont pas des docs qui te prennent en main sur comment faire les affaires.

Dr JVtek — Il y a un autre aspect : au niveau du temps, il tape beaucoup plus vite que toi. Des fois il y a des bouts de code qui sont faciles, ou très simples, et même ça, moi je l'utilise — parce qu'il va beaucoup plus vite que toi. Mais après il faut vérifier, il ne faut pas l'utiliser bêtement sans réfléchir. Moi je me bagarre avec lui : mais attends, tu t'es trompé là, tu as fait ça n'importe comment.

NoRecess — Je pense que c'est important de ne pas oublier que c'est un service en ligne. Tu ne peux pas te permettre de copier du code de la compagnie vers un service dont tu ne sais pas où ça va aller. Déjà ça, ça limite un peu l'utilisation.

Dr JVtek — Bien sûr, mais il y a des LLM qui sont privés maintenant, donc on peut le faire. Ce n'est pas forcément encore arrivé dans toutes les sociétés, mais c'est faisable.

NoRecess — Pour moi c'est vraiment un phénomène nouveau, un phénomène de société. Est-ce que c'est là pour rester ?

Dr JVtek — Moi je pense aussi.

NoRecess — Mes collègues commencent à l'utiliser aussi. Je pense qu'il y a des opportunités, et si on se projette dans cinq ans, dix ans, je pense que ça peut potentiellement changer énormément la manière dont on fait un jeu vidéo. Pourquoi ? Je pense qu'il y aura toujours les artistes, ce sera important d'avoir la main de l'artiste dessus, mais pour du prototypage par exemple : tu es en train de faire un open world, alors génère-moi dix-sept meshes de voiture différents — c'est juste pour de l'habillage, pour donner une idée de ce que ça pourrait être. Ce côté-là, la génération, à mon avis ça a vraiment quelque chose.

Dr JVtek — Et même pour un artiste. J'ai vu le live d'une artiste qui disait : avant, je faisais mes trucs à la commande, et je passais mon temps à faire des choses que je n'aimais pas. Maintenant qu'il y a ChatGPT, on ne fait plus ce genre de commande, donc j'arrive à faire des choses que j'aime, et j'arrive même à gagner de l'argent avec. Ma conclusion, dans une grosse vidéo que j'ai faite là-dessus, c'est justement de dire que c'est un outil, et que cet outil, comme tous les outils, a du bon et du mauvais, et qu'il vaut mieux se l'approprier maintenant que d'attendre et se faire doubler.

17phX, la Revision, et ce qu'est une démo

À partir de 03:40 — voir ce moment sur YouTube

NoRecess — Donc oui, je suis développeur professionnel dans le domaine du jeu vidéo, mais le soir j'ai un terrible secret que je pratique chez moi : j'adore faire de la programmation sur de vieilles vieilles machines. Une en particulier, qui a bercé mon enfance et dont je parlais au début — l'Amstrad CPC, le CPC Plus, et la GX4000.

NoRecess — C'est un hobby, et ce que j'aime faire, c'est programmer dans ces contraintes-là, sur ces petites machines, avec les efforts d'optimisation qui vont avec. Je suis rentré dans l'industrie du jeu un peu grâce aux démos, et j'ai repris ça vers 2008, 2010, mais cette fois-ci pas du tout sur les mêmes plateformes, parce que je voulais des choses différentes de mon travail. Donc c'est l'ordinateur de mon enfance, celui avec lequel j'ai un vrai lien nostalgique.

NoRecess — J'ai fait plusieurs démos, et à chaque fois c'était toujours un petit peu mieux, toujours plus de temps investi. Ce qu'on va voir, c'est ma meilleure démo. Elle a été classée deuxième à la Revision 2018. Je me suis déplacé du Québec en Allemagne pour la présenter, et il y avait neuf cent cinquante personnes dans la salle.

NoRecess — Pour moi, c'était vraiment un gros accomplissement. Il y a plus de cinq ans de développement sur cette démo, dont deux où c'était juste l'apprentissage de comment programmer le chip graphique de l'Amstrad CPC, et faire plein d'autres choses — le player audio et plein plein de choses.

NoRecess — C'est un accomplissement parce que c'est une machine 8 bits. L'Amstrad tourne son Z80 à 3,3 mégahertz, et on commence à s'approcher de choses —

Dr JVtek — Ce n'est pas de l'Amiga, mais tu vois bien que le 8 bits est pas mal dans ses retranchements.

NoRecess — Je me suis vraiment fait plaisir avec ça.

Les deux regardent phX en entier, sans commentaire, avant de reprendre la conversation.

NoRecess — La revoir, ça me fait toujours plaisir.

Dr JVtek — Ce n'est pas mal au niveau techno, il y a des bons trucs, parce que faire ça sur Z80, c'est chaud. Tu as utilisé les astuces au niveau du chip graphique, pour faire des rasters et des choses comme ça ?

NoRecess — C'est clair, c'est tout sur chacune d'entre elles.

Dr JVtek — Et le player YM, c'est du Léonard, ou ça n'a rien à voir ? C'est le même chip, c'est pour ça que je dis ça.

NoRecess — C'est un peu similaire, dans le sens du format YM qu'Arnaud Carré a introduit sur la ST. Mais en gros, je me suis fait le mien. Pour te la faire très très simple, ce qu'a fait Arnaud Carré avec son format : à chaque frame tu donnes une liste de registres, une liste de valeurs, au processeur sonore. Ce qu'il a fait, c'est un dump de ça — donc tu as cinquante lignes de data pour avoir une seconde — et ce qu'il a rajouté, c'est la compression dessus.

NoRecess — Moi j'ai fait quelque chose de similaire, mais dans l'autre sens. Plutôt qu'un dump, je l'ai mis sous forme de player. Le gros défi, c'est que quand un effet prend tout l'écran, en plein écran, il reste très peu de temps machine pour tout faire. Donc se battre pour avoir le player audio le plus petit en temps machine, c'est vraiment intéressant. J'ai adoré ça, j'ai vraiment tripé.

Dr JVtek — Et c'est que de l'assembleur.

NoRecess — C'est certain. Et il y a un côté vraiment amusant par rapport à mon métier : tu travailles la journée sur des gros gros systèmes, puis le soir tu vas peaufiner, tu vas passer une demi-heure juste sur une dizaine d'instructions assembleur. Et ce n'est pas grave, parce que tu sais que tu viens de faire le progrès, de grappiller les cycles.

Un spectateur demande ce qu'est une démo.

NoRecess — En gros c'est ce que tu viens de voir : une succession d'effets graphiques, si possible très intéressants, au point que les gens aient vraiment envie de la voir et de la revoir. Tu essayes de faire les effets graphiques synchronisés sur la musique, et les programmeurs essayent d'exposer les choses les plus bluffantes possible — d'essayer de repousser la machine techniquement là où certains jeux vidéo n'étaient pas capables d'aller. Le contexte de la démo permet parfois de faire ça.

Dr JVtek — Je vais rajouter une couche d'explication. À la base c'était lié aux disquettes qu'on se partageait — sur Amstrad à l'époque, mais après surtout sur Amiga et Atari ST, c'est surtout là que ça a explosé. Dès que tu avais quelqu'un qui trouvait la protection d'un jeu et qui l'avait craqué, pour faire le malin il commençait à faire de plus en plus de choses avant le jeu, pour dire : j'ai mis ma marque, c'est moi qui l'ai craqué. Et c'est là où des programmeurs se sont rattachés à ce type de personne et ont créé des sortes de screens avant les jeux, de plus en plus impressionnants, pour dire : on est capables de faire aussi bien que le jeu. Et de fil en aiguille c'est devenu une sorte de compétition, et en même temps une œuvre d'art. La majorité des personnes à l'époque, c'étaient des Nordiques — peut-être à cause du décalage du jour, leur façon de travailler. Et de fil en aiguille c'est devenu vraiment un art à part entière, sur lequel tout un tas de personnes ont commencé à faire des compétitions en essayant de pousser les machines le plus loin possible.

Dr JVtek — Et ce qu'on vient de voir, c'est vraiment la démo typique de l'époque, dans le sens où on arrive sur une démo qui n'a pas à pâlir devant une démo Amiga — pas vraiment.

Dr JVtek — Je connais bien l'Amstrad, et je connais bien comment fonctionnent les autres machines. Il y a des choses, je ne sais pas comment tu as fait, même si je m'en doute. J'ai vu qu'il y avait beaucoup de dithering, donc je me doute qu'il y a des astuces avec le dithering.

NoRecess — Par exemple, oui.

Dr JVtek — Je pense qu'il y a beaucoup de bidouilles de synchronisation du chip graphique pour pouvoir faire certains effets, ou reproduire plusieurs fois des choses que tu n'as affichées qu'une fois à l'écran.

NoRecess — Tu penses bien. Mais il y a des choses qu'il faut vraiment connaître — il faut connaître l'architecture de l'Amstrad, l'architecture du hardware.

NoRecess — J'ai vraiment bien aimé ça. Mais comme je te dis, j'ai la sensation au fond de moi qu'une page est tournée. Je suis satisfait avec moi-même. Je vais être un petit peu méchant en disant que je me suis un petit peu désintéressé dernièrement de la démo traditionnelle telle qu'on la voit. C'est plaisant, mais parfois je me demande si ce n'est pas un peu futile — après tout, j'ai passé cinq ans là-dessus. Par contre, c'est vrai que j'ai beaucoup appris de cette expérience-là, je me suis vraiment élevé.

Dr JVtek — Je souris à la fin, parce que tu as tous les remerciements aux mêmes personnes de l'époque, les groupes de pirates de l'époque. C'est bien, mais du coup il faudrait réinventer un peu.

NoRecess — C'est vraiment le principe du demomaker, d'aller toujours plus loin.

Dr JVtek — Et ce qui est génial avec l'Amstrad, c'est que la machine est connue. Tout le monde sait ce que peut faire un Amstrad — et pourtant, à chaque fois, il y a une personne qui va te sortir un nouveau truc. C'est là où il y a le challenge, c'est là où tu es obligé de relever le défi.

NoRecess — Ce que j'ai préféré faire plus récemment, c'est appliquer les techniques de demomaker au jeu vidéo. Là, il y a vraiment de quoi se faire plaisir, et c'est vraiment sous-exploité. On connaît les jeux les plus techniques, ceux qui ont été faits par des demomakers, et à chaque fois la différence est flagrante.

18Sonic sur la GX4000

À partir de 03:58 — voir ce moment sur YouTube

NoRecess — Ce qu'on voit maintenant, c'est un remake que je suis en train de faire avec des amis. Moi je m'occupe de la partie programmation, et c'est vraiment Sonic, sur la GX4000.

Dr JVtek — Tu peux nous dire ce qu'est la GX4000 ? Je ne suis pas certain que tout le monde connaisse.

NoRecess — Grosso modo, c'est un Amstrad CPC dans une boîte de console, avec des fonctionnalités graphiques améliorées. Ce n'est pas la grosse grosse machine — mais ces fonctionnalités-là, lorsqu'elles sont exploitées, permettent d'offrir des choses que l'Amstrad CPC classique n'est pas capable de gérer, comme un scrolling horizontal au pixel, en ayant tout le temps le CPU disponible.

NoRecess — Cela dit, la GX4000, techniquement, c'est une console vraiment pourrie si on compare avec ce qui existe à côté. La Master System et la NES sont de vieilles consoles, sorties bien avant la GX4000, et elles avaient la gestion des tuiles en hardware. La GX4000, c'est un énorme frame buffer, et débrouillez-vous avec. C'est-à-dire que les pixels, il faut se les bouger soi-même. Quand il y a un scrolling à gauche, à droite, en haut, en bas, il faut que je complète moi-même, au CPU, toutes les données visuelles. C'est compliqué à faire.

NoRecess — Cette preview-là, pour moi, c'est tout un accomplissement. Je sais pertinemment que si un jeu comme ça était sorti à l'époque, ça aurait eu un potentiel assez énorme. Après, j'ai moins de mérite dans le sens où la documentation technique est disponible, on a des super outils, et moi je développe avec un émulateur.

Dr JVtek — Tu peux nous montrer un peu tes outils, au moins pour montrer comment tu travailles.

NoRecess — Je travaille sur Linux pour faire ça, ce n'est pas parce que j'aime particulièrement Linux, c'est juste pour faire un peu différent de l'OS que j'utilise au travail toute la journée. J'utilise git, évidemment, comme source control, et j'ai du data que je compile entièrement en ligne de commande. Je me suis fait un bête convertisseur en C++ — il n'y a vraiment pas d'interface graphique, c'est vraiment du C++ le plus standard possible. Il lit mes textures, mes fichiers, et ce que fait mon programme, c'est convertir : ça prend tout le data et ça le génère au bon format que j'attends pour la console.

NoRecess — Donc là, je le lance, ça va prendre à peu près une dizaine de secondes — treize — et voilà, j'ai tout recompilé les données. Ça ici, c'est la planche de sprites, l'animation de tout le jeu, et mon programme C++ va convertir ce qu'on vient de voir en des fichiers binaires.

Dr JVtek — Greg demande si ça aurait été faisable à l'époque, ce que tu es en train de faire.

NoRecess — Sincèrement, non, ça n'aurait pas été possible avec les outils de l'époque. Il n'y avait pas d'émulateur comme celui que j'utilise — et je dirais que c'est la beauté de la chose. Il y aurait peut-être eu des choses qui s'en seraient rapprochées. Il y a eu Prehistorik 2, qui techniquement a un scroll hardware et tout ça. Mais avec autant de ces réaménagements de données dans tous les sens que je fais, j'ai un gros doute qu'on aurait eu ça à l'époque. Déjà, à l'époque, pour travailler sur un jeu Amstrad, tu travaillais sur Amstrad.

Dr JVtek — Le cross-dev, ça existait déjà en 88.

NoRecess — Je suis d'accord que ça existait, mais ce n'étaient pas des PC aussi puissants, sur lesquels tu avais des écrans aussi grands. Tu pouvais travailler sur Atari ST, ou Amiga, et envoyer sur l'Amstrad, pourquoi pas — mais c'était le maximum. Tu n'avais pas des PC avec des grands écrans, et ça change beaucoup de choses.

Dr JVtek — Une anecdote, désolé : j'ai fait mon stage d'étudiant de BTS chez Loriciel, et ils venaient de commencer à faire un jeu sur la GX4000 à l'époque — je ne me rappelle plus lequel — et les mecs, ils avaient mal. Ils insultaient cette machine de tous les côtés, notamment le chipson, qui était vendu comme pouvant faire des waves sur une machine avec 64 kilo-octets. Une wave, et tu as rempli la mémoire.

NoRecess — C'est ça. Dans le Sonic GX, j'utilise 512 kilo-octets de stockage pour la cartouche, et on a 64 kilo-octets de RAM, sachant que le buffer vidéo est inclus là-dedans et qu'il prend 32 kilo-octets.

Dr JVtek — Mais tu as des stratégies de programmeur. Il y a des banques, donc tu es obligé de switcher de banque et d'aller chercher. Ça doit être sportif.

NoRecess — C'est très très sportif.

NoRecess — Voilà à quoi ressemble mon code, à peu près. C'est vraiment de l'assembleur, et je me fais plaisir avec ça. Et côté création, j'utilise un éditeur — un éditeur utilisable pour toutes les autres consoles, pas juste pour ce que je fais. Donc ici, je fais contrôle-S, et je vais lancer ça juste pour le fun.

Dr JVtek — Tu viens de casser ton jeu.

NoRecess — Ah, ben oui. Manque de chance, j'ai eu un assert au moment exact où j'exploite mon moteur à fond — juste à faire ça, j'ai pété le budget RAM, parce que je suis déjà à fond.

NoRecess — Ici on a le data qui est généré, on a le code source, et j'ai un petit script qui me permet de prendre le code assembleur, prendre le data généré, et pouf, l'envoyer dans l'émulateur. Donc ce qu'on voit, c'est exactement ce que vous avez vu sur YouTube. J'ai vraiment pété le data pour l'occasion avec le script, mais ce n'est pas grave, on va le voir pareil — je vais aller dans le bonus stage.

Dr JVtek — Ah, tu as fait ça aussi. C'est trop bon.

NoRecess — Je me suis fait plaisir, oui.

Dr JVtek — C'est du scanline horizontal. C'est sympa.

NoRecess — Et à tout moment je peux mettre sur pause ici, puis je peux inspecter mes sprites hardware, je peux voir l'état des registres, je peux voir la palette, je peux m'interrompre au milieu de la frame si je veux, et surtout j'ai le code assembleur ici pour désassembler.

Dr JVtek — Ce que tu vois là, c'est un petit rêve pour un développeur, parce que tu n'as pas que des données texte, de l'assembleur, de la mémoire — ne serait-ce que la palette, et je pense que tu as les registres, les banques de sprites aussi, directement visibles et accessibles dans le debugger. Il n'y a pas beaucoup de debuggers qui le font, entre nous, même modernes.

NoRecess — Ce que j'ai fait, c'est que j'ai pris un émulateur existant, qui s'appelle CPCEC, qui est juste une fenêtre SDL, une fenêtre 2D et c'est tout, et j'ai rajouté tout ça.

NoRecess — C'est un projet super amusant, mais ça bouffe un temps infini. Quand je me suis lancé là-dedans, pour moi c'était un projet de deux ou trois ans et puis c'était plié. Le problème, c'est qu'à chaque fois que j'avançais dans l'implémentation, à chaque fois je m'apercevais : ah mais en fait, je peux faire ça comme nouvelle fonctionnalité ; mais attends, avec telle opti on peut mettre beaucoup plus de map, plus de trucs ; et au fait, un bonus stage serait intéressant. Et à chaque fois, ça grossit.

NoRecess — Donc à un moment il faut que je mette une fin à ce projet-là. C'est un projet perso, donc je peux mettre le temps que je veux à le faire, mais c'est vrai que ça commence à faire — je suis là-dessus depuis 2018 et on est en 2024, et je suis encore loin de le release. Dans ma tête, j'aimerais ça idéalement pour la fin de l'année prochaine.

Dr JVtek — Ce que tu as fait, c'est open source ?

NoRecess — Pas pour l'instant. Par contre, j'ai une bonne pratique de release les sources de toutes mes démos.

Dr JVtek — Ça m'a presque choqué, entre nous, ce que tu disais tout à l'heure, que tu envoyais ton CD au début avec les sources. C'était culotté.

NoRecess — Attends — je fais ça vraiment pour le plaisir. J'ai mon métier qui m'apporte de l'argent. Mon temps de hobby, c'est vraiment pour travailler sur les choses qui me font vibrer et qui m'amusent. Je ne dis pas que ce que je fais au travail ne me fait pas vibrer, mais c'est quelque chose de différent. Là, c'est le défi de faire ça sur la vieille machine de mon enfance. C'est mon petit défi, et il n'y a pas d'objectif financier. Et il y a beaucoup de personnes qui pensent comme moi.

19Le bureau, l'archive et les machines

À partir de 04:12 — voir ce moment sur YouTube

NoRecess — Je vais faire un petit tour de ce que j'ai chez moi. Ici, par exemple, je me suis amusé à imprimer tous les Amstrad 100% dont on parlait. Je l'ai imprimé, vous voyez, du numéro 1 au numéro 49. Et si vous saviez le bonheur que ça m'apporte de lire ces trucs-là — c'est souvent le matin, quand je prends mon café, sur le patio à l'extérieur en ce moment.

NoRecess — C'était une presse qu'on ne verra plus jamais. Regarde le titre de l'article — le pigiste appelle son article Les saucisses de Francfort, et c'est complètement débile, et c'est ça qui est génial. Il y avait un style d'écriture dans ce magazine qu'on ne retrouvera jamais ailleurs. Ça m'a énormément marqué. Donc oui, je fais ça, j'ai une petite bibliothèque chez moi.

Dr JVtek — Moi c'était les Hebdogiciel. Je suis triste, parce que je les avais conservés quasiment tous et je les ai mis dans le grenier chez mes parents parce que je n'avais pas la place, et les rats les ont tous bouffés.

NoRecess — C'est un peu le défi de la conservation maintenant.

NoRecess — Donc ça, c'est mon bureau, ma bibliothèque. La partie à gauche, c'est ma partie rétro, old school — ce sont mes machines, celles qui sont toujours branchées. J'ai voulu faire mon bureau à mon image, vraiment, avec ce qui me fait vibrer. Donc il y a l'Amstrad CPC, l'Amstrad Plus, la GX4000 évidemment, et l'Amiga à côté, un Amiga 600, que j'adore. L'Amiga, c'est une machine que j'adore. Je ne suis pas productif avec — je suis consommateur, je regarde toutes les démos qui sortent, tous les jeux. Mais pour moi c'est une machine de référence, et le Sonic que j'ai fait se rapproche de l'Amiga.

Dr JVtek — Il y a quelqu'un ici qui dit : si tu cherches bien, il y a ma photo dans un des Amstrad 100%.

NoRecess — C'est Ced — le graphiste avec qui je collabore depuis de nombreuses années. C'est mon grand ami.

NoRecess — La photo que j'ai prise, c'est l'Amstrad CPC 6128, et si tu es un peu curieux et que tu regardes le lecteur de disquettes, tu vois qu'il y a une clé USB. Donc tu peux vraiment tout charger à partir de ça. C'est le grand bonheur : j'allume mon CPC et je peux directement browser le file system qui est sur la clé USB, lancer des jeux, des démos, ce que tu veux, et naviguer à travers le file system. C'est beaucoup plus rapide que la disquette de l'époque, et c'est incroyable ce que ça permet.

Dr JVtek — Ça, c'est le port d'extension.

NoRecess — Le port d'extension normal, qui reçoit une carte. Et ça décuple l'Amstrad, je te le dis.

Dr JVtek — Il ne doit pas y en avoir beaucoup, des Amstrad au Québec.

NoRecess — On doit être vraiment pas nombreux.

Dr JVtek — Attention quand même, il y a eu l'Amstrad CPC 6128 distribué aux États-Unis. Peu de gens le savent, ça a complètement floppé, et Amstrad s'est immédiatement retiré du marché.

NoRecess — C'est quasiment introuvable, mais il y a eu un effort de fait.

Dr JVtek — Qu'est-ce que ça donne, tes cartes ? Plus de mémoire, plus de logiciel en ROM ?

NoRecess — En gros, c'est beaucoup plus rapide pour beaucoup de choses. Tu as plus de RAM dans les banques — au lieu d'avoir 128 kilo-octets, j'en ai 512. Et ce qui est génial, c'est que ça résiste au reset. Si tu éteins la machine, tu peux la relancer et c'est toujours là, parce que ce n'est pas de la RAM, c'est de la flash, et c'est aussi rapide que la RAM de l'époque.

Dr JVtek — Il y avait assez de registres pour changer les banques dans l'Amstrad ?

NoRecess — Il y en a même qui le poussent beaucoup plus loin. Tu verrais des projets qui se font, c'est assez intéressant. Pour ma part, la décision que je prends, c'est que les cartes que tu as devant toi, c'est plus ou moins ce que tu aurais pu avoir à l'époque si tu avais acheté toutes les extensions, donc ça se rapproche de la configuration originale — mise à part la clé USB, ça c'est clairement de la flash que tu n'avais pas.

NoRecess — Mais il y a des extensions où je ne m'embarque pas. Il y en a qui ont utilisé une carte vidéo MSX connectée sur l'Amstrad, alors ça te fait une résolution fantastique avec plein de couleurs, mais pour moi ce n'est plus un Amstrad. Tu as des cartes pour la radio, tu peux écouter du MP3.

Dr JVtek — Une carte radio, pourquoi pas.

NoRecess — Pour moi, c'est extrêmement fun. Oui, je pourrais regarder Netflix, mais pour moi regarder ça, c'est du bonheur. Je suis un peu dans un trip nostalgique ces dernières années. J'aime avoir des possessions — je vous montrais mes livres tout à l'heure. Quand tu vois ça, la bible du CPC, le langage machine.

Dr JVtek — J'ai tout ça à la cave. C'est juste que je n'ai pas assez de place, c'est tout.

NoRecess — Ce sont des ouvrages de référence. Juste au coup d'œil, ça me fait le grand bonheur. Ça, par exemple, j'en suis très content — les originaux de Maxam. Et ça, c'est le papier d'origine, la traduction en français, comment utiliser l'assembleur. C'est génial.

NoRecess — Ici c'est caché, c'est sobre, mais à l'intérieur — le tiroir de gauche.

Dr JVtek — Ça, c'est ta figurine Warner Bros.

NoRecess — Une figurine de Gotham Knights, c'est ça, c'est de la déco. Et là, par exemple, j'ai quatre Amstrad. Ils sont tous différents : ils ont tous des chips vidéo différents, parce que quand j'ai fait ma démo, c'était important que je teste sur tous les types d'Amstrad CPC. Les gens ne le savent pas, mais d'un CPC à l'autre il pouvait y avoir des incompatibilités, parce qu'ils se sont amusés à changer le chip vidéo de temps en temps. C'était le même chip, mais avec des variances sur un pour cent — et c'est justement sur ce un pour cent-là qu'on exploite dans les démos.

NoRecess — Mon but, ce n'était pas d'avoir tous les Amstrad. Mon but, c'est que si je suis capable d'arriver à ma retraite avec un Amstrad encore fonctionnel, je vais être super heureux. Éventuellement il y a aussi le backup hardware : si le processeur sonore tombe en panne, je serais capable de le prendre d'une autre machine et de le placer, et ça va marcher.

Dr JVtek — Si tu veux des Z80, dépêche-toi, parce que je crois qu'ils ont arrêté de les fabriquer ce mois-ci ou un truc comme ça.

NoRecess — En effet — mais tu ne vas pas me faire croire qu'il n'y a plus de stock de Z80 dans le monde. Il n'y a aucune raison de se presser. Même un Amstrad CPC, tu peux encore en avoir assez facilement de nos jours. Les fausses pénuries, je n'y crois pas, surtout quand ce sont des machines qui ont été diffusées à des millions et des millions d'exemplaires.

NoRecess — Et là, c'est mon tiroir de droite, où cette fois-ci ce sont vraiment des ouvrages de référence, des docs, des fanzines. Je me suis amusé à tout imprimer et à tout classer.

Dr JVtek — Tu fais de l'archivage. Ça plairait à Laurent, parce qu'il est au Conservatoire national du jeu vidéo, il en est un des membres, et il essaie justement de recenser tous ces types de ressources.

NoRecess — Pour moi, c'est vraiment une source de confort infini. Internet pourrait exploser, j'ai de quoi m'amuser jusqu'à ma mort.

NoRecess — Et là, de la même manière que j'avais imprimé les affiches des jeux vidéo avec les signatures — j'ai eu l'occasion de présenter Sonic en visu dans une demo party, et il y avait la communauté, beaucoup de membres de la communauté Amstrad qui étaient présents, et pareil, je leur avais demandé de signer. Et celle-là, toujours pareil, c'est quand j'étais allé à la Revision présenter phX. J'ai fait venir tous les demomakers Amstrad et les ai fait signer, et encore une fois, c'est vraiment important pour moi.

Dr JVtek — Tu peux expliquer pourquoi je parle de cave canadienne ? Ce n'est pas forcément courant.

NoRecess — Beaucoup de maisons canadiennes ont un sous-sol très important, parce que l'hiver c'est plus facile de chauffer une seule pièce que de chauffer l'intégralité de la maison.

Dr JVtek — C'est presque un peu l'inverse de ce que tu as dans certaines maisons du Sud. Mes grands-mères et mes tantes vivaient toutes dans la même maison, et l'été elles descendaient en bas, et en haut elles vivaient l'hiver, parce qu'en bas il faisait plus frais. Au Canada c'est l'inverse : une maison qui est dans le sol se chauffe plus facilement et se conserve mieux. Et très souvent, ce sont les salles de jeux qu'ils mettent en bas, parce que quand il y a beaucoup de neige tu ne sors pas beaucoup, donc le sous-sol c'est quasiment un gymnase, tu as la place de te défouler.

NoRecess — C'est vrai que toutes les maisons ici au Québec sont plus dans le sol.

20NoRecess464, et un dernier mot

À partir de 04:27 — voir ce moment sur YouTube

Dr JVtek — Quelqu'un me demande si je conseille de faire Fade to Black. J'ai travaillé sur la version PS1. Je pense qu'il faut le faire, il a une certaine histoire. Il est compliqué, parce qu'il y a beaucoup de touches, et la jouabilité a évolué, et le graphisme a un peu évolué. Il a un peu vieilli, ce sont des murs complètement carrés, mais je pense qu'il a une histoire très intéressante derrière. C'est un try and retry : tu perds, tu recommences.

NoRecess — Je peux me permettre une dernière anecdote ? On m'a déjà demandé l'origine du pseudo que j'utilise, NoRecess, alors je vais le présenter pour ceux qui ne savent pas. J'écoutais beaucoup Nirvana quand j'étais adolescent, comme beaucoup de monde, et dans une des chansons ça répétait à répétition les mots no recess. C'est exactement la chanson que j'écoutais quand je me cherchais un pseudo, et je me suis dit : tiens, ça a l'air de bien sonner. Je ne savais pas ce que ça voulait dire. J'ai appris plus tard, en regardant dans le dictionnaire, que ça voulait dire sans relâche, sans pause — et je trouve finalement que ça me correspond fichrement bien en ce qui concerne mon activité de hobby.

Dr JVtek — Et le 464 qu'on voit, c'est le CPC 464, ça n'aura échappé à personne. Donc c'est celui que tu as eu — tu n'avais pas le 6128 ?

NoRecess — Absolument pas, et je vais t'expliquer, parce que c'est nouveau pour bien des personnes. Non, je n'ai pas eu le 464 à l'époque, je n'ai eu que le 6128. J'utilise sur les forums depuis à peu près cinq ans le 464 derrière mon pseudo, et l'histoire est un petit peu moins drôle, mais tu vas voir qu'il y a quand même quelque chose de beau là-dedans.

NoRecess — Il y avait MAF, un musicien connu sur Amiga puis sur PC plus tard, très actif dans la demoscene, que j'ai eu l'occasion de voir à plusieurs reprises. Une personne très très sympathique, et malheureusement une personne décédée de nos jours. Son site web, c'était maf464.com, et il aimait ça utiliser 464 à la fin de ses affaires. Alors je me suis dit : tiens, je vais l'utiliser, et à chaque fois que les gens vont lire NoRecess464, sans le savoir, il y aura un peu de lui dedans.

Dr JVtek — C'est beau.

Un spectateur demande combien de ses projets ont été annulés.

NoRecess — Je ne parlerai pas de ça. Je comprends que la question est pertinente, mais même si c'est vieux de quelques années, ça pourrait être stratégique.

Dr JVtek — Si on pose la question différemment — j'essaie de t'aider, pas de te piéger. Ma question était beaucoup plus large. Elle pourrait même être liée à des projets persos. Dans ta vie au sens global : combien de projets sur lesquels tu as travaillé ont été annulés, y compris des projets persos Amstrad ? Ça te permet de lisser l'intégralité du truc.

NoRecess — Pas mal. Beaucoup, en fait. C'est un peu décevant des fois, parce que tu mets beaucoup d'efforts là-dedans. Mais il ne faut pas voir ça cent pour cent comme un échec, parce que des fois tu développes des technologies sur des projets qui peuvent être réutilisées sur des projets qui, eux, arrivent vraiment à terme.

Dr JVtek — Et si tu devais estimer, dans le cas où tu considères ça comme une perte, à combien d'années ça te ferait perdre ?

NoRecess — Je vais me concentrer sur ma carrière professionnelle. En temps perdu, sur des projets qui ne sont jamais arrivés à maturité, il y a peut-être quatre ans, un truc comme ça.

Dr JVtek — Tu construis des équipes, tu construis la technologie — ce n'est pas une perte à cent pour cent.

NoRecess — Tout à fait.

Dr JVtek — Par contre, ça démotive.

NoRecess — Pour conclure sur tout ça : ça fait quatre heures et demie qu'on discute, et je n'ai pas vu le temps passer. Je te remercie énormément pour l'opportunité. Ça a été très agréable pour moi, ce travail d'introspection, de me rappeler certaines anecdotes et les projets. J'ai vraiment aimé ça. Je me suis préparé, et c'était intéressant. Donc encore une fois, merci beaucoup.

Dr JVtek — Il y a des dernières questions. Reviendras-tu en France pour la sortie de Sonic ?

NoRecess — J'ai adoré venir en France présenter ce jeu — c'était proche de Lyon, et c'était vraiment plaisant. Si je peux éventuellement, ça ferait une belle boucle : on a présenté le début, présenter la fin serait vraiment amusant et intéressant. Maintenant je vais voir, parce que d'où j'habite c'est un énorme investissement financier. À part si j'arrive à me faire inviter — ce qui est arrivé, une personne m'a payé mon billet d'avion pour aller en France.

Dr JVtek — Michel dit qu'Arnaud n'a pas parlé de sa démo sur GBA.

NoRecess — J'ai fait des démos sur PS2, sur GBA. J'ai découvert des petites plateformes à côté, mais ce n'est jamais allé loin, il n'y a jamais eu d'expertise approfondie. C'est aussi ça que j'aime. Attention, quand je faisais de la GBA et de la PS2, j'étais encore dans un mode où j'avais tout à prouver, et j'étais fier d'être sur une plateforme populaire pour montrer mes trucs.

Dr JVtek — Tu as vieilli.

NoRecess — C'est ça.

Dr JVtek — On a commencé un groupe avec Cyril 2.0, qui n'est pas venu ce soir, pour la PS1. Il y a même un des devs du groupe qui a fait une petite carte comme la tienne pour développer et déboguer sur la PS1, et ça va être pratique. Quand j'aurai un peu de temps, je vais m'installer tout ce qu'il faut ici pour faire des petites choses. C'est amusant — il faut le faire pour soi.

Dr JVtek — La PS1, c'est ma machine, un peu comme la tienne est la tienne. J'ai commencé au ZX80, j'ai eu un ZX Spectrum, j'ai eu l'Amstrad pendant très longtemps. J'étais même allé, au tout début d'Ubisoft, dans leurs bureaux — c'était un grand hangar avec juste un tout petit bureau et deux mecs qui codaient. Après j'ai eu l'Atari ST, j'ai eu le Falcon, j'ai fait beaucoup de choses sur Falcon. Je suis le mec qui veut être différent, donc rien que pour embêter le monde je n'ai pas pris d'Amiga, j'ai pris un Falcon.

NoRecess — J'ai l'impression que tu l'as payée très très cher à l'époque, ta machine, et que tu n'as peut-être pas eu le rendu.

Dr JVtek — Mais ça m'a fait rêver, et je suis encore content de l'avoir, et je ne la vendrai jamais. Après les PC, et côté console j'ai à peu près eu toutes les consoles en kit de dev. Au niveau professionnel, celle sur laquelle j'ai le plus travaillé, c'est la PS1.

Dr JVtek — Fade to Black, pour moi, c'est un peu ce que tu as fait avec Far Cry. C'est mon premier projet, mais c'est surtout le projet où j'ai mis tout ce que je savais faire à l'époque. Il y a des bidouilles dans Fade to Black pour le faire tourner — j'ai fait de la relocation alors qu'on ne peut pas faire de la relocation, j'ai fait un système de placement automatique des textures dans la VRAM avec un système de cache de textures compressées, des trucs de zinzin. Et on a sorti le jeu.

Dr JVtek — Donc quand on me demande ce que j'en pense, je pense que Fade to Black a un intérêt parce qu'il raconte la suite de Flashback, mais à mon niveau c'est un challenge, une démo technologique, avec des choses que même les derniers jeux sur la PS1 ne faisaient pas.

Dr JVtek — Et après, Motoracer — il y a toute une histoire. Un jour il faudrait que j'écrive un livre sur Motoracer 1, 2, World Tour. Il faudrait que je m'auto-interviewe.

Dr JVtek — Motoracer 3 et World Tour, c'est mon autre bébé, parce que j'ai fait l'intégralité de la chaîne de production de ce jeu. C'est tout basé sur LightWave, tout ce qu'on a fait.

NoRecess — Tu vas me faire plaisir — tu montes encore plus mon intérêt pour ce jeu-là. Je l'adore déjà, et là je l'adore encore plus.

Dr JVtek — On avait des graphistes qui étaient très très bons, et je te garantis qu'on aurait pu faire des compétitions de modélisation et qu'on battait tout le monde. Quand tu étais bon en LightWave, tu allais à la vitesse de la lumière.

Dr JVtek — Bon, je pense qu'on arrive à la fin. Il est quasiment deux heures du matin en France. Bravo les gars, vous devez travailler demain, il va falloir se lever. Ici j'ai le coucher de soleil, il fait encore un petit peu jour.

NoRecess — Un live de quatre heures quarante-huit. Tu ne m'avais pas vendu ça par email.

Dr JVtek — C'est toi qui l'as fait. Je t'ai dit : c'est toi qui gères le temps, il n'y a pas de souci.

NoRecess — Je ne referai pas ça dans la prochaine décennie, c'est certain. Mais là, je l'ai fait.

Dr JVtek — Tu pourras le montrer à tes enfants.

NoRecess — Ils sont fans de streaming live, donc — papa est moderne. Je ne suis pas sur TikTok, mais papa est youtubeur.

Dr JVtek — Allez, bonne nuit à tout le monde.