D'autres fréquentations

Non pourtant que ces pages ne soient plus assez d’espace pour permettre de déverser le flot de sujets dont me vient le besoin irrépressible d’écrire, mais je partage depuis peu ma prose avec un autre site. Il y a bientôt deux ans, j’ai suivi LLB dans la création du groupe de demo Ctrl-Alt-Test. Et parce que nous sommes un groupe qui a besoin d’attirer un maximum d’attention sur lui afin de pouvoir tester la notion de popularité, nous nous sommes naturellement dotés d’un site web.

J’ai récemment profité de cet espace pour rapporter mes impressions de la demoparty the Ultimate Meeting, puis pour m’essayer à la rédaction d’un article technique, en l’occurrence sur une méthode de rendu de flou de mouvement. Étant donnée mon activité, et mon intérêt pour celle-ci, il me semblait naturel d’écrire tôt ou tard ce type d’article, mais ce blog  paraissait peu approprié du fait de son ton habituel. Le site d’un groupe de démo apparaît au contraire tout désigné, d’autant plus que la réalisation de démos est un fantastique moyen d’expérimenter tant techniquement que artistiquement.

La demoscene étant une communauté sinon internationale, au moins largement européenne, la langue qui s’impose est l’anglais. Si cette langue n’est pas une barrière et que ce sujet plus restreint vous intéresse, je vous invite donc à suivre cet autre site.

Ctrl-Alt-Test.fr

Vous y trouverez aussi nos réalisations, qui sont encore peu nombreuses, mais je l’espère vous plairont.

Joel Spolsky

Je réalise qu’il y a deux catégories de programmeurs, et je ne parle pas de ceux qui ont un pistolet chargé par opposition à ceux qui creusent. Parmi toutes les classifications possibles des programmeurs, il semble qu’il y a ceux qui savent qui est Joel Spolsky, et les autres. C’est essentiellement à ces derniers que s’adresse ce billet. C’est aussi une tentative de ma part d’écrire quelque chose de longueur modérée, plutôt que d’avoir un article trop long tous les trop longtemps.

C’est dans la société où je travaillais il y a quelques années que j’ai découvert ce nom, et à peu près tout le monde connaissait. Il m’est arrivé au contraire à plusieurs reprises de me rendre compte en en parlant avec un groupe d’amis qu’aucun d’eux ne connaissait. Pourtant je suis à peu près certain que la plupart connaissent le site Stack Overflow, dont Joel Spolsky est le cofondateur. Finalement cela m’a donné l’impression que soit les gens connaissent, évidemment, et font des yeux ronds lorsque l’on pose la question, soit ils n’en ont jamais entendu parlé, et font des yeux ronds lorsque l’on pose la question.

Couverture de Joel on SoftwareJoel Spolsky est un programmeur célèbre pour avoir tenu un blog relatant son expérience et exprimant ses convictions sur différents thèmes gravitant autour du développement logiciel : JoelOnSoftware. Avec le succès de ses articles, un premier recueil des plus populaires d’entre eux a été imprimé sous forme de livre, Joel on Software, puis un second, More Joel on Software. Il y a également le livre Smart and Get Things Done sur le thème plus restreint du recrutement, toujours dans le développement logiciel, et un dernier que je n’ai pas lu.

Derrière la couverture austère du premier livre, qui pourrait laisser présager de soporifiques considérations de génie logiciel, se cache un contenu pragmatique, très enrichissant et rédigé dans style accessible. La nature de recueil d’articles en particulier rend la lecture aisée. Certains enfoncent des portes ouvertes avec l’encadrement et même un peu du mur, d’autres semblent exagérés ou de second degré, et l’on n’est pas forcément d’accord avec tout. Mais le propos, présentant les convictions (souvent extrêmes) de l’auteur, ainsi que de nombreuses anecdotes (notamment son expérience au cœur de l’équipe Excel à Microsoft), reste néanmoins d’une grande pertinence de bout en bout, et le ton sait rendre la lecture agréable.

En un mot comme en cent : lisez-le.

nd on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether

L'écran du programmeur

Il ne faut à mon avis jamais négliger l’importance d’un bon écran pour un programmeur. C’est le genre d’affirmation qui aura sans doute un goût d’évidence pour beaucoup de personnes dans l’informatique, peut-être moins pour les autres, mais il semble en tout cas que c’est le genre de règle que personne ou presque ne suit. Combien d’entreprises estiment qu’un écran d’entrée de gamme, qu’un 19″ est suffisant pour n’importe quel développeur ? Depuis que j’ai eu la chance de travailler avec un écran de 24″ au bureau, ce qui pourrait passer pour un luxe me semble aujourd’hui le minimum acceptable, et un critère dans l’évaluation du sérieux d’une entreprise.

Si vous êtes un bricoleur du dimanche, lorsque vous avez besoin d’outillage, il est vraisemblable que l’entrée de gamme soit suffisante, et même adaptée. Pour un professionnel tel qu’un électricien ou un plombier, ce matériel est son outil de travail : il est impensable d’utiliser de l’entrée de gamme, il lui faut du matériel de pro, celui qui est solide, de qualité et en conséquence, cher. Il lui faut le haut du rayon. Toute autre gamme sera inadaptée, car ces outils ne lui permettront pas de travailler correctement.

Il en va de même pour un programmeur. Son écran est son outil de travail. Le programmeur n’est certes pas un professionnel de l’image et n’a donc pas besoin d’un écran à 2500€ avec un rendu de couleurs qui tient compte du temps de chauffe. Mais un 19″ n’est pas suffisant pour autant. Qu’une entreprise fasse travailler ses développeurs avec quoi que ce soit de moins de 22″ est même très révélateur : c’est considérer qu’ils peuvent se contenter d’outils de bricoleur du dimanche.

Pourquoi cela, pourquoi ce parallèle avec la plomberie ? Un écran est un écran, et on n’use pas un écran comme on use un tournevis ou un coupe-tuyau. Serait-ce un simple caprice consistant à estimer que la taille et le prix de la machine doivent être à la mesure de son égo ? Évidemment pas, d’autant que vu à quel point les écrans de très bonne qualité sont devenus abordables, il en faudrait plus pour flatter l’ego d’un programmeur. :-)

Tout d’abord un écran plus grand permet d’afficher plus grand : cela signifie moins de fatigue oculaire et donc une plus grande capacité de travail. Comme dans beaucoup de métiers (malheureusement serais-je tenté d’ajouter) un programmeur passe la journée devant un écran, à réaliser des tâches qui demandent une forte concentration. Réduire toute source de fatigue périphérique permet de mieux se focaliser sur sa tache.

Ensuite un écran plus grand permet d’afficher simultanément plus de choses, notamment plus d’applications. Un programmeur passe typiquement sa journée à manipuler un nombre élevé d’entre elles: son éditeur, le programme qu’il est en train de développer, la sortie ou les logs du programme, l’outil de debug, le terminal (quand ce n’est pas une demi douzaine d’instances de ce dernier), l’explorateur de fichiers, la documentation, le navigateur web… Il ne travaille bien entendu pas avec tous en même temps, ce qui serait d’ailleurs contre productif étant donné que l’on se concentre mieux sur une chose à la fois, mais couramment avec deux ou trois en parallèle. Suivre à la fois éditeur, programme, sortie et debug est classique par exemple. Plus l’écran est grand, plus il permet de mettre ces applications côte à côte et moins il est nécessaire de jongler entre les fenêtres de ces programmes.

Enfin un écran plus grand permet d’afficher plus de texte. Parmi tous l’éditeur est sans doute l’outil que le programmeur utilise le plus, puisque son travail consiste en résumé à y écrire, mais aussi lire, du code. Bien qu’il soit de bonne pratique de travailler sur du code concis – fonctions courtes, fichiers courts – il n’est pas rare de travailler sur des fichiers de quelques centaines de lignes. Un tel fichier ne peut être affiché dans son intégralité, et ce serait vain du fait de la quantité trop importante d’informations assenée. Afficher une partie conséquente du fichier permet néanmoins de donner du contexte visuel facilitant la localisation d’éléments et d’éviter de devoir défiler en permanence. De plus quelque soit le projet, pour une tâche donnée, il est courant de devoir manipuler simultanément au moins deux et souvent trois fichiers différents, quand ce n’est pas beaucoup plus. Avec un grand écran il est possible d’afficher simultanément plusieurs fichiers tout en gardant ce contexte visuel. Il n’est alors plus nécessaire de jongler entre ces fichiers à chaque fois que l’on cherche une information, mais simplement de déplacer le regard.

Même le plus doué des jongleurs de raccourcis clavier avec une configuration de gestionnaire de fenêtre soignée aux petits oignons ne tient pas la comparaison en terme de vitesse face à quelqu’un à qui il suffit de déplacer le regard.

En conclusion le coût d’un écran de taille décente, ou même de plusieurs d’entre eux, est vraiment risible devant le gain en productivité pour un programmeur qui doit passer l’essentiel de son temps dessus. Si vous n’êtes pas convaincu, je vous invite à lire d’autres arguments et exemples qui me donnent même l’impression d’être encore très modéré.

Une analyse de Mirror's Edge

Introduction

À l’occasion d’une promotion j’ai récemment acheté le jeu réalisé par DICE (studio suédois notamment connu pour la série des Battlefield) : Mirror’s Edge. Séduit dès le premier niveau, je l’avais recommandé à un groupe d’amis en détaillant plusieurs points qui m’avaient marqué. L’échange de mails ayant suivi avait permis de mettre le doigt sur d’autres qualités ainsi que sur des défauts. C’est ce que cet article présente.

Mirror’s Edge, j’en avais entendu parler quand il était sorti. Le character design, avec pour personnage principal une jeun femme de type eurasiatique portant des tatouages remarquablement obscurs, m’avait semblé commercial à souhaits et je n’avais pas tellement prêté attention au gameplay, le laissant au stade de pourquoi pas ». L’affiche du jeu ne m’avait d’ailleurs pas attiré, au contraire presque. Mais en voyant quelques vidéos plusieurs mois plus tard, quelque chose avait aussitôt retenu mon attention : l’atmosphère visuelle. Ces images m’ont rappelé ce que j’ai pu ressentir devant le paysage urbain en plein Tokyo : le soleil, les vitres et l’acier, les volumes, la sensation à la fois d’espace et d’horizon chargé, les grues, les câbles… Cela m’a donné l’envie de tester le jeu un jour. Ce que j’ai donc finalement pu faire récemment.

Le principe de Mirror’s Edge est le suivant : on contrôle un personnage en point de vue subjectif, un coursier clandestin dans une hypothétique ville sous régime autoritaire, et l’on doit jouer le yamakazi pour atteindre un point donné dans ce paysage urbain.

Sur l’aspect visuel

Le point qui me semble le plus remarquable dans ce jeu, et ce d’autant plus du fait de mon intérêt pour ce domaine, est son aspect visuel, qui est impressionnant. Pas tant au sens technique qu’aux sens esthétique et émotionnel. C’est soigné, les couleurs sont travaillées, les immeubles ont des tons dorés par la lumière, la ville est à perte de vue, les perspectives sont exploitées pour donner des impressions de vertige, les cascades sont épiques.

Il y a une foule de détails qui viennent rendre l’environnement très réaliste. Le ciel est d’un bleu profond de tempête de beau temps avec un horizon un peu chargé de cet air de ville, tandis que des vapeurs évanescentes, très crédibles, sont dégagées par certaines cheminées. L’on regarde vers le haut et l’on voit passer un avion de ligne laissant une traînée dans le ciel. L’on regarde en bas et l’on aperçoit des voitures et des piétons (ils ont du glissement dans l’animation de marche, mais ce n’est pas dramatique). Quelques rues plus loin un groupe d’oiseaux s’envole…

La séquence d’intro de l’histoire commence par un petit parcours depuis une hauteur, tandis que l’on voit des crédits alignés sur les bâtiments et rappelant fortement la demo de Farbrausch, fr-041 Debris. Et puis ça court le long de corniches, ça dévale d’improbables pentes, ça regarde en contrebas le trafic, ça saute pour atteindre une grue d’un bâtiment en face tandis que le thème musical démarre, parfaitement synchronisé avec la réception du saut…

L’image est prenante, c’est spectaculaire. C’est d’ailleurs l’un des points très positifs du jeu : être accueilli dès le début par une scène soignée de la sorte est vraiment appréciable. Symétriquement, la scène de fin du jeu est également très bien réalisée, quoiqu’usant un peu de facilité.

La couleur

Le jeu a une identité graphique forte avec une symbolique basée sur la couleur. Le décor est dans son ensemble atone : sol, mur, objets divers, et même plantes et arbres sont blancs. Ce blanc plâtreux épuré, tout en renvoyant à l’idée de perfection de la ville, renforce la sensation de beau temps (lorsqu’il fait beau et lumineux, on perçoit moins bien les couleurs en ville). C’est également un moyen de diminuer la charge visuelle, facilitant ainsi la compréhension de l’environnement.

Les lieux avec lesquels on est amené à interagir sont au contraire caractérisés par une couleur spécifique, appuyée et uniformément partagée par les éléments de l’endroit : murs, mobilier, moquette, drapeaux, stores… Les tons sont alors vifs et chatoyants, contrastant avec le blanc de craie de la ville : vert, bleu, orange, jaune, rouge… Je cherche encore à comprendre le sens des ces teintes. J’ai l’impression qu’elles sont simplement alternées, mais je ne serais pas surpris qu’il y ait une symbolique. Enfin pour ponctuer cette identité visuelle, le rouge est un indicateur du chemin à suivre : une porte à ouvrir, une rampe depuis laquelle sauter, une barre à laquelle s’accrocher, une caisse sur laquelle prendre appui… Un élément neutre devient rouge lorsque l’on s’en approche. Ce côté dynamique peut donner une impression de guidage appuyé. Cependant ces indicateurs ne sont que des indices et il y a la plupart du temps des chemins différents qui restent possibles. Si tout ce qui peut être utilisé avait été statiquement en rouge, la surcharge visuelle aurait vraisemblablement rendu la chose sans intérêt. Au final je pense que le compromis est correct.

À noter que l’objectif final est souvent rouge également. Cette couleur a donc une certaine signification, qui va au delà du simple indice. Il y a d’ailleurs une référence dans l’un des messages de propagande sécuritaire de l’univers du jeu, expliquant que les coursiers ont une préférence pour cette couleur.

Au final cette ambiance visuelle est faite de décors blancs ponctués d’éléments vifs, baignant dans la lumière sous un grand Soleil : c’est rafraichissant, personnellement j’aime beaucoup. Tous ces jeux qui se déroulent dans le noir me soûlent. Là il fait beau, le ciel est magnifique, les couleurs sont marquées… C’est vraiment chouette.

La lumière

La lumière est quant à elle très belle. Comme je le disais, les immeubles ont vraiment l’air d’être éclairés par le Soleil. Mais ça va plus loin que ça : d’une façon générale, les shaders sont d’une très grande qualité, le décor bénéficie de la touche irremplaçable d’une illumination globale, et les techniques de rendu sont maîtrisées et très bien dosées. Les tours ont l’air de tours, les canalisations ont l’air de canalisations, les parpaings peints grossièrement ont l’air de parpaings peints grossièrement, le sol en béton a l’air de sol en béton…

Certains bâtiments ont des échafaudages (classique) dont certains avec des bâches… qui ondulent avec le vent ! Bon, ce n’est qu’une animation de la texture de normal map, mais c’est vraiment bien fait : ça rend parfaitement la bâche et son reflet changeant au rythme du vent (je soupçonnais qu’en activant PhysX c’était le genre de détail qui devenait encore plus réaliste : on m’a confirmé que les bâches se déchiquetaient même avec les tirs, mais je n’ai malheureusement pas encore eu l’occasion de le voir, faute de matériel compatible).

Bref, c’est vraiment du beau boulot.

Par contre la lumière, c’est du HDR (High Dynamic Range). Avec les avantages et les inconvénients que ça implique. C’est mieux fait dans l’ensemble que dans Half-Life 2, où ça avait tendance à saturer les couleurs et à rendre moins joli (je trouve), et ça rend bien l’impression d’extérieur très lumineux. On regarde une façade éclairée en sortant d’une zone un peu ombrée : c’est tout blanc et ça se précise petit à petit. On retourne à l’ombre : on y voit mais c’est très sombre, et puis ça s’adapte. Le souci est que parfois c’est trop lent, ce qui peut poser un problème notamment dans les courses contre la montre. Le reste du temps ce n’est pas trop gênant (à noter que le HDR se règle mal au respawn).

L’étendue du terrain

Les niveaux sont plutôt grands et on a au premier abord une impression de liberté, même si on comprend vite quelles sont les limites. Inutile d’espérer trouver un chemin pour descendre depuis le vingtième étage jusque dans la rue si le niveau est censé se passer sur les toits. D’un bâtiment, on ne verra donc que le toit ou quelques étages, et on joue généralement entre une demi douzaine de bâtiments tout au plus, mais on garde l’impression d’être dans une ville, et une grande, pas un bout de terrain dans une skybox. La qualité des textures sur les bâtiments auxquels on n’a pas accès se dégrade rapidement avec la distance, mais ça passe étonnamment bien.

L’écran d’accueil du jeu montre une grande métropole développée autour d’une baie, dans un rendu complètement épuré : formes relativement basiques, pas de texturage albédo, juste un bel éclairage global, ce qui là aussi ça rend très bien d’ailleurs. Si chaque niveau est une zone bien délimitée, manifestement ils ont poussé le vice jusqu’à imaginer vraiment cette ville complète et situer ces niveaux en des points de cette ville, ou prend alors place l’action.

La vue subjective

L’image est en vue subjective et contrairement à Half-Life on voit son propre corps : bras, mais aussi jambes. En voyant les vidéos, je craignais que cela ne passe pas. En pratique c’est très bien fait : on a vraiment l’impression que c’est soi. Plus remarquable, le jeu arrive très bien à nous faire prendre conscience de notre posture complète à tout instant. En cela il est particulièrement immersif.

Le personnage fait aussi parfois certains mouvements qui peuvent manquer de naturel, et qui servent à mon avis à donner un feedback, comme placer la main sur le mur dès que l’on en est suffisamment près. Au final cela renforce la compréhension que l’on a de sa situation.

Comme on voit ses propres pieds, il est tentant de se demander ce que ça donne en tournant sur place, simplement en regardant dans différentes directions. J’ai testé : ça ne glisse pas, elle (oui elle : notre personnage est une fille) replace ses pieds de façon assez correcte, même si on peut facilement lui faire placer un pied dans le vide.

Le côté immersif est poussé au niveau des mouvements de la tête également, lorsque l’on court ou pendant une roulade. Un bon compromis semble avoir été trouvé, alliant un certain réalisme, une augmentation de la prise de conscience de sa propre posture et l’absence de gêne visuelle entraînée par ces mouvements.

Le flou

Deux types de flou viennent achever le rendu : un flou de mouvement et un flou de profondeur de champ. Lorsque l’on court ou pendant les sauts, un léger effet de flou directionnel vient discrètement rendre les bords moins nets. Il n’est pas d’une grande qualité, puisque l’on peut distinguer sur une capture les différentes images qui le composent, mais ça pas un problème pendant le jeu. L’augmentation d’impression de vitesse est sensible et l’effet n’est pas intrusif.

Il y a donc d’autre part un flou de profondeur de champ qui s’adapte à ce que l’on voit. Je suppose que du point de vue du gameplay ça permet de ne pas surcharger le joueur d’informations, mais d’une part il n’est pas très joli (le flou est propre mais la transition net/flou est un peu cheap), et d’autre part je trouve la mise au point trop lente. Bon ça reste un problème esthétique : jusqu’ici ça ne m’a pas gêné. Mais il faut avouer que quand on grimpe une gouttière et qu’on ne voit pas au delà de 2m, c’est moche.

Les personnages

Malgré un niveau de détail élevé, les personnages sont assez laids et rendent moins bien que dans Half-Life 2, jeu pourtant plus ancien d’une génération et dont les modèles sont nettement moins détaillés. Mal coupés, des cheveux en plâtre, des ombres faisant tendre les couleurs vers des teintes peu naturelles, des limites entre meshes bien nettes et d’autant plus visibles que le texturage est insuffisant… C’est dommage, surtout que ça ne donne pas l’impression qu’ils ne pouvaient pas faire autrement. D’ailleurs, alors que visuellement l’ensemble est plutôt d’une grande qualité, on remarque que les textures pêchent par endroits. Il est possible aussi que ce soit en partie dû à ma carte graphique, mais un jeu devrait être beau même s’il ne dispose pas du meilleur matériel.

Le scénario

Les différents épisodes de l’histoire sont ponctués de cinématiques assez sympa. Alors que le jeu est plutôt dans le réalisme, en utilisant une symbolique bien intégrée, les séquences sont dans un style dessin animé, qui rappelle fortement Another World ou Flash Back. C’est inattendu mais bienvenu.

Malheureusement le scénario est à mon avis un des points faibles du jeu. Il y a certes une trame, mais la construction reste assez classique. C’est du scénario linéaire de jeu vidéo, dans lequel on ne se sent pas du tout impliqué : des séquences cinématiques, des révélations… et maintenant ? Maintenant tu cours.

La possibilité de faire des choix comme dans Deus Ex aurait pu être intéressante : aussi bien des choix de stratégie d’approche discrètement par le conduit d’aération, ou spectaculairement en traversant la baie vitrée), que des choix de scénario (deux objectifs, un seul réalisable). Cela dit la décision de ne pas donner cette dimension au jeu se justifie tout à fait.

Le jeu tente également de donner de la profondeur à son univers en disséminant des éléments de scénario et de contexte dans le décor, comme l’ont fait d’autres jeux. C’est limité le plus souvent à une affiche dans un ascenseur. Je trouve cela moyennement réussi : le résultat est un peu surfait.

Enfin, le bât blesse sur l’histoire même, qui nous amène à tuer des flics alors que l’on cherche à innocenter sa sœur accusée de meurtre. Cherchez l’erreur…

Le gameplay

Au premier abord le gameplay me semble plutôt bien réglé, avec une impression qu’il suffit d’appuyer sur la touche à tout faire et le jeu va comprendre selon la situation. Par contre il souffre d’une trop grande exigence au niveau de la synchronisation, un point sur lequel je vais revenir plus en détail.

Duck Hunt

Le principe du jeu est finalement un peu du genre Prince of Persia, mais en première personne et avec de la pression. Dans le vieux Prince of Persia, on avait une heure pour tout finir, mais une certaine tranquillité. Ici on est poursuivi par des flics qui tirent à vue, du coup on cavale en cherchant du regard sur quelle caisse on va pourvoir grimper. Côté cent à l’heure, c’est très réussi.

Pourtant ça reste surtout du cirque : on se fait canarder par une mitrailleuse à bord d’un hélicoptère sans se faire toucher ou presque. Par moments on sent même que l’on pourrait rester et faire une pause derrière un bloc de clim pendant que l’hélico s’excite. Les ennemis piétons sont plus agressifs : ils suivent tant qu’ils sont dans leur graphe. :) Pour se défendre on peut les fuir, les désarmer, les frapper, les pousser dans le vide quand la situation le permet ou les tuer avec des armes récupérées (ce n’est cependant pas un FPS à la Quake : le nombre de munitions n’est pas indiqué, et au bout d’un moment le flingue est vide et est jeté de côté).

C’est donc surtout une question d’ambiance : ça siffle, il y a des impacts, les carreaux volent… Parfois d’ailleurs les tirs guident en explosant une fenêtre, montrant la direction à prendre. Souvent on ne voit pas d’où viennent ces tirs et on se demande qui arrive à tirer jusque là, mais le jeu arrive très bien à ne pas donner envie de s’arrêter pour en avoir le cœur net. Malheureusement à force de se faire systématiquement tirer dessus à tous bouts de champ, il faut reconnaître c’est un peu lourd. Heureusement quand on se fait toucher, l’écran ne bouge pas trop, les couleurs sont juste désaturées. On n’a d’ailleurs pas de barre de vie : on se prend des balles, mais tant que c’est raisonnable :-) on n’y laisse pas sa peau.

Quelque chose que je trouve également dommage dans ce choix, c’est qu’alors que les décors sont magnifiques, on n’a pas le temps d’en profiter. Les game designers voulaient vraiment que l’on passe son temps à courir, éviter les tirs, dévaler les toits, enfoncer les portes (ces passages rendent très très bien d’ailleurs : on enfonce une porte, on court dans les corridors sans être sûr d’où on va… visuellement ça fait un peu film dont vous êtes le héros)… Or j’aurais bien aimé des passages plus calmes, plus graphiques, comme devoir faire une longue corniche et escalader tranquillement un truc pour faire une pause et apprécier le soin apporté à la ville.

Les poursuites

Une question qui m’a été posée par un ami était de savoir si le jeu présentait des scènes de poursuites, un classique dans les jeux que l’on pourrait qualifier « de franchissement ». Ce type d’épisode est en général efficace pour mettre de la pression, sans pour autant être pénible comme lorsqu’on se fait tirer dessus.

Il y a une première scène où l’on doit courir après un personnage en fuite. Malheureusement la qualité de la scène est gâchée par le fait qu’il attend lorsque l’on est en retard, faisant des signes de provocation pour que l’on voie bien par où il est passé.

Je crois qu’ils auraient pu le laisser courir au contraire et faire perdre quand on est trop distancé. Ça aurait posé le problème de l’apprentissage par cœur du parcours, mais ça aurait aussi été une excellente occasion de générer un chemin différent à chaque fois.

Il y a plus tard plusieurs scènes où interviennent des méchants capables de nous suivre, et l’on est alors obligé de fuir, seul contre plusieurs. Courant droit devant sans se retourner, il ne reste que les bruits pour évaluer à quel point on est talonné, ce qui est particulièrement immersif. Malheureusement si l’on est rattrapé, le résultat est décevant : on se prend des coups sans réel autre effet que de simplement perturber la progression. Il aurait peut-être mieux valu considérer qu’une fois rattrapé l’on était pris.

Die and retry

Un aspect particulièrement frustrant, et même pénible, de ce jeu est son aspect très « die & retry ». On meurt une fois, deux fois, trois fois, dix fois au même endroit, et puis ça passe. Je trouve que c’est un moyen très artificiel d’augmenter la durée de vie du jeu, puisque l’essentiel consiste alors à faire la même chute de dix étages ou se faire tuer par le même groupe de méchants encore et encore.

Il y a essentiellement trois raisons à ces morts à répétition :

  • Les acrobaties sont difficile à réaliser, notamment pour des raisons de timing. Je pense en particulier à une qui consiste à sauter contre un mur pour prendre appui et sauter dans la direction opposée : espace, A, espace… le timing est précis et j’échoue régulièrement la manœuvre ; de même il arrive fréquemment que sur un saut difficile, alors que j’ai l’impression de réaliser la même performance, d’obtenir des résultats très différents, depuis la chute comme une pierre, à l’arrivée confortable, en passant par le rattrapage du bout des doigts. Mon impression est que le problème vient du fait qu’un certain nombre de mouvements doivent se faire à des positions ou instants précis, alors que le champ visuel rend difficile l’appréciation.
  • On ne sait pas ce que l’on peut faire : dans Prince of Persia, premier du nom, on savait précisément ce que l’on pouvait atteindre et ce que l’on ne pouvait pas, et dans quelles conditions (saut arrêté, saut avec de l’élan, arrivée sur les pieds, arrivée accroché…). Ici on ne connaît pas les caractéristiques du personnage, qui de plus sont relativement hors normes. Par exemple on peut courir sur un mur mais sur une distance limitée. Moi je ne sais pas courir sur un mur en vrai, donc ma distance c’est zéro. Le personnage, j’ai réussi à lui faire enjamber des distances de plus de cinq mètres. Alors je ne sais jamais si ça va passer. Pire : je n’ai parfois même pas le réflexe. J’ai eu le même problème sur certains passages où des sauts à faire me semblaient irréalistes.
  • les combats sont difficiles, ce qui, dans la mesure où l’on sent très nettement que ce n’est pas le but du jeu, ne serait pas un problème s’il n’y avait pas des passages où l’on n’a pas le choix.

Il pourrait être tentant d’interpréter ces remarques par « le jeu est trop dur » et croire que la solution serait de le travestir en supprimant toute difficulté. Or ce n’est pas mon propos. Je n’ai rien contre les jeux allant loin dans la difficulté, au contraire même. Mais avoir un niveau élevé ne signifie pas avoir l’impression que le game designer a décidé : « ici, le joueur meurt ».

On peut ajouter que du point de vue de l’évaluation des obstacles, il manque à ce jeu un exercice visant à montrer au joueur ses limites, ou éventuellement un feedback visuel lui permettant de savoir si une acrobatie est faisable.

L’IA

L’IA est dans l’ensemble très simple, et navigue manifestement entre des waypoints. Il est facile de lui faire faire demi tour par exemple. C’est très suffisant la plupart du temps, mais ça montre ses limites dans certaines scènes.

L’action de viser semble reposer sur une astuce : les méchants nous visent en permanence à partir du moment où ils sont en mode méchant, et tirent lorsqu’on voit leur arme. Ça ne veut pas dire que si on tourne le dos à un ennemi il ne nous voit plus. Ça veut dire que si l’on voit ses jambes mais pas son buste à cause d’un obstacle et que, étant toujours tourné vers nous, il voit donc aussi nos jambes, il ne nous allume pas.

Mais si on se recule suffisamment pour voir son arme, il tire. C’est cheap quand on s’en rend compte, mais c’est astucieux du point de vue du calcul de vision des IA qui n’est plus à faire. Je suppose que ça a dû beaucoup simplifier.

Le son

Le son et la musique sont des aspects que connais peu, aussi je ne vais pas m’attarder, pour simplement me contenter de constater que l’ambiance sonore est crédible et vient parfaire l’ambiance visuelle, tandis que la musique est plutôt agréable.

À noter que le thème musical du jeu s’appelle Still Alive, mais n’a n’a strictement rien à voir avec un célèbre thème éponyme. ;-)

Conclusions

Pour sûr ce jeu est beau : en plus d’être réaliste et esthétique, il a une identité visuelle forte qui fait son charme. Il n’exploite malheureusement pas suffisamment son énorme avantage visuel.

Le principe est intéressant sans être extrêmement novateur. De nombreuses pistes peuvent encore être explorées, comme par exemple des niveaux de type labyrinthe, des niveaux que l’on revisite et qui ont sensiblement changé (plus d’échafaudage, nouvelle clôture, etc.), et plus généralement des niveaux dynamiques (objectif différent à chaque fois).

Le gameplay fonctionne bien et la difficulté semble correctement dosée, même si l’aspect die & retry est décevant. Enfin la trame de fond est assez quelconque et peu immersive, ce qui est dommage.

C’est donc un très bon jeu, dont quelques points sont améliorables, et que je recommande néanmoins chaudement.

Merci à Antoine et Jean pour la discussion pertinente à l’origine de cet article, qui est de loin le plus long que j’ai rédigé jusqu’à présent.

Maxime

Hier j’ai fait la connaissance de Maxime. Il devait être pas loin de huit heures du soir, je marchais dans les rues du 13ème arrondissement de Paris, en plein quartier chinois, cherchant du regard une boutique qui proposerait des services d’encadrement, quand j’ai entendu un voix discrète sur ma gauche qui tentait timidement de m’interpeler.

C’était un jeune homme qui se tenait assis sous un petit porche. N’ayant pas compris sa phrase, quoi que me doutant un peu du contenu, je lui fais répéter. « Vous n’auriez pas une pièce ? » « Peut-être. » Je fouille dans mon porte-feuille tout en entamant la discussion. Il semble particulièrement jeune : des traits bouffis de fatigue sur un visage de lycéen.

Maxime a 20 ans. Il n’est bien sûr aucunement qualifié, et ce d’autant moins qu’il a pour seul diplôme un BEP. Il est à la rue depuis octobre ; presque un an, en attente d’une place dans un foyer, mais ça n’avance pas. Pas de famille, pas de potes, et puis au bout d’un moment on ne peut pas abuser de l’aide des gens. D’ailleurs son compagnon d’infortune, que je n’ai pas rencontré mais dont il m’a parlé, en a payé le prix : à lui rendre service il s’est retrouvé lui aussi à la rue. Il est le plus âgé des deux : 21 ans.

Je lui demande comment ils dorment, comment ils se douchent… Dormir, c’est ici ou là, dans la rue, à même le sol. Ils n’ont pas de sac de couchage ou de tapis de sol, car ça pose des problèmes de posséder de l’équipement quand on n’a pas de chez soi. Alors dormir est un bien grand mot : c’est une somnolence de quelques heures. Ceux qui ont déjà dormi sur du bitume le savent bien. La toilette se passe au Mac Do ou autre endroit du genre. Pour les douches ils ont essayé les bains public, mais la description qu’il m’en donne suffit à me faire comprendre pourquoi ils n’y retournent pas. Ils ne connaissent pas de squat ; ils ont déjà fréquenté des gens, mais avec la drogue ils ont préféré s’éloigner. Ses propos transpirent l’humilité et l’intégrité.

Alors ils économisent jour après jour afin de pouvoir s’offrir une nuit d’hôtel une fois de temps en temps. C’est le seul moment où ils peuvent recharger leurs batteries dit-il. Là ils peuvent dormir, prendre une douche. Mais l’hôtel c’est cher, et lui n’arrive à faire qu’une dizaine d’Euros par jour, « Alors 20 Euros, sa phrase est restée en suspend, 20 Euros c’est trop ». Pourtant quand on travaille, 20 Euros ça représente au plus à peine deux heures de travail. Mais comment travailler dans cette situation ?

Je lui demande quelle est la dernière fois qu’il a travaillé : un chantier, en février. Mais le patron a fini par lui faire arrêter, s’inquiétant de sa santé avec l’hiver. Et pour trouver du travail, il faut un CV, un téléphone… Pendant la discussion un asiatique est passé rapidement, lui annonçant sans lui promettre que c’était peut-être bon pour demain. Un plan pour une carte SIM. « C’est sympa, il n’est pas obligé de nous aider comme ça. » Et puis tout coûte cher : pour faire un CV, etc.

En deux mots, à un âge où ils devraient être à l’université ou apprentis sur un chantier, ils sont dans une merde noire.

« Je peux te proposer un lit et une douche, pour un jour ou deux.

– Mais y a mon pote…

– Je peux vous proposer deux lits et une douche.

– Ouais mais je veux pas vous gêner…

– Honnêtement ça me fait encore plus chier de te voir dans la rue. »

Son expression ne laisse aucun doute sur l’idée de pouvoir dormir sous un toit, mais ils ont déjà eu de mauvaises expériences semble-t-il sous-entendre, alors il va voir avec son pote quand ils se retrouveront. Je lui laisse un numéro où me rappeler. Je n’ai pas eu de nouvelle depuis. Peut-être ont-ils préféré ne pas faire confiance, peut-être n’ont-ils pas osé, peut-être un peu de tout ça. Peut-être aussi ont-ils eu une autre galère et n’ont pas pu me joindre. Je repasserai à l’occasion prendre des nouvelles.

Maxime est facile à trouver : il est toujours sur la rue d’Ivry, pas très loin de la rue Tolbiac. Il ne sait pas que j’ai écrit ceci, mais si vous pensez pouvoir l’aider, passez donc lui rendre visite. Ma conviction est qu’ils n’ont rien à faire là, croulant sous la fatigue et pourtant inactifs, quand ils devraient jouer un tout autre rôle dans la société. Mon impression est qu’il faudrait finalement assez peu de chose pour les sortir de là, mais que c’est absolument hors de portée sans une aide extérieure : un lit, un repas, un travail (à ce stade autant dire que même une très courte durée serait bien venue)…  Si vous avez cela, merci pour eux.