Interview – Ken Silverman

KenBirthday_Large

J’ai fait la connaissance de Ken Silverman qui, en plus d’être super sympa, a gentiment répondu à mes questions, je vous laisse découvrir :

Si vous êtes largués, j’ai mis un petit lexique à la fin^^

GameBox : Bonjour Ken. Peux-tu te présenter en quelques lignes ?

Ken Silverman : Salut. « You want more? Ok ! I’m Ken Silverman and I’m coming to get the rest of you alien bastards. ». J’ai volé cette replique à Duke Nukem 3D, honte à moi. Si vous souhaitez en savoir plus sur ma vie, allez voir ici : http://advsys.net/ken

GB : Ton premier contact avec un ordinateur a eu lieu en 1983  avec le TI-99/4A, est-ce à ce moment-là que tu as commencé à programmer?

K.S : En fait , le TI-99/4A était mon premier ordinateur à la maison de façon « permanente » . Avant cela , mon père ramenait occasionnellement à la maison une machine du travail appelé « GG ». Quand elle était à la maison, mon frère et moi étions scotchés dessus toute la nuit . Mon frère essayait d’écrire des programmes simples en Basic , avec l’aide de mes parents, alors que je les regardais – J’étais très jeune à l’époque.

Fin 1983 , mes parents nous ont acheté notre premier ordinateur – parce qu’il était en solde. Au cours des premiers mois d’utilisation du TI , je travaillais surtout sur des projets de programmation avec mon frère . Dans nos premiers jeux il y avait des clones de Pacman vraiment horribles ! ( et bien moins bon que le jeu d’arcade : les monstres ne bougeaient même pas ! Vous pouvez trouver ce jeu sur mon site web quelque part ) . Il y avait aussi un clone de « Snake ». Après cela, mon frère s’intéressait de moins en moins à la programmation , tandis que moi je continuais . La plupart de mes projets n’ont pas abouti et avaient peu d’utilité . J’ai essayé de faire des jeux comme il y en avait dans les salles  d’arcades – mon préféré était Pole Position parce que c’était en (pseudo) 3D . Malheureusement  le Basic du TI  était très lent et me limitait.  Aussi, je n’avais pas assez d’expérience (à la fois en mathématiques et en programmation ) pour réussir à faire grand chose avec les capacités de la machine !

GB : Quel machine t’a le plus impressionné ?

K.S : Je dirais que mon passage au PC en 1988 a été le plus grand changement. J’ai vraiment aimé le QuickBasic, et pour la première fois, je pouvais partager mon travail avec les autres. Je n’ai commencé la programmation en C que quelques années plus tard et il m’a fallu un peu de temps pour voir les différences en matière de vitesse et de mémoire.

GB : Si tu devais faire la comparaison entre les ordinateurs actuels et ceux avec lesquels tu as commencé, qu’en dirais-tu?

K.S : Une machine moderne ouvre la porte à de nouveaux types d’applications en tous genres que l’on croyait impossibles avant. Bien sûr, la puissance supplémentaire permet de traiter une programmation plus lourde plus facilement. C et Assembleur sont rarement enseignés à l’université, ce qui est vraiment dommage. Cela me donne un avantage si je travaille sur un projet moi-même. Si je dois travailler avec les autres, je ne peux cacher ma façon de procéder derrière une DLL. Si je dois effectivement partager mon code avec les autres, je trouve que j’ai parfois de la difficulté à parler la même langue.

GB : Peut-tu m’en dire d’avantage sur la création du Build Engine et ton arrivée chez Apogee?

K.S : Je vais commencer par le début. J’ai commencé à jouer avec les graphismes 3D en 1991. Une de mes premières démos affichait un cube en 3D fil de fer – et par la suite avec des polygones. Je venais de terminer une démo avec mappage de texture – un bitmap de filage (2D), fortement inspiré par une publicité pour la Super Nintendo. Ensuite, Wolfenstein 3D est sorti. J’ai été impressionné par le moteur graphique et je n’ai pas pu m’empêcher d’essayer de le copier. 6 mois plus tard, j’avais un jeu pratiquement terminé. Après que mon père ai vu un de mes cousins ​​adorer mon jeu, il a décidé que je devrais le proposer à quelques entreprises – Apogee étant l’une d’entre elles. Ils ont été impressionnés, mais ils voulaient faire trop de changements et aucun accord n’a abouti à l’époque.

Quelques mois plus tard, j’ai lancé Ken’s Labyrinth par mes propres moyens. J’ai eu de nombreux appels au cours des semaines suivantes – et parmi eux, Epic via lesquels j’ai re-publié le jeu. Pendant ce temps-là, Id Software a affiché un communiqué de presse avec les captures d’écran de leur nouveau jeu : Doom. Une fois de plus, j’ai essayé de le copier. Quelques mois plus tard, j’ai réalisé une démo technique et écrit à quelques entreprises – Apogee en faisait encore partie. Je ne savais pas cela à l’époque, mais j’ai eu beaucoup de chance car Apogee mourait d’envie de faire un jeu avec le moteur de Doom, mais Id ne voulait pas céder de licence pour son moteur 3D à l’époque. Je suppose qu’ils voulaient que leur jeu soit le seul et unique à exploiter leur moteur 3D. Apogee m’a donc embauché et le reste fait partie de l’histoire.

GB : A quel point étais-tu impliqué dans le développement de Duke Nukem 3D, Blood et Shadow Warriors?

K.S : J’allais voir l’équipe de développement tous les 2/3 mois . Je passais la plupart de mon temps avec le programmeur en chef (il y avait habituellement 1 seul programmeur pour l’ensemble du jeu , sans me compter) . J’allais parfois voir ce que faisaient les « Map designer », surtout pour m’amuser et voir comment ils utilisaient mes outils . J’ai toujours eu une longue liste de bugs à corriger et de fonctionnalités à mettre en œuvre . Notez que je n’ai vraiment pas participé au développement du contenu de ces jeux comme les cartes, les sons , le gameplay , la musique et les effets sonores .

Quand j’étais chez moi à Rhode Island j’avais beaucoup plus de temps pour les moteurs plus costauds. Apogee n’aimait pas que je travaille à la maison , mais je crois que les choses fonctionnaient bien comme cela au final. Je pense que plusieurs de mes innovations n’auraient pas pu voir le jour si je n’avais pas eu ces longues périodes de liberté . Quand j’étais à la maison , j’envoyais les mises à jour du moteur par modem  et je m’entretenais pendant de longues conversations téléphoniques plusieurs fois par jour . En 1996 , j’ai commencé à utiliser le courrier électronique .

Pour une description détaillée de mon travail : http://advsys.net/ken/kensrole.txt

GB : Que penses-tu des technologies 3D utilisées de nos jours?

K.SLes GPU, c’est très bien si vous voulez faire un moteur 3D (Polygone) de base avec les shaders simples. Essayez d’aller plus loin – comme être créatif d’une manière à laquelle Nvidia n’a pas pensé – et vous finirez par le regretter (généralement quand vous devez tout recommencer en réalisant que cela ne fonctionne pas). J’ai joué un peu avec les shaders (voir POLYDRAW), mais j’ai rencontré beaucoup de difficultés qui rendaient la programmation des shaders très frustrante. Il y a aussi la programmation GPGPU. Je l’ai essayée, mais je ne suis jamais allé très loin. Le problème c’est qu’il n’y a pas de normes pour le GPGPU présent sur les machines de bureau standard. À l’exception des gamers, la plupart des gens ont une carte mère bas de gamme (vidéo intégrée) ou un ordinateur portable. Dans les deux cas, le GPU est généralement un Intel qui, avouons-le, est une catastrophe. En fait, je ne serais pas surpris si, dans de nombreux cas, les instructions SSE n’étaient en réalité qu’un driver intégré dans le CPU. Pour cette raison, j’en suis resté au rendu CPU.

GB : De quoi es-tu le plus fier ?

K.S : Si vous parlez du Build Engine, ce serait ma plus grande fierté et mon outil qui a eu le plus de succès : l’éditeur WYSIWYG en mode 3D, l’aide intuitive et la gestion du voxel.

GB : Gardes-tu toujours contact avec le milieu des jeux vidéos ?

K.S : Non, pas vraiment… Un retour vers l’industrie du jeu vidéo ne m’intéresse pas. Le rôle que je tenais – développeur du moteur 3D – n’existe plus, et la façon dont les jeux sont faits ces jours est complètement différente et sans intérêt pour moi.

GB : Tu joues  aux jeux vidéos?

K.S : Je me fiche  des jeux 3D modernes : ils me font déprimer. Ces jours-ci, à mes heures perdues je joue à mes propres jeux Evaldraw, tels que le Backgammon ou Kenken (un sudoku-like).

GB : Autre chose dont tu voudrais nous parler?

K.S : Au cours de la dernière année, j’ai travaillé pour Voxon, une petite start-up, en essayant de construire un affichage volumétrique à faible coût. Leur accent est mis sur le jeu – principalement de style arcade en raison de la petite taille de l’écran . J’ai un rôle actif dans l’écriture du code pour exécuter l’affichage et je crée aussi un grand nombre de démos. Vous trouverez beaucoup de vidéos YouTube à ce sujet si vous êtes curieux.

GB : Ken, merci beaucoup et bonne continuation!

K.S : De rien, et merci pour votre soutien!

 LEXIQUE :

TI99-4A: Produit par Texas Instruments, le TI-99/4A sorti en 1981 est l’un des premiers ordinateurs familiaux et successeur du TI99/4.

GPU : GPU est le sigle de Graphics Processing Unit, le nom anglais du processeur graphique d’une machine.

CPU : Le processeur (ou CPU de l’anglais Central Processing Unit, « Unité centrale de traitement »)

GPGPU : Abréviation de general-purpose processing on graphics processing units, c’est-à-dire un calcul générique sur un processeur graphique

WYSIVYG : Un WYSIWYG (prononcé [wɪziwig] ou [wiziwig]) est une interface utilisateur qui permet de composer visuellement le résultat voulu, typiquement pour un logiciel de mise en page, un traitement de texte ou d’image. C’est une interface « intuitive » : l’utilisateur voit directement à l’écran à quoi ressemblera le résultat final.

« WYSIWYG » est l’acronyme de la locution anglaise « What You See is What You Get », signifiant littéralement en français « ce que vous voyez est ce que vous obtenez » ou de façon plus concise « tel affichage, tel résultat » ou encore plus simplement tel quel.

1 commentaire

  1. Freddy février 27, 2014 10:56   Répondre

    Un excellent article sur un personnage dont on entend moins parler de nos jours mais qui a participer à l’élaboration de notre bonheur « duke Nukémien ».

    Pour ce qui est de ce qu’il pense de la programmation des shaders je pense que les dernières CG de N’vidia (pour ne citer qu’elles) avec CUDA, PhysX et tout le toutime permettent d’avoir une plus grand souplesse dans la gestion des threads en nombre toujours plus outrancier. Mais là aussi il n’y a plus, comme à l’époque, un seul programmeur pour un jeu mais bien souvent pour les gros studios (EA/ ROCKSTAR/ DICE/ UBISOFT, etc…) des dizaines. Et du coup ça soulage aussi.

    Après il y a cette critique des processeur Intel. Je pense que l’arrivé des Sandy Bridge et plus récemment depuis l’an dernier fabuleux Haswell corrigent bon nombre de ces soucis.

    Pour ce qui est des jeux, il dit « À l’exception des gamers, la plupart des gens ont une carte mère bas de gamme avec la carte vidéo intégrée, ou un ordinateur portable. & « Je me fiche des jeux 3D modernes – ils me font déprimer. Ces jours-ci, à mes heures perdues je joue à mes propres jeux Evaldraw, tels que le Backgammon ou Kenken (un sudoku-like). »
    … bin oui mais les gamers restent des gamers et on besoin de machines gérant la 3D, donc CG obligatoire. Les autres ne feront/n’utiliseront pas (ou peu) d’appli 3D donc le choix des carte vidéo intégré et logique mais je tiens à noter que l’on peut jouer à Dead Space (2008), jeu superbement optimisé, tourne sans souci en 1600×900 (ou presque : réglage graphique au mini) sur un laptop équipé d’un P1600 à 2GHz,win7 & 4Go de ram.
    Pour le jeux je l’invite à faire le tour des 3 Dead Space (pour en revenir à eux), d’Alan Wake, des 3 Bioshock, et surtout de borderlands 2 ! Lui qui a contribué à l’irrévérencieux Duke Nukem ne pourra qu’apprécier ces petits bijoux… loin de ses sudoku-like il est vrai.

    NB : « Do you still have contacts with the world of video games or not? Why? » la seule question à ne pas avoir été traduite/souligné 😉

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *