GDC 2008 : la technologie de Final Fantasy

Désormais grand habitué de la Game Developers Conference, puisqu’il était venu y autopsier Final Fantasy XII l’année dernière, Taku Murata a choisi ses collègues développeurs et la presse vidéo ludique comme public pour dévoiler le premier outil de développement interne de Square Enix au cours d’une conférence intitulée « The Technology of Final Fantasy » (la technologie de Final Fantasy). En mai 2006, consécutivement à l’annonce de FFXIII et du projet polymorphique associé, Square Enix avait révélé l’existence d’un nouveau moteur nommé White Engine, destiné à faciliter le développement de ces projets sur console de nouvelle génération. Eh bien ce nom n’était que provisoire, puisque nous avons en réalité affaire au Crystal Tools (les outils du cristal). Mais chaque chose en son temps. Lors de cette conférence, le responsable de la toute nouvelle équipe de recherche et de développement de Square Enix a détaillé les étapes qui ont mené à la conception de ce moteur interne, ainsi que ses fonctions.


Il y avait une longue queue pour venir voir M. Murata !


Taku Murata : une vie, un destin

Né en 1965, Taku Murata est arrivé chez Square en 1991. C’est principalement grâce à lui que l’idée de mettre au point un moteur pouvant être utilisé par les équipes au sein de Square a germé. Il faut dire qu’à travers les jeux auquel il a participé, il s’est illustré par son incessante envie de faciliter le travail des programmeurs, dont il a souvent été le responsable. En 1997, il a pris part à l’équipe de Final Fantasy Tactics en tant que programmeur en chef, à l’époque où la 3D se développait de plus en plus, et a décidé de concevoir un outil permettant de prévisualiser le rendu en temps réel. Le résultat l’a rapidement convaincu de l’utilité de tels outils : les programmeurs pouvaient vérifier immédiatement le résultat de leur travail sur un écran de télévision, ce qui leur permettait de voir ce qui n’allait pas, et donc de peaufiner le jeu jusque dans ses moindres recoins. Immédiatement après FFT, il est resté aux côtés de Yasumi Matsuno pour assurer la programmation de Vagrant Story, sorti en 2000. Il s’agissait de son premier jeu entièrement en 3D temps réel, et d’un véritable challenge compte tenu des limitations de la PlayStation. Un outil unique conçu spécialement pour le jeu permettait de créer les scènes cinématiques et de prévisualiser les textures ainsi que les effets visuels. Rien d’étonnant à ce que Vagrant Story sont aussi abouti visuellement.



Les quatre étapes qui ont mené Murata à son projet de moteur commun.

En 2000 et 2001, quasiment toutes les équipes de Square ont été mobilisées pour la mise au point du service PlayOnline. Taku Murata y a bien sûr pris part. PlayOnline était la première tentative d’interface commune au sein de la société, en plus de constituer leur première expérience en ligne. Une nouvelle étape sur le chemin menant à l’uniformisation voulue grâce au Crystal Tools. Murata a ensuite commencé à travailler sur Final Fantasy XII en tant que programmeur en chef. Il en a profité pour améliorer encore plus son concept de prévisualisation, afin de faciliter le travail des nombreux programmeurs associés : une multitude de logiciels ont été conçus pour la gestion de quasiment tous les aspects techniques du jeu. Mais plutôt que de radoter, je vous propose de lire cet article, qui résume l’intervention de Murata à l’occasion de la GDC 2007.


La lumière du Cristal

Nous sommes à une époque où les outils de développement communs sont devenus indispensables. Auparavant, quasiment chaque nouveau jeu conçu par Square Enix partait littéralement de zéro : les programmeurs devaient préparer eux-mêmes les outils nécessaires à l’élaboration des personnages, des décors, des modèles et textures 3D, des effets visuels, des cinématiques… Mettre au point un moteur commun permet d’éviter ce processus et de permettre aux programmeurs de se lancer immédiatement dans le développement, un gain de temps (et donc d’argent) considérable. C’est en 2004 que Square Enix a commencé à réfléchir à cette idée de format 3D commun à toute la société. 2004 étant également l’année où le concept de polymorphie a été introduit à travers, notamment, la Compilation of FFVII, on peut penser que ces deux décisions ont une origine commune, et surtout un but avoué : réduire les dépenses consacrées à la conception des jeux. Cependant, ce n’est qu’en septembre 2006 que Square Enix a établi son département de recherche et de développement, entièrement dévoué à l’élaboration du moteur qui était encore connu à l’époque sous le nom de code White Engine. Crystal Tools, le nom définitif, a été choisi pour sa plus grande proximité avec l’imaginaire de Square.


Comme un grand, Crystal Tools a le droit à son propre logo.

Avant de poursuivre, il me semble important de préciser la nature et l’utilité d’un moteur de jeu. Il s’agit d’un intergiciel, c’est-à-dire une suite de logiciels connectés ensemble pour la conception d’un jeu vidéo. Le but d’un moteur de jeu est d’offrir aux développeurs les outils nécessaires pour engager la programmation, le calcul et la modélisation de leur jeu. Parmi les logiciels offert au coeur de cet intergiciel, on trouve généralement un moteur graphique (modélisation et texturisation de la 2D et de la 3D), un moteur physique (gestion des collisions, des effets physiques tels que la pesanteur ou les trajectoires), un éditeur de cinématiques, un éditeur d’effets visuels et un gestionnaire d’effets sonores. Le moteur fournit simplement les outils, le reste est entre les mains des développeurs. Beaucoup ont réagi à l’annonce de Taku Murata en se demandant si l’exclusivité de FFXIII était condamnée, mais cela n’a absolument rien à voir avec la nature multiplateforme du Crystal Tools.

La version 1.0 de ce premier moteur commun conçu par Square Enix a été achevée en septembre 2007, et les programmeurs se sont immédiatement attelés à sa première évolution, la version 1.1. Quand le White Engine a été annoncé en mai 2006, il n’était question que de la PlayStation 3, mais depuis, les programmeurs ont fait en sorte que leur moteur puisse être utilisé pour le développement sur d’autres supports, principalement la Xbox 360 et les PC. Taku Murata a également annoncé une compatibilité avec la Wii, mais étant donné la puissance limitée de la console par rapport à la concurrence, les concepteurs du moteur ont encore besoin de travailler dessus. Actuellement, trois jeux sont développés avec l’aide du Crystal Tools : Final Fantasy XIII, son frère Final Fantasy Versus XIII, et le prochain MMORPG de Square Enix, nom de code Rapture, qui n’a pas encore été dévoilé mais qui devrait voir le jour sur la plupart des supports de nouvelle génération (PS3, Xbox 360 et PC équipés de Vista). Au vu des ambitions de Murata, cette liste ne demande qu’à s’agrandir.


Les fonctions du Crystal Tools

Taku Murata a accompagné son annonce de quelques exemples des fonctions offertes par le Crystal Tools. Parmi elles, on trouve un visualiseur de personnages, un éditeur d’effets visuels, un éditeur pour le montage des cinématiques, un outil d’agencement visuel et un créateur sonore. Toutes ces fonctions sont reliées entre elles par un serveur nommé GRAPE2, capable d’offrir une prévisualisation selon chaque support, ainsi que d’exporter le contenu produit avec Maya, XSI et Photoshop. Afin de faciliter le travail des développeurs, l’équipe de Murata a massivement utilisé le GUI (graphical user interface), ce qui permet un affichage clair et complet sur l’écran d’un ordinateur. Ainsi, même les programmeurs les moins expérimentés peuvent s’y retrouver. Des captures d’écran de certains outils du Crystal Tools accompagnaient la présentation. Détail intéressant : ces captures montrent les modèles 3D de FFXIII ! Voyez par vous-même le visualiseur de personnages afficher un soldat et le béhémoth que Lightning combat dans les bandes annonces du jeu, ainsi que l’éditeur de cinématiques offrir une superbe contreplongée sur Cocoon.

Il faut noter que FFXIII et le Crystal Tools sont tellement liés, le White Engine original ayant été conçu pour lui avant tout, que les fonctions mises au point par le département de recherche de Square Enix l’ont été grâce aux demandes des développeurs de FFXIII. Taku Murata a résumé ces demandes en quatre grandes catégories :

– Les gros plans sur les personnages : comme les développeurs veulent exploiter au mieux les gros plans sur les héros de leur jeu, un visualiseur offrant un contrôle détaillé sur les modèles 3D des personnages a été conçu.

– Une expressivité stylisée : pour parvenir à exprimer la réalité stylisée dont Isamu Kamikokuryô a fait mention lors de sa conférence, les programmeurs ont été amenés à « tricher », par exemple à travers une physique non réaliste. De plus, les outils offrent une maîtrise précise des effets spéciaux.

– Les contraintes d’une grande équipe de développement : l’utilisation du GUI pour tous les outils du Crystal Tools permet de mettre les programmeurs les moins expérimentés au même niveau que ceux qui ont déjà une grande expérience dans le domaine, grâce à une interface plus intuitive.

– Une vision précise du projet : chaque élément dispose de son outil propre, ce qui permet, entre autres, de modifier facilement n’importe quel petit détail ou d’améliorer rapidement les éléments qui en ont besoin. La possibilité de prévisualiser chaque partie du jeu est également une fonction très importante.

Si Taku Murata a essentiellement axé sa présentation sur les outils de visualisation et d’édition, il reste néanmoins que le Crystal Tools sert également à concevoir le gameplay entier d’un jeu. On peut penser que c’est parce que FFXIII a surtout dévoilé sa partie cinématique pour le moment que Murata n’a pas abordé cette partie essentielle du développement d’un jeu. Dans une interview avec le site américain 1UP suite à la conférence, il a corrigé le tir en affirmant : « L’une des images que j’ai présenté montre comment éditer des éléments sur les décors. Désolé, peut-être que je me suis trop concentré sur la beauté des cinématiques ! Mais oui, [Crystal Tools] constitue la structure destinée à créer l’intégralité des visuels d’un jeu ».


Le mot de la fin

Pour conclure sa présentation, Taku Murata a abordé les points qui ont marché, et ceux qui ont posé problème. Du côté des réussites, il a fallu à peine un an à l’équipe pour mettre au point la version 1.0 du Crystal Tools, et ce grâce à une bonne répartition des équipes pour chaque outil. Globalement, les programmeurs ont réussi à surmonter les tâches les plus difficiles grâce à une bonne approche du projet. En revanche, Taku Murata a regretté que la présence de plusieurs équipes a tout de même ralenti la conception de la structure du moteur, et que, surtout, il s’est rendu compte trop tard de la nécessité d’avoir un technicien spécialisé capable de rédiger une documentation afin d’aider les développeurs dans leur prise en main des outils. Cette absence de documentation explique également que pour le moment, Square Enix ne compte pas vendre son moteur à d’autres sociétés de jeu vidéo. A l’avenir, Murata n’exclut pas de pouvoir le faire, cela dit.

Sources : Wired, GameSpot, Game Watch, 4Gamer