Elderlore, le roguelike: plan de bataille
Bilan et perspectives
Elderlore est un roguelike ambitieux que j’ai développé pendant quelques années. Peut-être un peu trop ambitieux justement puisqu’après avoir sorti quelques versions non jouables, j’ai interrompu son développement, un peu noyé je dois dire sous les lignes de code et probablement mon manque d’expérience pour gérer un aussi gros paquet de lignes de code.
J’ai ensuite développé un 7DRL, Mines of Elderlore, beaucoup plus modeste – 10 niveaux superposés, 10 types de monstres, 4 armes différentes -, que j’ai ensuite amélioré pour affiner le gameplay et ajouter des graphismes sous Pygame.
Avec le recul, je pense que cette échelle de temps – une dizaine de jour pour faire un prototype fonctionnel, un ou deux mois ensuite pour affiner les détails et le gameplay – me convient bien pour développer un jeu: elle est suffisamment longue pour obtenir quelque chose d’intéressant, et quand même assez courte pour forcer à se concentrer uniquement sur l’essentiel, profiter du résultat et communiquer dessus (release early, release often).
Modèle de développement
Pour reprendre le développement d’Elderlore, je pourrai restreindre mes ambitions et tenter de le faire rentrer dans ce schéma. Une autre solution, qui a ma préférence, est de scinder le jeu en plusieurs modules que je développerai indépendamment. L’idée ici est de regrouper les fonctionnalités d’Elderlore de manière intelligente, de telle façon que l’avancement de chaque module impacte les autres le moins possible.
Chaque module sera développé en deux étapes:
- une première étape destinée à répondre aux objectifs premiers, sera développé en 10 heures non consécutives (10HRL).
- Une seconde pour développer les concepts, ajouter des graphismes 2D et corriger les bugs identifiés, avec un objectif de 100 heures de développement (100HRL).
Cela me permettra, à chaque fois que je m’attellerai au développement d’un des modules, de quantifier mon avancement et d’en faire un suivi rigoureux sur ce blog. J’espère ainsi réduire au minimum les perturbations
Les modules
Voila ci-dessous les différents modules que j’envisage de mettre en route progressivement. Chaque module incarne une ou plusieurs activités que le joueur pratiquera dans Elderlore, à savoir explorer, combattre et progresser dans les voies du commerce, de la connaissance et de la maitrise des armes.
Worlds of Elderlore
Ce module est le socle de base qui permettra de façonner le monde sur lequel le joueur évoluera. Il reprendra des bouts de code issus des premiers développements de Lands of Elderlore, comme l’altitude, les montagnes, l’écoulement des rivières ou la position des forêts.
- Activité: Explorer
- Objectifs 10HRL: Créer la carte géophysique d’un monde sous The Doryen Library
- Création de mondes sphériques, avec un pôle nord et un pôle sud
- Gestion de l’altitude, création des mers
- Gestion de la température et de l’hygrométrie
- Création des montagnes
- Création des rivières, des lacs et des marais
- Création des forêts, des marais et des déserts
- Objectifs 100HRL: Affiner la carte sous Pygame + OcempGui
- Génération des noms pour chaque formation naturelle (continents, mers, rivières, montagnes, forêts, marais, déserts)
- Gestion des climats et des saisons (avec influence des montagnes sur le climat)
- Ajout de tuiles graphiques avec gestion des transitions
- Ajout d’une GUI pour jouer sur les paramètres de création du monde
- Création d’un effet parchemin (filtre Sépia + texture de parchemin)
- Ressources:
- The Doryen Library (bibliothèques de fractals)
- RPG Palace: Inquisitor’s RPG Maker XP World Map Tile Set
- A Magical Society: Ecology and Culture
Realms of Elderlore
Ce module permet d’intégrer des royaumes médiévaux aux mondes générés dans le module Worlds of Elderlore.
- Activité: Explorer
- Objectifs 10HRL: Créer la carte d’un monde médiéval (géographie, histoire)
- Pré-requis: Worlds of Elderlore 10HRL
- Ajout de ressources naturelles en fonction du type de terrain
- Placement des villes en fonction des ressources naturelles
- Création des routes entre les villes
- Création des royaumes
- Évolution simple des villes et des royaumes au cours du temps
- Objectifs 100HRL: Affiner la carte sous Pygame + OcempGui
- Génération des noms pour chaque formation artificielle (ville, route, royaume)
- Évolution complexe des villes (extension sur plusieurs cases avec ajout de tuiles graphiques pour les villes sur plusieurs cases)
- Évolution complexe des royaumes (diplomatie, guerre, colons) dans le temps
- MAJ de la GUI pour intégrer les paramètres de gestion des villes et des royaumes
- Ressources:
- A Magical Medieval Society: Western Europe
Blades of Elderlore
- Activité: Combattre, Progresser
- Objectifs 10HRL: Simuler des combats simples dans une arène façon The Doryen arena
- Feuille de personnage simple finale
- Pyramide des compétences
- Gestion de l’inventaire martial simple
- Mise en place des combats simples
- Objectifs 100HRL: Simuler des combats complexes sous Pygame + OcempGui
- Feuille de personnage finale
- Background des armes et armures
- Mise en place des combats tactiques
- Simulation des dynasties de joueurs
- Sauvegardes et scores en ligne
- Tuiles graphiques
- GUI
- Ressources:
Trades of Elderlore
- Activité: Commercer
- Objectifs: Permettre l’artisanat et simuler les échanges commerciaux entre villes
- Un système économique simple basé sur l’offre et la demande entre les villes et leurs ressources
- Des biens dépendant des ressources locales et permettant un artisanat simple
- Des routes terrestres et maritimes entre les villes
- Des caravanes et des navires marchands
- Ressources:
Cities of Elderlore
- Activité: Explorer
- Objectif: Créer des villes médiévales réalistes
- Qui s’adaptent à la géographie du site (bord de mer, forêt, désert, embouchure de rivière, …)
- Qui contiennent différents bâtiments (différents types, différentes qualités)
- Qui sont peuplées d’habitants ayant leur vie propre
- Qui ont des égouts et des catacombes
- Ressources:
- Cityscape
- Cityworks
Lands of Elderlore
- Activité: Explorer, commercer, combattre, progresser
- Objectif 10DRL: Créer un modèle détaillé à partir d’une carte du monde
- Avec une vue isométrique (et gestion du relief façon pytile?)
- Avec des rivières à base de courbes de Bézier (Ubrarum Regnum, PlayTechs)
- Détail des zones à base de fractals
- Ressources:
Related posts:
English
Whow, c’est vraiment très alléchant…
je suis impatient de voir ce que tout cela va donner… et j’espère que cela attirera d’autres développeurs…
L’avantage de séparer en plusieurs petits modules, c’est que j’espère arriver à des premiers résultats assez rapidement, sans perdre de temps à ajouter des graphismes ou tenter de l’intégrer dans un gros paquet de code. Je ne cherche pas d’autres développeurs pour l’instant, même si mon code est librement réutilisable dans le cadre de la licence sous lequel il est diffusé.
En passant, félicitations et bienvenue, tu es officiellement le premier commentateur du nouveau site!
Effectivement, très alléchant. Je suis content de voir qu’Elderlore est de nouveau actif, et je partage ton avis sur le découpage en modules, travailler par itération courtes et testables est bien plus agréable, rien que pour conserver sa motivation dans un projet perso de cette envergure.
Ya plus qu’à maintenant comme on dit. A venir la semaine prochaine, une nouvelle version de Mines of Elderlore avec pas mal de nouveautés, et les premières heures de Worlds of Elderlore.