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 04/01/2011, 03h39   #1
Neo007
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 2
Points : 2
Par défaut Heart Beat MMORPG

Rebonjour à tous et à toutes

je cherche une réponse à ma petite question :

Je gère mes clients séparés par map dans le jeu. Chaque carte a un thread pour la réception des données des clients sur cette carte.

Lorsque je reçois un déplacement, comment devrais-je gérer les heartbeats (on se téléporte pas, ça prends du temps avant de se rendre à l'endroit désiré) ?

Je pensais créer une classe instanciée pour chaque map.
voici le header (+la méthode run):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
class HeartBeat{
public:
    HeartBeat();
    run();
    addHeartBeat();
    deleteHeatBeat();
private:
    std::vector<userData> HeartBeatList;
};
 
HeartBeat::run(){
    //run = thread
    while(true){
        //Timer 500ms (gère les donc les déplacements 2 fois par seconde)
        //Prends chaque HeartBeat
        //Calcul le déplacement
        //Enregistre le déplacement
        //Informe les joueurs qui doivent l'être du déplacement
    }
}
Donc, dès qu'un déplacement est créé, on l'envoie au vecteur de HeartBeat qui va se charger de faire tous les calculs de déplacements (pas de collision).
Si, entre temps, le joueur change de direction, on supprime le heartBeat, puis on en remet un novueau avec les nouvelles coordonnées. Si le joueur atteint le point voulu, l'instance supprimera automatiquement le heart beat (puisque posactuelle == posfin).

Croyez-vous que c'est une bonne idée ?? SInon qu'avez-vous de mieux à me proposer ?
Neo007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 18h04   #2
Neo007
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 2
Points : 2
Personnage n'a de réponses ?
Neo007 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 20h11.


 
 
 
 
Partenaires

Hébergement Web