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 21/10/2012, 18h45   #1
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Par défaut Smart fox server

Bonjour je regarde smart fox server

http://smartfoxserver.com/

J'ai teste un peu en local ca fonctionne bien.

Leur slogan c'est "Massive multiplayer platform" mais je ne comprend pas bien car si on achète une licence pour 100 utilisateurs je ne vois pas comment cela peut tenir sur un serveur dédié.

Je me demande si ils on prévu des trucs pour gérer la charge?
Loadbalancer sur plusieurs serveurs etc... ou c'est a nous de tout gerer?

Merci de votre aide.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2012, 20h47   #2
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 612
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 612
Points : 1 781
Points : 1 781
Citation:
Envoyé par saturn1 Voir le message
100 utilisateurs je ne vois pas comment cela peut tenir sur un serveur dédié.
Tout dépend ce qu'on demande de faire au serveur pour chaque utilisateur.
Si on parle d'un MMOFPS avec des calculs de physique, de collision, etc... avec de fortes contraintes temps réel, 100 joueurs sera difficile à tenir sur un serveur à moins d'avoir une vraie bonne grosse bête de course.

Par contre, si on se réfère aux jeux présentés dans leur showcase, c'est du jeu 2D ou isométrique, avec des besoins en calculs à priori très faible. Dans ce cas, un serveur bas ou moyen de gamme sera capable de gérer quelques milliers de joueurs sans trop broncher.

De même, avoir 1000 joueurs qui partagent un unique espace de jeu n'induit absolument pas la même charge que les même 1000 joueurs répartis dans 500 parties de deux joueurs, disjointes les unes des autres.

Donc tout dépend de ce que tu comptes en faire de leur techno.

Quant à la question de savoir s'ils ont des choses déjà toutes prêtes pour la répartition de charge sur plusieurs machines physiques, je pense que c'est plutôt à eux qu'il faut le demander directement.
__________________
Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/10/2012, 11h47   #3
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Je n'ai pas les calculs de la physique a faire sur le serveur.

Mais le serveur se charge de transmettre les positions et d'autres infos de tous les joueurs a 60 fps.
Ca fait beaucoup?

Merci.
saturn1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 12h24   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 379
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 379
Points : 39 576
Points : 39 576
Bonjour,

Je doute que transmettre les données à une fréquence de 60 fois par seconde soit une bonne chose. D'ailleurs, cela voudrait dire, dans un cas optimal, qu'il faudrait avoir un ping de 16ms (et même plus bas), pour que cela soit fiable ?

Il faudrait voir à envoyer moins de paquet, quitte à faire des interpolations / extrapolations entre deux paquets.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 13h32   #5
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 612
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 612
Points : 1 781
Points : 1 781
Citation:
Envoyé par LittleWhite Voir le message
Je doute que transmettre les données à une fréquence de 60 fois par seconde soit une bonne chose.
Je plussoie, mais je pense que c'est justement l'implémentation du SmartFoxServer qui se cherge de s'occuper de ce genre d'optimisation (dead reckoning et compagnie). A vérifier dans leurs docs.

Pour le reste, même si on a 'beauoup' de chose à faire par joueur et par seconde, tout dépend en fait de la complexité de ce qu'il y a à faire. S'il s'agit uniquement de recevoir un paquet et le retransmettre aux joueurs 'présents dans les alentours', sans faire aucun forme de traitement complexe dessus, c'est relativement trivial pour un serveur de nos jours et c'est le genre de chose qui peut supporter une montée en charge importante.

A titre personnel, j'ai déjà implémenté un serveur de sockets en Java, avec un binding PHP pour traiter les messages reçus et les réémettre vers des listes de joueurs. Autant dire que c'était pas optimum en terme de consommation des ressources, et pourtant je tenais plusieurs milliers de clients avec une dizaine de messages par seconde chacun, le tout sur un serveur pas folichon (un AMD moyen de gamme d'il y a 5 ans).


Bref, à nouveau, tout dépend de ce que tu fais concrètement dans ton application ; il ne peut donc pas y avoir de réponse toute faite, le mieux étant de faire des essais avec la version gratuite qu'ils semblent proposer. Et ça personne d'autre que toi ne pourra le faire à ta place étant donné que seul toi sait ce que tu mettras réellement dans ton appli.
__________________
Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 14h48   #6
saturn1
Membre confirmé
 
Inscription : janvier 2008
Messages : 576
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 576
Points : 258
Points : 258
Merci de vos réponses.

Actuellement pour afficher un joueur remote je recois toutes les informations ca position , son state graphics etc...

Je me demande si il est possible d'implémenter cela en simulant ces inputs par le reseau?
Par exemple sur le réseau j'envoie joueurC appuie A, en local je reçois cela et j'appelle la même méthode qui si il avait appuyer sur A.
Mais je laisse le client gérer la physique et vitesse etc...

Mais il me semble qui forcement je vais devoir envoyer des packets de "fallback" pour resynchroniser la position? au cas ou la simulation physique ne se déroule pas pareil sur le remote et le local

Merci
saturn1 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 17h20.


 
 
 
 
Partenaires

Hébergement Web