Fédéric Langlade et R.S. : Bonjour ! Nous sommes deux étudiants suivant un cursus d'informatique à l'université Montpellier 2. Dans le cadre des PPE, nous devons rendre un rapport concernant le développement de jeux vidéos, avec une petite spécialisation IA. Nous nous intéressons beaucoup aux jeux libres et Linéo est à nos yeux un excellent jeu de réflexion. Nous aimerions donc savoir si vous pouviez répondre aux quelques questions qui suivent:

1. Combien de temps vous a pris le développement de Linéo jusqu'à sa première version stable ?

Natsimhan : En fait, de nombreuses années :-) Mais simplement parce que j'ai testé sur différents langages, différentes approches, etc... C'est un projet que j'avais à coeur depuis longtemps. Quand j'ai trouvé enfin quel langage utiliser, la licence, les outils et la méthode à employer, il m'a fallu environ 10 mois entre les premières lignes de codes (j'avais la trame en tête depuis très longtemps) et la sortie officielle de la première release en octobre 2005.

F.L. & R.S. : 2. Quelles sont les langages de développement et librairies utilisés pour votre projet ?

N. : Linéo est développé en C++ et les librairies utilisées sont la célèbre SDL et ses "p'tits enfants" : SDL_image, SDL_net et SDL_mixer. Cette librairie performante nous ouvre les portes d'un logiciel multi-plateforme vu que Linéo a été porté assez facilement/rapidement sur le Nokia 770 par exemple. Côté serveur, j'ai fait ça en PHP par requête HTTP, c'était pour moi le moyen le plus simple et rapide pour communiquer avec la BDD de mon forum. Un compte sur ce dernier étant nécessaire pour jouer en ligne.

F.L. & R.S. : 3. Utilisez vous des logiciels non libres dans le cadre de votre développement ? Quelle est votre politique vis à vis du libre ?

N. : Non libre ? Ça existe ?!? ;-)
À part l'OS, je n'utilisais que des logiciels libres. Et depuis 1 an et demi, je ne travaille que sous Linux (Ubuntu) dans un environnement 100 % libre.
Ma politique est simple, "du libre pour du libre" ! Mon jeu est sous GPL, alors tous les logiciels que j'utilise doivent être libres. Actuellement pour Linéo sont utilisés les logiciels suivants : Code::Blocks, GCC, The Gimp, Blender, Subversion, Trac, OpenOffice.org et j'en oublie sûrement. Et puis avec le libre on travaille dans un environnement sûr qui évolue rapidement.

Pour les musiques c'est Aurélien Merle qui s'en occupe et je ne sais pas quels logiciels il utilise, sûrement des outils pros, libres ou non. Mais le format final des musiques est OGG !

F.L. & R.S. : 4. Pensez vous que le développement open-source est un bon tremplin pour faire du jeu vidéo son métier ?

N. : Question difficile, d'autant plus que je n'en fais pas mon métier. Une chose est sûre, la notoriété de Linéo, aussi menue soit-elle m'a précédée plus d'une fois dans ma recherche d'emploi et m'a ouvert bien des portes.
En tant que gérant d'une société aujourd'hui, je suis personnellement d'autant plus sensible et intéressé par un candidat qui a développé des choses en dehors de ses études ou emplois que celui qui m'étale des expériences professionnelles ou des grandes écoles.
Le développement open-source est pour moi le meilleur moyen et le plus judicieux quand on veut développer sur son temps libre, quand on fait de la programmation son hobby. Et puis le choix du open source, tout est open, et on se retrouve à nu devant un employeur s'il prend le temps de regarder ce qu'on a fait. C'est tout de suite concret, Internet aidant.

F.L. & R.S. : 5. Combien de temps par semaine consacrez vous environ à linéo ?

N. : Actuellement, peu, beaucoup trop peu. L'année 2007 fut professionnellement l'année du changement et me laisse peu de temps libre. La nouvelle version de Linéo est presque terminée avec plein de nouveautés et je manque de temps pour y mettre les dernières touches.
En 2005 et 2006 je passais en moyenne 1 à 2 h par jour dans la semaine, plus le week-end, je devais tourner à 15h de moyenne par semaine. Étant plutôt insomniaque j'y passais mes nuits, travaillant le jour. Et puis pendant presque 1 an, à cheval sur 2005-2006 j'ai un ami, Pierre-Yves Bonnefoy qui m'a bien aidé côté dev, et les choses avançaient vite à une époque. Quand on est plusieurs on est également plus motivé.

F.L. & R.S. : Questions axées IA:

1. Le développement IA prend il une part importante de votre projet ?

N. : Je dirais qu'il prend une part importante au moment où il faut le faire, puis au moment où les utilisateurs le critiquent trop. J'aimerais y passer plus de temps, car une bonne IA fait un bon jeu d'après moi. Mais on a souvent tendance à se laisser envahir par les priorités esthétiques ou fonctionnelles... à tort !

F.L. & R.S. : 2. Utilisez vous des algorithmes d'IA déja développés ou les faites vous vous même ?

N. : Je suis passé par différentes étapes... Linéo étant un jeu relativement très simple, j'ai même tenté un arbre des possibilité totales. Seulement, les extrémités, que l'on rencontre à la première pièce offre trop de possibilités pour que ce soit raisonnable, mais avec des tableaux peut-être... Sinon j'ai essayé les méthodes classiques des jeux d'échecs (min-max, alpha-bêta...). Mais je n'étais pas satisfait. Alors j'ai simplement écrit mon propre algorithme calqué sur ma façon de jouer, la rapidité du processeur aidant, je me fais battre tout le temps, et comme personne ne m'a encore déclaré gagner à tout les coups en mode ImPoSsIbLe, je pense que pour ce qui est de la difficulté, pour l'instant c'est réussi. Mais ce n'est malheureusement pas le seul critère à prendre en compte, un ami me reproche sans cesse que l'IA fait des coups bas, à la limite de l'anti-jeu et du coup, lui il n'éprouve aucun plaisir à jouer contre elle... le pari n'est pas encore réussi !

F.L. & R.S. : 3. Pensez vous que le développement d'un IA qui apprend puisse être intéressant dans le cadre du jeu de réflexion ?

N. : Et bien j'ai essayé en m'amusant notamment avec les réseaux neuronaux, mais je manquais d'expérience et de temps... Et puis le problème des IA qui apprennent c'est de bien définir les règles pour les éduquer. Je ne pense pas que simplement juger l'enchaînement des coups amenant à gagner soit suffisant. Et puis pour des jeux de plateau/réflexion comme Linéo, qui est similaire aux échecs, dames, reversi, ... les arbres de possibilité me paraissent tout de même la meilleure option, qui a fait ses preuves. Mais je ne suis pas un as sur le sujet, loin de là, et ouvert à toute discussion ;-)

F.L. & R.S. : Voila, merci de votre aide :)

N. : Et bien de rien, ce fut un plaisir de répondre à vos questions, ça permet en plus de s'en poser à soi-même ^^

+++ Natsimhan Jonathan BURON

P.S : Pour rappel ou les ermites et autre technophobes qui ne connaissent pas encore Linéo, rdv sur la page de présentation de Linéo