URL: https://linuxfr.org/news/openmw-une-implementation-libre-du-moteur-du-jeu-de-role-morrowind Title: OpenMW, une implémentation libre du moteur du jeu de rôle, Morrowind Authors: Aldebaran Nÿco, BAud, Benoît Sibaud, vv222, Xavier Teyssier, Joalland, M5oul, Nicolas Boulay, bubar🦥, zurvan et palm123 Date: 2014年06月07日T16:43:46+02:00 License: CC By-SA Tags: openmw, morrowind et jeu_de_rôle Score: 39 Le projet OpenMW est non seulement une ré-implémentation libre du moteur du jeu de rôle _The Elder Scrolls III: Morrowind_, un des meilleurs JDR (Jeu de Rôle, RPG5) au monde, mais aussi un éditeur permettant de créer du contenu pour ce nouveau moteur. Pour jouer à Morrowind, il vous faudra une version originale du jeu de laquelle on extraira les données. Originellement écrit en langage D, le moteur a été depuis réécrit en C++ sous GPLv3 et se sert d'[Ogre3D](http://www.ogre3d.org) pour les graphismes (le passage vers [OpenSceneGraph](http://www.openscenegraph.org/) est [en cours](https://openmw.org/2015/announcing-switch-openscenegraph/), sans doute lié à la [difficulté de portage d'OpenMW vers Ogre 2](https://openmw.org/2015/ogre/)), de Bullet pour la physique, ainsi que d'OpenAL pour la partie audio. L'éditeur, OpenCS, est codé lui aussi en C++ et utilise Qt. L'éditeur a pour vocation de pouvoir modifier aisément les éléments du jeu ainsi que de rendre compatibles avec OpenMW les _mods_ créés pour Morrowind. ![OpenMW](https://openmw.org/wp-content/themes/openmw/images/logo.png) ---- [openmw.org](https://openmw.org/en/) [Code source sur GitHub](https://github.com/OpenMW/openmw) [DLFP : OpenMW, un jeu de rôle libre (2012)](https://linuxfr.org/news/openmw-un-jeu-de-role-libre) [DLFP : OpenMW passe d'Ogre3D à OpenSceneGraph](https://linuxfr.org/users/freem/journaux/openmw-passe-d-ogre3d-a-openscenegraph) ---- Le projet est actuellement en développement actif, une nouvelle version est réalisée en moyenne tous les mois. De grands progrès ont eu lieu ces dernières années et le but de la version 1.0 est quasiment atteint : ré-implémenter totalement Morrowind. Avec les récents ajouts de la sauvegarde et du chargement, il est possible de terminer le jeu moyennant quelques bugs. Après la v.1, l'équipe du projet se concentrera sur l'ajout de fonctionnalités, l'amélioration des performances et des graphismes. Actuellement, le moteur est peu optimisé, il faut faire avec, en attendant des améliorations de ce côté ou participer au développement. Les développeurs lancent d'ailleurs un appel d'aide pour l'éditeur qui compte seulement deux membres actifs. Quelques copies d'écran : ![OpenMW](http://wiki.openmw.org/images/thumb/0/01/Ashstorm.png/320px-Ashstorm.png) ![OpenMW](http://wiki.openmw.org/images/thumb/4/4e/Snow.png/320px-Snow.png) # Annonce de la migration vers OpenSceneGraph # NdM: ce paragraphe est principalement une [traduction de l'annonce du projet](https://openmw.org/2015/announcing-switch-openscenegraph/). Ogre3D était le moteur de rendu utilisé par OpenMW depuis notre toute première version publiée. L’équipe derrière OpenMW a annoncé qu’elle migrait vers un autre moteur de rendu, et la première version jouable [était annoncée le 7 juin 2015](https://openmw.org/2015/openscenegraph-port-playable/). Durant le développement de nos versions alpha, Ogre3D a été extrêmement utile, permettant un développement rapide. Grâce à Ogre3D, vous pouvez déjà jouer à une version plus ou moins complète de Morrowind via OpenMW, _aujourd’hui_, et rien que ça confine à l’exploit. Malgré tout, pour qu’OpenMW remplisse nos objectifs de qualité et pour ajouter les quelques dernières fonctionnalités manquantes, nous avons face à nous des tâches complexes qui requerraient soit de créer un fork d’Ogre3D qui se comporte de la façon dont nous avons besoin, soit que nous migrions vers un autre moteur de rendu plus adapté. Après de longues discussions, nous avons opté pour la seconde solution. ## Pourquoi migrer ? ## Nous n’avons pas affaire à un problème bloquant particulier, mais plutôt à l’accumulation de nombreux problèmes différents. L’un de ces problèmes nous empêchant d’atteindre la version 1.0 est le faible taux d’images par seconde comparé à Morrowind vanilla. Celui-ci est dû à des _bottlenecks_ dans la gestion des scènes et l’API de rendu des versions 1.x d’Ogre3D, qui sont bien connus de l’équipe derrière Ogre3D et ont depuis été corrigés dans les versions 2.x. Le plan original était de porter OpenMW vers Ogre3D 2.x, ce qui n’aurait pas été une mince affaire, vu que les changements de l’interface de programmation sont particulièrement importants. Malgré tout, nous avons quelques points qui nous inquiètent au sujet de ce port : * **Tag points :** Nous utilisons une fonctionnalité d’Ogre3D appelée "Tag Points" pour connecter ensemble les différentes parties des corps segmentés de Morrowind. Cette fonctionnalité n’est plus gérée par les versions 2.x, donc nous devrions implémenter des solutions de contournement complexes. * **OpenGL3 requis :** La branche 2.1 d’Ogre3D ne gère plus le matériel OpenGL2. Même si la prise en charge du matériel faisant tourner Morrowind à sa sortie n’a jamais fait partie des objectifs d’OpenMW, nous pensons qu’il est trop tôt pour abandonner OpenGL2, abandon qui affecterait une bonne partie de nos utilisateurs. * **Système de matériaux :** Ogre 2.1 arrive avec un nouveau système de matériaux avec des optimisations AZDO (_Approaching Zero Driver Overhead_), mais au prix d’une complexité accrue pour l’écriture de nouveaux matériaux. Nous le faisons massivement avec OpenMW, en particulier si on prend en compte les _mods_ créés par des utilisateurs, pour lequel nous préférerions un système plus flexible et facile d’utilisation. En plus de ces récents problèmes causés par les dernières versions d’Ogre3D, nous avons aussi quelques problèmes qui nous suivent depuis un moment : * **Système de ressources :** Ogre3D force l’utilisation d’un gestionnaire de ressources global, mais nous avons besoin d’un gestionnaire de ressources par document avec OpenCS. Un autre problème est que toutes les ressources sont censées avoir un nom unique, ce qui conduit à du travail supplémentaire de notre côté, et peut parfois créer des conflits entre les ressources ajoutées par des mods et celles du jeu original. C’est un problème bien connu par l’équipe Ogre3D, et un projet de réécriture du système de ressources a débuté en 2013, projet qui n’est malheureusement pas encore abouti. * **Gestion des pochoirs/modèles (_stencil_)** : le format NIF utilisé par Morrowind peut utiliser _stencil settings_, mais Ogre3D ne le gère pas. * **Mise à l’échelle de la largeur des PNJ :** Les personnes non-joueurs (PNJ) de Morrowind ont une propriété "poids", qui devrait modifier l’échelle de ceux-ci selon leur axe X. OpenMW ignore pour l’instant cette propriété, parce que le système de squelette d’Ogre3D 1.x ne supporte pas la mise à l’échelle non uniforme.

AltStyle によって変換されたページ (->オリジナル) /