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

Langage Java Discussion :

Jeu MMO - Comment implémenter les calculs côté serveur ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut Jeu MMO - Comment implémenter les calculs côté serveur ?
    Bonjour à tous,

    Je développe un MMO et j'arrive à un point où j'ai besoin de l'avis de personnes expérimentées.

    C'est un jeu de stratégie spatiale, qui nécessite une certaine gestion physique :
    Tous les objets peuvent et doivent entrer en collision entre eux. Je n'ai pas de problème à faire cela côté client mais en revanche, cela me paraît bien plus délicat côté serveur.

    Comme il n'est pas question de déléguer ce calcul à la partie cliente, j'aimerais savoir comment l'implémenter efficacement côté serveur.

    En d'autres termes, quelqu'un saurait-il me dire s'il est possible de calculer des collisions, alors que le serveur n'est qu'une console ?
    Cela nécessite-t-il beaucoup de CPU et de RAM ?

    J'ai cru comprendre que l'on peut faire des modèles en "low polygone" des vaisseaux qui existent mais j'ai l'impression que s'il y a des milliers d'instances à calculer, cela nécessitera beaucoup de puissance. Non ?

    Autre question :
    Pour envoyez les info de mon serveur vers le client (et vice versa), j'utilise une méthode un peu archaïque exemple qui consiste à envoyer la position et la rotation de mon vaisseau, en regroupant toute les info dans un String.
    Ex:
    "10_36_10.3_87_9_5"
    Puis ensuite je sépare le tout dans avec un split mais y a-t-il mieux ou je peux garder cette méthode ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    Oui, grosso modo, plus il y a de participants, plus la puissance de calcul côté serveur doit être importante, c'est une évidence. Bien entendu, tout dépend de la nature et la complexité des calculs à produire. A toi d'optimiser tes calculs...
    Le serveur n'est pas qu'une console ! C'est un machine qui exécute des applications, que celles-ci fassent du calcul de collision ou autre... Donc il peut effectuer lui-même les calculs et ne renvoyer que les résultats aux clients. Cela dit, personnellement j'ignore quelles stratégies emploient les éditeurs de ce type de jeux et quelle part du calcul il font faire côté client. Le tout étant d'avoir le contrôle sur le résultat réel.

    Au-delà de ça, il y a la bande passante du réseau qui compte également et donc, si le jeu est accessible sur un réseau local ou via Internet par exemple, avec des latences relativement importantes, il faut le prendre en considération...

    Pour ce qui est du format des données échangées, il ne faut pas se poser d'autre question que "comment je peux faire pour réduire au maximum la quantité de données échangées". Il faut penser au niveau bit !
    Bon, dans un premier temps fait un truc qui fonctionne bien et ensuite, entame les optimisations de bande passante

    Par contre, si tu développes ton jeu en Java, tu dois probablement savoir que ce n'est pas ce qu'il y a de plus adapté pour ce genre d'application mais pour se faire la main c'est très bien
    De fait, comme je doute que tu veuilles en faire un jeu accessible par tous, au moins dans un premier temps, je te recommande de t'attacher pour le moment au côté fonctionnel.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

Discussions similaires

  1. Comment copier les données du serveur de base de données
    Par wangying dans le forum Administration
    Réponses: 1
    Dernier message: 09/12/2011, 11h10
  2. Réponses: 23
    Dernier message: 31/05/2009, 17h37
  3. Comment implémenter les méthodes pour sauvegarder un fichier ?
    Par ti3um dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 10/04/2009, 16h13
  4. Réponses: 15
    Dernier message: 24/01/2009, 23h24
  5. Réponses: 2
    Dernier message: 05/05/2006, 16h44

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