IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau et multijoueurs Discussion :

nombre de polygones ?


Sujet :

Réseau et multijoueurs

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut nombre de polygones ?
    Bonjour,

    Je en suis pas du tout pro en la matière, mais je voudrais savoir combien de polygones compte les personnages des jeux en ligne comme Aion par exemple ?

    Je crois que wow c'est 500 le personnage, je me trompe peut-être ?

    merci infiniment

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Je ne vais pas répondre précisément à la question, mais il faut savoir que sur un jeu online, le nombre de polygone importe peu, car les polygones ne sont pas transférés entre le client et le serveur.
    Après, WoW en aura peut être moins, car il est sorti il y a longtemps, et que Blizzard voulait le faire tourner sur beaucoup de machines, même les moins puissantes.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Je ne vais pas répondre précisément à la question, mais il faut savoir que sur un jeu online, le nombre de polygone importe peu, car les polygones ne sont pas transférés entre le client et le serveur.
    Je ne suis pas un spécialiste, mais je pense que ça a quand même son importance car (contrairement à un jeu 'offline'), les concepteurs ne peuvent pas aussi facilement prévoir à l'avance le nombre de personnages affichés en même temps à l'écran.

    Dans un jeu 'offline', c'est assez simple: je peux très bien décider dans ma game logic qu'à tel endroit je ne mettrai jamais plus de x monstres en même temps. Genre je fais arriver des vagues de monstres petit à petit en prenant en compte ce qu'il y a déjà d'affiché dans la scène.

    Dans un jeu 'online', ça me paraît plus compliqué car il peut très bien y avoir un attroupement de beaucoup de joueurs au même endroit. Il me paraît délicat d'empêcher les gens de se trimballer où ils veulent en fonction de l'affluence et donc il faudra bien être capable de tous les afficher.

    Après, je pense qu'avoir un chiffre précis pour le nombre de polygones est assez inutile: l'objectif n'est pas de dire "500 est un bon chiffre" tellement ça dépend de plein d'autres facteurs (type de rendu, type de public et donc hardware ciblé, effets ajoutés à la scène, détails des décors, ...), d'autant que ça peut évoluer (très) vite au fur et à mesure que les nouvelles générations de hardware apparaissent.

    Amha, le mieux est encore de choisir une config minimum qu'on s'impose pour le jeu, de s'équiper de la carte graphique qui correspond et de faire quelques tests soi-même en essayant de se rapprocher au mximum des conditions du jeu final.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 347
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 347
    Points : 20 347
    Points
    20 347
    Par défaut
    Citation Envoyé par Umbrae Voir le message
    Bonjour,

    Je en suis pas du tout pro en la matière, mais je voudrais savoir combien de polygones compte les personnages des jeux en ligne comme Aion par exemple ?

    Je crois que wow c'est 500 le personnage, je me trompe peut-être ?

    merci infiniment
    Salut pour t'en rendre compte il faudrait utiliser un logiciel de 3d.
    Un personnage c'est en moyenne entre 5000 et 10000 polygones voire plus.

    Cependant dans un jeu sophistiqué si tu charges en mémoire un objet 3d ily a des techniques de réduction de polyogones ou bien tu affiches des persos avec beaucoup de poylognes devant la caméra et des persos avec un nombre réduit de polygones derrière c.a.d. loin de la caméra

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    Dans un jeu 'online', ça me paraît plus compliqué car il peut très bien y avoir un attroupement de beaucoup de joueurs au même endroit. Il me paraît délicat d'empêcher les gens de se trimballer où ils veulent en fonction de l'affluence et donc il faudra bien être capable de tous les afficher.
    J'ai parlé de la prise sur le serveur, qui lui s'en fout un peu d'avoir 10 000 polygones ou 500, car il ne les affichent pas.
    Après, pour l'histoire de l'attroupement, j'imagine que de toutes façon, on se prend les limite technique des serveurs / zone / nombre max de joueurs / interactions.
    Je sous entends aussi, que le joueur à une machine acceptable, et que WoW, qui est certes une référence, remonte quand même à quelques années, et qu'ils n'ont pas changé le moteur, je crois.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci pour vos réponses et réaction

    J'ai réussi à glaner aussi des informations complémentaires sur le sujet : A l'heure d'aujourd'hui les MMORPGs usent en moyenne 2.5 k de polygones pour représenter un personnage et 1k pour les créatures du monde.

    Par contre, si j'ai bien compris, la donnée des polygones est gérée par les cartes graphiques des clients, c'est à dire que ce n'est pas le serveur qui gère les polys mais ce sont les clients qui les reçoivent ? Ici ont garde l'idée que le serveur gère la position X Y Z.

    ps:
    Le sujet n'est pas facile, si cela intéresse un programmeur qui aurait une expérience dans le domaine, ou ayant peut être niveau ingénieur programmation réseau, afin de nous aider à créer une document sur le sujet " avec l'histoire des sokets compris je crois" cela pourrait poser quelques structures pour débuter le projet.

  7. #7
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    J'ai parlé de la prise sur le serveur, qui lui s'en fout un peu d'avoir 10 000 polygones ou 500, car il ne les affichent pas.
    Tout à fait. Mais j'avais mal compris la question en fait: je pensais qu'elle portait uniquement sur le côté 'capacités grapiques du client'

    Citation Envoyé par Umbrae Voir le message
    Par contre, si j'ai bien compris, la donnée des polygones est gérée par les cartes graphiques des clients, c'est à dire que ce n'est pas le serveur qui gère les polys mais ce sont les clients qui les reçoivent ? Ici ont garde l'idée que le serveur gère la position X Y Z.
    Oui: l'ensemble des ressources graphiques est déjà installé sur le client (typiquement via l'installation du jeu) ; le serveur ne transmet aucune ressource graphique, son, etc.

    Le contenu des échanges client <=> serveur est minimal: grosso modo de l'odre de "tel perso bouge au de X1,y1 vers x2,y2 entre les temps t1 et t2). A charge pour le client d'afficher le personnage en question, de générer l'animation, de calculer le chemin (en fonction de la topologie du sol), etc...

    Le sujet n'est pas facile, si cela intéresse un programmeur qui aurait une expérience dans le domaine, ou ayant peut être niveau ingénieur programmation réseau, afin de nous aider à créer une document sur le sujet " avec l'histoire des sokets compris je crois" cela pourrait poser quelques structures pour débuter le projet.
    Tu sembles n'avoir aucune expérience dans le domaine. Or l'aspect réseau d'un MMORPG fait partie des architectures les plus complexes à mettre en oeuvre. C'est un peu comme si un conducteur qui n'a jamais fait de mécanique décidait du jour au lendemain non seulement de construire sa propre voiture, mais ambitionnait également de faire aussi bien qu'une Ferrari. Un peu utopiste, pour le moins.

    Je te conseille trèèèès vivement de te tourner vers les moteurs déjà existant qui t'éviteront de réinventer la roue (en moins bien) et t'épargneront des années de formation et d'essaie infructueux.
    Il me semble que le moteur de Ryzom en est un parmi d'autres.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    merci pour ces précisions.

    Sinon oui, je n'y entend pas grand chose en programmation, mais j'ai je suis entrain de monter une équipe pour ce faire, mais il est clair que rien ne démarera vraiment tant qu'il n'y aura pas un "architecte" pour la partie dev. Nous en sommes conscient. J'espère trouver ici ou ailleurs un ingénieur, qui a demander une intervention d'un indépendant sur 1 mois pour établir un doc sur le sujet, moyennant compensation.

  9. #9
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Je pense que tu ne saisis pas la complexité d'une telle entreprise. Pour faire une autre analogie: tu n'irais pas demander à un architecte en bâtiment de te pondre un plan d'un building de 200 étages en un mois (!) et espérer pouvoir le construire tout seul avec ta brouette toi et ton frère en suivant le plan comme un montage de Lego.

    Pourtant c'est grosso modo ce que tu sembles croire comme étant possible en matière d'informatique. Je te conseille vivement de jeter un oeil à ce sujet: La vérité sur la conception de jeux amateurs.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  10. #10
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut re
    Tu dis que le nombre de polygones importent peu pour le serveur.

    Mais il me semble que les tests de collisions sont effectues sur le serveur ?
    Au moins la broadphase non?

    Si c'est une broadphase alors certes les nombres de polygones ne comptent pas !

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Citation Envoyé par saturn1 Voir le message
    Tu dis que le nombre de polygones importent peu pour le serveur.

    Mais il me semble que les tests de collisions sont effectues sur le serveur ?
    Au moins la broadphase non?

    Si c'est une broadphase alors certes les nombres de polygones ne comptent pas !
    C'est a ce moment la que l'on arrive aux problemes classiques des jeux videos en reseaux (et pas que les MMO).
    Il y a plusieurs solutions au probleme et chacune d'elle a ses avantages, mais aussi des inconvenients. On peut faire gerer les collisions aux serveurs, tout comme au client.
    Dans le cas d'une gestion du cote du serveur, il faudra une phase de validation de la commande du client (donc un message de retour, disant que le client peu bouger graphiquement, ou pas) (Dans la theorie simple, j'entends)

    On peut faire la gestion chez le client aussi, car il a la positions de tout les objets, mais dans le cas de collision humain/humain, il faudra une confirmation du cote du serveur, car, dans un cas, il se peut que l'humain dans lequel nous rentrons dedans soit deja parti .

    Mais, dans les deux cas, cela ne prend pas trop de bandes passantes, par contre, les effets de latences sont importantes pour le joueur.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    On peut faire gerer les collisions aux serveurs, tout comme au client.
    En général, on évite très fortement de faire gérer les collisions par le client uniquement car sinon on s'expose aux hacks (le client qui a été modifié pour 'tricher' sur les collisions).

    La seule solution 'sûre' est donc de gérer les collisions côté serveur qui joue le rôle de gardien des règles du jeu (et d'arbitre en cas de cas de 'conflits').

    Dans le cas d'une gestion du cote du serveur, il faudra une phase de validation de la commande du client (donc un message de retour, disant que le client peu bouger graphiquement, ou pas) [...] les effets de latences sont importantes pour le joueur.
    Pour y remédier, le client n'attend pas de voir son action validée: il suppose par défaut que l'action l'est et donc peut effectuer l'action correspondante sans attendre (donc plus de latence). C'est seulement en cas d'invalidation par le serveur qu'il est prévenu et qu'il corrige en conséquence.

    Dans le cas de collision humain/humain
    C'est effectivement la limite où le serveur joue le rôle d'arbitre et qu'il peut y avoir des artefacts visibles pour les joueurs à cause d'une correction à postériori.

    D'une façon générale, le serveur doit toujours vérifier la véracité de ce qu'un client lui dit. Y compris les collisions qu'il devra donc calculer lui aussi de son côté.

    Par contre, quand je disais que le nombre de polygones n'influait pas côté serveur, c'est parce que le serveur ne fait pas des tests sur chaque polygone réellement affiché dans le jeu (sinon il tomberait sous la charge): il utilise des modèles extrêmement simplifiés de chaque élément. Par exemple il pourrait réduire un personnage à une simple boite (une 'bounding box') et donc ne tester que la collision entre les deux boites de deux personnages (ce qui est très rapide) alors que les personnages, eux, sont composés de milliers de polygones à l'écran.


    Un exemple d'une image où on voit (dans Counter Strike) le personnage tel que représenté à l'écran avec beaucoup de polygones (à gauche) et le personnage tel que vu pour les tests de collisions (à droite).



    Ici on pourrait doubler le nombre de polygones affichés pour le personnage (histoire d'avoir un rendu 'plus beau'), ça ne changerait rien aux calculs effectués pour les collisions (et inversement). Donc les deux ne sont pas corrélés.

    L'image est tirée de cet excellent article à propos du moteur réseau de Valve. Même si l'aspect réseau d'un FPS est très différent de celui d'un MMORPG, certaines bases sont communes et je ne peux que te conseiller de le lire attentivement.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut re
    Petite question en passant,
    On voit que le personnage simplifie est constitue de plusieurs OBB.

    Quel est le genre d'algorithme qui permet a partir d'un modele de decouper en plusieurs sous formes physiques de "manieres intelligentes".

    Merci

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Citation Envoyé par saturn1 Voir le message
    Petite question en passant,
    On voit que le personnage simplifie est constitue de plusieurs OBB.

    Quel est le genre d'algorithme qui permet a partir d'un modele de decouper en plusieurs sous formes physiques de "manieres intelligentes".

    Merci
    Les boites de collisions sont cree par les artistes (souvent), sinon on peut generer pendant le chargement, en prenant les extremites des 'os' (ou parties) de l'objet.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Je pense je ne pas me tromper : les positions des polygones ne sont pas envoyé entre le serveur est le client, c'est juste une position relative au personnage, suivant la complexité du personnage on peut en envoyer plus

    par exemple dans un jeu tu affiche une boule : et ben seul le centre de la boule est envoyé, et aussi bien sur le type de l'objet, le client en sachant la position de la boule, + son type (la boule fait x de rayon ect) peut ainsi l'afficher

    après je dit ça mais je n'ais jamais dévelopé de jeu en reseau, peut etre qu'il existe d'autres methodes

Discussions similaires

  1. nombres de polygones max
    Par forthx dans le forum OpenGL
    Réponses: 5
    Dernier message: 17/06/2011, 11h56
  2. Nombre de polygones dans une scène
    Par Kromagg dans le forum Ogre
    Réponses: 3
    Dernier message: 12/02/2009, 00h00
  3. Nombre de polygones
    Par davidly dans le forum DirectX
    Réponses: 13
    Dernier message: 27/04/2008, 17h05
  4. Polygone non convexe (le retour) : réduire le nombre de sommets
    Par Graffito dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 28/01/2008, 10h26
  5. [D3D] polygones dont le nombre de points peut varier
    Par d'Oursse dans le forum DirectX
    Réponses: 4
    Dernier message: 23/12/2007, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo