Interview de iarwain : Ajouté le 15/10/2007 à 15:55
univers-game: bonjour peux tu te présenter?
Salut! Moi c'est iarwain.
univers-game: explique nous ton parcours, si tu veux bien?
Un parcours assez classique dans l'ensemble : j'ai fait des études d'info, à l'université des sciences de Bordeaux I, j'y ai obtenu mon DESS en 2001 (spécialisation analyse, traitement et synthèse images et sons). Sorti de là, j'ai commencé à travailler dans le domaine des jeux vidéo, sur Montpellier, où je suis passé par deux studios différents jusqu'en fin 2005, aussi bien en R&D qu'en programmation gameplay / IA.
J'ai ensuite fait un break pour travailler un an dans le domaine des progiciels spécialisés dans la gestion et la vente en ligne d'images pour les agences de presse, car le poste proposé et la liberté d'action que l'on me donnait m'ont rapidement convaincu.
Et finalement, depuis janvier 2007, je suis de retour dans les jeux vidéo, à Montréal cette fois, en tant que programmeur IA su une grosse licence.
univers-game: alors avant de passer au gros du sujet, as tu d'autres projets?
Des projets, il y en a eu un certains nombres, comme pour la plupart des passionnés du milieu! Il y a près de 15 ans, étant proche de certains demomakers et de la "scène", j'ai commencé par programmer quelques effets visuels en assembleur, puis je me suis rapidement tourné vers les jeux. J'ai travaillé sur pas mal de petits projets solos qui, quand ils sont arrivés à terme, n'ont jamais été diffusés, et finalement sur un clone des light cycles de Tron, jouable à 4 en hotseat, qui traîna quelques temps sur certains PC de l'université et d'un bâtiment du village universitaire. J'ai ensuite participé à plusieurs projets amateurs dont aucun n'a abouti. Le dernier en date, et celui qui a regroupé le plus de participants, était un jeu d'aventure (point & click) appelé la guerre des pâquerettes, dont le site est encore en ligne (bien qu'abandonné depuis longtemps) : http://www.arcallians.org. C'est d'ailleurs avec ce projet qu'est né orx.
univers-game: explique nous le fameux orx
Orx n'est pas vraiment un moteur, dans le sens le plus communément employé, mais plutôt un meta-moteur. Le but, plutôt que de réinventer une énième fois la roue, était de réutiliser tout ce qui existait et valait le coup, de rendre le tout le plus portable et modulaire possible et de rajouter quelques fonctionnalités plus inédites.
Pour essayer de rester bref, orx a été conçu pour être extrêmement portable. Il se compose d'un noyau (core) qui est complètement indépendant de toute architecture physique ou logiciel, et d'une couche de services fournis par des plug-ins tiers. Chaque fonctionnalité dépendante d'une plateforme ou d'un OS (timer, affichage, son, système de fichiers, clavier, souris, ...) n'est pas implémentée dans le core, mais dans des plug-ins spécialisés. Ce qui fait qu'orx n'implémente n'est pas un moteur de rendu 3D comme Ogre3D, par exemple, mais un plug-in basé sur ce dernier permettrait à orx d'en utiliser les capacités d'affichage.
Pour ce qui est des fonctionnalités plus inédites, orx est notamment conçu sur un système d'horloge pour assurer une cohérence temporelle à tous les niveaux, et permettre des effets de time stretching "localisés". C'est une des fonctionnalités assez rares dans les moteurs traditionnels, mais il y en a bien d'autres!
univers-game: on va rentrer dans les détails un peu technique tout en essayant de rester le plus clair possible pour les lecteurs, avec quel langage de programmation l'as tu crée? quels sont ses capacités, et que prévois tu pour son avenir?
Orx est codé en C, cependant il est grandement orienté objet. Il est entièrement découpé en modules hiérarchisés de manière à ce que les initialisations / désinitialisations soient automatiques. En pratique, on peut charger et décharger les plug-ins sans avoir à relancer le moteur, ce qui permet par exemple de remplacer la "brique" d'affichage (et donc le type de rendu) pendant l'exécution du moteur, car les modules dépendants seront gelés jusqu'au chargement d'un nouveau plug-in de remplacement.
Cette architecture permet aussi d'utiliser sur plusieurs plateformes, avec les plug-ins correspondants. Il peut aussi bien fonctionner sur une DS ou une PSP que sur un PC ou une PS2, pour ne citer que quelques exemples.
Orx n'a pas vraiment de limite fixe puisque que n'importe qui peut rajouter des fonctionnalités qui n'ont pas été prévues au départ par le biais de plug-ins "utilisateurs" (comme envoyer un email par exemple), et peut ainsi devenir une immense trousse à outils. Cependant, en ce qui me concerne, tout le développement réalisé dessus vise à en faire un moteur orienté jeux, même s'il peut être considéré comme un moteur multimédia, au sens large.
univers-game: raconte nous comment as tu commencé a créer orx?
Quand la guerre des pâquerettes a commencé, mi-2001, quelques mois avant ma première embauche dans le milieu du jeu vidéo professionnel, on a voulu développer nos propres outils car les ténors de l'époque (AGS, AGAST, ...) ne nous convenaient pas complètement. La folie des grandeurs (encore une fois) nous a emporté et orx est ainsi né.
A l'époque, orx devait être développé en parallèle avec une plateforme (EditOrx) qui devait nous servir à développer le jeu mais dont le but final était de pouvoir permettre au grand public de développer des jeux ou des prototypes facilement, tout en fournissant beaucoup de fonctionnalités. EditOrx restera sur le papier, en tout cas jusqu'à maintenant, par manque de main d'oeuvre. Je ne désespère pas malgré tout de trouver un jour des gens motivés et compétents pour se lancer dans cette aventure. =)
univers-game: orx est-il en licence open source (gratuit)?
Orx est libre et gratuit, oui. Il est publié sous licence LGPL et est actuellement disponible via sourceforge.
univers-game: si tu as une équipe comment est-elle composée?
Il y a eu une équipe qui a comporté jusqu'à 5 développeurs simultanément au plus fort de l'aventure, mais au final peu auront réellement contribué à son développement. Aujourd'hui l'équipe comporte encore 3 programmeurs, mais j'en suis le seul actif depuis plusieurs mois.
univers-game: as tu quelque chose a ajouter?
A vrai dire j'aimerais en profiter pour passer une petite annonce parmi tes lecteurs, si ça ne te dérange pas trop! Je cherche actuellement des gens qui aimeraient participer à ce projet, et ce à 3 niveaux :
- sur le développement d'orx en lui-même, mais autant prévenir de suite, je suis très très exigeant à ce niveau-là, avis aux amateurs! =)
- sur le développement de plug-ins spécialisés pour certaines plateformes (par exemple si certains aimeraient faire tourner orx sur PSP, ou bien sur PC avec un moteur 3D donné, etc...) car actuellement ne sont disponibles que des plug-ins PC 2D (SDL / Allegro pour windows / linux), et je devrais prochainement en rajouter pour la DS.
- sur l'utilisation d'orx : je cherche des gens qui aimeraient développer leurs propres projets de jeu (ou multimédia) en s'appuyant sur orx, et m'aider à rendre le tout plus convivial, avec les documentations adéquates, localisations, etc... Il faut pour cela aimer découvrir de nouvelles choses et avoir un caractère un petit peu aventurier! =)
univers-game: et la dernière question as tu une date de sortie du moteur? ou une demo?
Depuis quelques jours (semaines?), orx est en version alpha. C'est à dire qu'il est utilisable mais ne comporte pas toutes les fonctionnalités qui ont été planifiées au départ. On peut donc déjà s'en servir, mais il est loin d'être accessible au grand public. Il n'y a pas de dates pour la version 1.0, car il reste encore pas mal de travail, je suis actuellement seul sur son développement, et je compte me concentrer seulement sur les fonctionnalités dont j'ai besoin pour développer de petits jeux indie avec d'autres partenaires.
Il n'y a actuellement pas de binaires disponibles sur sourceforge, mais le code source l'est et compile sous linux et windows (gcc). Pour les amateurs de visual studio (2005 et plus récent, seulement!), il devrait compiler aussi, mais le fichier de projet n'est pas disponible car le système que l'on utilise pour le générer (bakefile) semble planter avec notre configuration, et je n'ai pas le temps de m'attarder sur ce point-là en ce moment.
Bientôt suivront quelques exemples (démos techniques, mini-jeu) pour mettre en avant quelques fonctionnalités qui devraient, je pense, en intéresser certains.
univers-game: voila c'est fini merci d'avoir répondu aux questions bonne chance et a bientôt
Merci à toi, en espérant que tout ceci soit lisible! ^^ Bonne continuation à toi et à ton site et encore merci de ton intérêt.
|