Projet Âge Lointain
Univers médiéval-fantastique
Univers médiéval-fantastique
Concept (99%)
Ingénierie (1%)
Ressources (0%)
Contenu (0%)
Ingénierie (1%)
Ressources (0%)
Contenu (0%)
Le projet
Style de jeu : Réalité virtuelle à caractère interactif via navigateur
Thème actuel : Médiéval fantastique
Nom de code du projet : Âge Lointain
État : En développement
Stade : Concept et prototypes
Le concept
But du jeu :
- Se hisser au sommet de la pyramide sociale, économique, militaire ou même religieuse et devenir influent. (individuel)
- Développer et agrandir toujours plus la civilisation eldorienne. (communautaire)
Principe :
L'idée n'est pas de créer un jeu à l'univers original et unique, mais plutôt de créer un monde en soi auquel on peut se joindre et jouer (en incarnant un personnage). Un seul personnage ne peut être joué à la fois et, puisque la mort y est permanente, le joueur contrôle un personnage après l'autre, tous de la même lignée.
Le joueur évolue donc dans le monde comme il le veut (la progression est libre) : il peut effectuer des tâches, faire du commerce, combattre, rejoindre ou créer des communautés, etc. Par ses actions et ses décisions, il influence son entourage, les autres joueurs et, ainsi, le monde lui-même.
La progression n'étant pas chiffrée, il n'y a ni niveau ni expérience, mais le joueur peut avoir des connaissances (tels des techniques de fabrication ou de combat, des cours maîtrisés, etc), des compétences diverses et des caractéristiques physiques et intellectuelles. La forme physique d'un personnage influe entre autres beaucoup sur les résultats d'un combat ou de toute autre épreuve physique.
Le monde dans lequel évolue le joueur est en constante évolution. Le nombre de villes est également relatif au nombre de joueurs (des villes sont créées au fur et à mesure de la venue de nouveaux joueurs). En plus d'être évolutif, le monde est également très flexible (avec la volonté et les moyens, les joueurs peuvent le modeler à leur désir) et riche.
Bien que les interactions entre joueurs soient privilégiées, des Intelligences artificielles existent. Il est donc possible de se battre, de commercer, bref d'interagir, avec ces entités. Certaines, dotées d'une intelligence plus poussées, sont même capables de diriger d'autres intelligences et de planifier des stratégies, gérer une ville, etc.
La philosophie
(à venir)
La technologie
Interface client : HTML5 et Javascript généré (emscripten/asm.js)
Plateforme web : PHP5/Laravel*
Architecture serveur : Erlang/OTP
Moteur de persistance : Erlang, C/C++
Moteur de données : Erlang, Lua
Bases de données : MySQL, Redis, mnesia, VoltDB
Communication : RabbitMQ**
* La plateforme est actuellement développée avec Laravel (puisque je suis à l'aise avec PHP). En vue d'une possible prochaine collaboration de ce côté, j'envisage de changer pour un langage plus exotique/esthétique, possiblement Scala ou Python.
** Pour l'instant, un outil de messaging est utilisé, faute de moyen plus direct et sûr.
L'interface client sera en HTML5 (WebGL/Canvas) avec un client lourd (moteur de rendu, physique et compagnie) en Javascript (préalablement codé en C/C++ et généré via emscripten en asm.js).
La plateforme web comprend tous les services externes reliés au jeu, c'est-à-dire: le forum, l'encyclopédie, le réseau social, le fil d'actualité, les classements et l'agora. L'application communiquera directement avec les différentes bases de données (Redis pour le cache et les sessions, MySQL pour les données propres à la plateforme et VoltDB pour les données de jeu), sans passer via aucun des moteurs en Erlang.
Il va de soi que le serveur sera entièrement codé en Erlang, autant au niveau de la distribution des charges que du serveur de connexion avec le client, étant donné tous ses avantages de ce côté (distribution, concurrence, etc). Pour ce qui est de l'architecture en tant que tel, j'opterai probablement pour nginx (en aucun cas Apache), peut-être Yaws. Encore là, rien de décidé.
Le moteur de persistance est l'ensemble des applications en charge de la maintenance et de l'animation du monde, de manière à constituer un environnement qui soit réellement dynamique. Le moteur sera conçu de manière à évoluer indépendamment du serveur ou des autres moteurs. Les données seront partagées via mnesia et l'écosystème sera celui de Erlang, le langage C/C++ se résumant à effectuer les calculs spécifiques demandés. Le moteur ne communique jamais directement avec le client, se chargeant uniquement de mettre à jour la base de données du jeu (VoltDB) en prenant compte des messages reçus via RabbitMQ.
Le moteur de données représente quant à lui l'univers en soi, dans ses moindres détails. Bien que les données actives (position, état, etc) soient enregistrés en base de données, le behaviour du monde, des espèces, des personnages non-joueurs et compagnie, sont immortalisées à cet endroit. C'est également ici que se produisent les mutations, évolutions et autres.
L'équipe
Guidé par : La "Communauté"
Produit par : Le "Studio"
Développé par : Le "Lab"
(plus d'explications à venir)
Le scénario
Histoire :
Faol, immense continent longtemps tourmenté par des guerres violentes et sans répits, entre maintenant dans une ère de tristesse et de désolation. La récente guerre opposant les Géants aux Vieux Peuples restera à jamais dans les mémoires et laissera des marques définitives sur le continent.
Venant des confins des mers de l'Est, des embarcations de colons humains arrivent, suite à une catastrophe inconnue. Parfaits étrangers en ces lieux ancestraux, les Hommes travaillèrent à reconstruire les piliers de ce nouveau monde. Ils aspirèrent aussitôt à devenir maîtres de ces territoires inconnus, malgré tous les obstacles qui se dresseraient sur leur route.
La civilisation des Hommes se développa et, un siècle plus tard, le royaume d'Eldor naquit. Encore faible, il ne tardera pas à prendre sa place.
Chapitres :
I- Les piliers d'une nouvelle civilisation (actuel)
II- Diviser pour mieux régner
III- Ouverture sur le monde
IV- Le Nouveau Monde
V- La route des épices
Extensions prévues :
- La cité perdue
- L'archipel
- L'univers sous-terrain
Packages prévus :
- L'art de la magie
- Lieux mythiques et reliques
- Le pouvoir des chaînes
- L'art de la navigation
- Sciences et médecine
Un nouveau chapitre est caractérisé par un changement majeur de l'univers du jeu, motivé par une arrivée significative de joueurs et expliqué par un événement marquant de l'histoire.
Une extension est caractérisée par l'ouverture d'une nouvelle zone ou d'un nouvel emplacement accessible aux joueurs, ajoutant une sélection nouvelle de quêtes et de défis.
Un package est caractérisé par l'ajout d'une mécanique importante au jeu, généralement ajoutée au moment de l'implémentation d'une extension.
Quelques mécaniques intéressantes
- Exploitation (chasse, pêche, mines, carrières, scieries, etc)
- Artisanat (métallurgie, orfèvrerie, etc)
- Construction (architecture, maçonnerie, charpenterie, etc)
- Agriculture (prise en charge de la géographie et de la météo)
- Commerce (magasins, vente au détail, marchés, étals, etc)
- Expéditions maritimes (paris financiers)
- Combat (joueurs contre joueurs, environnement hostile, chasse et piste de créatures, arènes, tournois, duels, assassinats, etc)
- Politique (élections, conquêtes, gestion de villages, villes, baronnies, comtés, etc)
- Justice (lois, code moral, système juridique, etc)
- Religion (points d'âme, réincarnation, etc)
- Éducation (cours, enseignements, professions, etc)
- Magie (sorcellerie, nécromancie, invocation, abjuration, transformation, prêtrise, etc)
- Alchimie (récolte de denrées, potions, etc)
- Mythologie (bêtes et lieux mythiques, légendes, dieux, etc)
- Communautés (guildes, casernes, alliances, monastères, etc)
- Ainsi que bien d'autres...
Merci de votre lecture (si vous vous êtes rendus jusqu'ici!)...
N'hésitez surtout pas à critiquer, commenter ou poser des questions