Interview 2012-06-04 - ap0

Vu que notre précedente interview date de plus de 3 ans, il est temps d’en faire une nouvelle, avec quelques-un de nos développeurs : zini, scrawl et Ace.

Bonjour, qui êtes-vous ?

Zini

Zini. Plus prosaïquement connu en tant que Marc Zinnschlag. Je suis le lead developer d’OpenMW, alias son Dictateur Bienveillant à Vie.

Scrawl

Je suis un programmeur amateur, principalement intéressé par l’aspect graphique et le développement de shaders.

Ace

Il m’arrive d’être Ace, le builder Windows.

Comment avez-vous découvert le projet ?

Zini

Honnêtement, je ne m’en souviens pas. C’était il y a longtemps. Il me semble que c’était sur un forum. OGRE peut-être ?

Scrawl

J’ai découvert le projet il y a longtemps (2009 sûrement). Je ne me souviens pas où, sûrement un article de blog. J’ai suivi le projet de près, et j’étais vraiment très intéressé (Morrowind étant mon RPG favori, et les jeux de Bethesda régressant en qualité), mais je ne pensais pas avoir le niveau nécessaire pour contribuer. À cette époque, je ne connaissais qu’un peu de programmation web, mais pas de C++ (et encore moins de D (ndt: À cette époque là, openmw était écrit en D !))

Ace

Il me semble que je discutais de remakes open-source avec des amis quand je suis tombé sur OpenMW. À cette époque, il était écrit en D.

Pourquoi contribuez-vous ?

Zini

Je suis l’un des développeurs d’une total conversion pour Morrowind, nommée U9: Redemption. C’est bien évidemment pour ça qu’OpenMW m’a intéressé. En travaillant sur Redemption, nous tombions sur de plus en plus de problèmes à cause du nombre de bugs inhérent à Morrowind. Au début, c’était simplement pénible, mais c’est très vite devenu ingérable.

J’ai commencé par faire des rapports de bug, et par fournir des clichés de Redemption pour Nico (le précédent lead developeur) pour faire des tests. Plus tard, j’ai contribué directement au code.

Un jour, nous sommes tombés sur un bug désastreux dans Morrowind, que nous n’avions pas repéré avant :
Dans Morrowind, si vous bougez un PNJ vers une cellule différente via un script et que sa cellule n’est pas chargée, le PNJ ne le sera que partiellement. Ce qui donnera lieu à des comportements erratiques, pour finir sur un crash si vous tentez de lui parler.

Nous ne le savions pas, et nous ne l’avions pas vu dans nos tests (à petite échelle). Ce bug nous a fichu en l’air bon nombre de fonctionnalités. À ce moment là, il est devenu clair que nous n’arriverions pas à sortir notre TC avec les fonctionnalités et la qualité prévue. J’ai donc déplacé une bonne partie de mon temps alloué à Redemption vers OpenMW, et j’en ai même pris la tête quand Nico a laissé tomber.

scrawl

Entre temps, j’ai appris pas mal de choses au sujet du développement de jeux en C++ (j’ai commencé par faire des petits jeux en Python, pour ensuite passer au C++ et aux moteurs 3D. J’ai également beaucoup travaillé avec OGRE, qui est utilisé par OpenMW (et qui est d’ailleurs plutôt cool).

J’ai commencé à contribuer au projet il y a quelques mois parce que je sentais qu’il manquait quelqu’un avec de l’expérience en matière de rendus graphiques. Par exemple, en quatre ans d’existence, le projet n’avait même pas de rendu du ciel ! Ce fut ma première contribution..

Ace

Le projet avait besoin d’un packager Windows, et il se trouvait que j’avais un environnement de développement complet sur cette plateforme.

Sur quoi travaillez-vous actuellement ?

Zini

Prévoir, organiser, donner des directions et de l’assistance, m’inquiéter, m’énerver et occasionnellement nettoyer le bazar des autres. Des trucs de lead developer en somme.

Au niveau du code, je suis actuellement occupé à régler les derniers soucis dus au réarrangement de notre système de rendu qui s’est déroulé il y a quelques versions.

scrawl

Je me retiens d’implémenter des effets visuels de fou tant que la version 1.0 ne sera pas sortie. Pour l’instant, je travaille donc sur l’interface graphique. Je suis plutôt familier avec MyGUI (le moteur d’interface utilisé par OpenMW), et je viens récemment de nettoyer un bon paquet de trucs incomplets ou non-optimaux déjà existants dans OpenMW. Je suis maintenant en train de bosser sur tout ce qui manque à ce sujet !

Ace
Je suis en train d’essayer de faire marcher la sauvegarde d’enregistrement ESM. Je n’ai pas beaucoup avancé depuis un petit moment (J’accuse l’université !), mais j’ai bon espoir d’arriver à inclure ça dans la version 0.16.

Quel est le bug le plus tordu que vous ayez rencontré jusque là ?

Zini

Rien de majeur. Tout comme les bugs rencontrés, OpenMW est assez docile.

scrawl

Je ne peux pas vraiment répondre à cette question, je n’ai rien rencontré de vraiment tordu. Le code est plutôt bien organisé, grâce à notre leader pragmatique, ce qui nous a apparemment évité pas mal de catastrophes..

Ace

J’ai rencontré un bug étrange lié au build sous windows, du temps de la ré-organisation du système de sons, ou peut-être un peu après.
À cette époque, le projet compilait sans aucune erreur, mais n’arrivait pas à faire l’édition de liens à cause d’une fonction supposée manquante. J’ai creusé le fichier en question pendant un bon bout de temps, vérifiant et re-vérifiant que la fonction incriminée existait bien.

À la fin, après avoir testé tout ce à quoi je pouvais penser (même renommer la fonction, la déplacer, changer ses arguments, …), j’ai décidé de transformer le prototype de cette fonction en passant l’un de ses arguments en « classe » alors qu’il était auparavant défini comme « structure ». Et tout d’un coup, tout linkait parfaitement.

Qu’est-ce que vous n’aimez pas à propos d’OpenMW ?

Zini

Rien de majeur. Le projet a connu des débuts difficiles, mais tout est maintenant sous contrôle, et il ne subsiste plus que des soucis mineurs de cette époque.
Je n’aime pas à quel point l’éditeur prévu est repoussé encore et encore. Tout le reste semble plutôt bon.

scrawl

Le manque de progrès. Le fait d’avoir choisi un mauvais langage qui a été suivi d’une ré-écriture, a causé un gros ralentissement. Certains développeurs disparaissant brutalement sans laisser de traces. Bien sur, on ne peut pas demander ou imposer des choses dans un projet open-source, mais je suis un peu triste de constater qu’après 4 ans d’existence, OpenMW n’est toujours pas jouable. Heureusement, il y a eu une très nette augmentation de la vitesse de développement ces derniers mois, je suis donc plutôt optimiste quant à la sortie d’une version 1.0

Ace

Le fait qu’il ne soit pas actuellement jouable.

Comment voyez-vous le futur du projet ?

Zini

Je vois OpenMW 1.0 bien sûr, qui remplacera complètement Morrowind. Après ça, nous devrions nous concentrer sur un nouvel éditeur, pour pouvoir exploiter toutes les futures améliorations post-1.0. En effet, à quoi nous servirait d’avoir un moteur amélioré si personne ne peut s’en servir pleinement ?

Après cela, j’aimerais améliorer graduellement OpenMW, pour aller au-delà de ce que Morrowind est capable de faire. Améliorer des fonctionnalités, se débarrasser des valeurs en dur, supprimer ses limites, … Ce genre de choses.

scrawl

Le futur… Je pense que c’est la partie qui nous intéresse le plus et qui nous maintient motivés pour travailler sur OpenMW. Une fois la version 1.0 sortie, j’ai envie de pousser l’aspect graphique aussi loin qu’avec des jeux comme Skyrim. Certaines personnes pensent qu’il n’est pas possible d’améliorer les graphismes sans apporter de nouvelles ressources (textures, modèles, …), mais c’est faux. On peut avoir quelques exemples avec le projet MGE (Morrowind Graphics Extender).

Mais, du point de vue d’un développeur, MGE est POURRI. Pouvoir définir et construire le rendu graphique depuis le code source du moteur nous ouvre beaucoup plus de possibilités. Voici un avant-goût des choses facilement faisables avec OGRE, et que j’ai furieusement envie d’implémenter :

  • Un LOD sans chargement, et un monde infini
  • Des ombres logicielles en temps réel, du deferred lighting, de l’occlusion ambiante
  • Des rayons crépusculaires(Godrays)
  • Un vrai HDR
  • Un rendu haute-qualité de l’eau, avec une vraie géométrie mouvante

Une fois ces choses basiques terminées, la suite dépendra des moddeurs. Supporter de nouvelle techniques de mapping (normal/parallax/specular) n’est pas un gros soucis, mais nous aurions besoin d’artistes pour les produire.
Être capable de tirer le rendu graphique d’OpenMW vers le haut ne pourra qu’en renforcer l’immersion, tout en abaissant sa « barrière d’entrée » dûe à son age (« beurk, ce jeu est trop laid, je ne vais pas jouer à cette bouse ! »).

Ace

Avec un peu de chance, OpenMW apportera un second souffle à la communauté de moddeurs de Morrowind. Je m’y suis beaucoup amusé (bien que mes mods n’aient jamais été publiques) 🙂

Si vous pouviez changer quoi que ce soit à Morrowind, qu’est-ce que ce serait ?

Zini

Pour Morrowind en tant que jeu: tout et rien. J’entends souvent des gens dire que Morrowind est un bon jeu. Je ne suis pas d’accord. Je pense que Morrowind est vraiment très proche d’être un grand jeu dans tout ses aspects, mais il lui manque quelques trucs pour être parfait, et ce, dans tous ses aspects. (ok, presque tous : l’interface craint et son background est génial).

Pour Morrowind en tant que plateforme de mod/développement: toute l’implémentation, et son éditeur. C’est d’ailleurs ce que nous faisons avec OpenMW..

scrawl

Le rendre open-source. Il y a tant de choses dans Morrowind qui ne peuvent être simplement corrigées en changeant « une » chose. Si Bethesda libérait le jeu, ça nous faciliterait beaucoup la vie; rien que pour les formules que nous devons deviner à grands coups de rétro-ingénierie…

Ace

Je changerai leur moteur de rendu, histoire que Morrowind ne tourne pas moins bien que Skyrim sur mon PC haut de gamme.

Une dernière chose à dire ?

Ace
Évitez de fâcher les dieux gazebo.

Merci pour vos réponses et votre temps.
(et merci à StraToN et a freem pour la relecture !)

Fork me on GitHub

You must be logged in to post a comment.