Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Réseau et multijoueurs
Réseau et multijoueurs Forum d'entraide pour le réseau et le multijoueur pour les jeux vidéo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/10/2010, 23h57   #1
Umbrae
Invité de passage
 
Inscription : 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 : 0
Points : 0
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
Umbrae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 09h40   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 780
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 10 780
Points : 43 054
Points : 43 054
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
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 13h26   #3
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 614
Points : 1 784
Points : 1 784
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.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 16h21   #4
Mat.M
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 453
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 : 4 453
Points : 5 874
Points : 5 874
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
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 20h14   #5
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 780
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 10 780
Points : 43 054
Points : 43 054
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
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 21h54   #6
Umbrae
Invité de passage
 
Inscription : 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 : 0
Points : 0
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.
Umbrae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 22h06   #7
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 614
Points : 1 784
Points : 1 784
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...

Citation:
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.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2010, 23h58   #8
Umbrae
Invité de passage
 
Inscription : 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 : 0
Points : 0
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.
Umbrae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 00h44   #9
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 614
Points : 1 784
Points : 1 784
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.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2010, 15h46   #10
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 586
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 586
Points : 285
Points : 285
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 !
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2010, 15h53   #11
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 780
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 10 780
Points : 43 054
Points : 43 054
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
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2010, 16h06   #12
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 614
Points : 1 784
Points : 1 784
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').

Citation:
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.

Citation:
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.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/10/2010, 16h53   #13
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 586
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 586
Points : 285
Points : 285
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
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2010, 17h03   #14
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 780
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 10 780
Points : 43 054
Points : 43 054
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
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 20h18   #15
manserk
Membre à l'essai
 
Inscription : janvier 2011
Messages : 34
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 34
Points : 21
Points : 21
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
manserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h37.


 
 
 
 
Partenaires

Hébergement Web