Saint John frappe encore

Si le monde du jeu vidéo dispose de quelques icônes reconnues pour leur gameplay (comme le héros favori de Yavin, Peter Molyneux), rares sont ceux qui sont reconnus pour leur mérite technique. En fait, quand on y réflechit, il n’y a bien que John Carmack qui mérite la reconnaissance du monde entier pour ses multiples innovations dans le monde de la 3D.

Beaucoup s’accordent pour dire que sa plus belle création se trouve dans le moteur 3D utilisé pour un petit jeu qui aurait eu un brin de succès, le fantastique Quake 3 : Arena. Il apportait à l’époque des graphismes ravageurs avec quelques techniques de programmation bien senties et légèrement innovatrices. Un moteur que la firme id software a vendu maintes et maintes fois pour servir de base à d’autres jeux (Elite Force, Enemy Territory, etc…). L’excellente nouvelle que l’on attendait tous vient enfin de tomber lors de la conférence de John Carmack lors du QuakeCon (la fête annuelle qui rassemble les fans d’id software dans une Lan Party géante dans un coin perdu du Texas) : le code source de Quake III va bientôt passer en open source.


Ca ne vous donne pas envie d’y rejouer ?

Véritable tradition pour id, l’ouverture du code source de ses jeux permet de voir arriver des initiatives tierces intéressantes comme QuakeForge et bien d’autres, le code de Quake 3 devrait lui aussi déchaîner les passions. C’est surtout pour beaucoup un moyen d’apprendre les techniques de programmation avancées créant ce mythe qui restera dans les esprits de tous pour la qualité de son gameplay multijoueurs.

Bien entendu ce moteur date quelque peu (5 ans, c’est très long dans le monde de la 3D), mais de l’avis de ceux qui ont vu le code source (suivez un peu, id software l’a déjà vendu à pleins de gens), il est beaucoup plus clair et simple à comprendre que ses prédecesseurs, plutôt bien hiérarchisé et il sera possible de le faire évoluer assez simplement pour lui ajouter les petites nouveautés auxquelles vous êtes tous accros (physique plus évoluée, pixels shaders en pagaille et éclairages un brin plus réalistes).

Des lignes de code qui se liront comme de saintes paroles.

Merci John.

Pour plus de détails sur la Keynote :
http://www.filerush.com/download.php?targe…mackKeynote.zip

Ca c’est une excellente nouvelle ! Il se sera fait désirer celui-là… Et en plus de ça il est bien mature, Id n’est pas du genre à laisser tomber un code avant de l’avoir patché jusqu’au moindre petit bug, un peu comme Epic.

Je vais enfin pouvoir lire le vrai code derrière les MD4, miam.

C’est une bonne nouvelle pour le mode des moddeurs aussi. Ils vont pouvoir faire leurs jeux non commerciaux (je pense que le contrat doit specifier une telle chose) en ayant le moteur complet.

Et pour ce qui est de l’evolutivité on a déjà vu beacoup d’exemples (merde… comment s’appelle ce jeu lara croft like mais à l’epée et style platforme ? tiré d’un comic américain ?? rien à gagner sauf me faire plaisir :P)

PS : non c’est pas American Mc Gey (Gea/Gei/Geai ?) qui avait aussi montré qu’on pouvait utiliser le moteur de Q3 pour de grands décors.

PS2 : faut que je m’y remette, j’ai chauffé Teckos et Vince sur Q3 :stuck_out_tongue:

[quote name=‘Donjohn’ date=’ 13 Aug 2005, 21:53’]PS : non c’est pas American Mc Gey (Gea/Gei/Geai ?) qui avait aussi montré qu’on pouvait utiliser le moteur de Q3 pour de grands décors.
[right][post=“385744”]<{POST_SNAPBACK}>[/post][/right][/quote]
American McGee’s Alice ?

[quote name=‹ Donjohn › date=’ 13 Aug 2005, 20:53’]Et pour ce qui est de l’evolutivité on a déjà vu beacoup d’exemples (merde… comment s’appelle ce jeu lara croft like mais à l’epée et style platforme ? tiré d’un comic américain ?? rien à gagner sauf me faire plaisir :P)

PS : non c’est pas American Mc Gey (Gea/Gei/Geai ?) qui avait aussi montré qu’on pouvait utiliser le moteur de Q3 pour de grands décors.
[right][post=« 385744 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Heavy Metal FAKK 2 ?

Et sinon c’est Mac Gee je pense :stuck_out_tongue:

Pour ceux qui auraient la flème de mater la conf de Carmack, quelques remarques supplémentaires du grand John :

  • Malgré le hype, il estime que les consoles next gen sont a peu près au niveau d’un pc haut de gamme actuel.
  • John dit du bien de Microsoft et des efforts qu’ils ont fait sur les kits de développement.
  • Ces consoles sont multi threadées de tout les cotés, et il va y’avoir pas mal de boulot pour en tirer le meilleur. Si l’on compile du code « actuel » sur ces consoles, on obtient la moitié des perfs de ce qu’on à sur un PC.
  • Utiliser les 3 procs de la Xbox360 en simultané est très chaud, et beaucoup de développeurs vont se contenter de faire le rendu dans un autre thread (comme le permetait le mode SMP de Q3).
  • Pour lui, l’arrivée du multi processeur à tous les niveaux est peut être un brin précipité vu les problèmes engendrés par les problèmes de parrallélisation. Beaucoup de recherches ont été faites sur le sujet et ce n’est pas top.
  • A propos du Cell, Carmack estime qu’il n’est pas forcément fait pour juste la physique ou l’AI, et que le surplus de cycles qu’on offre à ces champs ne sera pas forcément totalement utilisé corecteemnt. Il estime que l’AI ne profitera pas énormément des cycles supplémentaires et que malgré une complexité plus grande, l’impression finale pour le gamer sera quasi similaire. Pour la physique, elle n’est pas scalable et c’est un gros problème.
  • Beaucoup de démos de physique sur PS3 ou sur Ageia sont faites de manière non interactives, restent intéressantes mais ne vont pas rendre le gameplay plus interessant. Dès que l’on veut faire des choses interactives, cela demandera beaucoup plus de puissance. Il conclut sur le sujet en disant que le sujet est très complexe à résoudre, et que le temps passé dessus n’apportera pas grand chose au final.
  • Il aime le coté ouvert de Sony pour ses plateformes de développement par rapport à MS (faut qu’on lui parle de la PSP :P). Il compare la PS3 à une sorte de nouvel Amiga. Stupeur. Sony pourrait l’ouvrir et en faire une machine similaire…
  • Le HD : la restriction de rendre les jeux en 720p mini chez MS est purement marketing parce qu’on pourrait faire peut être aussi bien avec moins de resolution et plus d’anti-aliasing (un grand débat sur PC).
  • Il se plaint qu’il aimerait essayer de nouveaux genres de jeux que les FPS (Il le fait a tout les Quakecon mais Todd son boss n’est pas très réceptif :P)
  • Il s’amuse beaucoup a essayer des choses sur téléphones portables car ca ne coute pas cher et qu’ils peuvent se permettre d’essayer beaucoup de choses sans que ca coute grand chose ou remette en cause le projet.
  • Il trouve que ce sont de belles plateformes pour apprendre à programmer car sur PC les technologies sont parfois complexes et surtout couteuses.
  • Tous les titres de la famille Quake ont rapporté un milliard de $ à id. Il pense que sortir le code source peut inspirer les gens.
  • Parmis ses fantasmes il aimerait que quelqu’un sorte un jeu de manière commerciale avec le code source sur le CD. Il est prêt à relicenser le code pour ceux qui a partir du code GPL voudrait refaire une appli commerciale closed source.
  • Trop de développeurs portent une trop grande valeur à leur code source et devraient l’ouvrir.
  • Il aimerait sortir un jeu « différent » sur téléphones portables puis utiliser ca pour négocier la possibilité de faire un jeu PC basé sur le même concept. Bon courage John.
  • Son dernier fantasme graphique serait d’avoir une virtualisation totale sur les GPU.
  • Il préfère les données précalculées aux algorithmes de génération, trop limités.
  • Les textures actuelles (répétition type tiling) sont un des freins au réalisme et il milite pour des textures « uniques ». Cela aurait un impact surement plus important sur les joueurs que la plupart des technologies actuelles qui consomment des cycles 3D (il parle du subsurface scattering par exemple). Il veut des virtual page tables sur les GPU pour acceder aux textures :stuck_out_tongue:
  • Les drivers et les API apportent un niveau d’abstraction intéressant, mais trop souvent ils prennent de mauvaises décisions et limitent la créativité du code.
  • Les platesformes sont stables, les CPU et les GPU sont a un bon niveau dans toutes les marques

Dans les Q&A :

  • Développement sur de multiples plateformes : les différences sont de plus en plus limitées et les consoles de prochianes générations (avec les pc haut de gamme) ont quasiment les mêmes perfs finales. Les devs feront plutot de multiples petites threads qui tourneront bien sur les 2 consoles, qu’une gestion en peer thread qui ne marcherait pas bien sur le Cell (alors que ca tournerait mieux sur 360). Programmer avec le PC comme plateforme principale posera des soucis lors du portage sur console.
  • PSP : Il aime le côté cool de la console et son architecture. Développement « painful » dessus :stuck_out_tongue:
  • Cartes standalone physiques : il n’est pas content de s’etre fait quoter par AGEIA sur le sujet de la physique, ils vont payer des devs pour ajouter de l’herbe qui bouge et de la fumée intelligente, mais cela risque de s’arreter la. Le problème de la physique est qu’il n’y a pas de fallback, les effets physiques ne peuvent pas etre intégrés au gameplay si ils necessitent une carte optionnelle.
  • Sur les MMO : il aurait aimer travailler sur un de ces titres. L’augmentation de la bande passante pourrait éliminer les cheats. Il redit du bien de Xbox Live (décidément on ne l’a jamais entendu dire autant de bien de MS).
  • D’ici une semaine le code de Q3 devrait être disponible.
  • Il a revendu ses ferraris et conduit un X5, sa femme un Z8. Très BMW les Carmacks décidément.

Merci C_Wizard pour cet excellent compte-rendu !

[quote name=‘C_Wizard’ date=’ 13 Aug 2005, 22:06’]- Les textures actuelles (répétition type tiling) sont un des freins au réalisme et il milite pour des textures “uniques”. Cela aurait un impact surement plus important sur les joueurs que la plupart des technologies actuelles qui consomment des cycles 3D (il parle du subsurface scattering par exemple).
[right][post=“385766”]<{POST_SNAPBACK}>[/post][/right][/quote]

Oui mais euh… Des textures uniques d’accord, il a déjà fait un pas dans ce sens avec la fameuse techno megatexture de quake wars, mais il faut encore des artistes pour les créer ces textures. Et puis les outils qui vont avec.

Et pour le subsurface scattering, je trouve que ça ajoute quand même pas mal à la qualité du rendu, et y’a de toutes façons pas moyen d’arriver à un résultat équivalent avec de simples textures.

En plus ça montre qu’ils ont vraiment confiance dans le moteur de D3 pour considérer déjà le code de quake 3 obsolete. Et puis d’accord, le moteur a 5 ans, mais même encore aujourd’hui (enfin jusqu’à l’année derniere au moins) on voit apparaitre des jeux recents utilisant ce moteur, et ils ne sont pas plus moche que d’autres.

Par contre “la PS3 un nouvel amiga” euh… certes… il a inhallé la “fumée intelligente” de chez AGEIA ?

[quote name=‘Clad’ date=’ 13 Aug 2005, 22:23’]En plus ça montre qu’ils ont vraiment confiance dans le moteur de D3 pour considérer déjà le code de quake 3 obsolete.
[right][post=“385771”]<{POST_SNAPBACK}>[/post][/right][/quote]

Quand tu vois le trailer de Quake Wars, t’as pas trop de doute sur la viabilité du Doom 3 engine.

Merki mon cher C_Wiz !

Quelques remarques:

-Pareil que drealmer, c’est bien de vouloir des textures uniques, encore faut-il avoir l’armée de graphistes nécessaire. Ou alors j’ai compris de travers.

-Les consoles next-gen au niveau d’un pc haut de gamme actuel?? My god elles sont vraiment pas si puissantes que ça alors… Tout ce foin pour rien?

-720p mini… euh vraiment mini?

-putain revendre ses ferraris… et pour un X5 en plus. Il baisse dans mon estime ce john.

[quote name=‘Ghanja’ date=’ 13 Aug 2005, 23:33’]-720p mini… euh vraiment mini?
[right][post=“385785”]<{POST_SNAPBACK}>[/post][/right][/quote]

Non pas “mini” dans le sens où le jeu ne proposera aucune autre résolution, Microsoft est fou mais pas cinglé. Ils veulent imposer aux développeurs le 720p dans tous les jeux histoire que ça fasse bien sur les bornes Fnac pour que ça tape et créer un fossé générationnel entre les machines. C’est dans ce sens là qu’il faut le comprendre, et ça fait débat en ce moment, cette obligation.

[quote name=‘yavin’ date=’ 14 Aug 2005, 01:17’]Non pas “mini” dans le sens où le jeu ne proposera aucune autre résolution, Microsoft est fou mais pas cinglé. Ils veulent imposer aux développeurs le 720p dans tous les jeux histoire que ça fasse bien sur les bornes Fnac pour que ça tape et créer un fossé générationnel entre les machines. C’est dans ce sens là qu’il faut le comprendre, et ça fait débat en ce moment, cette obligation.
[right][post=“385796”]<{POST_SNAPBACK}>[/post][/right][/quote]

Microsoft considére que dans les 4 ou 5 ans de durée de vie de la console, le HDTV va décoller (ça a déjà commencé aux US et au Japon, en Europe on est craintif mais ça viendra bien un jour ou l’autre). Du coup, ils préférent s’assurer que meme les premiers jeux fonctionnent en HDTV, pour éviter d’avoir des gouffres entre les premiers jeux non-HDTV et les jeux suivants en HDTV niveau performance : le fillrate requis pour remplir tout ça n’est pas le même.

Donc certes, ils “brident” artificiellement les performances de leur machine, mais ils assument, et font ça pour que les gens, plus tard, puissent exploiter leurs télés HDTV. Si un constructeur avait fait ça a l’époque du 16/9, il serait bien plus largement supporté qu’actuellement.

merci C_wizard pour ce compte rendu. pour ce que j’en touche, je trouve Carmack très crédible, pour les sujets que je connais pas, je veux bien le croire, hormis le coup de l’amiga :stuck_out_tongue:

et merci john, t’es le meilleur, id software remonte dans mon estime après un doom3 lassant et répétifif au possible. bon c quand que le code s’ouvre ? j’imagine qu’on pourra le downloader sur de beaux FTP bientôt non ?

[quote name=‹ silicium › date=’ 14 Aug 2005, 01:47’]et merci john, t’es le meilleur, id software remonte dans mon estime après un doom3 lassant et répétifif au possible. bon c quand que le code s’ouvre ? j’imagine qu’on pourra le downloader sur de beaux FTP bientôt non ?
[right][post=« 385802 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Ouh le vilain petit Silicium, qui n’a pas lu tout le post de C_Wizard:

[quote name=‹ Drealmer › date=’ 14 Aug 2005, 10:40’]Ouh le vilain petit Silicium, qui n’a pas lu tout le post de C_Wizard:
[right][post=« 385827 »]<{POST_SNAPBACK}>[/post][/right][/quote]

je plaide coupable, mais pour circonstances atténuantes, j’ai posté à 2h40 du matin :stuck_out_tongue:

[quote name=‘Drealmer’ date=’ 13 Aug 2005, 23:22’]Merci C_Wizard pour cet excellent compte-rendu !
Oui mais euh… Des textures uniques d’accord, il a déjà fait un pas dans ce sens avec la fameuse techno megatexture de quake wars, mais il faut encore des artistes pour les créer ces textures. Et puis les outils qui vont avec.

Et pour le subsurface scattering, je trouve que ça ajoute quand même pas mal à la qualité du rendu, et y’a de toutes façons pas moyen d’arriver à un résultat équivalent avec de simples textures.
[right][post=“385770”]<{POST_SNAPBACK}>[/post][/right][/quote]
Euh… Et ça prendrais pas des Go par dizaines ce plan textures uniques pour un bon fps ? Blu-ray ? CG 1Go ? :x

5 ans après si ils veulent le X5 :P"

Au sujet du code source que les développeurs devraient tous diffuser, c’est pas si simple (voici trois raisons, par ordre croissant d’importance) :

  1. Le code source n’est pas toujours très propre. Quand on fait un moteur, comme c’est le cas pour Quake, les exigences ne sont pas les mêmes, et on obtient à la fin un code qui est concu pour être transféré à d’autres personnes. Diffuser un code source brouillon peut nuire, niveau notoriété.

  2. Quand on a le code source, on peut facilement compiler en enlevant tous les systèmes de protection contre la copie. Et même si le jeu est considéré comme commercialement mort par le développeur, il peut ne pas en être de même pour les éditeurs. Et mieux vaut ne pas se mettre les éditeurs à dos, à moins de s’appeler Valve ou id software, càd d’en avoir les moyens.

  3. Un jeu qui compile sans aucun SDK externe, ça devient rare. Y’a pas beaucoup de monde qui fait encore des jeux en créant son propre système audio, son propre moteur 3D, son propre moteur physique, son propre moteur réseau, etc. Et la plupart du temps ces SDK ont une licence qui empêche de les distribuer… tout le monde ne s’appelle pas FMOD :stuck_out_tongue:

[quote name=‹ Drealmer › date=’ 15 Aug 2005, 21:19’]1. Le code source n’est pas toujours très propre. Quand on fait un moteur, comme c’est le cas pour Quake, les exigences ne sont pas les mêmes, et on obtient à la fin un code qui est concu pour être transféré à d’autres personnes. Diffuser un code source brouillon peut nuire, niveau notoriété.
[right][post=« 386241 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Ha putain. Pourtant tout le monde sait que je conchie RMS, emacs et le kernel 2.4 mais je vais quand même prendre la défense de l’open source.

L’excuse qui revient sans cesse de « mon code il est pas propre, il est pas optimisé, y’a des trucs pas bien dedans », ça me les brise menues. Si c’est pas propre, on rend propre, si c’est pas optimisé, on optimise, et si y’a des choses moches on les vire. Quoi ? Pas le temps ? Bah voilà, soit on code pour l’amour de l’art ou soit on fait ça de manière alimentaire. C’est une question de philosophie de vie.

J’en entends déjà qui vont me dire « ouiiiiiiiiiiiiiiii mais tu comprends, les pressions de l’éditeur tout ça ». Carmack n’a pas toujours été une star, et il ne faisait pas de concessions avant. C’est peut être pour ça qu’il est différent.

[quote name=‹ Drealmer › date=’ 15 Aug 2005, 21:19’]2. Quand on a le code source, on peut facilement compiler en enlevant tous les systèmes de protection contre la copie. Et même si le jeu est considéré comme commercialement mort par le développeur, il peut ne pas en être de même pour les éditeurs. Et mieux vaut ne pas se mettre les éditeurs à dos, à moins de s’appeler Valve ou id software, càd d’en avoir les moyens.
[right][post=« 386241 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Pipo. Tous les checks de clefs modernes sont server side et la version solo aura été craquée 4 jours avant la sortie du jeu. Donc même avec le code source de la protection, ca ne changera strictement rien.

[quote name=‹ Drealmer › date=’ 15 Aug 2005, 21:19’]3. Un jeu qui compile sans aucun SDK externe, ça devient rare. Y’a pas beaucoup de monde qui fait encore des jeux en créant son propre système audio, son propre moteur 3D, son propre moteur physique, son propre moteur réseau, etc. Et la plupart du temps ces SDK ont une licence qui empêche de les distribuer… tout le monde ne s’appelle pas FMOD :stuck_out_tongue:
[right][post=« 386241 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Des problèmes de licence il y’en a toujours, si tu bases ton jeu entièrement sur un SDK tiers, l’intérêt est moindre. D’un autre côté, je ne pense pas que les développeurs de jeux basés sur Q3 vont se presser pour ouvrir leur code maintenant que celui de leur SDK est dispo ? Mauvaise excuse donc.

Et personne ne les oblige à partager le code complet, ils pourraient très bien en partager de petites portions, même si elles ne compilent pas. Pour que les autres apprennent.

[quote name=‹ C_Wizard › date=’ 17 Aug 2005, 09:08’]L’excuse qui revient sans cesse de « mon code il est pas propre, il est pas optimisé, y’a des trucs pas bien dedans », ça me les brise menues. Si c’est pas propre, on rend propre, si c’est pas optimisé, on optimise, et si y’a des choses moches on les vire. Quoi ? Pas le temps ? Bah voilà, soit on code pour l’amour de l’art ou soit on fait ça de manière alimentaire. C’est une question de philosophie de vie.
[right][post=« 386949 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Ouai enfin juste une petite observation meme si sur le fond je suis d’accord mais dans un projet de cette taille c’est quand meme super plus compliqué que ca et vachement moins tout noir/tout blanc. Carmack meme si il vit dans un monde a part et tout je suis d’accord, il est pas tout seul a coder, de mega loin. On peut pas rendre open source un truc juste en faisant un zip et basta et c’est pas forcement de l’art ou du code alimentaire (je sais que ca vanne tuo la :stuck_out_tongue: coucou tuo). On considere toujours de le faire pour tout le code de System.Windows.Forms et y a rien dans le code dont j’ai honte et pourtant c’est super loin d’etre aussi trivial et ca prend des ressources significatives. Il faut qu’il y ait une vrai motivation derriere, pas juste « parceque ca serait rigolo ». Maintenant clair, y a de la philosophie dans la maniere de coder et si c’est fait a la « alimentaire/je m’en foutiste » t’as beaucoup plus de problemes bien bien avant que des gens qui regardent ton code ait des commentaires « artistiques » a faire :stuck_out_tongue: