Le jeu eut comme développeur Robert Alan Koeneke et Jimmey Wayne Todd.
Développement du jeu
Moria est développé par Robert Alan Koeneke alors qu’il étudie à l’université d'Oklahoma. Il s’inspire pour cela de Colossal Cave Adventure (1975) et de Rogue (1980) dont il transpose le système de jeu dans la ville souterraine de la Moria décrite dans le Seigneur des anneaux de J. R. R. Tolkien. N’ayant pas accès au code source de ce dernier, il commence à programmer sur un ordinateur VAX-11/780 une nouvelle version du jeu en s’inspirant de la ville souterraine de la Moria décrite dans le Seigneur des anneaux de J. R. R. Tolkien. Un peu comme dans ce dernier, le joueur a ainsi pour objectif d’explorer les profondeurs de la Moria et de vaincre le Balrog lors d’une bataille finale. Comme dans son modèle, les niveaux souterrains du jeu sont générés de manière procédurale. A la surface, Robert Alan Koeneke créé en revanche un niveau prédéfini représentant une ville dans laquelle le joueur peut acheter et vendre des équipements. L’utilisation du Pascal et de structure de données lui permettent par ailleurs de créer un bestiaire plus varié que dans le jeu original. Robert Alan Koeneke est assisté par plusieurs testeurs ainsi que par un autre étudiant, Jimmey Wayne Todd, qui l’aide notamment à programmer un système de génération de personnage plus complexe.
Gamedesign du jeu
Le but de ce jeu est d'atteindre les profondeurs de la Moria et de tuer le Balrog. Moria commence avec la création d'un personnage. Le joueur choisit d'abord une « race » parmi les suivantes : Human, Half-Elf, Elf, Halfling, Gnome, Dwarf, Half-Orc et Half-Troll (soit humain, demi-elfe, elfe, halfelin, gnome, nain, demi-orque, orque et demi-troll). Cette sélection détermine des statistiques de base et les classes disponibles. Le joueur choisit ensuite une classe parmi les suivantes : Warrior, Mage, Priest, Rogue, Ranger et Paladin (soit guerrier, mage, prêtre, voleur, rôdeur et paladin). Cette classe détermine d'autres statistiques avancées, et les capacités que le joueur peut faire évoluer durant la partie. Les mages, rôdeurs et voleurs peuvent apprendre la magie, et les prêtres et paladins peuvent apprendre des prières. Les guerriers ne possèdent pas de capacité supplémentaire.
Le joueur possède de nombreuses caractéristiques dans le jeu. Certaines caractéristiques, comme le sexe, le poids et la taille, ne peuvent pas être modifiées une fois le joueur créé, tandis que d'autres caractéristiques comme la force, l'intelligence et la classe d'armure peuvent être modifiées en utilisant certains objets d'une manière particulière. Le mana et les points de vie sont reconstitués par le repos ou par d'autres moyens magiques. L'or s'accumule lorsque le joueur marche sur des pierres précieuses ou des devises. L'expérience s'accumule à mesure que le joueur effectue diverses actions dans le donjon, principalement en tuant des créatures. Les capacités diverses sont modifiées au fur et à mesure que chaque compétence est exécutée et que le joueur gagne en expérience.
Le joueur commence la partie avec un nombre limité d'objets dans un niveau représentant une ville disposant de six échoppes : un magasin général, une armurerie, un forgeron d'armes, un temple, une boutique d'alchimie et une boutique de magie. Un escalier descend de ce niveau vers une série de labyrinthes souterrains générés aléatoirement. Les niveaux les plus profonds contiennent des monstres plus puissants et de meilleures récompenses. Chaque fois que le joueur monte ou descend un escalier, un nouveau niveau est créé et le précédent est supprimé, seul le niveau de la ville est persistant dans le jeu.
Comme dans la plupart des rogue-likes, il est impossible de charger une sauvegarde si le personnage meurt, le jeu ne sauvegardant que lorsqu'il est quitté, empêchant toute stratégie à base de recharges fréquentes, car le jeu enregistre l'état uniquement à la sortie de la Moria, empêchant ainsi la sauvegarde qui est une stratégie clé dans la plupart des jeux informatiques qui permettent la sauvegarde. Cependant, il est possible de sauvegarder le fichier généré par le jeu (MORIA.SAV dans la version Windows) dans un emplacement de sauvegarde, puis de restaurer/remplacer ce fichier après la mort du personnage. Le Balrog, représenté dans le jeu par un B majuscule, se trouve aux plus profonds niveaux du labyrinthe. Une fois qu'il a été tué, la partie est gagnée et le joueur ne peut plus sauvegarder sa partie.
Commercialisation
Au cours de l'été 1983, Koeneke a réécrit son jeu en VMS Pascal, sortant Moria 1.0. Koeneke a commencé à distribuer le code source en 1985 sous une licence autorisant le partage et la modification, mais pas l'utilisation commerciale. La dernière version de VMS était Moria 4.8, sortie en novembre 1986. En février 1987, James E. Wilson a commencé à convertir le code source Pascal de VMS en langage de programmation C pour une utilisation sur les systèmes UNIX, qui commençaient à devenir populaires à cette date. Pour distinguer sa version du VMS Moria original, Wilson l'a nommé UNIX Moria, abrégé en UMoria.UMoria 4.85 est sorti le 5 novembre 1987. Comme C était un langage de programmation beaucoup plus portable que VMS Pascal, il y a eu une explosion de ports Moria pour une variété de systèmes informatiques différents tels que MS-DOS, Amiga, Atari ST et Apple IIGS. UMoria 5.0, sorti en 1989. unifié ces ports séparés en une seule base de code, corrigeant de nombreux bugs et problèmes d'équilibrage, ainsi qu'ajoutant de nombreuses nouvelles fonctionnalités ; dont beaucoup sont tirés de BRUCE Moria (1988). UMoria fut en développement continu pendant plusieurs années encore, avec UMoria 5.5.2 sorti le 21 juillet 1994. Au début des années 2000, David Grabiner a maintenu la base de code, ne publiant que des correctifs mineurs liés au compilateur. En 2008, grâce aux travaux du projet free-moria, UMoria a obtenu une nouvelle licence sous la licence publique générale GNU.
Après le jeu
Moria, avec Hack (1984) et Larn (1986), est considéré comme le premier jeu roguelike et le premier à inclure une ville. Moria fit l’objet de plusieurs adaptations. UMoria (pour UNIX Moria) est par exemple une variante très proche de l’originale programmé par Jim E. Wilson afin de faciliter l’adaptation du jeu sur d’autres plateformes et d’en corriger certains bugs. La variante la plus populaire est sans doute Angband (1990) qui fut développé par Alex Cutler et Andy Astrand alors qu’ils étudiaient à l’université de Warwick. En s’appuyant sur le code source de UMoria, ils transportèrent le jeu dans la forteresse de Angband décrite dans le Silmarilion et ajoutent de nouveaux niveaux et de nouvelles créatures inspirées du bestiaire du roman. Ils conserèrent le Balrog, qui devient un boss de niveau intermédiaire, et Morgoth devient le boss final que le joueur doit vaincre pour terminer le jeu. Lorsqu’Alex Cutler et Andy Astrand obtinrent leurs diplômes, le développement du jeu fut repris par Sean March et Geoff Hill qui y ajoutèrent de nouveaux éléments et commencèrent à le distribuer en dehors de l’université via le système Usenet. Une fois le jeu diffusé à un plus large public, de nouvelles équipes de développeurs continuèrent de l’améliorer en corrigeant des bugs, en nettoyant son code source et en implémentant de nouvelles fonctionnalités. Les changements fréquents de développeurs et les nombreuses suggestions d’amélioration conduisent à la création d’une soixantaine de variantes du jeu dont environ une demi-douzaine sont encore en développement. L’une des plus connu est ZAngband (1994) (pour Zelazny Angband) qui transpose le jeu dans l’univers du cycle des Princes d'Ambre de Roger Zelazny. Le code source de celle-ci est ensuite utilisé pour créer Troubles of Middle Earth (2002) qui transpose le jeu dans un univers original avant de devenir Tales of Maj'Eyal (2009). La version originale de Angband continue néanmoins d’être développée. Moria a influencé la conception préliminaire de Diablo de Blizzard Entertainment.
L'équipe de développement