mardi 13 février 2007

Renouveau du FPS ? (First Person Shooter)

Ce billet présente un projet d'esieaLabs de création automatique de map (terrain) pour un type particulier de jeu-vidéo, le FPS. Je pense que ce type de fonctionnalités permettra réellement d'avoir un nouveau type de gameplay...

Vous avez déjà probablement déjà joué à un FPS , c'est très distrayant, parfois un peu bourrin, c'est vrai, mais ce genre de jeux sert à se défouler... Le must étant de jouer en réseau, sur le net ou en LAN. Depuis un moment déjà des tentatives très intéressantes on visé à rendre ce type de jeux un peu plus subtil : les FPS tactiques. L'idée est d'ajouter des composantes tactiques et pousser les joueurs à un jeux d'équipe. C'est plus complexe et plus riche en gameplay donc plus intéressant. Tremulous est un de ces jeux (il s'agit d'un logiciel libre), vous trouverez ici une description du gameplay.

Malgré les tentatives d'innover dans ce type de jeux, il reste un point noir important qui gâche beaucoup du plaisir de ces jeux : le nombre limité de maps. Ces maps sont souvent livrées avec le jeux. Souvent l'éditeur du jeux distribue ou vend des maps supplémentaires (pour prolonger l'intérêt du jeux, et aussi ses ventes...). Parfois encore des joueurs créent leur propres maps (grâce à des logiciels comme gtkRadiant) et les diffusent pour le plus grand bonheurs de tous. En pratique faire une map est une tâche longue et complexe donc le nombre de nouvelles maps reste très faible par rapport aux nombre d'heure qu'un bon joueur passe à jouer. Il en résulte que dans une partie, en général, tout le monde connaît la map par coeur, et plus encore tout le monde connaît les stratégies gagnantes par coeur. Au final cela devient aussi peu intéressant que de jouer au morpion. Ce jeu perd rapidement son intérêt quand on a compris qu'il existe une stratégie gagnante à tous les coups (pour celui qui commence la partie en premier). De plus ce phénomène a un autre effet pervers : les joueurs les plus assidus (pas forcement les meilleurs) connaissent mieux les maps et donc ont un avantage certain. Il n'y a donc pas besoin d'être bon joueur pour gagner, être un joueur fréquent suffit, autant dire que cela agace fortement les bons joueurs qui n'ont pas le temps de jouer aussi souvent qu'ils le voudraient...

Un moyen de contrecarrer ce phénomène serait d'avoir un générateur automatique de map : un programme qui génère des terrains de jeux. Comme cela on pourrait avoir une très grande quantité de maps ce qui rendrait impossible de les connaître toutes par coeur, ou tout simplement de générer la map juste avant la partie comme ça on est assuré que personne ne la connaît. On peut alors imaginer que chaque nouvelle partie se fait sur une nouvelle map. Le FPS stratégique devient alors aussi un jeu d' « aventure/d'exploration ». Cela renforce le coté stratégique, il faut à la fois découvrir le terrain , en déduire les stratégies possibles, tout en se protégeant des ennemis qui essayent de faire de même. Les joueurs fréquents ne seront plus avantagés, seul une bonne méta-stratégie et un bon jeux d'équipe peuvent amener à la victoire.

On peut même imaginer un nouveau type de compétition en LAN : des parties sur des maps inconnues de tous. Je pense que cela change énormément la donne, et les champions de cette nouvelle discipline devront avoir de bonnes méta-stratégies, jouer souvent ne sera pas suffisant pour s'assurer la victoire dans ce type de compétitions.

Un tel projet de génération automatique de map est en cours à esieaLabs. Le jeux choisit est Tremulous parce qu'il s'agit d'un logiciel libre (cela implique que les format de map sont eux aussi libre) et que ce jeux inclus déjà des notions stratégiques. La difficulté est évidement de construire des maps jouables, pour cela on utilise des générateurs de terrain du type de ceux utilisé dans Terragen. L'objectif de n'est pas de faire du photo réalisme, l'objectif ici est de faire des maps intéressantes à jouer , pour cela on va rechercher des paramètres adéquats à mettre dans les algorithmes de génération de terrain qui amènent à un jeux intéressant. Une autre stratégies possible est de générer une série de maps et de sélectionner celles ayant des caractéristiques indiquant qu'elle seront intéressantes à jouer. Ces caractéristiques seront peut-être difficile à exprimer mais dans la mesure ou les développeurs de ce projet sont aussi des joueurs, j'ai bon espoir d'arriver à un résultat intéressant.


Nous comptons aussi avoir une aide de la part des joueurs : lors de la LAN jeudi 15 février, il y aura un serveur pour Tremulous, donc si vous l'installez sur votre machine (il existe sous linux et windows) vous pourrez tester les maps proposées et nous donner votre avis. Biensur ces maps ne seront pas très jolies, le coté esthétique sera traité plus tard, l'objectif est d'abord de voir si on peut générer automatiquement des maps dont la structure amène à des parties intéressantes. On verra ensuite comment les rendre plus jolies, nous avons déjà quelques idées...
Voici quelques screenshots montrant différentes étapes de la construction d'une telle map:
  • Construction avec un algorithme simple de génération de terrain (visualisation du résultat dans gtkRadiant le logiciel d'édition de map.)
  • Simulation d'érosion pour rendre le visuel du terrain plus réaliste.
  • Intégration du terrain et de la skybox dans le moteur du jeux.
  • Voici le rendu « final » du moment, il est évidemment prévu d'ajouter plein de choses pour rendre ce paysage moins désertique. Si vous faites de la 3D, vos compétences nous intéressent n'hésitez pas à nous contacter. Même si ce n'est pas très joli pour le moment, la structure du terrain est là et c'est ce qui va influer principalement le gameplay, on pourra donc avoir une première idée de ce que cela donne en partie lors de la LAN de jeudi.
De mon point de vu de joueur de niveau moyen, je pense que cela sera très intéressant et peut faire une nouvelle mode pour ce type de jeux. Je suis sûr que parmi vous certains ont un très bon niveau de jeux et une grande expérience des FPS, j'aimerai avoir votre avis sur ce projet et sur ce qu'il peut apporter à ce type de jeux.

jeudi 1 février 2007

Loi de Moore / Loi de « Lourd » ... match nul ...

Le logiciel, une technologie qui régresse ... !?
Préambule important : je parle ici de la technique informatique, c'est à dire ce que nous avons sur nos bureaux actuellement, pas de la science informatique qui elle non seulement fait des progrès phénoménaux mais en plus crée des ponts vers à d'autres sciences fondamentales comme la biologie, la physique quantique, la sociologie, etc... C'est justement cet écart que je veux montrer ici et essayer d'en trouver les raisons...

Cette réflexion est partie d'un souvenir de galère quand j'éditais mon rapport de stage ingénieur en 1995, sur un PC sous Windows avec Word ... Le document commençait à dépasser une soixantaine de page avec quelques images et schémas, et l'édition devenait extrêmement difficile car le programme plantait régulièrement , la mise en page était hasardeuse et chaque sauvegarde était suffisamment longue pour être gênante... Ce souvenir m'est revenu à l'esprit très récemment en éditant mon support de cours du deuxième semestre, qui comporte environ une soixantaine de pages avec quelques schémas et images... L'édition est difficile, car des bugs rendent la mise en page passablement aléatoire , et la sauvegarde est péniblement longue ...

Pourtant plus de 10 ans séparent ces 2 situations très similaires, 10 ans de développement, 10 d'évolution. La loi de Moore sur cette période stipule que l'électronique va normalement 64 à 128 fois plus vite. Cette loi est une réalité, l'ordinateur que j'utilise est facilement 64 fois plus rapide que celui que j'utilisais en 1995, ou plutôt l' électronique va 64 fois plus vite, mais le couple électronique et logiciel qui constitue l'ordinateur, va finalement à peu près à la même vitesse qu'il y a dix ans. En terme de fonctionnalités je n'ai rien de plus (dont j'ai besoin pour éditer un document) : du texte des image, des figures, un sommaire, et une mise en page automatique.

Il y a un statu quo fonctionnel sur les 10 dernières années, alors que la loi de Moore exprime un progrès fulgurant de l'électronique. Cela veux bien dire que l'évolution logiciel à « absorbé » les progrès de l'électronique.

Dit autrement , si on avait figé tout le logiciel en 1995 on aurait la même situation qu'actuellement, mais au moins, ça tournerait 10 fois plus vite. C'est bien le signe que l'évolution logicielle, du point de vue fonctionnel, régresse, car on on aurait une situation plus confortable si le logiciel avait été figé. L'évolution logicielle de ces 10 dernières années est donc facteur de régression pour l'informatique pratique.

Si on voulait comparer cela à l'industrie automobile c'est comme si on avait actuellement des véhicules qui n'avaient pas évolué depuis plus de 10 ans. Ou plutôt seules leur esthétique et l'ergonomie du tableau de bord auraient changé. Donc on enlève les air bags, les ABS et ils consommeraient et pollueraient bien plus. Si on ajoute à cela l'émergence des virus, vers, spam , spyware, troyens, et autres, ont peut se dire qu'en plus ils seraient plus dangereux à utiliser....

Cela me semble suffisamment important pour y attacher un nom. Voici ma proposition :
  • Loi de Moore : tous les 18mois l'électronique double sa vitesse de fonctionnement (et approximativement au même prix).
  • Loi de « Lourd »: tous les 18mois le logiciel est deux fois plus lourd/volumineux et mal écrit ce qui amène à un doublement du temps d'exécution (sur une même machine).
  • Match nul : le bilan de ces deux lois font que la productivité informatique stagne.

J'ai bien conscience que cette réflexion est assez sombre et pessimiste, il faut quand même tenir compte d'un certain nombre de progrès indéniables.
  • Les technologies P2P : c'est indéniable c'est une belle technologie mais qui en pratique est actuellement déconnecté de toute augmentation de productivité professionnelle. De plus cela a amené à l'augmentation des DRM qui en pratique sont une perte de liberté pour le consommateur. Donc je ne pense pas qu'on puisse décider aujourd'hui si l'impact du P2P est quelque chose de globalement positif ou négatif...
  • Les logiciels libres : C'est un progrès fantastique, mais c'est un progrès de modèle économique, ce n'est pas un progrès technique même si cela amène théoriquement à un progrès technique par l'ouverture du code (les logiciels libres sont réputés plus stable que les logiciels propriétaires). Pour la petite histoire le logiciel d'édition de texte qui m'a fait suer sur mon support de cours est open office . Il s'agit d'un est un logiciel libre en version 2.1 (donc théoriquement très loin d'une version béta).
  • Les grilles de calcul ou grid permettent de fédérer des ordinateurs hétérogènes pour en cumuler leur puissance de calcul, progrès technique et scientifique évident. Mais qui en pratique ne profite pas à l'utilisateur standard de l'informatique, mais plus aux scientifiques, et à quelques rares grandes entreprises.
  • Les progrès en simulation numérique (construction automobile, aéronautique ou même nucléaire, ...) , sont eux aussi notables même si ils sont en bonne partie dus au progrès en électronique, le logiciel à quand même évolué mais en pratique le nombre d'industries impactées par ce progrès est relativement limité.
  • Les progrès des jeux vidéo sont eux tout à fait exceptionnel. Il sont pourtant bien plus complexe qu'un traitement de texte, mais bien plus stable et plus innovant... C'est notable et très intéressant. On y reviendra dans la suite de ce billet. Il quand même décevant de se dire que le principal progrès de ces 10 dernières années en informatique visant le grand public se situe (uniquement ?) dans le jeu vidéo.
Pour revenir à mes galères d'édition, les puristes me diront d'utiliser LaTeX pour créer un document. Ce logiciel est plus un compilateur/processeur de texte qu'un éditeur de document de type word ou open office... Ce logiciel existe depuis 1985, il ne s'agit donc en aucun cas d'un progrès récent. Ce logiciel à évidement évolué depuis, mais il est loin d'être utilisable par les utilisateurs classiques de l'informatique (même « l'utilisateur 2.0 » ne s'y risque pas ;-)). Il est quand même extrêmement décevant de se dire que en 2007 il n'existe pas de logiciels wysiwyg (ce que LaTeX n'est pas) fonctionnels pour l'édition de documents. Fonctionnel voulant dire , pour moi , être capable d'éditer un document de plus de 60 pages avec quelques figures et images et un sommaire automatique, le tout devant permettre une interaction sans délais... Ce qui me semble assez raisonnable comme exigence en 2007, mais qui pourtant n'existe pas de nos jours.
[billet à suivre... on parlera des hypothèse pouvant expliquer la loi de « lourd » ainsi que son évolution futur...]