Question

Projet Darkstar était le sujet du mensuel JavaSIG rendez-vous hier soir dans les bureaux de Google à New York.Pour ceux qui ne savent pas (probablement tout le monde), Project Darkstar est un cadre pour les jeux en ligne massivement multijoueurs qui tente de s'occuper de toutes les «choses difficiles». L'idée de base est que vous écrivez votre logique de serveur de jeu de telle manière que toutes les opérations sont divisées en minuscules tâches.Vous transmettez ces tâches au framework Project Darkstar qui gère leur distribution à un nœud spécifique du cluster, tout problème de concurrence et enfin la persistance des données.

Apparemment, ce genre de chose est un problème très différent pour les jeux vidéo que pour les applications d'entreprise.Jim Waldo, qui a donné la conférence, affirme que les jeux MMO ont un rapport lecture/écriture de base de données de 50/50, alors que les applications d'entreprise sont plutôt à 90 % en lecture et 10 % en écriture.Il affirme également que la plupart des MMO existants gardent tout en mémoire exclusivement et ne les sauvegardent dans une base de données que toutes les 6 heures.Cela signifie que si un serveur tombe en panne, vous perdrez tout le travail effectué depuis le dernier vidage de la base de données.

Le projet en lui-même semble vraiment cool, mais je ne pense pas que l'industrie l'acceptera.Tout d’abord, vous devez écrire le code de votre serveur en Java.Le code client peut être écrit dans n'importe quoi (Jim affirme qu'ActionScript 3 est le plus populaire, suivi de C++), mais le contenu du serveur doit être Java.Cela me semble bien, mais j'ai vraiment l'impression que tout le monde dans l'industrie du jeu vidéo déteste Java.

Deuxièmement, contrairement à d’autres secteurs où les développeurs préfèrent utiliser les frameworks et bibliothèques existants, les acteurs de l’industrie du jeu semblent aimer tout écrire eux-mêmes.De plus, ils aiment tout réécrire pour chaque nouveau jeu qu’ils produisent.Les choses commencent à changer là où les développeurs utilisent Havok pour la physique, Unreal Engine 3 comme plate-forme, etc., mais pour la plupart, il semble que tout soit toujours propriétaire.

Alors, les gars du Projet Darkstar perdent-ils simplement leur temps ?Un cadre général comme celui-ci peut-il vraiment fonctionner pour des jeux complexes avec les performances requises ?Même si cela fonctionne, les sociétés de jeux sont-elles prêtes à l’utiliser ?

Était-ce utile?

La solution

Modifier:Ceci a été écrit avant qu'Oracle n'achète Sun et ne se déchaîne pour tuer tout ce qui ne leur rapporte pas un milliard de dollars par jour.Voir les commentaires pour un OSS Fork. Je maintiens toujours mon opinion selon laquelle des choses comme ça (MMO Middleware) sont réalistes, vous avez juste besoin d'une entreprise qui ne craint pas.

Le marché est peut-être dominé par quelques grands jeux, mais cela ne signifie pas qu’il n’y a pas beaucoup de place pour des jeux de niche.Avouons-le:Si vous souhaitez atteindre plus de 100 000 joueurs, vous finissez par créer votre propre pile technologique, au moins pour le noyau critique.C'est ce que CCP a fait pour EVE Online (StacklessIO), c'est ce que Blizzard a fait pour World of Warcraft (bien qu'ils utilisent de nombreuses bibliothèques tierces), c'est ce que Mythic a fait pour Warhammer Online (bien qu'ils soient basés sur Gamebryo).

Cependant, si vous souhaitez devenir un petit MMO de niche (comme les dizaines de MMO Free-to-Play/Itemshop), alors obtenir les bons éléments du réseau est tout simplement incroyablement difficile, la cohérence des données est encore plus difficile et l'évolutivité est le plus gros problème. tch.

Mais la technologie des jeux n’est pas votre seul problème : vous devez également vous attaquer à la facturation.Carte de crédit uniquement ?Amusez-vous à vendre en Allemagne alors, les gens là-bas veulent des VHU.C'est là que vous avez besoin d'un fournisseur de facturation fiable, mais vous devez toujours connecter l'application de facturation à vos comptes pour vous assurer que les comptes sont bloqués/réactivés en cas d'échec de la facturation.

Certaines sociétés proposent déjà des « services d'infrastructure MMO » (c'est-à-dire L'EEIS d'Arvato), mais l'essentiel est le suivant :Des trucs comme le projet Darkstar EST réaliste, mais supposer que vous pouvez construire un MMO de plusieurs milliards entièrement sur une pile tierce est optimiste, voire idéaliste.

Mais là encore, inventer entièrement toute la technologie est encore plus stupide : utilisez les éléments tiers dont vous avez besoin (c'est-à-direFacturation, Rendu des polices, Sortie audio...), mais écrivez ce qui fait ou défait vraiment votre entreprise (c'est à dire.Pile réseau, interface utilisateur, etc.) par vous-même.(Note:Le message de Jeff est peut-être un peu imparfait, mais la direction générale est correcte à mon humble avis.)

Addenda:En outre, l’industrie du jeu octroie beaucoup de licences et réutilise les moteurs.Les moteurs de jeu les plus importants sont les Moteur irréel, Moteur source et ID Tech, qui alimentent des dizaines, voire des centaines de jeux.Mais il existe des moteurs moins connus (en dehors de l’industrie).Il y a Gamebryo, le middleware derrière des jeux comme Civilization 4 et Fallout 3, il y avait RenderWare c'est désormais uniquement EA-in-House, mais utilisé dans des jeux comme Battlefield 2 ou Les Sims 3.Il y a l'open source Ogre3d, qui a été utilisé dans quelques commercial titres.Si vous cherchez juste du son, il y a des trucs comme FMOD ou si vous voulez faire un rendu des polices, pourquoi ne pas donner Type libre un tour?

Ce que je dis c'est :Les moteurs/middlewares tiers existent, et ils SONT utilisés avec succès depuis plus d'une décennie (je sais avec certitude que le moteur Wolfenstein d'id a été concédé sous licence à d'autres sociétés, et c'était en 1992), même par de grandes entreprises dans des domaines multimillionnaires. titres en dollars.L'important est le support, car un bon moteur sans aide en cas de problème ne vaut pratiquement rien ou du moins très cher si le développeur doit consacrer son temps de développement de jeu à un débogage inutile du moteur.

Si les gens de Darkstar parviennent à obtenir un bon support et à sortir 2 ou 3 titres de plus haut niveau, je pense que cela pourrait réussir à ouvrir le marché des MMO à beaucoup plus de petits développeurs et d'indépendants.

Autres conseils

Cela me semble être une technologie inutile.Le monde du MMO est contrôlé par quelques grandes sociétés de jeux vidéo qui disposent déjà de leur propre technologie.Les développeurs de jeux indépendants adorent essayer de créer des MMO et parfois ils le font, mais ces jeux gagnent rarement du terrain.Les grandes entreprises qui entrent dans le monde des MMO accorderaient probablement une licence à une technologie « éprouvée » ou étendraient la leur.

Les sociétés de jeux réutilisent de grandes quantités de code d’un jeu à l’autre.La plupart des sociétés de jeux vidéo ont développé leur propre technologie en interne et l'utilisent sur chaque jeu qu'elles produisent.Parfois, ils feront quelque chose comme remplacer leur code physique par un moteur physique tiers.Si leur base de code interne (moteur de jeu, outils de conception, pipeline interne) commence à trop vieillir ou à devenir lourde, ils pourraient passer à l'un des grands moteurs de jeu comme Unreal.Même dans ce cas, d’importants morceaux de code continueront d’être réutilisés d’un jeu à l’autre.

D'après ce que je peux dire, les sociétés de jeux vidéo ne réutilisent pas la plupart de leur code, car si elles le font, cela implique que leur nouveau jeu n'est qu'une reprise d'un ancien.

Euh...si vous faites référence à la longue traîne des sociétés de jeux vidéo, peut-être.Au sein d’une entreprise qui a réalisé une série de jeux à succès, il y a généralement un minimum de réutilisation.Des modifications matérielles majeures peuvent entraîner l’abandon de beaucoup de travail, mais cela dépend vraiment de l’entreprise.

Cela semble amusant à concevoir et à coder, mais je pense qu'en fin de compte, cela se résume à abstractions inutiles (pour voler Joël).

Il est très courant que les jeux réutilisent des « moteurs de jeu », même ceux de tiers.Cela semble être un autre pas dans cette direction.

Je pense que c'est une bonne chose à faire.Les développeurs n'ont pas à se soucier de toutes ces choses dont le projet darkstar s'occupe, et il est très simple à utiliser.Mais il ne s'agit pas uniquement de le faire fonctionner et de ne pas avoir à tout apprendre sur la communication Internet, il s'agit également de performances.Le projet darkstar est en développement depuis plus de 2 ans et il ne cesse de s'améliorer, de devenir plus rapide et plus robuste.

Je pense que ce sera difficile et cela ne vaut probablement pas la peine d'écrire ces choses lorsque l'on vise un jeu spécifique, lorsque des technologies comme celle-ci peuvent être utilisées à la place.Et vous obtenez également des informations intéressantes pendant l'exécution vous indiquant où dans une application il y a une cause de ralentissement ou de blocages afin que vous puissiez améliorer cela.

Je ne travaille pas dans l'industrie du jeu vidéo, mais il me semble que cela fera la même chose pour les jeux vidéo que les moteurs Quake et Half-Life.Autrement dit, ils favoriseront l’intérêt des jeunes développeurs pour l’industrie et favoriseront le développement de jeux indépendants.

D'après ce que je peux dire, les sociétés de jeux vidéo ne réutilisent pas la plupart de leur code, car si elles le font, cela implique que leur nouveau jeu n'est qu'une reprise d'un ancien.Tout le monde veut un nouveau moteur physique sympa, de meilleurs graphismes, de nouvelles façons de jouer au jeu.La plupart des moteurs et frameworks de jeux vidéo sont conçus pour un scénario spécifique et ne sont donc pas très adaptables à d’autres situations.

Peut-être que Darkstar y parviendra, mais j'en doute un peu, car la généralisation ne fonctionne que pour beaucoup de choses.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top