Présentation
Si vous demandez aux développeurs de jeux leur première expérience dans la création de jeux, beaucoup parleront de l'éditeur du jeu auquel ils ont joué. Plus souvent qu'autrement, ils l'ont trouvé par leur nom accrocheur comme "éditeur".
Bien avant l'avènement d'Unity 3D, des sociétés telles que id Software, Epic, 3D Realms, Blizzard et BioWare ont publié des outils avec leurs jeux, en espérant que cela permettrait aux gens de créer du contenu, augmentant la taille de la communauté et la durée de vie du jeu. Beaucoup de gens n'aimaient pas seulement utiliser ces outils - ils sont devenus pour eux les portes de l'industrie du jeu. Le contenu qu'ils ont créé plus tard est devenu une partie de leur curriculum vitae.
Ces dernières années, les rétrospectives des jeux classiques ont gagné en popularité, mais presque aucune attention n'est accordée aux outils d'igrobuilding classiques. Dans cette série d'articles, nous allons essayer de combler le vide: nous interrogerons des personnes importantes de l'industrie et leur demanderons de parler de la façon dont ces outils de jeu classiques ont été développés.
Dans cet article, j'ai eu l'honneur de parler avec
John Romero Romero de
TEd , l'éditeur de tuiles créé par id Software, qui a aidé à publier 33 jeux.
Première rencontre avec l'éditeur de niveau
David Lightbone : Bonjour, John. Merci d'avoir pris le temps de discuter avec moi!
John Romero : Pas de problème!
DL : Avant de discuter de TEd, je veux prendre un peu de recul: au début des années 80, il y avait très peu d'éditeurs de niveau fournis avec le jeu. Dans votre interview de
Honoring the Code , vous avez dit que le générateur de terrain de
Pegasus] [ était l'un des éditeurs de premier niveau avec lesquels vous avez fait des expériences. Pouvez-vous parler de cette expérience?
JR : La première fois que j'ai vu Pegasus] [au Sierra College, au bureau avec Apple. Ce fut l'un des premiers programmes que j'ai vus sur Apple. Quand je l'ai joué, j'ai remarqué qu'il y avait une option pour générer du terrain. J'ai pensé: c'est génial que les développeurs aient construit un tel outil pour générer du gameplay.
C'est drôle de penser maintenant que c'était l'un des tout premiers jeux à créer des mods. Je suis
la première fois que j'ai vu quelque chose comme ça, et j'ai pensé que c'était merveilleux. C'est drôle, mais je n'ai jamais pensé: "Hé, pourquoi est-ce pas dans les autres jeux?", Je ne m'attendais pas à ça des jeux!
TEd, éditeur de tuiles
JL : D'accord, passons à parler de TEd.
[Pendant que nous parlions, j'ai lancé deux DOSBox pour que je puisse regarder TEd et Deluxe Paint]
La première chose dont je veux parler est l'économiseur d'écran TEd. Il dit Deluxe Paint for Tile Maps. Quiconque connaît un peu l'histoire de id Software sait qu'Adrian Carmack a utilisé Deluxe Paint ...
JR : Il a été utilisé par toute l'industrie du jeu.
JL : Exactement! Donc, la première chose qui a attiré mon attention, c'est que les meilleurs menus de Deluxe Paint et TEd sont très similaires, à la fois en apparence et en sensation. Avez-vous essayé de familiariser les utilisateurs de Deluxe Paint avec quelque chose, ou avez-vous utilisé des pièces tirées de Deluxe Paint?
JR : Avant id Software, j'ai écrit plusieurs outils pour PC dans SoftDisk. J'ai écrit
Pixel Puzzle Maker , un outil de puzzle pour Softdisk appelé Pixel Puzzler. J'ai écrit un menu déroulant pour le créateur de Pixel Puzzle, puis y ai apporté quelques modifications. Il semble que j'ai écrit d'autres outils pour PC dans Softdisk, et quand je travaillais sur id, il semble que j'en ai créé un autre, car il était très facile de créer ce système avec un menu déroulant.
Il n'était pas basé sur Deluxe Paint, car je n'avais jamais utilisé Deluxe Paint, mais je pensais qu'il était beaucoup plus facile de travailler avec le menu déroulant qu'avec un tas de touches de raccourci ... bien que nous ayons également eu beaucoup de touches de raccourci!
DL : En parlant de raccourcis clavier: j'ai remarqué d'autres similitudes. Aujourd'hui, nous sommes habitués au fait que Control-Z est une annulation d'une action, mais à cette époque, au moins dans le cas de Deluxe Paint et TEd, l'annulation a été effectuée en appuyant sur la touche "U".
JR : [rires] Wow. Ai-je trouvé ça?
JL : Oui! Ici, regardez, j'ai rempli les carrés, cliqué sur "U" et annulé ...
[Je dessine des tuiles puis j'appuie sur “U” pour annuler l'action précédente]
JR : [rires] Mignon.
Oh, et au fait, vous l'avez lancé dans DOSBox, et si vous faites défiler l'écran, ce sera très lent par rapport à la façon dont cela fonctionnait sur 386 à l'époque. Le programme vient de s'envoler.
JL : Vraiment? Ne plaisante pas?
JR : Pour une raison quelconque, DOSBox le ralentit beaucoup. Le défilement EGA utilise le mode Latch, qui à l'époque était très rapide, il suffisait de toucher les touches, sinon vous ferez défiler tout. Alors maintenant, vous voyez une étrange version très lente.
[Note de l'auteur: John a parlé du défilement EGA en utilisant le mode Latch sur StackExchange:
http://gamedev.stackexchange.com/questions/6488/how-did-they-make-the-screen-move-in-dangerous-dave ]
DL : D'accord, vous avez donc dit que TEd avait beaucoup de raccourcis clavier. Lors de l'utilisation de TEd, vous deviez souvent lire un fichier d'aide pour comprendre comment utiliser ces outils.
JR : Oui, bien sûr. Je pense que certains se souviennent encore de WordStar, qui n'était qu'un tas de raccourcis cauchemardesques.
JL : [rires]
JR : À cette époque, nous jouions à Ultima, et Ultima utilisait chaque lettre du clavier, il était donc facile de se souvenir de choses comme ça.
[Note de l'auteur: J'ai déniché le manuel d'Ultima 1, et John s'est avéré avoir parfaitement raison ... une action a été attachée à presque toutes les touches du clavier!]
JL : C'est sûr! Donc, à ce stade du développement de l'industrie du jeu, en ce qui concerne la conception de niveaux, vous deviez prendre une feuille de papier millimétré et placer des tuiles, puis les entrer dans un ordinateur.
JR : Ouais.
[Note de l'auteur: Après cette interview, John m'a envoyé un graphique sur un papier millimétré pour le jeu
Mach Six qu'il a créé. Vous pouvez également lire un article de Gamasutra sur la façon dont Nintendo a utilisé du papier millimétré pour développer les premiers niveaux Zelda sur NES]
JL : Alors à quel moment id Software a-t-il décidé que TEd devait être créé?
JR : Quand j'ai travaillé sur Dangerous Dave en 1988, j'avais besoin de créer des niveaux pour lui, et j'ai pensé: "Pourquoi ne pas utiliser le jeu lui-même et le laisser créer des niveaux qui peuvent être sauvegardés." C'est exactement ce que j'ai fait avec Dangerous Dave.
Lorsque John Carmack a vu cela - et il a travaillé pour Apple II - il a été très impressionné car il avait l'habitude d'utiliser du texte pour indiquer des graphiques. Lorsque nous avons décidé de créer quelque chose ensemble, j'ai écrit TEd 1.0, et quelques mois plus tard, il est devenu TEd 5.0, qui a été utilisé pour développer 33 jeux sortis.
DL : Wow ... Quand vous parlez de 33 jeux sortis, vous voulez dire non seulement des projets d'identification créés, par exemple, les séries Commander Keen et Wolfenstein, mais aussi des projets externes, par exemple, Rise of the Triad?
JR : Bien sûr! Plus de Corridor 7 et des jeux pour Gamer's Edge: Shadow Knights, Slordax, Dangerous Dave and the Haunted Mansion, Rescue Rover 1 et 2, BioMenace ... tout un tas de jeux!
DL : Alors, est-il vrai que TEd a été utilisé non seulement avec une vue latérale pour créer des rouleaux latéraux bidimensionnels, mais aussi avec une vue de dessus pour créer des tireurs à la première personne tridimensionnels?
JR : Exactement. C'est dans TEd 5.0 que tous ces jeux ont été créés.
JL : Bien. Je m'intéresse à ce qui suit: à un moment donné, vous et les gars d'id Software avez décidé de passer des jeux en deux dimensions aux jeux en trois dimensions. Avez-vous même discuté de l'idée de créer un nouvel éditeur au lieu de TEd?
JR : Oui, nous avons rapidement résolu ce problème. Nous avons pensé: «Une matrice 2D sera utilisée pour représenter le niveau. Super, nous appliquons simplement TEd pour cela. " Oui c'est ça! [rires] C'était très simple.
JL : Je voudrais poser une autre question: Tom Hall vous cite dans le fichier d'aide de Rise of the Triad: «Tôt ou tard, le programmeur parvient à écrire de quoi il peut être fier - une procédure pleine d'esprit, élégante et ultra-rapide, qui devient la norme pour code d'autres programmeurs. Cependant, cela ne s'applique pas à la procédure de remplissage TEd. Cet algorithme lent et stupide remplit un plan de données d'une manière douloureusement lente. Appuyez sur ESC quand il se fige. "
JR : [rires]
JL : [rires] Alors pourquoi avez-vous écrit comme ça? Cette procédure de remplissage a-t-elle un historique?
JR : Il y avait plusieurs bugs dans la procédure de remplissage. Je n'ai pas passé beaucoup de temps à l'écrire, et cela a
plus ou moins fonctionné, mais parfois il ne se remplissait pas complètement, j'ai donc dû cliquer manuellement pour remplir tous les domaines. C'était facile à utiliser.
[Pendant que nous parlions, j'ai commencé la procédure de remplissage Flood Fill et TEd s'est écrasé dans DOSBox avec une erreur «Diviser par zéro»]
JR : [rires]
JL : [rires] Absolument! C'est drôle parce que j'ai joué un peu avec le rédacteur en chef avant l'interview et j'ai pensé: "Je ne comprends pas pourquoi il a dit ça, tout fonctionne bien pour moi!"
JR : [rires] Eh bien, il ne nous a jamais donné non plus l'erreur de division par zéro ... Je pense que le problème est que vous n'avez pas sélectionné de tuile. Le programme échoue lorsque vous essayez de remplir sans tuile.
[J'ai redémarré TEd, qui affichait la boîte de dialogue de configuration graphique]
Voir cette fenêtre de configuration graphique? TEd permet d'éditer des cartes en CGA, EGA et VGA. Il déplace toutes les données graphiques dans la mémoire XMS afin de pouvoir les récupérer à partir du XMS lors du changement de mode graphique. Autrement dit, si votre jeu prend en charge les trois modes graphiques, il vous permettra de charger ces tuiles. Vous pouvez charger des tuiles VGA de sorte que lorsque vous passez en mode VGA, elles se chargent et résident toutes en mémoire.
JL : Oui, j'ai lu que c'était assez révolutionnaire pour l'époque.
JR : Oui. J'ai également réalisé cette possibilité: si le curseur se trouve quelque part sur le niveau, vous pouvez appuyer sur Alt-L, après quoi le jeu se chargera et vous serez juste à cet endroit du niveau. Vérifions si cela fonctionne.
[Je déplace le curseur sur le niveau et j'appuie sur Alt-L. Un message d'erreur apparaît]
JL : [rires] Et je voulais aussi en parler avec vous ...
JR : [rires]
DL : Quand j'ai expérimenté TEd, j'ai pris une capture d'écran de cette erreur parce que je voulais vous en parler. Vous ne verrez pas de tels messages aujourd'hui dans Photoshop ou Maya ... [rires]
JR : Bien sûr, bien sûr! Cet outil a été écrit uniquement pour moi et Tom [Hall].
JL : Bien sûr! Je voulais vous poser une question à ce sujet: avez-vous écrit ce message d'erreur spécifiquement pour Tom?
JR : Bien sûr! C'était seulement pour Tom. Je ne ferais jamais une telle erreur. [rires]
JL : [rires] Imaginez sa première réaction.
JR : Oh oui, il a éclaté de rire.
[Ensuite, John m'a montré que vous devez ajouter le nom de l'exécutable du jeu après l'exécutable TEd afin que l'éditeur sache quoi exécuter lorsque vous appuyez sur Alt-L]
JL : Wow, ça a marché!
JR : Oui, mais tu es passé au début du jeu. Je pense qu'il est arrivé que vous utilisiez la version finale du jeu, qui ignore ce paramètre de ligne de commande. La version commerciale ne le permet pas, sinon les joueurs tricheraient!
JL : Oui, c'est tout à fait logique. Mais il me semble que la tricherie est l'un des aspects qui attirent les gens vers le développement de jeux. Vous savez, je veux pouvoir changer de niveau pour me moquer d'amis ...
JR : Oui, bien sûr! [rires]
L'avenir des outils de développement
JL : Je voudrais terminer la discussion par une discussion sur l'avenir des outils de développement de jeux.
Au début des années 90, quand j'ai commencé à créer des jeux à l'aide d'outils écrits par vous et d'autres développeurs, ce n'était pas toujours facile: je devais lire le fichier d'aide (s'il existait). Une certaine quantité de connaissances techniques était nécessaire, et souvent il était nécessaire d'étudier les scripts ou la programmation les plus simples. Cependant, en même temps, il était possible de dessiner une sorte de pixel art 8 bits, et cela aurait l'air presque digne. Nous pourrions également personnaliser de manière flexible l'apparence des niveaux comme nous le souhaitons.
Aujourd'hui, il existe des outils comme SnapMap (l'éditeur des nouveaux niveaux de Doom) qui sont beaucoup plus accessibles à tous, mais ils ont beaucoup moins de flexibilité. Il existe des scripts visuels, c'est-à-dire que les utilisateurs n'ont pas à apprendre les scripts ou la programmation. Dans le même temps, la création de ressources de jeu d'apparence décente pour la plupart des gens est une tâche inaccessible.
Ma question est la suivante: pensez-vous que certains de ces outils modernes n'offrent pas aux personnes qui entrent dans l'industrie une flexibilité suffisante, ou pensez-vous que ce n'est qu'une évolution du développement de jeux - exactement la même chose que la transition du langage d'assemblage aux compilateurs - et est-ce que notre industrie va de l'avant?
JR : C'est un développement naturel. L'équipe de développement SnapMap est composée de personnes dont la carrière a commencé avec Doom et l'utilisation de TEd. La société qui a intégré id Software s'appelait
Escalation Studios . Elle a fait Doom Resurrection. Je connais ces gens depuis plus de vingt ans. Ce sont des joueurs très hardcore, après Doom World, puis Quake World. Ils font partie de l'entreprise depuis que nous avons créé Doom. Ce sont des gens dont la vie a été consacrée à la création de niveaux depuis de nombreuses années.
Autrement dit, SnapMap est une évolution naturelle des outils dont les gens ont besoin, pas de la console. De toute évidence, ils n'ont pas fait Doom avec SnapMap, mais SnapMap est un excellent moyen pour les personnes qui n'ont jamais fait de conception de niveau de comprendre même si elles aiment cette activité et, si c'est le cas, elles peuvent trouver des outils plus puissants pour elles-mêmes. Peut-être pas dans cette version de Doom, mais, par exemple, dans le moteur Source ou dans tout autre moteur, dont il existe maintenant beaucoup, comme Unreal. Donc SnapMap leur donnera une idée de ce que c'est.
JL : Oui, cela semble logique. Autrement dit, ce n'est pas un remplacement, c'est la première étape sur la voie du développement.
JR : Exactement, car la partie la plus difficile est de créer des fragments SnapMap. Par conséquent, si les gens peuvent le faire dans la version PC de Doom, ils imagineront quelle est la véritable conception de niveau, au moins pour l'exemple de ces fragments modulaires.
Les conseils de John aux programmeurs d'outils
DL : Dans ma dernière question, je veux revenir là où nous avons commencé: rétrospectives des jeux classiques.
Parfois, dans les jeux, il y a des tours et des tours qui au fil du temps se révèlent perdus. Je pense que la chose la plus intéressante à propos des rétrospectives des jeux GDC classiques est que les gens récupèrent les connaissances perdues. Des gens comme vous qui sont dans l'industrie depuis longtemps peuvent transmettre ces informations à des personnes qui viennent juste d'entrer dans l'industrie.
Alors, quels conseils donneriez-vous aux développeurs d'outils modernes?
JR : Tout d'abord, vous devez écrire un outil pour l'utilisateur de cet outil. Par exemple, si un level designer utilisera votre outil, c'est pour lui que vous réaliserez cet outil. Rendez-le aussi simple que possible et ajoutez-lui autant de fonctionnalités que possible. Il est également important de prendre le temps d'essayer d'utiliser l'outil vous-même et de comprendre ce qui vous agace.
JL : Absolument.
JR : D'ailleurs, très souvent, lorsque les concepteurs demandent d'ajouter des fonctionnalités, les programmeurs d'outils ne prennent pas de mesures en leur faveur et ne leur demandent pas: «Pourquoi avez-vous besoin de cette opportunité? Que voulez-vous réaliser avec cela? " Nous pouvons envelopper la fonctionnalité dans un emballage pratique afin qu'elle soit facile à utiliser. Parfois, les développeurs jettent simplement des composants ... et c'est tout, au revoir, concepteurs de niveaux, comprenez-le par vous-même!
JL : C'est vrai! [rires]
JR : C'est également très bien lorsque les programmeurs d'outils et les utilisateurs sont dans la même pièce et que l'outil est créé avec autant de communication que possible entre les deux équipes.
JL : Je suis d'accord.
JR : Enfin, vous n'avez pas besoin d'écrire quoi que ce soit dans l'assembleur. [rires] Je veux dire, il est très difficile de fournir un support pour un outil écrit il y a dix ans en utilisant des langages ou des fonctions étroitement liés à la plate-forme. Efforcez-vous d'abstraire la fonctionnalité afin de pouvoir la remplacer à l'avenir. J'ai moi-même eu ce problème avec TEd, quand en 2001 j'avais besoin d'un éditeur de tuiles pour créer des niveaux pour un nouveau jeu. J'ai regardé le code TEd 5.0, écrit en 1991, et j'ai pensé: "Eh bien, je n'utiliserai ce code pour rien ..." [rires]
JL : [rires]
JR : N'oubliez pas que les outils vivent plus longtemps que les jeux.
JL : C'est un excellent conseil. Merci beaucoup, j'apprécie vraiment le fait que vous ayez pris le temps de parler avec moi.
JR : Merci!