Collision

Répondre
Partager Rechercher
Que répondre quand la mauvaise foie s'enracine ?

Écoutes, je partage avec toi et les autres lecteurs des connaissances que je tire de mon activité professionnelle quotidienne. Libre à toi de me prendre pour un guignol, de penser que je raconte des conneries c'est ton choix, chacun est libre de jauger la qualité des informations qu'il récolte.

Mais je t'encourage vivement à lire (et à pratiquer si possible) des livres sur les collisions...
Non mais je peux bien comprendre que tu saches comment fonctionne une collison virtuelle de base, mais tu devrais savoir en tant que codeur que ce petit element integré à d'autres elements, va changer compltement de reaction.

C'est comme si tu me disais que tu connais comment tourne un moteur de voiture, c'est bien. Mais un moteur de voiture monté avec tous les elements necessaires et toutes les conditions d'utilisations, ca sera un moteur de voiture qui tourne differement que la theorie de base et de ce que on t'as appris ou de ce qui est ecrit dans les livres.

C'est pas en lisant des bouquins qu'on devient codeur de mmo, pareil il existe mécano, et mécano de F1 (par exemple), ca se ressemble mais c'est deux univers bien different. Des livres sur la mécanique F1, ca doit etre interressant mais peu avantageant pour y trouver un job. Restons realiste.
Pour autant que tu saches je pourrais tout aussi bien être mécano F1 dans ton allégorie. Qu'est ce qui te permet de penser toi que ton point de vue sur la question est plus valable ? Es tu toi même mécano de F1 ? ^^

Edit : bon je te laisse seul maitre du sujet, je dois retourner coder (bah ouai moi je bosse même le dimanche).
Citation :
Publié par Valkea
Pour autant que tu saches je pourrais tout aussi bien être mécano F1 dans ton allégorie. Qu'est ce qui te permet de penser toi que ton point de vue sur la question est plus valable ? Es tu toi même mécano de F1 ? ^^
Parceque pendant plus de 2 ans j'ai suivi le travail d'un groupe de codeur de mmo connu, les consequences, les problemes et les impossiiblités à raisons multiples, j'ai discuté en privé avec un d'entre eux qui bossait indirectement avec le groupe, et il m'a expliqué plus ou moins avec des termes de fou le pourquoi et le comment. Ce que je sais, se sont des codeurs de mmo qui l'ont partagé.

Jte prend pas pour un guignol, je t'explique juste que un mécano chez un concessionnaire ne travail pas comme un mécano de F1. Maintenant tu n'es pas obligé d'etre d'accord avec moi, je respecte cela pas de soucis.


Citation :
Publié par Valkea
Edit : bon je te laisse seul maitre du sujet, je dois retourner coder (bah ouai moi je bosse même le dimanche).
Pareil, je retourne tuer du renegats, je tue aussi le dimanche moi.
moi je rentre plus en collisions avec des boulets sur jol qu'il est surtout pas intéressant de retrouver dans un mmo...y'aura toujours un emmerdeur pour te faire chier avec ces collisions à 2 balles...Moi le premier ayant emmerder les gens quand je m'ennuie...mon côté taquin sûrement
Je confirme ce que dit Valkea, la gestion de collision n'augmente pas la charge sur la connexion (ou très légèrement).

Pour simplifier, cela reviendrait au même que gérer une collision contre un "obstacle en mouvement" (par exemple un bateau, ou un ascenseur) à cela prés qu'il faut rajouter une animation correspondante dans le cas de collision entre 2 avatars.

Pour moi c'est clairement une question de confort plutôt qu'une question technique, le seul vrai défi se situerais plus dans l'animation des persos que dans la communication client-serveur.
Tu confirmes, toi aussi tu travailles dans l'informatique, ha ben on est mal barré alors.

Non mais serieusement , je sais pas ou tu as vu que une collison entre 2 avatars demande une animation, t'as ete cherché ca ou ? J'ai joue pendant presque 3 ans a un mmo pvp avec collision, et l'avatar n'avait pas d'animation supplémentaire, soit il reste figé, soit il continu son animation precedente indéfiniment.

Faut savoir que tout comme les objets visibles, le client (ta machine) gere une partie des collisions. C'est au serveur de faire le reste, sinon tu verrais apparaitre des clients qui traverseraient les murs...

J'espere que tu comprends l'anglais, non parceque ici un professionnel en developpement jeu reseaux l'explique clairement.
Citation :
Publié par Valkea
...
D'un point de vue serveur c'est très lourd en calcul, puisque de manière général le serveur calcul la position des joueurs 30fois/seconde, les collisions sont faites du coté serveur donc si ça reste très lourd comme feature. On voit d'ailleurs l'énorme différence en terme de lag quand c'est activé ou pas sur Warhammer online.
Bon exemple War, je joue depuis la release et clairement depuis que je joue sur serveur ricain j'ai plus de lag alors que côté euro, monde ou pas ça lag a haut lvl.

J'y connais rien en dev, War a changé de direction en cours de dev pour faire plaisir aux joueurs alors qu'il n'était pas prévu pour ça suffit de voir la tonne de pve mise en place et qui n'a jamais été joué par une grande majorité des joueurs.

Actuellement sur War et sur serveur ricain tu peux faire du 50 vs 50 en structure sans que ça lag et sans une machine de guerre et ça aura mis du temps pour arriver à ça.
Citation :
Publié par aldaron57
J'espere que tu comprends l'anglais, non parceque ici un professionnel en developpement jeu reseaux l'explique clairement.
Euh tu l'as lu cet article ? (Très joliment rédigé au passage).

Le code de cet article décrit justement les transfert de données de position, de vélocité (vitesse avec une direction) pour le déplacement des éléments physique (joueurs en particuliers dans l'exemple, mais ça s'applique à ce que l'on veut). Il ne parle presque pas des interactions entre éléments, si ce n'est pour dire que les prédictions de mouvements coté client peuvent justement poser des problème lors des collisions (puisque la prédiction de mouvement peut s’avérer fausse, si il survient un imprévu).

Ce ne sont en aucun cas des données dont on peut se passer si l'on souhaite ne pas avoir de collision... ce sont les données nécessaires pour les déplacements ! Et c'est justement ce que j'ai dis : on utilise les données que l'on possède déjà dans tous les mmo (le déplacement) pour faire les calculs de collision.

Citation :
Publié par Valkea
Il n'y a aucun besoin de transférer de données supplémentaires pour faire des tests de collision... Il suffit pour cela d'avoir les "positions" et le "type" (...) des choses avec lesquelles on peut entrer en collision (ce dont on dispose déjà puisque l'on doit déjà afficher les joueurs, NPC et décors...).
Les collisions entraînent un surplus mineur de transfert d'informations... c'est à dire que tu reçois autant d'informations si tu as une collision avec ton voisin que si ton voisin tourne a droite d'une seule coup (sans collision). Alors évidement on reçoit plus d'informations si l'on traite plus de cas (collisions + changements de vélocité donne forcement plus de messages que simplement les changements de vélocité) mais ce sont les mêmes données; ce qui veut dire qu'il aurait fallu envoyer de toutes façons la plus part des paquets que générerait une collision.

Il va falloir apprendre un peu le code en plus de copiner avec les devs et de jouer .


Quand à ton commentaire sur le rapport entre les animations et les collisions en réponse à Jilou
Citation :
Publié par aldaron57
Non mais serieusement , je sais pas ou tu as vu que une collison entre 2 avatars demande une animation, t'as ete cherché ca ou ?
Il parle du "feeling" justement... Si tu vois une foule compacte devant toi, tu reste bien raide sur tes deux jambes et tu entre dans le tas bien de face ou tu t'arranges pour courber ton torse, tes bras ton bassin, ta tête pour te faufiler entre les gens ? Si tu tentes le premier cas je pense que ça va agacer les gens dans qui tu vas entrer comme un barbare... Hey bien dans les jeux pour le moment c'est exactement ça les collisions... c'est du frontal (moi veut passer !). Une collisions intelligemment gérée avec des fusions d'ANIMATIONS (additive blending ou des ragdoll partiels ) adaptées, permettrait de voir ton personnage adapter ses mouvements pour passer entre les autres personnages. Bref une collision doit réagir sans que l'on s'en rende compte, un peu comme de l'eau qui coule sur un objet, et c'est CA qui est difficile à faire et gourmand car ça demande un tout autre niveau dans la détection des collisions et dans l'additive blending (même si l'on sait déjà faire de superbe choses avec.
Citation :
Publié par Valkea
Euh tu l'as lu cet article ? (Très joliment rédigé au passage).
Il ne parle presque pas des interactions entre éléments ...
Les collisions entraînent un surplus mineur de transfert d'informations... c'est à dire que tu reçois autant d'informations si tu as une collision avec ton voisin que si ton voisin tourne a droite d'une seule coup (sans collision).
Regarde plus bas, lorsque d'autres developpeurs interviennent justement à propos de leurs problemes de collisions, ca dit ceci en résumant :

Citation :
clients only need to be updated upon collision events. this is the only time the simulation becomes seriously discontiuous. client prediction should then keep us back in (roughly) the right place with the system already implemented handling any irregularities.
the only time this state information would become invalid is after a collision event. once this is flagged for the object we can recalculate the new states for each frame, othewise it can be ignored.
Collision detection would be the major bottleneck. In this case i would imagine using lower detail models for the physics, and a higher detail model for the renderer would be the simplest system (along with the usual hierarchal bounding volumes)
I’ve got stuck though on how to deal with collisions. Collisions with the static world are handled quite smoothly but collisions between characters are giving me a headache. The server should be authorative on all clients but having the positions of the character out of sync cannot perform a global collision test accurately.
Les explications concernant les problemes de latences sont claires, la partie de la gestion de collision qui est gerée par le serveur, force de lourdes opérations supplémentaires sur la bande passante à cause des executions suivantes :

- Resynchronisation suppplémentaires des calculs du monde.
- mise à jour suppplémentaires d'evenements de collision.
Et pour finir, ils precisent bien que la détection de collision serait le principal goulet d'étranglement, c'est pas moi qui l'invente, comme tu peux le constater.


Citation :
Publié par Valkea
Il va falloir apprendre un peu le code en plus de copiner avec les devs et de jouer
J'irais pas plus loin pour te convraincre, comme je t'ai dis j'ai eu temoignage de developpeurs de mmo, je te presente encore des documents de personnes professionnelles qui l'expliquent également, et encore j'ai pas cherché longtemps sur google, on y trouve encore d'autres informations qui confirme ce que je dis.
Et surtout pour terminer, des annonces meme faites à ce propos concernant les problemes existants et d'éventuels passage en mode non collision, par Mythic Entertainment et Funcom, deux grosses maisons du mmo qui ont basé leur jeu sur ce systeme et qui tout deux se sont foirés la gueule sans commune mesure dans l'histoire du mmo du en grande partie à cause de lag et de gamplay massif innaceptable pour l'utilisateur.

Alors moi j'ai mes arguments, les tiens ne me conviennent pas du tout, je dirais simplment qu'ils ne font pas le poids. Bref je vais pas insister tu pourras le comprendre.
Citation :
Publié par aldaron57
Regarde plus bas, lorsque d'autres developpeurs interviennent justement à propos de leurs problemes de collisions
Donc si je vais poster la bas, tu va me considérer comme un "vrai" dev ? puisque tu sembles prendre tout ce qui est dit dans ces commentaires pour parole d'évangile.

Citation :
Publié par aldaron57
Les explications concernant les problemes de latences sont claires, la partie de la gestion de collision qui est gerée par le serveur, force de lourdes opérations supplémentaires sur la bande passante à cause des executions suivantes :

- Resynchronisation suppplémentaires des calculs du monde.
- mise à jour suppplémentaires d'evenements de collision.
Et pour finir, ils precisent bien que la détection de collision serait le principal goulet d'étranglement, c'est pas moi qui l'invente, comme tu peux le constater.
Les explications de l'inconnu du commentaire de blog ont de toutes évidences beaucoup plus de valeur que mes propres commentaires (qui suis tout aussi inconnu que lui pour toi, certes, mais du coup pourquoi les miens ont ils moins de valeur ? ^^).

Ce n'est qu'UNE des approches possible pour gérer des collisions. Et l'individu donne son opinion sur le sujet (comme on le fait ici ?) il ne fait aucunement figure d’autorité en la matière.

Citation :
Publié par aldaron57
J'irais pas plus loin pour te convraincre, comme je t'ai dis j'ai eu temoignage de developpeurs de mmo, je te presente encore des documents de personnes professionnelles qui l'expliquent également, et encore j'ai pas cherché longtemps sur google, on y trouve encore d'autres informations qui confirme ce que je dis.
Il avait une aura blanche derrière la tête ton dev ? Parce que dis donc t'as l'air de les vénérer les "vrais" dev. Et puis oui c'est vrai pourquoi me baser sur l'expérience quand je peux croire tout ce que je trouve sur Google et dans les commentaires de blogs ? xD... (Surtout qu'a aucun moment je ne me suis opposé à ce qui est dit dans cet article... juste à ce que tu dis toi)

Citation :
Publié par aldaron57
Et surtout pour terminer, des annonces meme faites à ce propos concernant les problemes existants et d'éventuels passage en mode non collision, par Mythic Entertainment et Funcom, deux grosses maisons du mmo qui ont basé leur jeu sur ce systeme et qui tout deux se sont foirés la gueule sans commune mesure dans l'histoire du mmo du en grande partie à cause de lag et de gamplay massif innaceptable pour l'utilisateur.
Euh tu sais que les mmorpg sont naissants encore... les techniques les plus adaptées a ce genre ne sont pas encore bien rodées et d'ailleurs l'auteur de ton article vénéré le dit lui même :

Citation :
This leads me to an interesting point. The evolution of networked physics games is from first person shooters where characters run around in a static world while shooting each other, towards a dynamic world where players interact with the surroundings and each other. Given this trend I am willing to make the following bold prediction: traditional client side prediction as presented in this article, may soon be obsolete.
Sachant que l'article en question date de 2006 !

Citation :
Publié par aldaron57
Alors moi j'ai mes arguments, les tiens ne me conviennent pas du tout, je dirais simplment qu'ils ne font pas le poids. Bref je vais pas insister tu pourras le comprendre.
Bah écoutes, on va faire comme ça hein ^^.
Toi tu restes sur tes oui dire et moi je reste sur mon vécu.
Pour en revenir au sujet d'origine, les collisions me semblerais, dans son fonctionnement actuel, désagréable en terme de gameplay contre les autres joueurs par contre cela pourrais s'avérer plutôt sympa et utile contre les adversaires, qu'ils soient mobs ou joueurs (JcJ). Avec une réserve sur le gameplay avec 20 mobs autour ...
Citation :
Publié par aldaron57
...
Citation :
Publié par Valkea
....
Oui la collision entraîne un trafic supérieur sur la BP du serveur, oui il y a d'autres solutions pour que ça en bouffe pas et oui ceci est un débat stérile.

Ça vous dirait pas de vous rouler une grosse pelle et d'arrêter votre danse nuptiale ?
Wep ,ca pourrais être sympa, mais le problème , c'est que ca serait vraiment bordélique en faille ... imaginez sur le world boss d'event de failles les collisions


Après faut voir ,dans certaines conditions , pourquoi pas, mais sinon ... Mieux vaux qu'il y'en aie pas ^^
Nan, mais au delà de toutes ses considérations (fort intéressantes au finale), il faut retenir une seule chose : la collision entre la tête d'un mago avec l'épée d'un war ça fait très mal et ton personnage le sent.
Une gestion des collisions serait envisageable dans un univers parfait, dans lequel tous les joueurs seraient inter-connectés dans des conditions parfaites, avec une plage de ping et des machine à performances similaires, sans aucun problème de latence, ni de lag.

Pour le moment, au niveau MMO avec un parc machine et des connexions aussi hétéroclites, même si ça s'améliore au fil du temps, ça reste encore du domaine du rêve, seulement accessible en petit, voire peut-être moyen comité, mais sûrement pas massif.
C'est étrange ce débat sur une feature qui n'apporterait rien à Rift.
Débat lancé de plus comme un troll par une personne qui ne s'est plus manifesté sur JoL depuis.

Ce débat a plus sa place sur le forum "Les faiseurs de monde" que sur celui de Rift car il ne concerne pas que Rift mais 95% des mmo.
Perso les collision j'ai connus ça sur GW premier jeu en ligne au quel j'ai joué, et ça m'a fait tout drôle quand je suis arrivé sur aion de ne plus pouvoir l'utiliser en pvp, depuis je m'y suis habitué...
Citation :
Publié par Nandini
C'est étrange ce débat sur une feature qui n'apporterait rien à Rift.
Débat lancé de plus comme un troll par une personne qui ne s'est plus manifesté sur JoL depuis.

Ce débat a plus sa place sur le forum "Les faiseurs de monde" que sur celui de Rift car il ne concerne pas que Rift mais 95% des mmo.
C'est clair : je crois qu'on va laisser ce file descendre dans les méandres auxquels il appartient.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés