Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4123 connectés 

  FORUM HardWare.fr
  Programmation

  gérer les déplacements en 3D par le réseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gérer les déplacements en 3D par le réseau

n°87820
maitre_mul​ot
Posté le 10-01-2002 à 13:02:33  profilanswer
 

voila j'ai un projet à realiser, on utilise genesis3D pour...la 3D, c un client serveur, et la on bosse sur le protocole rezo pour gerer les deplacements.
 
on veut afficher sur l'ecran les autres clients connectés, et qd je me deplace, je veux que les autres me voit se deplacer.
Je supose qu'on peut recuperer les coordonnees d'un perso(de la camera peut etre) sur une map, mais pour que les autres me voit se deplacer il faudrait qu'a chaque deplacement j'envoie mes nouvelles coordonnees a chaque client et qu'il reaffiche mon perso a la nouvelle coordonnee?!
ca me semble pas realisable dans le cas ou il y a bcp de connecte.
coment ki font dans les jeux?
 
merci

mood
Publicité
Posté le 10-01-2002 à 13:02:33  profilanswer
 

n°87839
Alload
Posté le 10-01-2002 à 13:58:12  profilanswer
 

Moi je ferais une appli avec un serveur à lequel chaque client envoit ses déplacements, le serveur s'occupe de créer une liste des positions de chaque client et l'envoit à chaque client qui affiche alors les images au bon endroit.

 

[edtdd]--Message édité par Alload--[/edtdd]

n°87870
LeGreg
Posté le 10-01-2002 à 16:00:18  profilanswer
 

y'a plein de solutions differentes
 
premiere solution "server oriented":
le client ne gere que l'affichage et donc
a intervalle regulier il interroge le serveur
pour savoir ce qu'il doit afficher.
A chaque demande le serveur envoie la totalite de l'etat
du monde au joueur (ou ce qui a change depuis la derniere fois).
Les inputs sont envoyees directement au serveur qui  
fait les calculs physiques et de visibilite pour chaque joueur.
Le client est simple a programmer et le serveur n'est pas
trop complique, mais on lui fait faire beaucoup de calculs
et le transfert d'information peut etre assez important.
(ca peut etre delicat sur internet par exemple)
 
Deuxieme solution "client oriented":
le serveur sert uniquement de relai, c'est a dire que chaque
client lui envoie uniquement les inputs utilisateur, qu'il reexpedie a chaque client connecte.
Le client se charge lui meme de maintenir un etat du monde
coherent avec ce que les autres clients croient savoir.
Le serveur est ultra simple a programmer mais le client doit
etre concu de maniere stricte, pour que la vision du monde soit la plus coherente possible avec les autres clients.
(pas de random du cote du client, mise a jour a intervalles
fixes et constants).
 
une solution intermediaire mais pas forcement simple
a mettre en oeuvre, c'est que chaque client + le serveur
ont leur propre vision du monde, grace aux infos relayees par le serveur. Puis a intervalles reguliers, le serveur envoie des mises a jour completes (plus ou moins longtemps suivant le degre de divergence acceptable) sachant que pour la logique de jeu
(points de vie, score etc..) le serveur a toujours le dernier mot. Le client lui se contente d'afficher une vision estimee
du monde en corrigeant le tir quand il a des infos contradictoires du serveur.
 
tu peux aller lire l'article suivant:
http://www.gamasutra.com/features/ [...] oft_01.htm
 
A+
LEGREG

n°88045
maitre_mul​ot
Posté le 10-01-2002 à 21:44:26  profilanswer
 

merci.
nous on avez pensez à:
qd le client ce deplace il envoie ses nouvelles coordonnees,
le serveur (qui sait dans quelle piece on est grace aux coordonnees)  envoit les coordonnees du cliet a tous les clients succeptible de le voir (ds la mm piece).
Mais ce que j'ai peur c que qd le client court il envoie plein de nouvelle coordonnees, et si y'a 50 personnes qui courent ben ca risque de saturer le rezo non?

n°88084
Alload
Posté le 10-01-2002 à 22:31:23  profilanswer
 

Un truc simple mais pas terrible serait alors de limiter les mise à jour. En clair, le client n'envoit ses déplacements que les x secondes.

n°88170
maitre_mul​ot
Posté le 11-01-2002 à 01:45:17  profilanswer
 

ben on aimerai que ce soit fluide qd mm ;)

n°88172
Mara's dad
Yes I can !
Posté le 11-01-2002 à 01:54:50  profilanswer
 

maitre_mulot a écrit a écrit :

merci.
Mais ce que j'ai peur c que qd le client court il envoie plein de nouvelle coordonnees, et si y'a 50 personnes qui courent ben ca risque de saturer le rezo non?  




 
Ben je pense pas, des coordonées, c'est pas bien gros à envoyer !
Sauf si t'est dans un espace à 1000 dimentions (et encore...)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°88178
LeGreg
Posté le 11-01-2002 à 02:25:02  profilanswer
 

si tu peux tu batches tes envois de donnees
pas la peine d'envoyer un datagramme par variable.
 
par ailleurs, si tu envoies des datagrammes
sur le net, il faut accepter de perdre
des donnees (cf l'article sur xwing)
et faire en sorte que ton moteur
accepte les pertes de donnees et les corrige.
(jusqu'a un certain point).
 
en general le pb qui se pose sur un reseau
n'est pas trop le debit
(si tu n'envoies que les input de chaque
joueur, tu ne peux pas saturer un reseau)
mais plutot la gestion du lag (retard
dans la reception des paquets).
Un moteur predictif permet de donner
l'illusion de fluidite alors que les donnees
arrivent systematiquement en retard.
 
Il vaut mieux que le gameplay et le design
technique tienne compte de ces donnees pour
un jeu multijoueur des le depart.
(et pas faire l'inverse sinon => mur)
 
A+
LEGREG


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  gérer les déplacements en 3D par le réseau

 

Sujets relatifs
[réseau / p2p] morpheus, kazaa & co[c++] comment gérer des tableaux de chaine
[HTML/CSS] peut on gerer des class pour les balise tr et td d'un tablegerer des contraintes
Gerer le port // en Java ?Comment envoyer des instructions a une imprimante réseau?
Paramètrage réseau automatique[JAVA] URGENT projet ia : réseau de neurones
ShellExecute d'une application avec un chemin réseauVb + accès réseau distant en win2000???
Plus de sujets relatifs à : gérer les déplacements en 3D par le réseau


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)