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

Physique Discussion :

[MMOG] Gestion de la carte côte serveur


Sujet :

Physique

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut [MMOG] Gestion de la carte côte serveur
    Bonjour,

    Nous sommes un groupe et travaillons dans le cadre de notre école sur un projet de MMOG.
    Nous avons jusqu'en Juillet pour fournir un prototype de Serveur n-tiers.

    Ma partie consiste à déterminer les différents objets qui transiterons dans l'application. Je suis alors bloqué sur mes spécifications par un problème conceptuel.

    Comment stocker les cartes et implémenter du Pathfinding sur le serveur. Sachant que le Client possède les cartes de l'environnement au format .mesh comment en représenter le "spectre" sur le serveur.

    Il m'est nécessaire de connaitre les caractéristiques (accessibilité d'une coordonnée) de chaque cartes pour pouvoir implémenter le Pathfinding.

    Plusieurs solution m'ont déjà traversé l'esprit.
    1. Matrice de coordonnée representant toutes les accessibilités notées grace à un chiffre représentant une hauteur (0=vide ou eau, 1=sol, 2= ~30cm, etc.).
    2. Vecteur de Noeud (Objet) ayant chaqu'un un vecteur d'interconnexion avec d'autre Noeud ainsi qu'un boolean d'accessibilité. Un Noeud est un des sommets des triangles qui composent la Map.


    Petite précision le Pathfinding est nécessaire car les déplacements ce font à la souris.

    Avez-vous déjà été confronté au problème? Auriez vous des idées ou une solution? Je ne demande pas de travail pré-maché mais plutôt une direction de réflexion, de préférence professionnelle.

    Merci d'avance,
    Cordialement.
    --
    Jérôme Champigny
    ING 1 % 42 - EPITA
    std::cout << "Be pationate" << std::endl;

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 565
    Points : 7 293
    Points
    7 293
    Par défaut
    Citation Envoyé par Eliark Voir le message
    Il m'est nécessaire de connaitre les caractéristiques (accessibilité d'une coordonnée) de chaque cartes pour pouvoir implémenter le Pathfinding.
    Pourquoi implémenter le path finding sur le serveur?
    Tu implémente le path finding sur ton client qui envoie régulièrement des positions aux serveur.
    Le serveur valide ces positions ou les corrige pour le client et utilise du dead reckoning pour prévoir les positions suivantes et les envoyer aux autres clients.

    Citation Envoyé par Eliark Voir le message
    Comment stocker les cartes et implémenter du Pathfinding sur le serveur. Sachant que le Client possède les cartes de l'environnement au format .mesh comment en représenter le "spectre" sur le serveur.

    [...]

    Plusieurs solution m'ont déjà traversé l'esprit.
    1. Matrice de coordonnée representant toutes les accessibilités notées grace à un chiffre représentant une hauteur (0=vide ou eau, 1=sol, 2= ~30cm, etc.).
    2. Vecteur de Noeud (Objet) ayant chaqu'un un vecteur d'interconnexion avec d'autre Noeud ainsi qu'un boolean d'accessibilité. Un Noeud est un des sommets des triangles qui composent la Map.
    Du coup, ton serveur a juste besoin de savoir quelles coordonnées sont praticables (eau, sol, pente etc). Je suppose que tu peux utiliser les mesh quand même côté serveur sans forcément avoir à afficher quoi que ce soit (certains moteurs graphiques le permettent)
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    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 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Salut,
    Citation Envoyé par Eliark Voir le message
    Comment stocker les cartes et implémenter du Pathfinding sur le serveur. Sachant que le Client possède les cartes de l'environnement au format .mesh comment en représenter le "spectre" sur le serveur.
    surtout pas le Pathfinding c'est ce qui pénalise les performances d'un jeu ( j'en sais quelque chose pour mon jeu.. )
    Le client possède les cartes calcule le pathfiding et envoie les coordonnées au serveur qui les traite comme le suggère Kain_Tn
    J'avais posé la question sur Gamedev.net pour optimiser mon jeu on m'a conseillé la technique de la subdivision de l'espace (X,Y) avec des quadtrees.


    http://www.gamedev.net/reference/pro...res/quadtrees/

    Mais faire calculer le pathfinding par le serveur c'est une mauvaise chose supposons que tu aies 100 unités qui se déplacent sur une carte d'une certaine taille cela fait un certain nombre de traitements à la seconde.
    Sans compter que si tu y mets par dessus une IA pour les combats..

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Tout d'abord merci de vos réponses.

    Pourquoi implementer le pathfinding sur le serveur?

    J'expose notre vision des choses.

    Premièrement nous ne nécessitons pas de Dead Reckoning car les déplacements s'effectuent au clic. De ce fait le Serveur n'a pas à anticiper puisque chaque clic est un changement de direction et plus globalement d'action.

    Le client pourrait effectivement calculer son Pathfinding et envoyer au serveur les résultats de ce calcul pour vérification, jusque là aucun soucis (enfin si, comment vérifier?). En revanche qu'en est t'il de déplacement des IA? Ici le pathfinding est obligatoire.

    Nous sommes donc confrontés à notre problème conceptuel!
    Comment stocker les données relatives aux cartes. C'est le problème du sujet!
    Certes nous pouvons stocker mes mesh dans notre serveur mais rien sur ceux-ci ne nous indique une potentielle inaccessibilité.

    Merci d'avance,
    Cordialement.
    --
    Jérôme Champigny
    ING 1 % 42 - EPITA
    std::cout << "Be pationate" << std::endl;

Discussions similaires

  1. Gestion des fichiers sur le serveur
    Par reeda dans le forum Autres composants
    Réponses: 13
    Dernier message: 02/12/2008, 10h53
  2. Règles de gestion de mails au niveau serveur
    Par angeld dans le forum Outlook
    Réponses: 9
    Dernier message: 20/11/2007, 17h31
  3. [RMI]Gestion des objets sur le serveur?
    Par fabszn dans le forum Langage
    Réponses: 9
    Dernier message: 06/06/2007, 11h59
  4. Gestion "clavier/envoi vers le serveur" en multijoueur
    Par hedo888 dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 20/04/2007, 10h27
  5. Gestion des sessions avec 2 serveurs et 1 loadbalancer
    Par scorpia dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 09h56

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