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

Threads & Processus C++ Discussion :

Architechture d'un serveur pour un MOBA


Sujet :

Threads & Processus C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut Architechture d'un serveur pour un MOBA
    Hello,

    Ya deux jours, j'ai eu une irrésistible envie de coder, j'ai vu le raccourci de LoL sur mon bureau, et .. j'ai décidé de tenter de faire un petit MOBA (type LoL / DotA).

    Je me suis bien sur lancé immédiatement dans le code sans aucune réflexion préalable ni même une idée exacte du gameplay que je voulais

    Le projet avance tranquillement, mais j'ai un doute sur l’architecture du serveur. Actuellement j'ai :
    - le serveur qui possède un thread : il accepte des connections TCP (on verra plus tard pour les transferts UDP), crée des joueurs (à comprendre plus au sens de client que joueur) à partir de ces connections et attends des messages entrants sur les connections ouvertes, à la réception d'un message, le joueur traite le message via un threadpool.
    - un système d'intentions : Quand une partie est lancée, un joueur possède un avatar. Les avatars (ou pnj, non implémentés actuellement) possèdent 1 ou plusieurs intentions (comme l'intention de se déplacer aux coordonnées (x;y) par exemple), les intentions sont mises à jour à la réception de messages des clients.
    - un gameManager, qui gère les parties lancées et mets à jour toutes les entités de la partie en fonction de leur intentions.

    Le problème vient de ce gameManager, il faut une mise à jour régulière des entités de chaque partie lancée, sans surcharger inutilement le serveur.
    J'ai pensé faire une 10ene d'itérations (chaque itération étant une maj des intentions des pnj, et une maj des états/position de toutes les entités de la partie) par seconde et par partie, et d'y ajouter une itération immédiatement après le changement d'une intention d'un joueur.
    Pour ça, chaque itération serait soumise au threadpool avec un callback ajoutant l'itération suivante au bon moment (pour 10 itérations par seconde, il y aurait une attente de 100ms moins le temps qu'il à fallu pour traiter l'itération précédente)

    Est-ce une bonne idée ?
    Est-ce qu'il y a mieux ?

  2. #2
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Salut,

    Cela fait bientôt une semaine que tu as posté ton message.
    Pourrais tu nous dire ou tu en es de ta reflexion, de tes tests et des résultats que tu as obtenus ?

    Ça serait interessant et ça lancerai peut être la discussion.

    Bon courage avec ton projet !

    PS : je bosse moi même sur un projet similaire.

Discussions similaires

  1. [Indy] Client-serveur pour recevoir des flux videos
    Par Nicodemus dans le forum Web & réseau
    Réponses: 7
    Dernier message: 10/10/2005, 14h18
  2. Nouveau serveur pour le forum
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 07/10/2005, 11h48
  3. [MSDE - SQLDMO] Recherche d'un serveur pour detachement DB
    Par juniorAl dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/09/2005, 16h19
  4. Réponses: 2
    Dernier message: 01/08/2005, 16h55
  5. Configuration des disques sur un serveur pour Oracle
    Par hkhan dans le forum Administration
    Réponses: 5
    Dernier message: 29/09/2004, 12h57

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