Faisons court : nous avons peut être été trop vite en besogne. Certains posts très pertinents dans les commentaires de notre précédente news ont mis en évidence les faiblesses de notre argumentaire.
Reprenons donc point par point :
- le Havok qui recrée des fonctions mathématiques 3D présentes dans DirectX et OpenGL : rien d'étonnant en fait, puisque ce moteur physique est censé être indépendant de toute technologie "tierce". De plus, en étudiant les sources, on trouve un certain nombre de fonctions complexes autour de la dynamique des fluides et autres "solveurs sphériques" qui semblent plutôt confirmer la présence de ce fameux moteur dans les sources.
- les énormes bouts de code provenant de Quake 2 : rien de surprenant puisque le source tree est une gigantesque auberge espagnole où s'entrecroisent apparemement le code de tous les projets de Valve (fait non précisé dans les dires de Gabe Newell, et source de bien des confusions).
- des copyrights Dan Silva, l'auteur de Deluxe Paint : ce copyright se retrouvant dans les en-têtes des include du répertoire maxsdk, il se pourrait évidemment que ce cher Danny ait aussi travaillé pour 3DS Max.
- l'inclusion des librairies DirectX 8 et 9 : vu qu'ils bossent sur ce projet depuis 5 ans, il est normal de trouver les deux. Cela dit, les fonctions de DX8 étant toujours présentes dans les librairies DX9, et du code DX6 et DX7 étant encore présent dans les sources, on peut tout de même se poser des questions sur la pertinence de la présence de ces deux librairies.
- pour la librairie 3DS Max : Havok disposerait d'un plug-in 3DS, donc la présence de cette librairie ne serait pas surprenante, bien que le jeu lui-même n'ait rien à faire avec (on va dire ça).
- plus généralement, l'état lamentable dans lequel se trouve ce code nous a inspiré la plus grande méfiance : mélange d'objet et de fonctionnel, des headers jamais complets, des commentaires anarchiques (quand il y en a, c'est-à-dire à peu près jamais), des répertoires qui contiennent des trillions de fichiers, des *.h sans les *.cpp et vice et versa, etc. Un bordel monstrueux qui nous semblait (à nous, programmeurs de SSII) incroyable venant d'une boîte professionelle. Après avoir discuté avec des codeurs français de jeux vidéo, il semblerait que ce soit courant dans cette industrie. Demandez pas pourquoi vos jeux sont buggués.
Toutefois, il reste une question intéressante (à laquelle vous avez le droit de répondre dans nos forums, c'est vraiment une question) : où est le Source Engine, cette technologie qui lave plus blanc que blanc avec DirectX 9 ? On trouve bien des traces de DirectX (répertoires playback et shaderdx8 notamment), mais on trouve surtout de l'OpenGL à tous les étages (l'héritage de Half-Life premier du nom). Les mots 'Source Engine' sont bien présents dans trois (3) fichiers, pour afficher un numéro de version, mais on voit mal en quoi ça représenterait un moteur 3D exploitant à mort toutes les fabuleuses possibilités de DirectX9. Seuls les shaders semblent être sujets à un traitement particulier selon la version de DirectX (et la présence d'une carte GeForceFX), ce qui est quand même assez léger.
Une autre question que l'on peut légitimement se poser concerne les deux réactions de Gabe Newell. Une adresse helpvalve@valvesoftware.com pour dénoncer les coupables ? Et pourquoi pas un Téléthon spécial Valve ? Quant aux demandes pour supprimer le code source des serveurs, serions-nous les seuls à les trouver ridicules ? Le .rar en question se trouve déjà sur la moitié des ordinateurs de la planète...
Bref, il reste des zones d'ombre qui laissent planer le doute : s'agit-il effectivement d'un code récent et complet de Half-Life 2 ? D'après les dates des fichiers, l'ensemble du source volé a été à l'évidence obtenu depuis la base de données de SourceSafe (qui gère le partage d'accès au code source entre les divers développeurs) et créé le 18 septembre au soir (les fichiers eux-mêmes n'ayant plus été modifiés depuis le 13), ce qui est cohérent avec la date de vol annoncée par Gabe Newell. Comment une machine de Valve aurait-elle pu régénérer l'ensemble du source, puis l'envoyer sur le Net, sans jamais se faire remarquer ni laisser de trace dans un log quelconque ?
Alors, zones d'ombre ou manque ahurissant de sécurité du côté de Valve ? Nous ici, on a l'extrême prétention de ne pas prendre les messages de Gabe pour argent comptant, de s'interroger et de chercher à comprendre. Et vous ?
Mise à jour : suite (et fin ?) de cette ténébreuse affaire dans cette news.