Réflexions autour du choix d'un moteur réseau.

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Réflexions autour du choix d'un moteur réseau.

Message par ZJP » 02 Jan 2012 05:03

Salut,

Suite aux nombreuses questions (et interrogations) concernant le choix d'une solution multi-joueur, je propose de mettre en place une procédure « communautaire » de tests/choix d'un moteur réseaux.

Les concurrents : ( voir la liste des serveurs disponibles : https://docs.google.com/spreadsheet/ccc ... 0V1E#gid=0 ) retenus pour ces raisons essentielles :

a) Client disponible pour Unity/C# ( a minima) ( http://unity3d.com/unity/engine/networking.html )
b) Solution éprouvée et solide
c) Support actif
d) Au moins une licence illimitée (dans le temps, pas en nombre de connections :D ) gratuite.

Présentation sommaire par popularité

Photon, Site Web : http://www.exitgames.com/Photon/Unity
Api clients pour Unity3D, IOS, Android, Web...
Serveur sous Windows 32/64.

Licences et Tarifs

Version gratuite de 20 CCU ( ConCurrent Users - Connections simultanées) sans licence (Serveur de 4Mo). Disponible seulement avec les pack suivants (Asset Store d'Unity) :
Photon Unity Networking : http://u3d.as/content/exit-games/photon ... orking/2ey
Photon Angry Bots Demo : http://u3d.as/content/exit-games/photon ... s-demo/2i9
Photon Bootcamp Demo : http://u3d.as/content/exit-games/photon ... p-demo/1AA
Photon Viking Demo : http://u3d.as/content/exit-games/photon-viking-demo/2gg

Version gratuite de 100 CCU avec demande de licence

Licence Indie ( moins de 10000$ de revenu par mois)
Unlimited CCU à 799$

Licence PRO
500 CCU à 1250$
1000 CCU à 2250$
Unlimited CCU à 3500$
Edit : Nouveau service de Cloud.

SmartFoxServer 2X, Site Web : http://www.smartfoxserver.com/2X/features.php et http://www.smartfoxserver.com/labs/API/
Api clients pour Unity3D, IOS, Android, Web...
Serveur sous Windows 32/64, Linux 32/64, Mac

Licences et Tarifs

Version gratuite de 100 CCU. Usage commercial autorisé

500 CCU à 750 euros
2000 CCU à 1500 euros
5000 CCU à 2500 euros
Unlimited CCU à 3500 euros
ES5, Site Web : http://www.electrotank.com/es5.html
Api clients pour Unity3D, IOS, Android, Web...
Serveur sous Windows 32/64, Linux 32/64, Ma OS 64, Unix...

Licences et Tarifs

Version gratuite de 50 CCU ( Pour évaluation semble t-il)

1,000 CCU à 772 euros.
Unlimited CCU à 3900 euros.
Pour le protocole de test primaire (car beaucoup finalement est a faire), j'ai pensé à la solution suivante :

a) Serveur/Visualiseur exécutant une application sous Unity
b) Poste simulateur de clients, exécutant le maximum d'application cliente (la même redondante)

L'appli serveur serait un "Casse-brique". Pourquoi? Car il sera plus simple de se rendre compte des anomalies liées aux erreurs de transmission dans ce cas. Des cubes "courants" dans tous les sens dans un environnement 3D seraient plus difficiles a suivre.
Chaque "brique" serait un GameObjet géré par une appli cliente exécutée par simulateur. Bien sur, l'appli cliente peut aussi être exécutée sur des postes distants via internet. Ce programme ne comportera aucune visualisation.

Il faudra créer plusieurs versions (3) de chacun des applis. Une par API (Photon, ES5, SFS2X)

C'est jouable ou pas à votre avis? :)

JP

EDIT DU 18/08/2012

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Réflexions autour du choix d'un moteur réseau.

Message par ZJP » 02 Jan 2012 15:45

*réservé*

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: Réflexions autour du choix d'un moteur réseau.

Message par MasterNovice » 13 Jan 2012 03:18

Salut,

Je trouve l'idée super intéressante, j'espère que tu la poursuivra. J'en suis justement au point de devoir choisir un "moteur réseau", et je sèche un peu.

J'ai vu que l'on pouvait modifier le masterserveur d'unity basé sur Raknet. Maintenant je me pose la question de licence, il me semble que Raknet n'est pas gratuit... Du coups, peut-on nous servir de la partie serveur à des fins commerciales ?

Pour ce qui est des autres moteurs, je trouve ça vachement cher quand même. J'ai fait quelques recherches sur le net pour voir comment se faire son propre serveur pour unity, mais dans la plupart des cas on passe par le Masterserver, ce qui me ramène à ma question du dessus.

Je serai assez tenté de me coder mon propre serveur basé sur unity, mais je trouve peu de docs, et encore moins française.

Je pense que rajouter une partie sur le choix de faire son propre moteur réseau, pourrait être intéressant non ? Ou basé sur le MasterServer d'unity dont on parle peu je trouve, et je me demande bien pourquoi.

Je sais pas si mon post est le bienvenu dans ce topic, si ce n'est pas le cas désolé, au moins ça aura le mérite de le up ce topic. :D

Avatar de l’utilisateur
krys64
Fondateur unity3d-france
Fondateur unity3d-france
Messages : 471
Inscription : 26 Nov 2009 00:08

Re: Réflexions autour du choix d'un moteur réseau.

Message par krys64 » 13 Jan 2012 16:38

Perso, je me sers de Smartfox pour un projet Flash, ça marche très bien et la doc est top. L'admin est en Flex et très ergonomique, gratuit jusque à 100 joueurs.

Avatar de l’utilisateur
nivakas
Messages : 7
Inscription : 19 Oct 2011 18:23

Re: Réflexions autour du choix d'un moteur réseau.

Message par nivakas » 13 Jan 2012 18:35

Après avoir étudié plusieurs solutions, j'ai opté pour Es5.
Mon choix a été motivé principalement par les ressources disponibles "de suite" (site/wiki/forum/exemples fournis) ainsi que par la modularité du serveur (Sachant que les prix se valent tous).
La possibilité de créer des "server side plugins", répondant aux besoins de chaque projet (en java), est aussi très intéressante (je dis ca sans savoir si les concurrents offrent aussi cette possibilité).

Concernant les prix, on remarquera que la fourchette pratiquée pour les produits complets, est très restreinte (de 3500€ a 3900€). Ce n'est pas si cher quand on sait ce qu'on peut en faire. Pour répondre a MasterNovice, concevoir "from scratch" l'équivalent d'un tel serveur nécessitera a la fois beaucoup de temps et de compétence. 3 750€ en moyenne pour s'économiser une telle peine, c'est presque offert :)

Pour en revenir a Es5, la mise en place des scripts clients est simple et bien documentée. Le serveur "test/localhost/dev" s'installe en 5 minutes. Interface d'admin par http ou application AIR. L'administration est aussi simple et claire. La mise en place des plugins se fait aussi très simplement. Bref, pour un neophyte comme moi, c'est le paradis a portée de main.
Possibilité de faire tourner le serveur sur un linux (tres important ! Point de vue perso ;) ).

En 2012, c'est décidé, je vote pour Es5 :D

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: Réflexions autour du choix d'un moteur réseau.

Message par MasterNovice » 13 Jan 2012 22:19

Merci à vous deux pour vos retours d’expériences.

SmartfoxServer, me semble le plus abordable.

Pour ce qui est des prix "cadeaux", je conçois parfaitement que pour quelqu'un qui a les moyens de débourser 3000 euros, ça doit être la solution idéal et très avantageuse. Personnellement, je ne suis pas dans ce cas de figure, néanmoins j'ai besoin d'un serveur pouvant accueillir pas mal de connections en simultané, et je ne veux pas être limité.

Ce qui me chiffonne toujours, et où je ne trouve pas de réponse, c'est pourquoi personne ne se sert-il de la classe network et du master server unity recompilé pour faire son serveur. On peut faire un client / serveur en deux ou trois cuillères à pot. L’envoie et la réception de message est d'une facilité déconcertante, tout est à l'image d'unity, d'une simplicité enfantine.

Qu'est-ce qui cloche donc ? Pourquoi personne n'opte t-il pour ce choix la ? La classe network est déjà une surcouche réseau, qu'est-ce qu'un autre type de serveur permet-il de faire de plus qu'unity ne fasse déjà ? Je ne comprends pas vraiment :(

Je ne suis pas spécialiste code réseau, j'ai voulu faire quelques tests en utilisant la création de serveur et client unity via la classe network, et tout marche parfaitement, on peut créer un chat facilement, voir le personnage d'un autre joueur, se déplacer etc... Rien de vraiment difficile.

Je n'ai pas l'impression qu'il faille des mois pour créer un jeu multijoueur en passant par là plutôt que par un serveur à 3000 euros.

Alors dites moi s'il vous plait, pourquoi tout le monde semble-il bouder le système d'unity ?

Avatar de l’utilisateur
nivakas
Messages : 7
Inscription : 19 Oct 2011 18:23

Re: Réflexions autour du choix d'un moteur réseau.

Message par nivakas » 13 Jan 2012 22:52

Quand je dis que 3750€ c'est presque offert, il faut relativiser. Pour te donner mon exemple avec une vue plus generale, je suis totalement dans l'incapacité de debourser une telle somme actuellement. Grosso modo, j'espere que mon concept (mon jeu) va fonctionner, concept payant, et grace aux revenus générés, j'espere bien pouvoir graduellement augmenter mes licences (unity, es5...).
Si mon jeu ne vaut pas le coup aux yeux des joueurs, alors Es5 ni gagnera rien, tout comme moi ni unity... C'est une sorte de pari ! Et comme je suis bien obligé de prevoir a moyen/long terme, il me fallait faire un choix...
Comme je l'ai dis avant, c'est different pour chaque projet. Il n'y aura aucune reponse du type " SmartFox est mieux dans absolument tous les cas " ! ;)

MagixGame
Messages : 101
Inscription : 15 Juin 2012 08:32

Re: Réflexions autour du choix d'un moteur réseau.

Message par MagixGame » 07 Juil 2012 23:16

krys64 a écrit :Perso, je me sers de Smartfox pour un projet Flash, ça marche très bien et la doc est top. L'admin est en Flex et très ergonomique, gratuit jusque à 100 joueurs.
Ah....

Cela veut dire que que pour mon jeu je vais devoir payer si je veux accueillir plus de 100 joueurs? Le problème c'est que j'ai pas le droit de gagner de l'argent grâce au jeu vu que le jeu est tiré d'une série. :| Je le savais déjà mais pour les prix, je viens juste de l'apprendre. :?


Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Réflexions autour du choix d'un moteur réseau.

Message par Alesk » 18 Juin 2013 21:57

Lien mort... dommage :/

Sinon, je vais bosser sur un jeu qui va peut-être passer sur console dans le futur, y a t'il un service multijoueur plus adapté qu'un autre dans ce cas ?
Savez-vous s'il existe des surprises techniques lors d'un export console en ce qui concerne les communications réseau ?

Merci d'avance ^^

Répondre

Revenir vers « Unity le logiciel »