La physique dans les jeux vidéos - Ageia vs Havok (vs DirectPhysicX ?)

Hello,

Encore un topicàlacon sur le futur du jeu vidéo :smiley:

Depuis quelques temps donc les moteurs physiques sont à la modes, avec d’un côté le populaire Havok démocratisé par HL2, et de l’autre Ageia qui sort une carte dédiée uniquement à ça.

Pour les contrer, les fabriquants de cartes vidéos annoncent booster le moteur physique dans leurs prochains modèles de cartes, en utilisant les shaders pour ça. Une solution nettement moins coûteuse pour le joueur il est vrai :smiley:
Mais pour ma part je trouve que c’est une solution un peu bancale : OK, les cartes vidéos dernière génération sont loin d’utiliser leurs pleines capacités, et utiliser la puissance brute en trop pour gérer la physique peut être une bonne idée. Mais connaissans les joueurs toujours avide de “kikalaplusgrosse” et autres “je joue à FEARCry en 5072*3765 tout à fond”, une perte de FPS même légère se ressentira :smiley:

De l’autre côté, les cartes physiques sont encore trop chères pour le faible nombre de jeux qui les utilisent, même si ça va venir avec le temps. Mais là je sens pointer une bonne vieille guerres des formats comme on a pu en voir à l’époque des cartes sons ou au début des cartes 3D : un seul d’entre eux survivra :ane:
Et encore une fois c’est Microsoft qui va mettre tout le monde d’accord en sortant en même temps que Vista un nouveau format DirectPhysicX qui risque fort de s’imposer (comme d’habitude dirais-je :o)

Donc ma question est la suivante : comment voyez-vous le futur des moteurs physiques ? Penchez-vous plus vers les cartes dédiés ou vers les cartes vidéo qui feront la moitié du travail ?

Enfin bon la physique je vois pas en quoi elle va révolutionner le gameplay. Si c’est pour ce taper des énigmes à la HL2 en mettant un bidon pour faire lever une planche non merci. C’est un truc à bouffer des ressources alors que ça apportera pas grand chose. Enfin moi je dis ça moi je dis rien.

EDIT: J’avais pas vu ta question :ane: . Je pense que ce sont les CG qui vont prendrent le relais car pas énormément de monde voudra encore remplir son ordi avec plein de matos :neutre: . On a déjà le sli pour ça.

Moi je préfère rester sur une gestion software de la physique comme le fait très bien Havok 2 dans HL 2, un truc géré par le CPU, qui s’améliorera au fil du temps tout comme le fait le graphisme, le son, l’IA, etc. Ou alors une gestion par le GPU grâce aux shaders, ouais pourquoi pas. Mais une carte dédiée en plus, faut pas exagérer tout de même… quand on voit ATi et son système 3 cartes graphiques, ils prennent vraiment les consommateurs pour des vaches à lait…

Perso, je trouve que dédier des tâches spécifiques à différentes unités est une bonne chose car d’une parte, ça soulage le CPU et ça permet d’éxécuter plus d’une tâches par cycle.
Maintenant, quelle méthode adopter ? Carte dédiée ou unitée annexe ? (GPU)
La carte dédiée offre la possibilité d’avoir, en théorie, plus d’efficacité car elle dispose d’unité spécifique car la physique requiert certains calculs que le GPU ne peut calculer de manière native.
L’inconvéniant c’est qu’a l’heure actuelle, il y a beaucoup de regret : gains dans le gameplay inexistant, baisse de framerate (le comble !!! hallucinant), drivers bancales, peu de jeux bien qu’il existe la fameuse liste des éditeurs avoir annoncé leur accord (bah bien sur …) et le prix ! Je trouve que ça fait beaucoup et si tous ces points ne sont pas réglés, je ne donne pas cher d’Ageia.
Maintenant, le GPU. Tout le monde en a un, de plus en plus puissant même donc l’idée est loin d’être saugrenu mais comme je l’ai dit, un GPU ça traite des données graphiques (pixels/vertex), il faudra donc 2 opéarations qui risquent de couter en terme de performance : conversion physique --> graphique et graphique --> physique.
Certe les shaders seront indispensables mais il y aura forcément un coup, ne serait ce qu’en latence mais pour avoir eu cette idée pour l’audio, c’est tout à fait faisable et la perte de fps engendrée ne sera pas pire que ce que l’on a avec l’Ageia donc … je pense que si les ingénieurs des 2 marques que l’on connais propose une API efficace, je peut dire clairement qu’Ageia n’existera plus que dans nos souvenirs les plus lointains.
Maintenant, la question que je me pose à titre personnel : est ce que ca vaut le coup d’ajouter plus de physique ?
Perso, je dirais que non, d’accord ça permettra d’avoir des fluides … plus fluide, des matériaux qui se casseront/torderons plus naturellement mais pour moi, ce n’est pas un gain significatif dans le gameplay … et tout ça me fait penser à un projet en 1997 d’un jeux à la Populous qui devait être fournis avec une carte d’IA !
Et la, par contre, je signe tout de suite car l’IA apporte beaucoup plus en terme de gameplay et je pense à un Black & White 3 avec ce type de carte, la je peux vous dir e que l’apport sera loin d’être négligable et réel surtout sans parler du fait que cela pourrait ouvrir à une nouvelle race de jeux avec des jeux qui évoluerais par rapport à l’action du joueur.
Je pense donc que l’on se trompe de technologie et que l’IA devrait être le domaine qui devrait être le plus développé.
Just my 2 cents comme disent nos amis anglophones :slight_smile:

Voila, je suis assez d’accord et c’est pour ça que je dis que pour l’instant, le Havok 2.0 qu’on trouve dans HL2 par exemple, me suffit amplement et offre le meilleur compromis performances/qualité de la physique, en se contentant d’un peu de puissance CPU… :neutre:

Je ne sais pas si vous avez vu la méthode d’Ati pour concurrencer Ageia mais c’est n’importe quoi, ça consiterait à ajouter une troisième carte graphique dans le cadre d’une configuration SLI (enfin l’équivalent Ati) ou alors une deuxième carte dans une config’ plus classique. Donc ça revient au moins aussi cher que la solution Ageia.
Et quand on voit que la carte Ageia fait gagner en moyenne 3 f/s dans les démos technologique je me dis que ça vaut vraiment pas le coût d’investir la-dedans.

Sans parler des énigmes carrément dispensables des jeux utilisant un moteur physique. Je prends un tonneau pour le poser sur une planche qui est sous un tonneau :smiley: ou encore j’accroche des agglos sur une poulie etc.

Bref dans mon cas je me contente largement de la gestion de la physique par les processeurs. De toutes façons même une carte Ageia ne gèra pas un millionième de la physique telle qu’on l’a connait IRL…

à moins de faire un Quad-SLI Physics :grat: :D.

L'inconvéniant c'est qu'a l'heure actuelle, il y a beaucoup de regret : gains dans le gameplay inexistant, baisse de framerate (le comble !!! hallucinant), drivers bancales, peu de jeux bien qu'il existe la fameuse liste des éditeurs avoir annoncé leur accord (bah bien sur ...) et le prix ! Je trouve que ça fait beaucoup et si tous ces points ne sont pas réglés, je ne donne pas cher d'Ageia.

Un point où je ne te rejoins pas c’est sur le fait que c’est pas au point. Ca fait quelques moi que ça existe donc c’est normal que ce soit pas au point. Les drivers, le prix et la liste des jeux, bien sur que tout ça va s’améliorer y a pas de doute. Par contre dans le gameplay ce serait pas mal d’avoir des effets physique pour plus de réalisme(car si on va dans ton sens les graphisme c’est pareil, ça change rien qu’il soit plus beau que maintenant). Mais je dis que ça sert à rien du moment où il faut réinvéstir pour quelquechose dont on se passerait. Par contre s’il nous le mettent avec la CG là pas de probleme.

P.S: Le pire dans mes propos c’est que je suis sur qu’il seront completement faux dans 10 ans, notamment quand je dis qu’on peut se passer de la physique.

Je ne sais pas si tu es dans l’informatique depuis longtemps ou pas mais ta réponse mais bien en avant un phénomène qui fait partis de la norme maintenant : sortir un produit pas fini.
A la sortie de, je prend un exemple au hasard, la 3DFX, tu avais tout de suite une carte opérationnelle, avec des pilotes au points, des jeux optimisés assez rapidement, un réel gain etc … aujourd’hui, on nous sort des technologies dont on se demande s’ils ont bien suivis un protocole de test des plus sérieux. (il y a des diplômés rien que dans ce domaine)
Alors oui, l’Ageia ne peut que s’améliorer mais je suis comme St Thomas, cette carte n’a pour l’instant aucun avenir si aucuns des points que j’ai énumérés sont tous réglés et … vite, car la concurrence va arriver plus vite que prévu à mon avis.
Quant à l’aspect de l’ajout dans le gameplay, je ne dit pas qu’il n’y a pas d’ajout mais comme Tromzy, l’ajout d’une cart est pour moi superflu et le moteur Havok s’en tire bien et ça me suffit, pas besoin d’ajouter encore plus d’effet, il suffit de regarder le HDR, au tout début, tout le monde l’utilisait d’une manière totalement pas naturel, idem pour la réflection où dans les jeux de voiture, les voitures ressemblait à du plastique.
Une technologie ne vaut que si elle est bien utilisée, on ne peut pas en dire autant de l’Ageia dans GRAW par exemple.

Faut lire les posts des autres hein… :whistle:

Mon quote a merder on dirait :whistle:

Le pire c’est que j’ai lu. Désolé maître :smiley: .

http://www.rod-gau.de/grafix/smileys/sado.gif

Au contraire je pense que le moteur physique va prendre de plus en plus d’importance dans les jeux :wink:

Comme le souligne KarlKox, nous ne sommes qu’au début, donc c’est normal que ce soit encore utilisé à tort et à travers (du genre des énigmes “pose un bidon pour faire contrepoids” :D) :wink:
Mais vu que de plus en plus de jeux semblent tabler sur le “tout destructible” des décors, là il va y en avoir besoin de physique pour gérer tout ça :smiley:

Sans compter tout ce qu’on ne voit pas forcément derrière : trajectoire des balles/obus/flèches (selon l’époque :ane:) dans un FPS, gestion de la gravité, du poids des objets (pour éviter les erreurs comme dans Oblivion où un ours d’une demi-tonne qui nous charge en courant fasse un triple salto arrière en se prenant une flèche :o), des contraintes physiques dans une simulation auto ou aérienne, bref, y’a vraiment un potentiel énorme à développer je trouve…

Après, c’est vrai que la solution d’une nouvelle carte est chère, mais faut voir les gains… (OK, pour l’instant c’est pas grand-chose :ane:, mais ça va s’améliorer avec le temps) Pour prendre quelque chose de plus connu, on voit déjà une amélioration de perfs entre quelqu’un qui possède une carte audio et quelqu’un qui a le chip son intégré à la carte mère (entre 5 et 10% je crois, selon les jeux).
La solution de la physique par shaders est bancale pour moi : on achète pas une Porsche pour faire du tout-terrain, OK elle peut en faire (elle a 4 roues :o), mais elle n’est pas DU TOUT prévue pour :ane: Et dire que “de toutes façons on a de la puissance en réserve”, je ne suis pas tout à fait d’accord là-dessus : c’est valable si on change de matos tous les 6 mois, mais pour les gens qui changent de CG tous les 2-3 ans voire plus, ça va donner quoi ? Déjà sur du matos assez ancien il faut sacrifier nombre de détails graphiques pour garder un jeu fluide, alors si la carte gère EN PLUS la physique, on va devoir retourner au 640*480 :paf: Ou alors changer de matos plus régulièrement, ce qui me semble être la bonne stratégie envisagée par les constructeurs :ane:

Il se pourrait aussi que les CPU prennent plus d’importance à l’avenir dans ce rôle…

Avec 4 coeurs très bientôt, je pense qu’un coeur pourrait être dédié à ces calculs.

Ensuite, on parle d’un retour possible de processeur DSP intégrés au CPU: en somme le retour du coprocesseur ! :ane: (80X87 pour ceux qui se souviennent … :D).

Mais il se pourrait que l’API soit à la limite plus importante que la solution matérielle chargée de gérer l’effet… :smiley:

Je rajoute ce petit lien (qui n’engage que son auteur…:smiley:):

http://www.onversity.com/cgi-bin/progactu/…teob&P=00000756

Heureusement que tu as précisé que ça n’engage que l’auteur car il ne sait pas de quoi il parle étant donné que j’ai fait un test d’utilisation du gpu pour traiter des données audio … c’est faisable, en utilisant les shaders et en indexant les composant des pixels pour autre chose qu’une couleur ou la position d’un vertex par exemple.
Il faut juste créer des fonctions bas niveau qui vont s’occuper à traduire les données entrantes pour les rendres compréhensible par le GPU, une fois le traitement fait, retraiter le résultat pour les exploiter pour son propre besoin.
Il faudra ensuite créer une API haut niveau qui facilitera l’appel de fonctions génériques sans passer par les shaders.
Sans être ingénieur info, je suis persuadé qu’ils vont utilisé cette méthode et qu’ils y arriveront et que les résultats seront interessants.

"Interessants" ne suffit pas :o

+1 pour le cpu, a la difference de la solution par CG ou de la carte dediée, on a l’avantage que le cpu offre une “plateforme standard”, pour les CG il faut du sli ou du crossfire pour pouvoir esperer avoir la puissance necessaire, pour la carte dédié il faut l’acheter specifiquement a cette fin (lapalisse… :ane: ) , sans compter le fait que chacun va avoir plus ou moins son moteur perso., on peut meme envisager que en raison des differents moteurs avoir des config sli/cross et equipée d’une carte Ageia.

Bref, il me semble, que cela soit la solution par cg ou par carte dediée, que cela ne peut pas s’imposer de maniere massive dans l’univers des jeux videos (comme le sli et le crossfire n’equipent pas les pc de la majorité des gamers). Et a défaut d’API commune et efficace (peut-etre par microsoft), ces solutions resteront a mon sens des vitrines technologiques.

En revanche, le dual lui est bcp plus facile a generaliser, que cela soit chez AMD ou INTEL, se trouvent a un prix raisonnable, apporte et apportera des avantages dans plusieurs taches et pas que le jeu video, et l’architecure n’etant pas spécifique n’aura pas la problematique du moteur “dédié” a une techno.
Certe ce n’est pas spécifiquement prevu dans le but de calcul physique, mais lorsque on constate ce qui se fait deja avec un cpu “normal” et de puissance raisonnable, on peut croire qu’un core dédié dans le jeu pour gerer la physique offre une bonne marge de manoeuvre au dev en terme de puissance et ceci sur un large choix de configuration
:slight_smile:

C’est vrai que si dans un proche avenir les processeurs se remettent à monter en puissance on peut espérer avoir à se passer d’une carte spécifique ou SLI… Dans les deux cas ça fait un surcoût que beaucoup (moi le premier :o) ne seront pas prêts à pourvoir faire :smiley:

Du temps où j’avais un Amiga, je pensais à utiliser le Blitter (coprocesseur graphique tournant à 28 Mhz contre 7Mhz pour le CPU) afin d’effectuer des calculs ! :ane:

Salaud de pauvre… [:eveden]

[:shy]