Jump to content

Search the Community

Showing results for tags 'mmo'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Discussions communautaires
    • Annonces importantes
    • Suggestions
    • Postulation
    • Présentation des membres
    • Discussions générales
    • Multimédias
    • Jeux vidéos
    • Actualités
    • Aide / Support
    • Études
    • Archives
  • Informatique
    • Projets des membres
    • Autres / Divers / Découvertes
    • Crypto-monnaie(s)
    • Réseaux
    • Gestion de serveur
    • Système d'exploitation : Smartphone
    • Système d'exploitation : Ordinateur
  • Programmation
    • Projets des membres
    • Développement web
    • Développement de logiciels
    • Développement d'applications pour smartphones
    • Outils du développeur
    • Aide / Support
  • Emulation
  • Partenariats

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Skype


Site web


AIM


MSN


ICQ


Yahoo


Jabber


Tox


Centres d'interêts


Localisation


Study level

Found 3 results

  1. Bonjour à tous, Encore une fois je réécris ce sujet, car c'est plus intéressent que d'en recréer un. Certains d'entres vous le connaissent déjà, le projet Rulemasters World est en train d'arriver dans une version bientôt utilisable (l'engine étant terminé à 80%). Je sais aussi que Melinyel recherche absolument un projet communautaire, et RMW n'en était pas un, avant quelques modifications ;). J'ai complètement adapté le code source de l'engine pour en faire un "Entity engine". Ainsi, toutes les entités sont scriptées. Pourquoi ce choix? Je souhaite proposer à tous le choix de créer leurs propres contenus en jeu, et les voir apparaître au fil des mises à jour. Ainsi, tout est scriptable: Les entités (monstres, objets en jeu, projectiles, etc...), les sorts, les effets, etc... Le but était de permettre à tous de créer leur propre contenu, et donc, améliorer le jeu à leur guise. Même les GameModes (liés à une instance) seront éditables! Un moba apparaîtra peut être sur RMW, qui sait? Avant tout, et avant de continuer, je souhaite vous proposer de lire toutes les informations sur le jeu ici: https://drive.google.com/open?id=0B-d6mCeNGv5UfnhFdlA0UDN4amZGNmRWRXhwMlE4aGFtLWpMUjlKSVp3d1Q2OHJQVVlINWs Ainsi, avant de donner votre avis, et proposer votre aide, il est OBLIGATOIRE d'avoir tout lu. (c'est pas long! Aller!). Bref, on arrive au vif du sujet: Dans les prochains mois, je vais ajouter un éditeur de scripts sur notre site internet, et autoriser certains membres à pouvoir créer leur contenu en jeu (qui sera validé par l'administration), ainsi qu'une documentation complète pour la création de contenus. Une API très complète vous sera proposée, ainsi qu'un éditeur en ligne vous permettant de faire du débugage "basique". (il faudra néanmoins attendre le "testeur de créatures" qui arrivera bientôt sur le site pour voir la réalité de sa création). Bref, j'aimerais savoir si certains d'entres vous se sentent capables de m'aider, et de tenter de créer leur propre contenu en jeu. Une fois que vous serez dans l'équipe de création, vous serez considéré comme "Operator" dans le jeu, et aurez un grade spécial sur le site internet et les futurs jeux développés par MogCreations. Vous aurez aussi un accès au serveur de test et aux outils de développement du projet, de manière prioritaire (mais n'aurez pas accès au code source). Prérequis: Une connaissance solide de Javascript en temps que langage de scriptingUne experience dans le domaine des MMO (en temps que joueur)Une experience dans le domaine du développement de jeux est un plusSavoir lire une documentationSavoir rédiger des issue Si vous êtes intéresses, merci de me le faire savoir par MP, ou via ce sujet. J'attends vos retours. Cordialement, AlexMog.
  2. Bonjour à tous, Comme certains d'entre vous le savent, je suis actuellement en train de travailler sur un MMORPG nommé Rulemasters World. Avant de me lancer dans ce projet, qui était totalement nouveau pour moi (premier MMO), j'ai décidé d'en apprendre plus sur le développement de jeux-online de manière générale. J'ai ainsi lu plusieurs dizaines de livres (qui parlent de conception d'Engines principalement, ainsi que de conception de massivement multijoueur), et j'en ai acquis assez d'expérience pour pouvoir débuter le développement de Rulemasters World. Ainsi, nous allons parler des étapes de développement, ainsi que du pourquoi du comment se lancer dans un MMO est compliqué. C'est partit! I - Mises en garde: Pourquoi développer un MMO n'est pas une bonne idée. Comme beaucoup d'entre vous qui me connaissent, je suis un amateur des gros projets non terminés, et j'en ai lancé beaucoup. Je pense être bien placé pour vous dire que le développement de MMO est extrêmement passionnant, mais malheureusement très long. Je vais donc d'abord vous expliquer pourquoi il est important de ne pas se lancer dans un MMO trop vite, et plutôt s'axer dans du jeu Offline pour commencer. Sachez que le développement d'un MMO prends, en moyenne 2 à 3 fois plus de temps à développer qu'un jeu classique. Déjà, nous allons voir un point très important: 2D ou 3D? Avant tout, il faut savoir qu'il existe une différence ENORME entre le développement de jeux 2D et 3D. Si vous avez déjà tenté de développer des jeux, vous le savez déjà: la 2D est plus simple à gérer que la 3D. Voici 3 points qui font que la 2D est plus simple: Il est plus facile, et moins cher, de trouver des graphistes 2D que 3D.La création de Modèles 3D est beaucoup plus complexe, et l'animation aussi.Le développement en est impacté, car le jeu doit paraitre beaucoup plus fluide pour être immersif, ainsi que les algorithmes beaucoup plus complexes pour gérer les entités (détections des collisions en 3D, octo-trees, etc...).Ainsi, si vous souhaitez vous lancer dans un jeu, celui-ci sera certainement en 2D si vous débutez. La notion de "temps réel" est très importante aussi. Dans un jeu 2D où on peu se permettre d'envoyer les positions une fois le changement de case, ou bien d'utiliser de la prédiction pour les mouvements (dans le cas d'un jeu Full TCP comme World of Warcraft par exemple), le temps réel n'a pas vraiment une grosse impacte dans le jeu. En gardant l'exemple de WoW, si vous avez un décalage de 200 ms avec les appels serveurs, vous ne le verrez pas, car WoW utilise une méthode appelée prédiction, et qui simule ce qui se passe sur le serveur sur votre écran. (C'est pour cela qu'on voit des gens courir dans le vide lorsqu'ils perdent la connexion, ou encore, une petite téléportation à la fin du mouvement). Mais dans un jeu où le personnage a besoin de bouger tout le temps, et en temps réel par rapport au serveur (je prends l'exemple de Skyforge, ou Guildwars par exemple, il sera important d'utiliser des appels TCP et UDP (nous y reviendrons plus tard). Un autre point important: Il faut avoir une excellente connaissance au niveau du langage utilisé, ainsi qu'en réseau. En effet, un MMO qui consomme beaucoup de ressources pour 10 joueurs n'en fera certainement pas tourner 100 000. Il est important d'avoir déjà eu de l’expérience avec la gestion de multientités, et bien savoir optimiser sa façon de programmer. La connaissance en le langage utilisé est ainsi extrêmement importante. Nous verrons en dessous quels langages sont conseillés pour programmer un MMO, et pourquoi il est important de bien choisir. II - Les technologies existantes. Dans ce chapitre, nous allons voir les technologies existantes, et comment les utiliser dans le but de créer votre MMO. Nous allons aussi trier ces technologies, pour savoir lesquelles utiliser. 1 - Les langages de programmation. Eh oui, vous ne créerez pas de MMO sans programmer ;). Je rappelle qu'une connaissance très pointue du langage en question est demandée pour ce genre de projets. Le MMO doit être le plus fluide possible! Nous parlerons ici uniquement du langage côté serveur, car c'est ce côté qui doit être le plus optimisé. (pour le client, comme pour tous les jeux, le choix est assez large) a - Évitez les langages de type scripts! Alors, un point très important, évitez les langages de scripting! Des langages comme PHP, Python, Ruby etc... Ne sont pas adaptés pour créer ce genre de projets. Leurs architecture et leurs appels systems sont trop instables et consomment trop par rapport à leur utilité. Il est important de rentre ces appels le plus fluide possibles, car ils seront très souvent appelés. Bien sur, cela ne signifie pas que vous ne pourrez pas créer de MMO avec, mais il sera très instable avec un grand nombre de joueurs. Le contrôle de la mémoire y est très peu présent, car géré par un Garbage Collector. b - Les langages compilés. Au niveau des langages compilés, nous verront 4 langages en particulier: Java, C#, C++ et C. Commençons par Java et C#. Dans le cas de C#, je déconseille fortement son utilisation pour du jeu vidéo de manière générale. (Attention, ne citez pas Unity3D comme exemple! Ils utilisent C# comme langage de SCRIPTING et non pas comme programme compilé.) C'est un langage utilisant des appels systems souvent lourds, et passant forcément par une librairie externe (.net framework). Les appels aux libraires sont souvent plus lourds. De plus, le GBC de C# est beaucoup moins puissant que celui de Java. C# a été pensé pour faire des applications mobiles et bureautiques. Il ne sera donc pas adapté pour un serveur de MMO. Du coup, est-ce que Java est une valeur sure? Eh bien, oui et non. Comparé à C#, java est une valeur largement plus sure pour le développement d'un MMO: Prise en charge de la mémoire de manière Sandboxée (ce qui permet une allocation très rapide, on y reviendra plus tard)Un GBC très agressif, mais très efficace.Des appels à des méthodes totalement virtualisées (4x plus rapide que C# et 2x plus rapide que C++, voir ici pour la comparaison Java/C, c'est un peu vieux, mais toujours d'actualité).Une pré-construction des objets, permettant une utilisation fluide de la mémoire.Néanmoins, comparée à C++, Java a pas mal de points à revoir. Je ne citerais que le fait de ne pas pouvoir gérer la mémoire, qui peut être très important dans certains cas. Mais ce n'est pas pour ça que je déconseille Java pour le développement d'un serveur de MMO. Par contre, il faudra prévoir une grosse quantité de RAM pour la JVM, et la préallouer correctement (je vous l'ai dis, il faut avoir une excellente connaissance du langage). Pour exemple, j'ai choisi Java pour le développement de Rulemasters World, et le serveur arrive à tenir 100 000 entités sans problème, avec plus de 50 000 connexions. (Beaucoup de systèmes d'optimisations ont été utilisés.) Le C++ et le C maintenant. Le C++ est sans conteste le langage le plus utilisé dans le développement de jeux vidéos: Il est très proche du langage machine, et permet une gestion totale de celui-ci. La gestion de la mémoire par le programmeur y est très importante, et tout est fait pour être optimisé. Il faudra, par contre, être un expert dans cette technologie pour que tout tourne convenablement. Une seule erreur peut être très dangereuse pour le serveur, vue que la mémoire n'y est pas sandboxée. Il est donc important de bien savoir ce que l'on fait avec ce langage. Saint-grâle du jeu vidéo, il est utilisé pour tous les moteurs de jeu (oui, Unity est intégralement en C++), et dans tous les serveurs de jeu des MMO actuels. Sa complexité le rend encore plus intéressant, et le contrôle total du langage permet beaucoup de choses. Le C a les mêmes attributs que son petit frère C++, mais il est plus basique (n'oublions pas que C++ est une amélioration du C en y ajoutant un contexte d'objets). Néanmoins, je ne conseille pas la création d'un MMO en C, pour la simple et unique raison que le langage est trop basique, et que le concept d'objet simplifie grandement le développement d'un jeu. N'oubliez pas que tous ces langages, dans le cadre d'un MMO, ne s'auto-suffisent pas, on voit souvent des engines de MMO utiliser des scripts (Rulemasters World utilise Javascript, WoW utilise LUA, etc...) car les moteurs proposent une base. Pour exemple, WoW utilise le Lua pour créer certaines de ces entités, les phases des boss, etc... Des parties en ASM peuvent être aussi utilisées (en Java, il est possible d'utiliser du C++/C/ASM, en important une DLL par exemple), le but étant d'optimiser au maximum ce qui n'est pas utilisable avec le langage de base. En bref, il est très important de bien choisir le langage du serveur, néanmoins, cela ne vous limite pas à ce langage. Vous pouvez essayer d'autres langages et faire vos propres choix, mais le C++ reste un des langages les plus utilisés dans ce cas précis. Pour le client, aucune restrictions: Il n'est pas nécessaire d'avoir un client Ultra-optimisé. Pensez quand même à ne pas afficher trop d'entités en même temps III - Connaissances requises Comme je l'ai cité plus haut, il est très important de bien maitriser le langage que l'on utilise. Ce sont de petites modifications par ici, 2μs gagnées par là, qui peuvent faire une énorme différence. Voici donc une liste de connaissances à avoir. Lorsque je parle de connaissances, je part du principe que vous avez déjà eu de l’expérience par rapport aux connaissances requises. Optimisation de trisFonctionnement d'une HashMap ou HashTabSavoir utiliser une PoolConnaitre la notion de préallocationsGestion de la mémoire avancéeOptimisation de gestion massive d'entités (Quad-trees, Part-trees, Octo-Trees, etc...)Conception de moteur de jeuOptimisations générales sur le langage utilisé (d'une manière générale, tapez-vous la doc de A à Z du langage. Vous serez souvent surpris!)Une connaissance en Réseaux pointue (aussi bien en Programmation Réseau, qu'en Réseau général, et en Systadmin Réseau (Proxy, etc...)) Citons Blizzard qui nous propose de nous recruter en temps que développeur Serveur sous ces conditions: J'ai mis en gras des parties importantes. Ont voit très bien que la liste est assez similaire à celle que j'ai cité plus haut, sauf pour la gestion des entités, mais voyons donc l'offre de Blizzard pour les Engine developpers: On y voit encore des expériences conséquentes demandées dans le C++. On y retrouve la notion de gestion d'entités Massives, notamment dans le "Collision ans physics". Bref, ne prenez pas un MMO comme premier projet! Prenez le temps de prendre de l’expérience! Voilà, c'est, d'une manière générale, des connaissances importantes lors du développement d'un mmo. Il peut en manquer, je n'ai pas tout mis, mais c'est le plus important de mon point de vue. IV - Etapes de développement /* TODO */ V - Conclusion /* TODO */ Voilà, j'espère que les intéressés ont vu leurs questions trouver des réponses! Les 2 dernières parties seront complétées sous peu, je suis en contact avec des développeurs de MMO, je souhaite avoir leurs témoignages. Je n'ai pas parlé ici de RPG, car il s'agit d'une branche bien plus complexe du développement de MMO. Le RPG a non seulement besoin d'une architecture solide, mais aussi d'une histoire solide. Je n'en parlerais pas ici. Le Segfault vainquera! Cordialement, AlexMog.
  3. Jouer maintenant H-Wars c'est quoi ? H-Wars est un projet de longue date avec un genèse à chercher... loin ! Pour tous ceux qui ne le savent pas encore : j'écris des romans. Un des tout premiers univers que j'ai crée est un univers de SF d'anticipation et aujourd'hui H-Wars se base sur celui-ci. Nous sommes dans les années 2300, l'humanité commence à coloniser l'espace et s’étend sur quelques systèmes planétaires. La ressource la plus rare et chère : l'eau. Une société privée, la H-Corporation, assure la production et l'acheminement de l'eau, elle est également leader dans les domaines de la production d'énergie et de la synthèse de matière. Beaucoup de gens sont ouvertement contre le monopole de la H-Corp et certains vont jusqu'au sabotage et à la lutte armée. Ces contestataires se rassemblent sous la dénomination Némésis. Enfin, tant bien que mal, l'armée interplanétaire (OMEGA : Organisation Militaire des Etats Galactiques Allier) tante de maintenir la paix sur les monde et les jeunes colonies. Ces trois groupes, sont en perpétuels conflits et rien ne permet de renverser la situation. Objectifs Dans cet univers, le but est de crée un MMORTS par navigateur (cf. OGame pour une référence connue). Le joueur devra choisir une des trois factions. Chaque faction à ses propres bâtiments, technologies et unités, ce qui permet d’offrir une certaine asymétrie de gameplay. Les joueurs devront agir pour le bien de leur faction affin de gagner des bonus. Ils pourront également se rassembler en guildes. Les guildes auront des bâtiments, technologies et unités spécifiques. Concepts et philosophie Généralités Le monde d'H-Wars est répartie en systèmes planétaires, puis en planètes, continents et enfin zones. Chaque zone peut accueillir une base pour un joueur. Une base produit des ressources en fonction des caractéristiques de base du terrain. Il y a 5 ressources dans H-Wars : le carbone, l'iridium, l'eau, l'hydrogène et l'énergie. L'eau et encore plus l'hydrogène sont des ressources rares et très précieuses. Un gameplay différent selon la faction Le jeu comporte trois factions : Omega, Nemesis et H-Corporation. Chacune de ces faction à ses propres bâtiments, technologies et unités. Ainsi, chaque faction aura un style de jeu bien à elle. Omega est la faction militaire, elle pourra facilement construire des troupes efficaces pour conquérir des territoires. Nemesis, est une faction de pirates et de rebelles. Elle peut facilement récolter des informations et tendre des embuscades. H-Corporation est a faction des marchants. Il ont le pouvoir sur tout le commerce. De plus, chaque faction offre des bonus variables pour l'ensemble de ses joueurs. Ses bonus vont, influencer la production de ressource, les temps de constructions, .... Pour augmentez le bonus de votre faction, vous devez baissez celui des factions adverses. Une grande liberté pour le joueur Chaque joueur pourra aller ou bon lui semble sur le monde, sans aucune restriction : a ses risques et périls ! Bien qu'appartenant à une faction et peut-être à une guilde, le joueurs peut décider de s'ailler, de commercer et de déclarer la guerre avec n'importe qui. Il en va de même pour les guildes. Ainsi, les joueurs pourront être des traîtres ou des agents doubles à conditions de ne pas être découvert. Le système de guilde central Le système de guilde est primordial, seul les guildes peuvent créer des unités spatiales permettant de voyager d'une planète à l'autre. Un monde non linéaire Toutes les planètes d'un monde ne sont pas équivalentes, il y a trois types de planètes : Les planètes des "Zones de guerre" : Elles sont les seules à produire naturellement de l'hydrogène et produisent une grande quantité d'eau. Ces planètes sont le théâtre principal des affrontements High-Level. Les planètes des "Zones vierges" : Les nouveaux joueurs apparaissent sur ces planètes. Les planètes des "Zones habitées" : Elles appartiennent à une des trois factions et sont les seules à pouvoir accueillir les sièges des guildes. De ses planètes dépends l'opinion publique des factions. Déroulement du développement Pour le moment le projet est en alpha. Cela signifie que le développement n'est pas terminé et que beaucoup de fonctionnalités manquent ou ne fonctionnement pas correctement. Notamment, le gameplay ne PEUT PAS être équilibré à ce stade de développement. De l'alpha vers la beta Pour aller de l'alpha vers la béta, le jeu va progressé par étape. Chacune de ces étapes va apporter son lot de nouvelles fonctionnalités. Durant ces étapes, des patchs peuvent être publiés afin de corriger les bugs majeurs. Le but sera également, de pouvoir optimiser le code du jeu en testant directement une charge réelle de joueurs. Pour la première étape, les joueurs auront juste accès à la production de bâtiments, technologies et d'unités. Aucune interaction entre joueurs ne sera disponible. Cela permettra de tester le comportement de base du framework du jeu. Le framework est stable et suffisamment optimisé pour permettre à 1000 joueurs de profiter du même serveur. Disponible dans la prochaine version (0.0.3c) Colorisation des selects sur certains navigateurs Transition vers la prochaine mise à jour importante (0.0.4) Corrections de bugs En développement sur la version 0.0.4 Amélioration côté serveur Optimisation générale du framework Optimisation du code joueur Nouvelle interface de jeu Rendre l'interface de jeu responsive et utilisable sur mobile. Permettre l'annulation d'une construction / commande Permettre la destruction d'un niveau de bâtiment Montrer l'évolution du rang des joueurs Intégration des avatars pour les joueurs Ouverture de la messagerie entre les joueurs Développement du commerce entre joueurs Fait - En cours de développement - Planifié - Annulé ou reporté Qu'est-ce que je peux faire pour aider ? Le plus simple : venir jouer et donner ses impressions. Si vous voulez faire plus, vous être le bien venu : graphistes, développeurs et spécialistes des crêpes sont les bienvenus Liens utiles Le jeu : http://www.h-wars.net Le devlog du jeu : http://www.h-wars.net/devlog/ Le framework du jeu : http://melidev.evade-multimedia.net
×
×
  • Create New...