Le premier outil qui me viens à l'esprit est celui que j'utilise en ce moment(il y en a d'autres mais j'ai plus les noms en têtes).
Le projet Darkstar Server de Sun. En gros sun voulait se lancer sur le marché du jeux vidéo avec un serveur J2EE comme glassfish mais dédié exclusivement aux jeux en ligne. Ils ont mis une petite équipe sur ce projet au labo de sun avec beaucoup d'expérience , si j'ai bien compris le chef de projet aurait développé le code réseau de Duke Nukem.
Leur idée faire un serveur à l'image des serveurs d'applications. Tu codes uniquement la partie métier, un peu comme des EJB , tu te préoccupes pas du muti-threading, ni de la persistance de tes objets comme quand tu utilises un JPA. La principale différence c'est que les serveurs d'applications ne sont pas prévu pour avoir une fiabilité pour un temps de latence très faible alors que darkstar a été conçu pour cela. Dans l'objectif de pouvoir traiter le million d'utilisateurs simultanés en ligne(dans le même univers) sans qu'aucun des joueurs ne puissent ressentir une latence importante.
Pour cela tout doit être décomposé en tache "simple" qui ne peut excéder une durée de 100 ms. Et si le serveur ne peut plus tenir la charge , mettre en place le clustering prévu dès la spécification par l'équipe de développement. La persistance est géré par une base de données orientée objet, grâce à la sérialisation.
Bref pas simple d'expliquer en quelques lignes le serveur , le mieux c'est de lire la documentation fait sous la forme de plusieurs tutorials. En tout cas d'après le chef du projet sur le papier rien n'a jamais été envisagé d'aussi performant dans le monde du jeu vidéo, même wow, bon septique quand même ...
Le GROS problème Sun a été racheté par oracle qui a arrêté le projet et licencié tout le personnel ... .
Mais comme Sun avait mis cela disponible en LGPL pour avoir un retour des développeurs de jeux. Les devs ont repris le projet sous le nom de reddwarf server, et continuent le développement bon à rythme moins soutenu. Mais récemment, une partie de l'équipe à été embauché dans un studio de jeu vidéo qui utilisait darkstar. Le studio en question développe des jeux sur Facebook comme Zoo Kingdom(500 000 utilisateurs actif par mois, le client est en flash 2D iso). Vu que c'est LGPL si ils ajoutent du code pour améliorer reddwarf , ils doivent donner les sources.
Ah oui petite précision quand on développe son jeu on ne touche jamais au code serveur, en "principe" pas besoin comme il y a une exception sur la LPGL pour le classpath tu n'es pas obligé d'ouvrir le code du jeu. Le problème pour le moment c'est que le projet est en version beta utilisable quand même mais toutes les fonctionnalités n'ont pas été encore implémentés comme le clustering par exemple et reste quelques bugs.
Tout est disponible en anglais à cette à l'adresse en dessous et c'est gratuit:
http://www.reddwarfserver.org/Bon après il n'y a pas que cela dans un jeu, si tu prends wow il y a une énorme partie sur les outils conçus spécialement comme l'éditeur de map, des editeurs de "sorts" ect ... .
Ce sont les outils que l'on retrouve partout dans les "moteurs 3D"(plus d'une centaine sur le marché), comme unity 3D gratuit pour les indépendants ou encore le cryengine et unreal engine qui étaient vendus à prix d'or mais à cause d'une trop forte concurrence les prix chutes et pour les petits studios cela ne coûte plus très cher enfin c'est relatif je crois que c'est basé sur des royalties.
D'ailleurs le cryengine contient presque tout pour faire un jeu de AàZ :
- Le moteur next-gen en temps réel
- Moteur physique intégré multitâche
- Système d’animation des personnages
- Client réseau et système de serveurs
- Editeur CryENGINE Sandbox2:
- Editeur d'animation facial incorporé
- Système intégré de génération de végétation et de couverture de terrain
- Graphiques d’écoulement
- Système de particules avancées et éditeur FX intégré
- Cycle jour/nuit dynamique
- Outils d’édition de routes et rivières
- Outil d’édition des véhicules
- Système de gestion des flux sonores
- Système de musique dynamique et interactive
- Bruits dynamiques de l’environnement
- Environnement audio
- ect ...
Mais il faut aussi des outils pour le modeleur/graphiste mais la tu as un peu moins de choix pour la 2d c'est flash /photoshop et pour la modélisation 3d/animation (personnage , bâtiments, ect ...) c'est 3DS max, maya , softimage une grande partie des outils appartiennent à autodesk . Tous ces logiciels sont autour de 2000 euros par poste.
Et si le studio a vraiment pas bcp de fond il peut aller du côté de ce petit logiciel francais :
Quidam 3
Le graphiste n'a plus besoin de modéliser entièrement le personnage tu pars d'un gabarit par exemple une femme, un homme, un enfant clic un peu plus de muscle , clic plus de poitrine , clic change la coupe de cheveux , clic j’attache des vêtements importés ou disponible dans la base. J'ajoute des tatouages en deux clics ect... . Tu exportes ton personnage , il est entièrement skyné et adapté en nombre de polygone pour le temps réel, tu l'importes dans ton moteur 3D donc la après tu peux lui attribuer n'importe quelle animation (si le moteur supporte l’animation squelettique) . Donc setAnimation(danse1) , play(), stop() ect ... .
Pareil pour les arbres, végétation si tu as pas la possibilité d'utiliser un outil comme le cryengine , tu peux acheter des packs d'arbres/végétaux de très grande qualité pour le temps réel avec différents niveau de détails pour 1000 euros tu as de quoi faire ....
Et tous les studios ont une banque d'objet crée en interne ou achetée, chaises, tables, lits , voitures , ect... . Pour les amateurs ou le jeune studio pour les objets communs , sert pas à grand chose de modéliser tous ça , tu achètes ça sur une banque d'objet 3D(quelques euros à plusieurs centaines pour de bonnes qualités). Ensuite tu changes plus ou moins les textures et c'est bon.
Et c'est ce que je voulais dire avec la multitude d'outils à disposition , une équipe de 4 personnes ayant de bonnes compétences dans son domaine fait un clone de wow en 6 mois complètement opérationnel MAIS il y aura aucune quêtes, pas de donjons, les skills des classes seront pas équilibré, peu de sorts, des maps moins détaillés et plus petites, en gros un wow bas de gamme qui intéressera strictement personne ...
Enfin la publicité c'est le nerf de la guerre , un dofus a pu se lancer avec peu de moyen en 2003. Mais de nos jours la concurrence est tel que c'est nettement plus dur. Les leaders par exemple sur facebook inondent internet/facebook de pubs pour leur jeux, certaines sociétés dépenses plusieurs millions d'euros en pub par mois.
Je paraphrase le pdg de Zynga le leader du social game sur Facebook, sert à rien d’innover , copier/piller ce qui marche, et on étouffera la concurrence avec nos budgets publicitaires.
Malheureusement ça marche ...
En gros il a jamais été aussi facile de créer des jeux (enfin rien n'est jamais simple) mais en contre partie il est devenu extrêmement dur d’obtenir assez de joueurs actifs pour que le jeu puisse subsister.
4 |
0 |