PDA

Voir la version complète : Interview de J. Carmack



Devnull
13/08/2011, 12h57
http://www.pcper.com/reviews/Editorial/John-Carmack-Interview-GPU-Race-Intel-Graphics-Ray-Tracing-Voxels-and-more

Dark Fread
13/08/2011, 13h11
J'adore ce type.

Froyok
13/08/2011, 19h11
Dur à suivre son truc avec brouhaha ambiant, mais ça reste encore une fois super intéressant. :)

Devnull
13/08/2011, 22h11
Hop, le transcript est en ligne: http://www.pcper.com/reviews/Editorial/John-Carmack-Interview-GPU-Race-Intel-Graphics-Ray-Tracing-Voxels-and-more/Intervi

Møgluglu
13/08/2011, 22h43
Je le savais, j'aurais jamais du lire les commentaires des trolls en bas de page. :tired:

"Proceduralism is really just a truly crappy form of data compression."
:wub:

Toujours aussi impressionnant de le voir répondre du tac au tac avec des phrases claires et bien construites, et surtout sans jamais dire de connerie.

Møgluglu
14/08/2011, 11h31
Aussi, j'aime bien sa façon de voir le rendu comme un problème de temps réel : le jeu final doit tourner à 60 FPS constants. On a donc un budget de 16 ms de temps de calcul pour dessiner chaque frame. L'objectif est de maximiser la qualité de l'image en restant impérativement dans ce budget.

Alors que traditionnellement, on donne juste une quantité fixe de calculs à faire et on le fait faire le plus vite possible : on finit tout en 4 ms puis on attend la syncro verticale les 12 ms restantes. (Ou on finit en 18 ms et on rate la synchro.)

Une autre approche, c'est d'avoir une quantité fixe de calculs par frame et un framerate constant, et de chercher à minimiser la consommation. Au lieu de démarrer le CPU et le GPU à fond au début, on les fait tourner à la fréquence minimale qui permette encore de terminer le calcul à temps.

Après, est-ce que c'est au développeur de s'occuper de ça, ou aux drivers graphiques ? Ou aux deux ?

Teto
14/08/2011, 14h17
Aussi, j'aime bien sa façon de voir le rendu comme un problème de temps réel : le jeu final doit tourner à 60 FPS constants. On a donc un budget de 16 ms de temps de calcul pour dessiner chaque frame. L'objectif est de maximiser la qualité de l'image en restant impérativement dans ce budget.
Sauf que là c'est un raisonnement de gars travaillant pour la console, à savoir travaillant pour un matériel donné et immuable. Car bien sûr si le matériel évolue, devient plus puissant, ces FPS seront forcément tenus. C'est une manière intelligente de travailler, plus que de dire que le matériel suivra un jour, c'est sûr, mais ça fait bizarre quand même.

Pour tout ce qui est procédural je suis moins d'accord. Dans de nombreux jeux le fait de faire du procédural permet de gagner du temps (de développement, de place, ...), dire que c'est un moyen crétin est un peu excessif. Si cela permet de faire un univers entier tenant dans 200 Mégas, je signe tout de suite. Je m'occupe des quelques planètes dont j'ai besoin pour mon jeu, le reste se fait automatiquement pour donner une impression de bac à sable, je ne vois pas ce qu'il y a de débile là-dedans. Pareil pour les paysages, les pnj, les bâtiments, ..., j'achète!

Sinon il ferme pas mal la porte au modding, à mon avis ça va jouer contre lui. S'il ne propose pas le moteur dans une formule voisine de l'UDK et CE3, je pense qu'on ne va pas parler très longtemps de son moteur. Et s'il veut des sous pour son Id6, il va avoir intérêt à en vendre. Je suis désolé, mais de ce que j'ai vu de RAGE ne m'a pas transcendé, je ne vois rien de mieux que ce que font l'UDK et CE3 (d'autant que le CE3 aurait un moyen équivalent aux Mégatextures, quelqu'un peut confirmer? je n'ai rien vu de tel sur le site de CE3), par exemple il semble assez moyen concernant les fumées et autres effets de particules volumétriques. Jusqu'à présent de ce que j'ai vu du CE3 m'a bien d'avantage plu (je laisse de coté les effets HDR), que ce soit au niveau du rendu ou des outils pour la conception.

Enfin, on verra bien.

Møgluglu
14/08/2011, 19h10
Sauf que là c'est un raisonnement de gars travaillant pour la console, à savoir travaillant pour un matériel donné et immuable. Car bien sûr si le matériel évolue, devient plus puissant, ces FPS seront forcément tenus. C'est une manière intelligente de travailler, plus que de dire que le matériel suivra un jour, c'est sûr, mais ça fait bizarre quand même.

Oui mais même sur PC, le gamer qui fait évoluer son matériel va pousser les options graphiques plus à fond, activer l'antialiasing et la tessalation de partout…
Plutôt que vouloir le même rendu partout, on peut s'adapter à la puissance disponible.
Il me semble que les jeux actuels font déjà un peu ça, mais pas au point que Carmack suggère avec le raytracing "je lance plein de rayons en mettant à jour l'image au fur et à mesure et je ne m'arrête qu'au bout de 16 ms".



Pour tout ce qui est procédural je suis moins d'accord. Dans de nombreux jeux le fait de faire du procédural permet de gagner du temps (de développement, de place, ...), dire que c'est un moyen crétin est un peu excessif.

Effectivement, si on le voit du point du vue du développement, ça se défend aussi. Je n'ai pas la moindre idée de comment les artistes travaillent, donc je ne commente pas. :)



Sinon il ferme pas mal la porte au modding, à mon avis ça va jouer contre lui.

C'est vrai que l'argument "non mais le megatexturing c'est trop compliqué pour vous, il y a trop d'outils vous n'y arriverez jamais, en plus ça fait 1To de données à télécharger", c'est moyen.

Teto
14/08/2011, 22h26
Effectivement, si on le voit du point du vue du développement, ça se défend aussi. Je n'ai pas la moindre idée de comment les artistes travaillent, donc je ne commente pas. :)
Pour faire simple, d'après ce que j'ai compris et ce qui existe, y'a 2 types de procédural:
- Procédural par "grain". On donne à l'engine un identifiant genre "125485f125r5thM" qui est en fait une version ultra-compressée de ce qu'on veut. L'engine décompile ce truc, en utilisant des fractales pour mettre un peu de "roughness" et au bout d'un moment cela donne ta forme en procédural (paysage, végétation, immeuble).
- Procédural par "éléments préfabriqués". C'est ce qui existe dans l'UDK pour faire des immeubles. On construit d'abord tous les éléments constitutifs d'un immeuble (morceaux de façades, avec ou sans fenêtres, coins, entrées, etc.) puis on donne à l'engine des règles valables pour cet immeuble. L'engine le construit suivant ces règles et utilise les préfabriqués nécessaires. C'est un poil dur à appréhender mais une fois que c'est fait on peut débiter des immeubles au kilomètre en leur donnant tous une gueule différente avec très peu d'éléments, et à la fin cela se traduit pour un immeuble d'une forme suivant "l'objet" X (un conteneur de tous les meshes à utiliser) et la règle Y (un objet avec des tas de variables qui disent ce qu'il faut faire) pour la construction. Et ça prends rien sur le disque. Et comme l'UDK est super-optimisé pour tout ce qui est mesh, CQFD.

C'est vrai que l'argument "non mais le megatexturing c'est trop compliqué pour vous, il y a trop d'outils vous n'y arriverez jamais, en plus ça fait 1To de données à télécharger", c'est moyen.
Voilà. C'est exactement ce que je pense. Mais en fait je pense qu'il voulait dire que donner les sources de ce qui fait les textures de Rage pèse 1 To. D'où son refus de donner à la communauté. Maintenant si ce refus s'étend aux outils permettant de générer ces mégatextures, alors là il va se vautrer. Et je risque pas de m'intéresser à l'engine. (Je sais, il s'en fiche ^_^ ) Paske faire mumuse avec des perso, des skins et du pathfinding , ça va bien 5 minutes...