Le code source de Duke Nukem 3D analysé en détail

Le code source de Duke Nukem 3D analysé en détail

Come get some !

Avatar de l'auteur
Sébastien Gavois

Publié dans

Société numérique

21/02/2013 1 minute
21

Le code source de Duke Nukem 3D analysé en détail

Sur son blog, Fabien Sanglard nous propose une étude détaillée du code source de l'un des plus célèbres jeux de l'histoire : Duke Nukem 3D. Notez qu'il n'en est pas a son coup d'essai puisqu'il s'était déjà intéressé à d'autres gros hits : Another World, Doom 1, 2 et 3 ou encore Quake 3 pour ne citer qu'eux.

duke nukem 3d

 

Fabien Sanglard est un habitué du genre, depuis plusieurs mois il nous propose des études détaillées du code source de nombreux jeux et applications. Dernier en date et pas des moindres : Duke Nukem 3D de 3D Realms. De l'aveu même de l'intéressé, l'exercice a été très long et très intéressant.

 

Pour consulter son compte rendu en quatre parties, c'est par ici que ça se passe :

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Fermer

Commentaires (21)


Le Build Engine ! <img data-src=" />


Le code source de DNF doit être funky <img data-src=" />


Si j’ai pas grand chose en taff cet après midi j’irais lire ça tranquillou <img data-src=" />









Wiistiti a écrit :



Le code source de DNF doit être funky <img data-src=" />





Ici on parle de bon jeu <img data-src=" />









Wiistiti a écrit :



Le code source de DNF doit être funky <img data-src=" />





On y a retrouvé des stagiaires mort entre 2 lignes code… Le médecin légiste est toujours sur l’affaire afin de savoir depuis quand il est là.









tazvld a écrit :



On y a retrouvé des stagiaires mort entre 2 lignes code… Le médecin légiste est toujours sur l’affaire afin de savoir depuis quand il est là.







Il est mauvais ton légiste : ils sont morts de vieillesse <img data-src=" /><img data-src=" />









John Shaft a écrit :



Il est mauvais ton légiste : ils sont morts de vieillesse <img data-src=" /><img data-src=" />







<img data-src=" />



Mort de faim.



rester esclave stagiaire pendant aussi longtemps… ça doit pas être simple de se payer de la bouffe <img data-src=" />









Wiistiti a écrit :



Le code source de DNF doit être funky <img data-src=" />







Aucun plantage ou bug à déplorer sur DNF. Mine de rien, vu le mille-feuilles que j’imagine sous le capot, c’est pas mal.










Groumfy a écrit :



Aucun plantage ou bug à déplorer sur DNF. Mine de rien, vu le mille-feuilles que j’imagine sous le capot, c’est pas mal.







Même pas eu le courage de le terminer ce DNF ….









zeebiXx a écrit :



Même pas eu le courage de le terminer ce DNF ….







Même pas eut le courage de tester la démo <img data-src=" />



Il a une étude pas mal intéressante sur le code de Doom 3 surtout, un peu plus récent…http://fabiensanglard.net/doom3/index.php


Sympa mais perso je trouve les explications, et l’anglais, d’assez mauvaise qualité…








Athropos a écrit :



Sympa mais perso je trouve les explications, et l’anglais, d’assez mauvaise qualité…





Ah ? Et pourquoi ?





J’aime beaucoup l’image résumée Ken Silverman 3D Realms, claire, nette et précise <img data-src=" />



Le 21/02/2013 à 22h 01



d’autres gros hits : Another World





Sur le site d’Eric Chahi on trouve un historique très interessant sur le dev d’Another World.


J’ai une des versions sur PSone (c’est raide de jouer avec la manette, l’impression d’être sur un jeu moyen de C64, à part d’être en 3D)<img data-src=" />








tAran a écrit :



Ah ? Et pourquoi ?







J’ai principalement lu l’article sur Doom, et la plupart du temps ça se résume surtout à des bouts de code et des explications pas très explicatives…









2show7 a écrit :



J’ai une des versions sur PSone (c’est raide de jouer avec la manette, l’impression d’être sur un jeu moyen de C64, à part d’être en 3D)<img data-src=" />





Et moi sur Nintendo 64… Mais dans mon souvenir c’était plutôt jouable pour le gamin de 1112 ans que j’étais.



Quand j’y repense, il devait bien être déconseillé -16 ce jeu <img data-src=" />



Le 23/02/2013 à 13h 15

Il y en a qui s’ennuient…


pour un code procédural avec tout en variables globales, c’est un exploit que ce jeu ait si bien marché (après moultes patches).

Mais le coup de mettre le scenario de DN5 dans le code source, c’est…<img data-src=" />








gokudomatic a écrit :



pour un code procédural avec tout en variables globales, c’est un exploit que ce jeu ait si bien marché (après moultes patches).

Mais le coup de mettre le scenario de DN5 dans le code source, c’est…<img data-src=" />







tips -&gt; une seule personne pour le développer.









raoudoudou a écrit :



tips -&gt; une seule personne pour le développer.





une seule personne dans l’équipe justifie de ne pas suivre des règles élémentaires de bon code? Ok, il a réussi à finir son programme, mais je plains les programmeurs qui aurait dû reprendre son code si c’était arrivé. Voir même, j’aurais plaint Silverman (qui en plus avait juste 18 ans) s’il devait reprendre son code 6 mois après être passé sur un autre projet.

Non, vraiment, c’est un miracle mais c’est pas justifié.









gokudomatic a écrit :



une seule personne dans l’équipe justifie de ne pas suivre des règles élémentaires de bon code? Ok, il a réussi à finir son programme, mais je plains les programmeurs qui aurait dû reprendre son code si c’était arrivé. Voir même, j’aurais plaint Silverman (qui en plus avait juste 18 ans) s’il devait reprendre son code 6 mois après être passé sur un autre projet.

Non, vraiment, c’est un miracle mais c’est pas justifié.







Ne me fait pas dire ce que je n’ai pas dit.



Je dis qu’il a pu faire un programme qui marche avec des globales partout, parce qu’il était seul, rien de plus, rien de moins. C’était clair dans sa tête.



Quant à reprendre son code, si tu as lu l’article, ça n’a jamais été prévu. Lui, il livrait un .OBJ et un .h, basta. Ils n’étaient pas fous de l’autre côté de la barrière <img data-src=" />



Et le coup de reprendre du code 6 mois après, mouarf. Ce n’est pas parce que tu en es incapable que ce genre de programmeur ne l’est pas.



6 mois <img data-src=" />



Même 6 ans, ça m’aurait fait rigoler. <img data-src=" />



ps: Je ne cautionne pas ce type d’écriture de code.