Je veux développer un MMO, comme World of Warcraft , mais certaines recherches fondamentales indiquent que cela va prendre beaucoup de temps et d’argent. J'aimerais savoir pourquoi.
Pourquoi est-ce si cher de développer un MMO?
Je veux développer un MMO, comme World of Warcraft , mais certaines recherches fondamentales indiquent que cela va prendre beaucoup de temps et d’argent. J'aimerais savoir pourquoi.
Pourquoi est-ce si cher de développer un MMO?
Réponses:
Le premier problème est que le logiciel lui-même est très compliqué, en particulier pour un développeur de jeux nouveau ou inexpérimenté. Vous devez maintenir (au moins) une application cliente et serveur tout en fournissant plus de contenu que ce à quoi vous vous attendez pour un jeu "multijoueur" ou à un joueur "classique".
Même en tant que jeu à joueur unique, un RPG avec la complexité d'un World of Warcraft prendrait des années à des équipes professionnelles pour atteindre le même niveau de finition: un investissement de contenu énorme, beaucoup de travail en amont et en aval avec un équilibrage et des tests. , et certaines des interactions les plus compliquées de tous les genres de jeux. Ce sont des jeux de niveau commercial, et bien que le vôtre soit peut-être plus petit, il faudra tout de même beaucoup d'efforts pour être un bon jeu avant de dépenser le travail supplémentaire nécessaire pour en faire un bon jeu multijoueur.
Le développement de jeux en réseau n'est pas anodin; il faut surmonter d'importants obstacles non seulement en termes de temps de latence, mais aussi de prévention de la triche, de gestion de l'état et d'équilibrage de la charge. Si vous n'avez pas l'habitude d'écrire un jeu en réseau, cet exercice d'apprentissage sera difficile.
Le construire ne devrait pas être votre seul souci de main-d’œuvre et d’argent; Tenez également compte des coûts d’exploitation après son développement. Même un petit jeu en ligne massivement multijoueur nécessitera des améliorations constantes de son matériel et de ses logiciels pour répondre à la demande et au personnel nécessaire pour gérer le jeu et fournir un soutien à vos joueurs.
Pensez à ce qui suit:
World of Warcraft a:
Patchs:
Les serveurs:
Soutien:
International:
Blizzard en ligne:
La chose à retenir est qu'un MMO est littéralement le logiciel le plus compliqué que l'on puisse créer. Prenez chaque problème qui existe en génie logiciel et vous l'avez dans un MMO.
A) Chaque problème d'un jeu normal.
1) Streaming des ressources pour un monde ouvert.
2) Système de particules fonctionnant sur du matériel de base vieux de 5 ans
3) Système physique permettant de manipuler les projectiles (même si ce n’est pas un havok, vous avez encore besoin de quelque chose pour les personnages qui tombent du ciel.)
B) Chaque problème qu'une application métier aurait.
4) Clusters à haute disponibilité
5) Systèmes de facturation
6) bases de données massives
7) Support client
8) Support du centre d'appels
C) Chaque problème rencontré par les "sociétés Internet"
9) La latence tue
10) Mappage de centres de données mondiaux 1: 1 et 1: nombreuses pièces d'architecture
D) Quelques problèmes uniques pour les MMO uniquement
11) Réplication d'objets inter-serveur
12) Plus de pirates informatiques qui le ciblent que certaines banques.
Ce n'est pas si difficile de développer un MMO que de développer un autre World of Warcraft . Si vous êtes prêt à vous contenter de quelques milliers de joueurs, vous pouvez créer un MMO, tel que:
Un conte dans le désert (créé par une personne)
ATITD Wikipedia
Sherwood Dungeon (créé par une personne)
Comment un homme a créé un MMO
Maid Marion Wikipedia
Dernière version de Runescape (créée à l'origine par deux personnes. La version d' origine était beaucoup plus simple que la version actuelle. Elle a été améliorée au fil du temps, ce qui a pris plus de personnes.)
Runescape Wikipedia
Golemizer: un MMORPG gratuit, basé sur un navigateur, steam-punk / sandbox / crafting. Développé par Dave Toulouse en 2008 (sa bio dit qu'il lui a fallu un an pour le faire).
Kingdom of Loathing: un autre MMO gratuit basé sur un navigateur (apparemment très performant).
Entretien: sept ans plus tard
Je ne dis pas qu'il était facile de créer ces jeux :) Mais cela peut être fait par un petit nombre de personnes (qualifiées, dévouées).
Je ne suis pas d'accord avec la plupart des articles populaires publiés ici et dis que ce n'est vraiment pas beaucoup de travail de créer un MMO. Mais ne confondez pas MMO avec WOW.
En réalité, l’idée d’un MMO peut être décomposée en:
O - en ligne. Ceci est un jeu joué sur le net
M - Multijoueur. Pas seulement toi.
M - Massive. Cela implique que vous jouez en multijoueur avec des personnes que vous ne connaissez pas et que le jeu persiste au-delà de vos débuts et de vos arrêts.
Faire quelque chose comme ça ne demanderait pas beaucoup de travail, comme d'autres personnes l'ont souligné. L'exemple de la balle qui roule, Runescape, Travian, etc.
Je pense que les gens confondent "Pourquoi est-il difficile de faire un MMO" avec
"Pourquoi est-il difficile de créer un vaste monde interactif en 3D avec des milliers de monstres animés, d'armes, de sorts, de classes de personnages, de chouettes effets sonores, de musique et d'intrigue pour remplir 40 romans fantastiques?"
Et quand vous le formulez comme ça, c'est assez évident. Vous vous rendez compte que créer une version hors connexion à un joueur de WOW prend presque autant de temps.
Développer un MMO est super facile. Cela ne prend pas plus de quatre heures .
Développer un MMO que les gens veulent JOUER est une question très différente.
Je me suis posé la même question il y a longtemps. La meilleure façon de répondre à cette question est la suivante: Créez le MMO le plus simple et le plus stupide que vous puissiez imaginer. Dites, chaque joueur est une petite balle qui roule, ne faisant rien que regarder les autres joueurs. Utilisez, pas de textures, juste des couleurs unies. Pas d'éclairage, pas de combat, pas d'interactions. Rien. Simple, non? Maintenant, écrivez-le, complétez-le jusqu'à ce que vous puissiez le distribuer en ligne et que les gens puissent l'installer, jouer avec et signaler des erreurs. Voyez comment ça se passe. Ce monde est environ 3 fois plus simple que WoW, alors prenez-le en compte et vous obtiendrez votre réponse. Ce n’est qu’avec l’expérience que vous verrez à quel point les jeux de construction sont achevés. Demandez à tout bon développeur combien de temps il lui a fallu pour terminer un prototype de son jeu qui avait l'air presquecomme ce à quoi ils avaient imaginé la version finale. Puis demandez-leur combien de temps il a fallu pour terminer la partie.
Contrairement à la plupart des autres articles de ce fil de discussion, je vais vous dire que faire un MMO n’est pas si difficile si vous fixez des objectifs réalistes.
J'ai moi-même fait un MMORPG quand j'étais au lycée, ce qui a pris environ 8 mois à assembler. Il est arrivé au point d’avoir un peu plus de 1 000 utilisateurs et une moyenne de 80 à la fois avant que mon fournisseur de services Internet ne me force à le fermer, car cela n’est apparemment pas autorisé sur les fournisseurs de services Internet résidentiels. Oops.
Comparé à la fabrication d'un RPG traditionnel, le composant en ligne n'apporte pas beaucoup de complications, si vous êtes intelligent. La plus grosse erreur que les développeurs de jeux ont tendance à faire dans le développement de MMORPG est de commencer par le client. Un MMO bien programmé ne devrait en réalité pas être si différent d’un système VNC. Pour l’essentiel, tout ce que le client devrait faire est d’envoyer les états du clavier et de la souris au serveur, de restituer les graphiques et de jouer les sons. Vous feriez bien mieux de commencer par créer un serveur MUD de base et un simple client basé sur une console, même telnet devrait fonctionner.
Ce que les joueurs voient n’est généralement pas pertinent pour le serveur, et ce que le joueur fait n’est pas pertinent pour le client. Si vous pensez que, dans ces termes, ce n'est pas si difficile, il s'agit principalement de synchroniser les changements d'état.
Beaucoup de raisons:
Soutenir des centaines ou des milliers de joueurs pose beaucoup de problèmes. Pour les programmeurs, il s’agit essentiellement d’un gigantesque problème N ^ 2. Par exemple, imaginez quelque chose d'aussi simple que de mettre à jour la position d'un joueur. En plus de gérer les latences Internet, une fois que la mise à jour de la position parvient au serveur depuis la machine du joueur, elle doit maintenant être envoyée aux machines de tous les autres joueurs. C'est N nombre de messages envoyés, pour chaque joueur potentiellement 10 fois par seconde.
Le contenu d'un MMO doit également prendre en charge tous ces joueurs et fournir une expérience de jeu suffisante pour que les joueurs ne "battent pas la partie" après seulement 40 heures.
Le matériel serveur pour exécuter un MMO ainsi que les coûts de bande passante sont généralement très coûteux.
TLDR: Les MMO sont grandes et complexes.
J'aimerais vous signaler un article de Shamus Young de Twenty Sided sur la question de la population de serveurs dans les MMO:
http://www.shamusyoung.com/twentysidedtale/?p=6185
Ceci est une raison. D'autres sont la surpopulation de MMO (sérieusement, vous ne voyez pas déjà assez d'annonces de MMO?) Et la contrainte de fournir un jeu scalaire sans décalage qui peut être amélioré encore et encore.
Le marché est difficile, la gestion est difficile, les utilisateurs sont difficiles bien des fois et les bénéfices sont souvent médiocres (P2P ou le marché habituel qui utilise de l’argent réel pour des articles de qualité supérieure à la Atlantica Online).
Pouah. Ai-je raté une publicité telle que vue à la télévision?
Tout jeu nécessite beaucoup de travail. Pas seulement un MMO. La plupart des titres de console prennent entre 18 et 30 mois et entre 30 et 200 personnes, ce qui correspond généralement à l'infrastructure de base déjà en place (moteur de rendu, structure de contenu, bibliothèques principales) et aux personnes ayant une expérience en développement de jeux. des années d'expérience.
Avec un MMO, vous ajoutez des ingrédients supplémentaires, tels que l’évolutivité, la mise en réseau, de nombreux tests de jeu et (généralement) encore plus de contenu.
Oui, je suis à peu près sûr que si vous essayiez de le faire vous-même, vous auriez effectivement besoin de quelques mois ...
Les problèmes posés par un MMO peuvent être répartis en 4 groupes principaux. Tout ce qui peut être résolu. Ou du moins réduit un peu. Cependant, vous devrez sacrifier votre vision personnelle du jeu pour le faire, dans la plupart des cas.
Contenu
Il existe de nombreuses façons de résoudre le problème de contenu. La plus évidente est de rassembler une tonne de personnes talentueuses et de les payer pour en faire le contenu. Cependant, ce n'est pas le seul moyen. Cela peut se faire sur le pas cher / lent à travers différents canaux. Le plus élégant est le modèle généré par l'utilisateur. Certains exemples de contenu généré par les utilisateurs dans les MMO sont le récent MMO de l'univers lego (toutefois de portée très limitée) et, bien entendu, une seconde vie.
Mais vous pouvez aller beaucoup plus loin. Royaume de la haine est un bel exemple d'un système qui se prêterait bien au contenu généré par l'utilisateur. (Ils ont choisi de ne pas le faire.) Les ennemis comprennent une image statique dessinée à la main, ainsi que diverses statistiques et attaques provenant d'un ensemble d'attaques possibles. Chacun de ces éléments peut être généré par l'utilisateur. Trouver des moyens uniques pour amener les utilisateurs à fabriquer leurs armes, armures, sorts, ennemis, villes, campagnes, attaques et même des quêtes et des PNJ est un moyen parfaitement viable d’alimenter votre contenu. Vous devez simplement garder à l'esprit que ce contenu ne sera jamais particulièrement pertinent dans une histoire. Ce sera ce que les utilisateurs veulent qu'il soit.
Pour la 3D? Regardez vers des jeux comme Spore.
Facturation
Oui, la facturation peut être une proposition extrêmement coûteuse. Cependant, il existe des moyens de rendre cela plus facile. Tels que paypal. Oui, vous demanderez à tous vos utilisateurs d’avoir paypal, mais il n’est certainement pas nécessaire de rester paypal si le jeu décolle.
Programmation
Le truc avec n'importe quel MMO est de construire des systèmes qui acceptent toutes les données. Ne programmez pas de sorts. Programmez un système orthographique universel qui accepte les données d’une base de données ou d’un fichier pour créer des sorts. Ne programmez pas de quêtes, programmez les outils que vous utilisez pour créer des quêtes.
Commencez très simple. Obtenez les mécanismes de base en place. Pensez à utiliser une plate-forme déjà existante. Mais allez-y intelligemment.
Peut-être open source?
Hébergement
Quoi qu'il en soit, cela vous coûtera. Mais cela ne doit pas forcément commencer à vous coûter cher. Si vous êtes prêt à languir dans l’obscurité pendant quelques années, vous pouvez progressivement fidéliser une clientèle passionnée et utiliser l’argent que vous gagnez pour l’améliorer. Gardez le jeu simple. Ne demandez pas trop à votre matériel. Et poussez le plus possible vers les utilisateurs.
Pionnier quelque chose dans bit-torrent et valider par plusieurs pairs qui répondent. Vous pourrez peut-être éliminer complètement le serveur. Ou du moins le reléguer ne faisant que des choses très importantes. Cependant, je ne connais personne qui fasse cela.
Même les "simples" jeux indépendants prennent des mois à faire pour une petite équipe. Cela va dans la conception, la programmation, les arts, l'audio, le commerce, le marketing, etc. Avec les MMO, la complexité est encore plus grande: vous avez besoin d'un client et d'un serveur de jeu solides comme jamais, une base de données principale pouvant gérer un grand nombre de lecteurs, etc. Il faut du temps pour créer, tester, déboguer et parfois refaire à partir de zéro.
Le fait que les jeux coûtent de l'argent à faire provient principalement du fait que les gens ont besoin de manger (et les développeurs sont des gens). Même avec une équipe de trois personnes, vous avez besoin de quelques milliers de dollars par mois pour le logement, la nourriture et autres nécessités.
Le coût est le plus étroitement lié à la main-d'œuvre nécessaire au développement des actifs. Le coût de la plupart des outils est dérisoire par rapport à ce qu'il en coûte de payer les gens pour les utiliser et produire des actifs.
Considérez que le coût d’un développeur à temps plein peut être compris entre 20 000 et 100 000 $. Cela équivaut déjà à des budgets très élevés pour les jeux normaux, mais les MMO nécessitent beaucoup plus d’actifs pour être créés. Ce temps de développement plus long signifie plus de coûts pour les travailleurs et des frais généraux nettement plus élevés.
Ce ne serait pas vraiment si mal cependant, mais jusqu'à récemment, la «roue» pour ainsi dire n'était pas facilement disponible. Ainsi, chaque groupe qui a dû créer un MMO a essentiellement dû créer son propre groupe. Voler à l'aveugle signifie que beaucoup de travail inutile peut être créé, et les choses qui s'avèrent très nécessaires par la suite sont négligées.
Le processus consistant à perdre du temps sur des choses dont vous n’avez pas besoin et à devoir retourner péniblement et créer des choses où vous devriez avoir avant (introduire une complexité supplémentaire sous la forme de bugs et autres) devient très coûteux.
C'est comme ça pour la plupart des grandes équipes. Mais les équipes indie / hobbiest rencontrent également quelques problèmes supplémentaires. Habituellement, le grand ne regarde pas de manière réaliste. Les gens ont tendance à regarder les travaux finis, (parfois) polis et à sous-estimer considérablement le travail qui les a créés. Les équipes indépendantes échouent généralement parce qu’elles le font, car elles estiment qu’il serait facile d’atteindre le statut X, même avec tous leurs autres engagements potentiels (étant donné que la plupart des Indes ne sont pas à temps plein).
En fin de compte, le fait de ne pas pouvoir regarder le projet complètement de manière objective les décourage, et ils s'effondrent.
Outre les raisons techniques et logistiques mentionnées ci-dessus, il en existe un autre énorme:
Les MMO sont conçus pour satisfaire un grand nombre de personnes. Pour lancer un MMO, vous devez satisfaire au moins plusieurs types de joueurs du test Bartle . Votre jeu devra donc inclure des fonctionnalités sociales, des fonctionnalités d'exploration telles que les arts et probablement des fonctionnalités de compétition.
Tout comme le public d'un MMO, l'équipe créative nécessaire pour construire un MMO doit être très diversifiée. Ils doivent inclure des ingénieurs vraiment forts pour résoudre les problèmes techniques ci-dessus. Vous avez besoin de grands artistes pour vivre et respirer. Vous avez besoin de concepteurs capables de créer des tonnes de contenu et de les rendre attrayants sur de longues périodes. Vous avez besoin d'une architecture QA et CSR complète pour gérer les commentaires des joueurs et les innombrables bugs qui en résultent. Très probablement, tous ces créateurs seront intéressés par la direction de conception du projet et apprécieront ou non la direction choisie. Rassemblez tout cela et vous aurez besoin d'une équipe créative capable de conduire cette diversité de personnes vers un objectif commun.
Il est tout simplement impossible de créer un MMO de toute envergure avec une équipe de style "indépendant". Au fur et à mesure que votre équipe grandit, diverses questions créatives et personnelles ont tendance à disparaître et les rigueurs de la gestion d'une entreprise peuvent réellement entraver la création d'un jeu. Même si vous avez tous les composants ci-dessus, il est très difficile de tout réunir pour créer un MMO réussi et lancé.
Si vous envisagez de développer un MMO de manière indépendante, vous utiliserez probablement des bibliothèques, des API et des moteurs préexistants au lieu de créer vos propres ordinateurs, ce qui prend beaucoup de temps pour des développeurs comme Blizzard.
Cependant, il est peu probable que vous trouviez votre propre moteur MMO personnalisé en ligne, prêt à être utilisé et utilisé par vous-même.
Cela nécessite des quantités massives d'architecture et de design. Avez-vous déjà essayé de programmer un jeu simple? Si vous avez, je doute que vous posez cette question.
Une fois que vous avez cela, il y a la question de la conception artistique. Les artistes coûtent de l'argent. Et si vous faites l’art vous-même, cela prendra du temps. Beaucoup de temps. Imaginez tout dessiner dans WoW à partir de zéro - chaque élément, chaque personnage, chaque détail du monde. L'art lui-même est ce qui prendra une grande partie du temps.
Bien sûr, vous n'avez pas besoin d'art. Vous pouvez simplement publier un jeu en mode filaire. Mais bonne chance pour amener les gens à jouer à votre jeu alors.
Avec Blizzard, en particulier, le gameplay est perfectionné. Blizzard doit tester et analyser et explorer toutes les possibilités de son gameplay pendant des mois et des mois pour s'assurer que tout est juste. Que personne ne puisse trouver un exploit et ruiner le jeu pour tout le monde; que les choses sont équilibrées et amusantes à jouer. Et même avec tous ces tests de jeu, les choses peuvent encore glisser. Vous ne pouvez absolument pas savoir quelle sera l'expérience complète du joueur, une fois qu'il aura interagi avec des milliers d'autres joueurs, après seulement quelques semaines de tests.
En outre, il vous faut beaucoup d’argent pour faire fonctionner un serveur assez puissant pour héberger votre MMO.
Si vous voulez faire un MMORPG comme WoW, bien sûr, ce sera long et difficile, mais les principales raisons en sont la création de contenu, la connaissance du serveur / réseau nécessaire pour mettre en place un jeu fluide, ainsi qu'une équipe et un bon ensemble d'outils pour maintenir le jeu entier en cours d'exécution avec le moins de problèmes possible.
Programmer un jeu comme WoW est certes un travail complexe, mais le défi le plus problématique d’un tel jeu est de penser à une bonne architecture, en termes de "quelles données se trouvent où, où se déroulent les événements sur quelle machine client ou un serveur et quelles données peuvent être omises et ce qui ne peut pas ", et à la fin, comparons le système pour voir comment un serveur peut gérer une certaine quantité de joueurs, et quand il commence à être" en retard ".
Techniquement parlant, WoW est un bon produit, mais n'oubliez pas qu'il est très optimisé en termes de charge réseau et de serveur.
Maintenant, si vous voulez faire un MMORPG, vous devez vous demander si vous voulez faire un jeu aussi gros que WoW: il est impossible de créer un contenu aussi bon que celui que propose WoW: il est cohérent, artistiquement magnifique et n'a pas beaucoup polygones.
Personnellement, je ne penserais pas à créer un contenu aussi intéressant: vous avez de bons artistes ou vous ne les avez pas. Je pense que le problème le plus important dans un MMORPG tel que WoW est la bande passante: 5 000 joueurs en même temps coûtent beaucoup de bande passante, et je suis sûr qu'un jour où Internet sera un peu plus rapide, le serveur sera en mesure de gérer moins de trafic. grâce aux protocoles P2P ... mais ce n'est qu'une idée ...
Ne les ecoute pas!
Vous n'êtes pas obligé de recréer WoW en 7 jours. C'est BS. Tout comme BS, tous ceux qui disent qu'une personne motivée ne peut rien faire.
Commencez petit, lisez sur les systèmes décentralisés et autres succès.
Un bon exemple, réalisé en 48 heures ... oui, HEURES:
http://www.startupmonkeys.com/2010/09/building-a-scrabble-mmo-in-48-hours/
Apprenez de cela, ajoutez quelques semaines pour créer un client 3D de base, et le tour est joué.
S'amuser.
Ce n'est pas très difficile si vous ne prévoyez pas de cloner WoW ou quelque chose de très similaire en termes de nombre de mécaniques de jeu, de personnages, de compétences, de quêtes, etc., WoW a (et je suppose que vous ne l'êtes pas).
Mais il est relativement difficile de développer un MMO, car il comporte deux frais généraux (en ligne, d’énormes joueurs) par rapport aux jeux autonomes.
Et oui, le coût en termes de temps et d'argent dépendra de la taille et de la qualité du jeu que vous allez créer.
Vous pouvez réduire le temps dans une certaine mesure si vous envisagez d'acheter des actifs et d'utiliser les moteurs de jeu / API existants.
les développeurs ne sont pas bon marché