Lors du dernier festival Tech Train IT, nous avons rencontré le légendaire John Romero, qui a participé à la conception et au développement de l'emblématique Wolfenstein 3D, Doom and Quake. Nous avons discuté de la question de savoir si les développeurs de jeux avaient besoin de compétences générales, quels outils de travail méritaient une attention particulière et quel co-fondateur d'Id Software avait ses jouets préférés. Des questions ont été posées par Nikita Tsaplin, fondatrice de RUVDS.
→ Version anglaise du texte et de la vidéo
ici
Nikita Tsaplin - fondatrice de RUVDSDans une interview, vous avez dit qu'en 2001, je regardais l'ancien code écrit en 1991 et que je n'ai trouvé aucune utilisation pratique. Mais après un certain temps, en revenant au code écrit au deux millième, tu l'as appelé "pas mal". Comment suivez-vous la qualité du code?
John Romero - Programmeur, concepteur et co-fondateur de ID SoftwareEn 1991, au moins la moitié du code a été écrit en assembleur, et je commençais tout juste à programmer en C et j'étais juste un débutant. Donc, y revenir après dix ans de programmation C active était horrible.
Dites-moi, comment les critères de sélection ont-ils changé au fil du temps? Lequel est resté inchangé?
L'environnement dans lequel le code a été exécuté a complètement changé. Écrit en 1991 a été lancé sous DOS, et le code de 2001 a fonctionné sur Windows.
C'était donc dû à une mise à niveau de la plateforme?
Un environnement complètement nouveau. Oui
Pouvez-vous nous parler des principaux critères selon lesquels vous évaluez votre code?
Critères clés - est-il facile de lire le code? C'est très important.
Y a-t-il des commentaires écrits? Aller trop loin avec cela ne vaut pas la peine - cela devient rapidement ennuyeux. Mais il est important que les parties et sections complexes du code soient commentées et que sa structure dans son ensemble soit compréhensible et facilement complétable.
Quelles compétences un développeur doit-il posséder pour rejoindre l'industrie du jeu?
Vous devez avoir une forte envie de créer des jeux. Parce qu'il est difficile de terminer le jeu - c'est un travail minutieux. Peu importe la partie sur laquelle vous travaillez - cela prendra beaucoup plus de temps que vous ne l'auriez jamais imaginé. Vous devez être préparé à une longue concentration d'attention sur une tâche spécifique.
J'ai entendu dire que les développeurs avaient plus que jamais besoin de maîtriser les "compétences non techniques"? Est-ce vrai?
Oui Parce que maintenant tout le monde fait équipe, lorsque vous travaillez ensemble, vous devez faire preuve d'empathie les uns envers les autres.
Interagir?
Oui
Avez-vous beaucoup d'expérience avec cela?
Vous devez vous y habituer et les programmeurs n'aiment pas parler. Ils veulent juste coder. Il est important de comprendre comment limiter le temps que vous consacrez à la programmation des gens, juste pour une courte conversation. Mais de nos jours, pourquoi ne pas simplement utiliser Slack et communiquer à travers lui. C'est plus pratique et plus rapide que de retirer les écouteurs, de se lever et d'aller parler à quelqu'un à l'autre bout du bureau. Nous préférons donc Slack.
Oui, les gens veulent de l'espace et communiquent par le biais de messagers.
Surtout si vous portez des écouteurs, oui.
Selon vous, quelles compétences générales sont les plus importantes?
Je crois que l'interaction est beaucoup plus importante que les autres compétences. Il en a toujours été ainsi. Si les gens autour de vous ne savent pas ce que vous faites ou si vous ne savez pas ce qui se passe, vous pouvez perdre beaucoup de temps et d’argent, car vous étiez occupé avec la mauvaise chose.
La communication est donc l'une des choses les plus importantes que vous puissiez faire. Chacun doit savoir comment et quoi exactement il doit faire. Même si vous avez entrepris de travailler sur un fragment particulier, la partie la plus importante est la façon dont vous le présentez. Pas seulement, "D'accord, je vais le faire ..." Il serait plus juste de dire: «Je vais faire ceci et cela de cette façon. Êtes-vous d'accord? "
Donc - la partie la plus importante à chaque étape du développement est la communication?
Oui

Il y a quelques mois, nous avons discuté avec Richard Gray à Moscou. Et il a suggéré que la meilleure façon pour les développeurs de s'établir dans l'industrie du jeu est de faire quelque chose de leurs propres mains. Mais, d'un autre côté, vous avez dit que créer un niveau de jeu comme Doom in Sigil est une tâche extrêmement difficile. Les outils modernes sont trop complexes et superposés pour créer une esquisse pour un portfolio. Comment trouver un terrain d'entente?
C'est vrai. Les moteurs modernes prendront beaucoup de temps pour créer un niveau.
Tout est loin d'être aussi simple qu'avant. Maintenant, cela prend très longtemps. Aujourd'hui, tant de personnes sont impliquées dans le développement. Le personnel individuel est responsable de l'éclairage aux niveaux. Et il y a des concepteurs de jeux qui fixent des limites, des artistes avec du concept art. Ils travaillent sur un style de jeu visuel. Encore faut-il vérifier le travail des shaders.
Il me semble que maintenant, il est presque impossible de faire un niveau juste pour un portefeuille, si nécessaire.
En général, cela est possible, mais cela prend beaucoup de temps. Il y a un excellent exemple sur YouTube. Si vous utilisez Anrial et que vous voulez comprendre en quoi consiste exactement la séquence de création d'un niveau seul - il existe des instructions pour cela. Un gars a enregistré une vidéo de 30 minutes, où il montre la création d'un couloir pendant 10 heures. Il ne dure que trente minutes, mais joue à grande vitesse, suffisant pour voir toutes les étapes pour travailler sur le couloir. Dix heures! Les jeux d'aujourd'hui prennent beaucoup de temps.
Quelle stratégie pensez-vous que les développeurs devraient suivre pour commencer une carrière?
La meilleure option est d'apprendre autant de matériel que possible à la maison. Vous savez, vous pouvez aller à l'école et y apprendre, ce qui vous donnera ses avantages sous forme de diplôme et autres. Mais vous apprenez beaucoup plus en faisant à la maison. Ainsi, le travail ira plus vite et vous apprendrez exactement ce que vous voulez.
Certains disent que les programmeurs utilisant des frameworks standard ne savent pas comment cela fonctionne en interne. Cela fait-il une différence? Comprendre comment fonctionne le framework utilisé?
Oui et super. C'est utile. Supposons qu'un programmeur junior utilise des frameworks. Les programmeurs expérimentés savent comment ils fonctionnent. Cela signifie que si nécessaire, ils peuvent le construire, car ils connaissent les détails du travail du début à la fin, non? Et cela est très utile, car les frameworks peuvent être utilisés de manière très inefficace, sans connaître la structure interne, entraînant des pertes de performances importantes.
Une question de flexibilité. Après tout, vous pouvez combiner des frameworks si vous savez comment.
Bien sûr, tout doit être combiné pour que cela fonctionne, mais cela ne signifie pas que l'optimisation sera à son meilleur. Cela ne garantit pas la connaissance du logiciel. Surtout quand il s'agit de bases de données. Vous pouvez écrire les informations ou le code lui-même pour que la base de données fonctionne, ce qui fonctionnera terriblement. Et vous aurez l'impression que tout est en ordre, car l'ensemble des commandes est correct, mais si vous ne savez pas comment InnoDB les utilise dans leur travail et comment ils les interprètent, alors oubliez-le. Vous devrez embaucher un consultant qui viendra corriger le travail.
Un autre sujet intéressant est Agile. Dans les livres et les articles, le jeu dev est plein de romance et d'imprévisibilité. C'est dans ce contexte que l'Agile serait utile. Agile et peut-être d'autres approches?
Seulement Agile, mais pas sous une forme dure et inviolable. Nous utilisons des "marqueurs" pour certaines périodes pour lesquelles vous devez remettre le matériel. Il s'agit d'une période de temps longue et confortable. Environ trois fois plus que prévu par Agile. Environ six semaines au lieu de deux. Il s'agit d'un espace très pratique et confortable dans lequel de nombreux problèmes peuvent être résolus. Il y a aussi des emprunts au style Kanban ... Peut-être parce que toutes les tâches ne doivent pas être achevées en six semaines, certaines tâches sont toujours en cours et ne peuvent pas être achevées dans les délais. En conséquence, nous vérifions les résultats du travail et ne reportons pas les processus inachevés au "marqueur" suivant.
Ici, nous parlons davantage de la compilation correcte d'une liste d'opportunités et de tâches à accomplir que de suivre aveuglément le principe de l'échéance. Si vous effectuez votre tâche - excellente, sinon - la question est reportée au "marqueur" suivant.
Par la suite, cette stratégie se transforme en exercice de réévaluation des priorités. Si quelque chose prend beaucoup de temps - faites-le différemment. Simplifiez et découpez le nécessaire pour résoudre la tâche. Ou vous changez simplement si beaucoup de temps s'est écoulé.
Pour résumer - devez-vous comprendre comment fonctionnent les processus et combiner différentes approches?
Oui
Pouvez-vous comparer la façon dont les processus de développement étaient organisés dans les studios de jeux aujourd'hui, et, par exemple, dans les années 90 ou les deux millièmes?
Cela dépendait davantage du nombre de personnes dans l'équipe. Je veux dire, cela dépendait toujours de la taille du personnel. Même maintenant, si vous n'aviez qu'une équipe de quatre, vous vous seriez développé dans le même style que nous avions dans les années 1990 avec la même composition. Parce que l'équipe est si petite que les gens connaissent leur rôle dans l'équipe et communiquent étroitement entre eux. Parce que, très probablement, ils travaillent dans la même pièce.
Une petite équipe travaille également dans mon entreprise RUVDS, et nous n'avons pas besoin d'une communication formelle constante.
Exactement. Ce n'est pas nécessaire. La même situation s'est produite dans les années 90. Simplement, tout ce que vous écrivez change en raison du développement des plates-formes et les méthodes de communication et de développement restent les mêmes. Le design que vous développez est différent car le langage de conception a évolué à partir des années 80. Ce que vous concevez est différent, mais la façon dont vous développez le produit reste la même.
Y a-t-il des choses qui deviennent plus faciles ou plus difficiles à développer avec le temps? Et pourquoi?
Il existe de nombreux outils utiles qui facilitent la création de jeux. Il devient plus difficile d'écrire un bon design. Il est difficile de trouver une bonne idée de match. Vous pouvez avoir le meilleur programmeur du jeu qui écrira un jeu dégoûtant et personne ne le jouera. La compétence du programmeur n'affecte pas cela.
La conception du jeu passe donc en premier?
C’est la chose la plus importante. Si vous avez un grand concepteur de jeux parmi le personnel qui est même un peu versé dans la programmation, vous risquez d'ouvrir un nouveau genre pour les jeux. Vous aurez un grand match. La conception de jeux est donc plus importante qu'autre chose.
Retour à TechTrain. Où ce train emmène-t-il l'industrie du jeu?
Je dirais que les jeux de réalité augmentée (RA) sont un segment très inspirant. C'est un nouvel espace de réflexion et il y a beaucoup d'argent. Pas autant que la VR quand tout le monde y investissait, mais ...
Mais la VR n'a pas duré longtemps.
Oui, n'a pas résisté. La VR est meilleure dans les applications non ludiques. Elle a de bonnes idées, mais le principal obstacle au succès de la VR était la fatigue. Les gens se fatiguent trop vite lorsqu'ils jouent à des jeux. Vous savez, les gens ne sautent plus sur leurs coussinets Wee. Ils sont juste fatigués. Et ils ne veulent plus faire ça. Et la VR est difficile à utiliser.
Avez-vous une expérience en réalité augmentée ou en développement VR?
Je n'ai rien fait concernant la RA, mais j'aime vraiment ses fonctionnalités. Si vous regardez de près les jeux Lego ou Minecraft-Earth, alors l'AR a un grand potentiel, tout le monde commence à l'expérimenter, ainsi que les clients comme ça. Pokemon Go a prouvé à tout le monde qu'il y avait une tonne d'argent en potentiel AR. Il ne remplace pas les consoles, les smartphones, c'est un nouveau segment et une nouvelle technologie.
Il semble que tout le monde sait à quel point la technologie est nouvelle, mais ils ne savent pas très bien comment l’utiliser.
Pas vraiment, une API a déjà été créée pour elle. Apple a développé un kit AR, et c'est très bien. Ils n'ont pas fait un package similaire pour VR - consciemment. Ils l'ont développé pour AR parce qu'ils savent que cela fonctionnera. L'utilisation de l'AR associée à Swift 5 peut faire beaucoup de choses intéressantes.
Que pensez-vous des jeux mobiles?
Eh bien, Sigil est sorti sur les smartphones.
Il me semble que nous avons lancé Sigil sur une multitude d'appareils. Montant fou. Vous savez, sur Instagram et Twitter, il y a tellement d'appareils qui exécutent Sigil. Les gens continuent de télécharger des captures d'écran.
Mais ... ont-ils fini de le construire eux-mêmes? Sigil a été produit pour les smartphones?
Eh bien ... Il est sorti sur la plateforme Android. Vous pouvez télécharger les mods supportant Doom. Sigil peut également être joué sur la Xbox. Vous pouvez utiliser Automechs - c'est Doom avec l'open source et le support des modifications, puis vous pouvez installer Sigil sur la Xbox et y jouer calmement.
Oui. Avez-vous déjà pensé à sortir un jeu Battle-Royale dans l'univers Doom? Quelque chose comme Fortnite?
Je pense que ce serait drôle. Je ne le ferai pas. Mais ce serait vraiment drôle si quelqu'un d'autre le faisait. Battle Royale n'est qu'un cadre avec son propre ensemble de règles basé sur n'importe quel jeu. Par exemple, le même Fortnite. Ce n'était pas un jeu Battle Royale. Mais elle est devenue une quand elle a vu PUBG et a attrapé sa pièce.

Il peut être lancé avec n'importe quel univers. Mais les jeux vidéo spécialement conçus pour ce mode font quand même mieux. Il existe encore beaucoup de jeux similaires expérimentant la mécanique des jeux. Par exemple, pendant que vous jouez et faites tout, minez des ressources, par exemple ... Creuser et le cercle se rétrécit, vous comprenez?
Ouais.
Et les gens vous tirent dessus pendant que vous creusez! Et vous devez extraire pour collecter des objets!
Oui! Bonne comparaison! Quels genres de jeux pensez-vous seront obsolètes à l'avenir?
Actuellement aucun d'entre eux. Je veux dire, le seul genre qui reste est les quêtes de texte, mais il y a encore des jeux d'aventure. Par exemple, les quêtes ordinaires se sont transformées en jeux d'aventure mystiques, et en même temps un grand nombre de jeux occasionnels. Partout où les jeux sont vendus, en particulier sur les téléphones mobiles, vous pouvez remarquer une grande variété de genres. Et les gens qui croient que les quêtes, ou quoi que ce soit d'autre, sont partis pour toujours, dans les années 90 ou 2000 - ils ont juste besoin d'aller au «rack de disques» d'autre part pour voir tous les jeux d'aventure. Ces jeux se vendent magnifiquement aux femmes plus âgées et elles les aiment. Le marché du jeu est désormais illimité entre 18 et 25 ans, soit 35 ans. Il est partout.
Cependant, il est désormais très probable que les stratégies soient loin d'être aussi populaires qu'auparavant. Il me semble que certains genres disparaîtront de toute façon.
Oh, ils ne seront définitivement pas perdus. Maintenant, ils publient de nombreuses stratégies. Je veux dire, nous développons des stratégies parce qu'elles sont intéressantes. Par exemple, il existe des sociétés comme Paradox Interactive, qui ont leur propre niche parmi les fans, notamment des joueurs hardcore qui aiment leurs jeux pour la façon dont ils sont fabriqués. Pour remplir les jeux, pour leur complexité. Et ils survivront certainement. Les gens aiment jouer à Age of Empires Definitive Edition, qui est sorti récemment. Et c'est un jeu de neuf cent quatre-vingt-dix ... Huitième? Semble comme? Oui Et ceci est une stratégie.
Une de mes stratégies préférées. Oui
Oui Ils n'iront nulle part. RTSki, dans le sens. La même civilisation. Tous ces jeux existent, alors qu'ils continuent d'être développés.
Quel est le secret pour créer un jeu réussi? L'utilisation des dernières technologies est-elle importante?
Eh bien, ça aide. La technologie avancée aide. Mais un très bon design de jeu est la raison pour laquelle les gens jouent. Ils ne jouent pas à cause du moteur. Voulez-vous jouer au jeu car il est fait sur Unreal? Non, à peine. Vous y jouez en raison de la conception et des idées du jeu, de son apparence et de ce qu'il vous dit sur ce que vous pouvez y faire. Ce sont tous des aspects du design.
Quels sont vos outils ou solutions de développement préférés pour les jeux? En ce moment, et pour toute ta carrière?
Pour le flux de travail et la productivité globale - Slack est génial. Pour le système de ticket, nous utilisons Assembla, mais Jira est également excellent. Nous utilisons Perforce pour contrôler les licences en raison de la vitesse élevée. Ce sont nos principaux programmes que tout le monde utilise dans notre studio. Pour le département créatif, c'est Photoshop, Maya, et si vous connaissez SyncScetch, c'est un autre excellent outil ... Le fusil de chasse est idéal pour le flux de travail. Du côté des développeurs, nous utilisons Unity et VSCode, à la fois pour Mac et PC pour effectuer des modifications. Et c'est tout, en général.
Pour les tables de conception et de calcul, nous utilisons souvent Google Tables. Certains outils lisent les informations des tables Google sur le réseau et reviennent au jeu.
Pour la plupart, il s'agit d'un logiciel de Google. Nous utilisons des présentations pour les documents de conception et des tableaux Google pour la plupart des informations. Pour les jeux ... Dans le système de libération de butin, par exemple, mais cela n'a pas d'importance.
Je pense que tout le monde aimerait savoir ... Quel genre de jeu John Romero lui-même recommanderait-il?
Hitman 2.

Hitman? Non?
Hitman 2.
Un de mes jeux préférés!
Génial.
Et quand vous avez parlé de joueurs hardcore qui veulent défier le jeu, j'ai pensé à Hitman!
Oui!
Puisqu'il a sa propre niche de maniaques, cela ...
Ouais. Ces défis.
... Éliminez le maximum de points à des niveaux difficiles.
Artisanat et défis fous.
Je les adore.
Super.
Oui oui J'ai parcouru toutes les parties.
Classe!
Oui, je suis passé par toutes les parties passées, mais ils ont réédité le jeu en 2016 et créé absolument ... Juste le meilleur design du monde.
Ouais.
J'attends avec impatience la sortie de Ghost Recon: Breakpoint. Vivement. Et bien ... je ne peux pas attendre. Ce sera génial. J'adore Ghost Recon. J'adore le jeu original, pas un fan de GRAW, mais je sais que ... J'ai réussi à jouer un nouveau rôle, et maintenant je ne peux plus attendre la sortie.
Vous savez, de grands jeux sortent maintenant, mais certains d'entre eux prennent trop de temps pour se plonger après le travail.
Oui
Tu es trop fatigué pour comprendre.
Oui, je veux jouer ...
Toutes ces mécaniques ...
Oui oui Comme "Dois-je encore me souvenir de tout?" Mais ... Le même World of Warcraft était le même. Il y a beaucoup d'équipement, beaucoup de quêtes, des jeux de motivation personnelle, par exemple, que voulez-vous exactement faire dans le jeu, et si quelque chose se passe, le jeu nécessite une grande concentration. Et si vous n'avez pas besoin d'une telle implication - vous jouez à d'autres jeux qui ne nécessitent pas d'attention. Les jeux indépendants sont parfaits pour de telles occasions, car ils se déroulent maintenant en quelques heures. Par exemple, Firewatch et d'autres projets émotionnels.
Oui, oui ...
Vous savez, ce sont des jeux pour une petite distraction. Et ...
Et Hitman peut également leur être attribué.
Oh oui! Hitman à droite ...
Surtout si vous connaissez la série et que vous vous dites: "Je veux juste essayer ce défi." N'est-ce pas?
Oui ...
Vous n'avez pas à terminer la mission entière.
On s'y habitue généralement en quelques heures. Votre liste principale est donc Hitman, Ghost Recon et ... Peut-être le troisième?
Jeux indépendants. Il y en a beaucoup.
Et maintenant, nous nous tournons vers un groupe de développeurs professionnels en la personne de notre public.
Bon.
Veuillez regarder la caméra et dites-nous ce qui vous inspire.
Oh Seigneur ... Qu'est-ce qui m'a inspiré? .. Pacman a été la raison pour laquelle j'ai commencé à développer des jeux vidéo. Son design, je vous rappelle qu'il est sorti en 1980, était très différent du reste des jeux de l'époque.
1980 est «Kill the alien», couleurs noir et blanc, son médiocre.

Avec la sortie de Pacman, tout a changé. C'était un marcheur inoffensif, d'une conception absolument complète et parfaite, ce qui était difficile à croire, et il m'a montré que la conception du jeu n'avait pas de limites. Il y a tellement de choses que cela m'a inspiré pour créer des jeux.
De bons conseils ne seront pas non plus superflus pour ceux qui souhaitent rejoindre l'industrie du jeu.
Commencez avec des jeux simples, sans dispersion. N'essayez pas de faire quelque chose de grand au début. Écrivez un concept simple, essayez de le mettre en œuvre et de le terminer jusqu'au bout. Vous découvrirez à quel point il est difficile de mener à bien le projet et vous suivrez les ambitions.
Dans Wikipedia russe, vous êtes enregistré comme John Romero. Mais j'ai lu que votre vrai nom est Alfonso.
Oui, Alfonso.
Alors pourquoi t'appelles-tu John?
Parce que le nom de mon père est aussi Alfonso, et si vous disiez "Al!" - nous répondrions tous les deux. Ma mère a décidé de m'appeler John, car mon père était déjà Al. Maintenant, tout le monde me connaît, comme John.
D'accord, c'est donc de l'enfance.
Oui, c'est de l'enfance. Ma mère m'a appelé Johnny.
Merci pour l'interview! Je serai ravi de vous rencontrer à nouveau en Russie.
Classe! Nous nous rencontrerons certainement à TechTrain.
Sur TechTrain et aussi au bureau de notre équipe RUVDS!
Super!
Merci beaucoup!
Oui, merci!

PS Et le dernier conseil de John Romero:
Le moyen de maintenir le niveau d'erreurs à un niveau bas consiste à écrire quelques lignes de code de travail, puis à les tester. . , . , -. , . , . . , . .
