Collision

Répondre
Partager Rechercher
Citation :
Publié par aldaron57
Tous les posts d'aldaron dans ce topic
Je me permet juste d'ajouter une petite couche.

Je me joins à aldaron sur ce topic. Je l'ai lu et il n'a pas tord.

Je reviens juste ce fait rapidement :

Aldaron n'a en rien fait le fanboy et puis même si c'était le cas il en faut pour défendre les jeux

Ce n'est pas une question de fanboy mais d'évidence. Il me semble avoir déjà vu sur un forum mmorpg je sais plus lequel c'était à 100 % mais il me semble que c'était WAR où il y a eu ce problème de collision entre joueur enfin je sais plus lequel.

Mais tout cela pour dire que ca fout une pagaille pas possible. En PvP de masse c'est injouable : personnage bloqué en permanence par d'autres, avancer en masse est quasi impossible.

D'autre part, cette gestion implique également comme il l'a dit le phénomène réseau. Dans un système où toutes les collisions sont gérées, j'imagine même pas le nombre de paquets à sync en même temps

S'ajoute à cela le phénomène graphique.

Bref, là il ne s'agit en rien de défendre son jeu mais de débattre sur un système qui fait débat déjà sur pas mal de jeux notamment PvP.

Enfin je dirai que je comprend sa réaction :

On pose une question et quand la réponse arrive on a droit à un "ha bah vivement Gw2" ou un truc du genre.

Si c'était pour dire cela, il était inutile de maquiller le topic avec une question foireuse

Voila c'était mon avis dont tout le monde se fout
Ne pas oublier que toutes les collisions sont à gérer au niveau du serveur, il ne faut pas laisser les clients faire ces calculs (sinon bonjour la triche). Ce qui fait que tout déplacement dans un environnement où des collisions non statiques (statique = décor, murs) sont possibles est sujet au ping entre le client et le serveur.
Citation :
Publié par Daramor
il ne faut pas laisser les clients faire ces calculs (sinon bonjour la triche)...
Sur Warhammer les collisions sont gérer par le client et du coup il y a des hack pour les enlever xD

@Dworg : des l'ouvertrure des serveurs russes , il y avait un hack qui faisaient tout avec des posts de personne se plaignant de voir de perso voler, aller sous le so,l dans les murs et continuant a te DD ( qui leurs a permis d'avoir le first kill de boss de capitale en se cachant sous le sol ) .Avec mon reroll lvl 10 sur serveurs Karak je suis tombé sur plusieurs cas comme ca en BG.Par contre sur Athel rien effectivement
Sur WAR je n'ai jamais été confronté à ce type de hack...
Faut dire que l'intérêt est plutôt nul.
Je crois aussi que ce jeu est resté très très longtemps avec un nombre de tricheurs quasi nul.

Il ne faut pas râler contre l'absence de collision.
Voir un tas immonde d'une cinquantaine de perso, taper sur une cible, c'est super pour l'immersion dans le jeu.


Quant au PvP........y'a les CC pour bloquer une cible
Bon vu que certains sont bornés sur leurs position, je vais essayer de vulgariser tout ça :

Serveur sans gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis passe l'un à travers l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice versa ainsi qu'un update constant de la position de A qui va indiquer à A où il est (et l'affichage sur son client se basera sur cet update).

Serveur avec gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis se bloquent l'un et l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice-versa constamment, ainsi que l'update sauf qu'au moment de la collision il updatera la position de A comme inchangée.

Compris ? au niveau de la communication le débit ne change pas du tout.
Après au niveau de la charge du calcul pour le serveur c'est une autre histoire mais la BP ne prend rien du tout.

Si après ça vous saisissez pas, bah tant pis persuadez vous que vous avez raison j'en ai rien à faire après tout.
Citation :
Publié par Jinou
Bon vu que certains sont bornés sur leurs position, je vais essayer de vulgariser tout ça :

Serveur sans gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis passe l'un à travers l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice versa ainsi qu'un update constant de la position de A qui va indiquer à A où il est (et l'affichage sur son client se basera sur cet update).

Serveur avec gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis se bloquent l'un et l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice-versa constamment, ainsi que l'update sauf qu'au moment de la collision il updatera la position de A comme inchangée.

Compris ? au niveau de la communication le débit ne change pas du tout.
Après au niveau de la charge du calcul pour le serveur c'est une autre histoire mais la BP ne prend rien du tout.

Si après ça vous saisissez pas, bah tant pis persuadez vous que vous avez raison j'en ai rien à faire après tout.

Le peu d'expérience que j'ai en la matière est quand je me suis amusé à coder avec des modèles 3D simples dans un monde (entendre par là monde 3D xyz et pas monde en tant que lieu) , en tant qu'amateur et pour le fun.

Car dans ton raisonnement si il y a collision et que la position A reste inchangé, le dev va pas s'amuser avec de la com avec une coordonnée inchangée, il n'enverra rien du tout. (à quoi bon bouffer de la ressource pour envoyer une coordonnée que B connait déjà...).

Le problème des collisions, c'est que généralement après tout dépend comment c'est codé je ne suis pas expert, mais en général, un test de collision envoie un event en boucle un petit peu du genre :

"si A touche B alors", seulement lors d'une collision cette condition est vérifiée des milliers de fois en quelques secondes.

L'autre truc qui rentre en compte c'est le type de collision, "bouding box" (la plus pourrie) qui consiste à entourer le personnage d'une boîte invisible pour tester les collisions car il est bien plus facile de tester des collisions sur des objets primitifs que sur des modèles complexes. Et la plus pourrie car elle n'est pas précise par rapport à la complexité du modèle. L'autre méthode "point à point" qui délimite en fait le modèle suivant sa forme et donc bien plus précise, mais une faille au sein du modèle et c'est le bug assuré (personnages qui sont bloqués car se sont rentrés dedans physiquement parlant etc...).

Tout cela pour dire c'est que la gestion des colisions n'est pas une mince affaire et n'est pas si simple qu'on veut bien le faire croire.

C'est déjà galère hors réseau alors j'imagine même pas si on ajoute le facteur "réseaux" un temps de retards et c'est le "stick" assuré lol

Enfin je dirai malgré ma maigre expérience dont je n'aurais peut être pas du parler finalement, je pense que les dev sont plus qualifiés pour savoir si telle ou telle chose est gérable ou non
Citation :
Publié par Jinou
Bon vu que certains sont bornés sur leurs position, je vais essayer de vulgariser tout ça :

Serveur sans gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis passe l'un à travers l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice versa ainsi qu'un update constant de la position de A qui va indiquer à A où il est (et l'affichage sur son client se basera sur cet update).

Serveur avec gestion de collision :
En jeu : Joueur A et joueur B se rentrent dedans, puis se bloquent l'un et l'autre.
Communication client-serveur : Réception des coordonnée de A et envoie de ces coordonnées à B et vice-versa constamment, ainsi que l'update sauf qu'au moment de la collision il updatera la position de A comme inchangée.

Compris ? au niveau de la communication le débit ne change pas du tout.
Après au niveau de la charge du calcul pour le serveur c'est une autre histoire mais la BP ne prend rien du tout.

Si après ça vous saisissez pas, bah tant pis persuadez vous que vous avez raison j'en ai rien à faire après tout.
Faux : le débit décide tout. Sans collision, on peut se contenter par exemple de faire les mises à jour des positions toutes les secondes. Et basta !
Avec collisions, une seconde c'est beaucoup. Beaucoup trop. Il faut refaire les mises à jour constamment, interpréter et interpoler les vecteurs de déplacement sans cesse. Si on tient compte du ping, on arrive fatalement à un "lag de déplacement" ou des blocages apparemment inexplicables.
Dans DDO les collisions apportent vraiment un plus au gameplay, dans ce style de jeu avec des donjons aux couloirs étroits cela a vraiment un sens.
Maintenant sur Rift vu le nombres de persos et de mobs à l'écran ca serait vite le foutoir.
reste que de se voir constamment traversé par les mobs et les perso ca fait quand même pas très classe
Citation :
Publié par Daramor
Faux : le débit décide tout. Sans collision, on peut se contenter par exemple de faire les mises à jour des positions toutes les secondes. Et basta !
Avec collisions, une seconde c'est beaucoup. Beaucoup trop. Il faut refaire les mises à jour constamment, interpréter et interpoler les vecteurs de déplacement sans cesse. Si on tient compte du ping, on arrive fatalement à un "lag de déplacement" ou des blocages apparemment inexplicables.
Euuh non parce que le client également peut gérer la collision lui même de son côté en attendant l'update.
Si on suit ton raisonnement, quand on rentre dans un mur on est foutu alors ? Revois ta copie.
Citation :
Si on suit ton raisonnement, quand on rentre dans un mur on est foutu alors ?
Bien sur, combien de joueurs pas forcément dans rift mais ailleurs qu'on a entendu appeler au secours parce que /lock dans le décor ?
Citation :
Publié par Daramor
Faux : le débit décide tout. Sans collision, on peut se contenter par exemple de faire les mises à jour des positions toutes les secondes. Et basta !
Avec collisions, une seconde c'est beaucoup. Beaucoup trop. Il faut refaire les mises à jour constamment, interpréter et interpoler les vecteurs de déplacement sans cesse. Si on tient compte du ping, on arrive fatalement à un "lag de déplacement" ou des blocages apparemment inexplicables.
Toi, tu dois bien t'y connaitre pour dire une telle énormité, une seconde, c'est énorme comme durée, il est évident, même pour moi qui n'y connais pas grand chose que c'est équivalent en terme de quantité d'info que les persos soient en collision ou pas, c'est les positions qui sont transmises, comme dit par bien des posteurs précédents, et pendant ta seconde, il doit y en avoir un paquet d'information qui circulent.
Citation :
Publié par Tenji
Sur Warhammer les collisions sont gérer par le client et du coup il y a des hack pour les enlever xD

@Dworg : des l'ouvertrure des serveurs russes , il y avait un hack qui faisaient tout avec des posts de personne se plaignant de voir de perso voler, aller sous le so,l dans les murs et continuant a te DD ( qui leurs a permis d'avoir le first kill de boss de capitale en se cachant sous le sol ) .Avec mon reroll lvl 10 sur serveurs Karak je suis tombé sur plusieurs cas comme ca en BG.Par contre sur Athel rien effectivement
Ce genre de trucs c'est géré du coté serveur à 100%, heureusement qu'ils laissent pas les clients faire ça Je me repette de mon post d'avant mais c'est très très lourd en calcul coté serveur et sur tous les jeux ou ça existe ça a toujours crée des problèmes de lag.
Citation :
Publié par Crystal Noir
Bien sur, combien de joueurs pas forcément dans rift mais ailleurs qu'on a entendu appeler au secours parce que /lock dans le décor ?
Sur Rift aussi (ça m'est arrivé mon 2e jour de jeu, je n'avais pas bind, et je ne trouvais pas le bouton "Bloqué" )
Citation :
Publié par rayes
Toi, tu dois bien t'y connaitre pour dire une telle énormité, une seconde, c'est énorme comme durée, il est évident, même pour moi qui n'y connais pas grand chose que c'est équivalent en terme de quantité d'info que les persos soient en collision ou pas, c'est les positions qui sont transmises, comme dit par bien des posteurs précédents, et pendant ta seconde, il doit y en avoir un paquet d'information qui circulent.
Dans ce cas, ne fais pas comme si. Les délais sont selon les jeux très adaptables. Je te convie à regarder les I/O pendant le jeu, c'est parfois amusant. Ca peut aller de pas grand chose quand on se promène sans combattre à vraiment beaucoup dans un gros combat de masse.
Répondre

Connectés sur ce fil

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