- Quel a été ta formation et ton parcours pour arriver à la création de TUER?
Ma première tentative d’écrire un FPS était en C++. A cause du préprocesseur qui écrasait certaines de mes valeurs, mon petit bout de code marchait mal, la gestion des collisions déconnait complètement, j’avais alors décidé de commencer à tout porter en Java et un beau jour, le disque dur me lacha brutalement. Je fus tellement triste d’avoir perdu une partie de mon boulot que je décidai de laisser tomber, c’était en juillet 2006. En septembre 2006, en master 1 Sciences et technologies du logiciel à l’université Paris 6 Jussieu, on m’annonça que j’avais à faire un projet semestriel et qu’éventuellement, les élèves avaient la possibilité de proposer un sujet sous réserve qu’un professeur accepte de les encadrer. Je pensais porter le code source du FPS Cube mais c’était trop sale, trop peu commenté… Un beau jour, je tombai sur Art Attack, un FPS sous forme d’applet Java, libre avec un code source minuscule, c’était super lent sur ma machine. Là, je compris que je venais de trouver mon sujet de projet semestriel et bien plus que ça. Je décidai de proposer comme sujet d’améliorer les performances de ce jeu et d’en faire un vrai FPS en plein écran. C’était moins risqué que de partir de zéro vu ce qui m’était arrivé quelques mois plus tôt et c’était motivant de partir avec un truc qui marche déjà.
- As-tu fait d’autres réalisations numériques auparavant ?
J’ai écrit “Panic on the earth”, un jeu de plateforme-action en 2D pour calculatrice HP 48 GX en langage RPL. Le code source a été égaré suite à une panne de la mémoire morte mais j’ai des traces sur papier. Ensuite, j’ai écrit un petit shoot’em up en 2D en Python avec Pygame. J’ai aussi programmé un prototype de jeu de combat en 2D en réseau en Java.
- Quels outils utilises-tu pour cette réalisation ?
J’utilise essentiellement le langage Java, JOGL pour accéder à OpenGL, depuis quelques mois le moteur Ardor3D, Blender pour la modélisation, 3DVia pour convertir les modèles au format Collada, Audacity pour modifier les échantillons sonores, l’IDE Eclipse pour coder et JFPSM (outil de mon cru) pour l’édition des cartes.
- Ce jeu est actuellement expérimental, quel avenir lui souhaites-tu ?
Je lui souhaite de devenir un modeste FPS en solo à la hauteur de ce qui se fait déjà dans le milieu des FPS gratuits comme Cube, avec un gameplay complet et des performances très honorables même sur des ordinateurs d’une autre décennie pour faire taire les langues de vipère qui prétendent que Java est lent. J’aimerais qu’il soit facile à modifier avec JFPSM parce que ça ne sert pas à grand chose de faire un FPS libre si personne ne réutilise son code source et ses outils. C’est surtout ça qui est important à mes yeux. Il faut faciliter la création de FPS libres et gratuits pour que les gens qui ont plein d’idées dans la tête se concentrent sur le gameplay, la trame narrative, les péripéties, les graphismes… Justement, ce genre de jeu demande déjà pas mal de travail sans compter la partie programmatique, ce serait bien de soulager les gens de ce poids. FPSCreator est trop bogué et ne marche que sous Windows, il est temps qu’une alternative émerge.
- Penses tu en faire une exploitation commerciale ou est ce seulement un loisir ?
En fait, je ne pense pas en faire une exploitation commerciale au sens propre, je ne veux pas le vendre mais je pense accepter des dons dans un proche avenir pour pouvoir rentrer dans mes frais, j’ai payé un développeur en freelance pour réparer un moteur que j’utilisais mais qui s’est avéré trop bogué. TUER est porteur d’un message politique et à ce titre, un coup de pouce de quelques partis politiques, syndicats et associations ne serait pas de refus. J’aimerais pouvoir travailler à plein temps dessus, je projette de me rapprocher de quelques associations (APRIL, AFUL, FSF, …) gravitant dans le monde du logiciel libre pour monter une Maison du Logiciel Libre avec une salle de jeux et à ce titre de pouvoir développer TUER sur une partie de mon temps de travail.
- As-tu d’autres projets dans ce domaine ?
Je développe JFPSM qui est une sorte de créateur de FPS encore à un stade embryonnaire mais c’est très lié à TUER.
- As-tu une expérience des mondes 3D et communautés numériques 3D ?
Je suis très présent sur Javagaming.org. Je connais Web3D-fr depuis quelques mois. Je fréquente pas mal de sites consacrés à la création de jeux vidéo comme GCN, Gamedev, game-corp…
- Que penses tu de ces techniques et de leur développement ?
Disons que VRML n’est plus étudié en cours d’infographie, certaines communautés se focalisent trop sur ce genre de format, je pense aussi à X3D. Les navigateurs modernes ne supportent pas directement VRML, c’est donc un échec alors que WebGL arrive à grand pas. Un format reste un format, ce n’est pas une fin en soi, passer à Collada n’est pas un blasphème, on ne devrait pas en faire une religion.
Internet n’est pas un réseau d’ordinateurs connectés sous Windows, la problématique de la portabilité devrait être prise en compte encore plus quand on se tourne vers le web et je vois que ce n’est pas le cas, beaucoup de gens utilisent encore Virgal, Unity et d’autres solutions qui ne sont bien supportées que par Windows. Il faut que ça change pour rester dans l’esprit de VRML et HTML. Le moteur 3DzzD va plutôt dans la bonne direction. Pour faire de la 3D portable (Linux, Mac, Windows, systèmes embarqués y compris téléphones mobiles) dans le navigateur et/ou dans une application lourde se lançant depuis le web avec des performances dignes de ce qui se fait déjà sur des logiciels en C/C++, il n’y a guère que la plateforme Java et bientôt WebGL (Javascript).
Java3D n’est plus maintenu depuis presque 4 ans, je ne comprends pas qu’il figure encore sur Web3D-fr. De plus, il est plus lent que les scénographes actuels écrits en Java comme JMonkeyEngine, Xith3D, Ardor3D, Aviatrix3D, …
Il y a trop de projets de mondes virtuelles et particulièrement de MMORPG qui tombent à l’eau. On ne fait pas un projet juste pour se la jouer. Je pense que trop de gens sousestiment la difficulté de créer un jeu vidéo en 3D. D’un côté, certaines personnes devraient partir sur des projets plus modestes pour débuter, il n’y a pas de honte à apprendre en faisant un tetris. De l’autre, trop de gens pourrissent les forums avec des projets dont ils savent eux-mêmes qu’ils n’aboutiront jamais. Pour faire un jeu ou plus généralement une application autour des mondes en 3D, il faut vouloir apprendre, avoir du temps à y consacrer, être motivé, avoir de la patience et ne pas avoir peur de ne pas avoir tout de suite un prototype à montrer. A l’heure d’Internet, on veut du tout cuit, de l’immédiat alors que la création d’un univers en 3D est tout sauf ça. Moi j’ai vu ma première maquette de TUER déconner comme c’est pas permis, je ne voyais qu’un quart d’écran, des couleurs bizarres, etc… et je ne me suis pas découragé.
- Où en es-tu avec ton éditeur ?
JFPSM avance doucement mais sûrement. A l’heure actuelle, on peut créer des cartes rudimentaires et générer des fichiers au format binaire d’Ardor3D afin de les charger par la suite avec ce moteur. Je vais bientôt pouvoir générer les volumes de collision. J’essaie de créer un outil vraiment simple et intuitif pour créer très très rapidement de très grands niveaux avec des étages, des parties en intérieur et en extérieur, des téléporteurs, des ascenseurs, etc… J’ai encore beaucoup de pain sur la planche. J’aimerais utiliser un système de partitionnement de l’espace pour améliorer considérablement les performances de visualisation surtout pour de très grands univers continus.