One Last Job


Un Puzzle Game en vue top-down au ton déjanté et cynique, dans lequel le Passeur a pour tâche de guider la dernière âme de l’humanité dans l’au-delà… non sans se confronter à de terribles pièges, qu’il devra outrepasser en alternant intelligemment entre sa forme physique et spectrale !


⌚ Temps de lecture : 30-35 minutes


Présentation rapide

One Last Job représente le premier jeu complet et abouti sur lequel j’ai travaillé, hors Game Jam et autres petits prototypes présentés sur mon itch.io.

Il n’y avait pas de contrainte particulière, mis à part les trois mois de développement et l’utilisation de Unity, alors nous avons pu laisser libre cours à notre imagination et les idées qui nous faisaient le plus rêver.

Nous étions 4 sur ce projet : Yanis Pineau était en charge de la programmation et du design + modélisation 3D du personnage, Paul Barbier du texturing et de l’intégration des UI, Kévin Ciron de la modélisation 3D des décors…
Quant à moi, je me suis occupé de la rédaction du GDD, de l’écriture et l’intégration des dialogues, du design de l’UI, de la réalisation des cinématiques et surtout du Level Design, domaine le plus chronophage de mon côté étant donné la nature puzzle-game du projet qui demande un certain soin.
J’étais épaulé par Paul et Kévin sur cet aspect, qui se sont occupés de certains niveaux qu’ils me faisaient valider après, pour s’assurer qu’ils s’intègrent bien à la courbe de progression globale.

Chacun avait donc des tâches bien définies, mais étant donné la petite équipe que nous étions, tout le monde aidait aussi un peu où il y avait besoin. Intégration, sound design, VFX, UX… Nous étions même assez peu nombreux pour réfléchir aux idées principales de design tous ensemble.

Design d’UI
Réalisation de cinématique
Level Design

Ayant l’habitude de participer à des projets de plus grande envergure depuis quelques temps, je me rappelle de One Last Job comme un projet très agréable, où il y avait ainsi peu de problèmes de communication ou de répartition des tâches. C’est le jeu dont je reste le plus fier mécaniquement, alors il me paraît pertinent de revenir sur les principaux aspects de sa création auxquels j’ai participé en détail !


Game Design : Rendre les deux formes intuitives

Génèse

L’idée est très vite venue au cours de la semaine de brainstorming de début de projet. Inspiré par une mécanique de The Binding of Isaac, Yanis propose l’idée d’un jeu se basant sur l’alternance entre deux formes. On contrôle un squelette qui, sous sa forme physique (nommée Fusion), peut se déplacer normalement, en étant affecté par la gravité et les décors tangibles. Sous sa forme spectrale (nommée Lien), il flotte aux dessus des précipices, peut passer à travers les murs et est invincible… mais relié par une chaîne à son âme (ne pouvant se déplacer) tel un boulet, limitant ses déplacements dans un rayon très limité.

The Binding of Isaac : Rebirth

L’idée nous a tous plu, mais on avait encore du mal à trouver un genre de jeu qui lui siérait bien. Je suis alors venu avec une proposition de contexte : ce squelette qu’on incarne, c’est le Passeur de l’au-delà, et son objectif, c’est d’y emmener une âme. C’est alors à une autre âme qu’il est lié, un autre personnage, le Passeur ne possédant pas d’âme propre.

Après une idée de Puzzle game en vue du dessus orienté action et roguelike dans lequel on devait effectuer des actions en un temps limité pour permettre au bateau de continuer son chemin sur le Styx, nous nous sommes tous rendus compte que c’est un gameplay qui brillerait beaucoup plus dans un jeu au rythme plus posé, sans contrainte de temps, pour permettre de dérouler des énigmes plus complexes.

Alors malgré le contexte incluant le Passeur d’Âmes, nous avons décidé de nous débarrasser du Styx, pour inventer un univers dans lequel cette rivière n’est pas la façon dont il guide les âmes, mais plutôt en passant par un Temple. C’est de par cette contrainte que le ton cynique et décalé du jeu est né, mais j’y reviens dans la partie Narration. On a alors gardé l’idée d’un Puzzle Game en vue du dessus, en embrassant totalement le côté éminemment Zelda-esque de la chose.

C’est alors dans un grand donjon rempli de mécaniques très gamifiées que le Passeur devra guider une âme, et en sortir sain et sauf avec elle ! Nous sommes donc véritablement sur un jeu au design très systémique : tout part d’une idée, de laquelle on a défini un univers et même le genre de jeu ! L’idée était que tout ça s’imbrique comme il faut dans un tout cohérent, et les 3C sont les premiers à suivre cette règle.

3C

Commençons par le Character !

Sous sa forme humaine, le Passeur ne peut que se déplacer sur 8 directions, activer des plaques de pression et taper avec sa rame pour “donner un coup de vent”. Il meurt en un coup placé sur sa hitbox, le faisant réapparaître instantanément à l’un des nombreux checkpoints placés dans les niveaux, souvent à chaque énigme. Il s’agit ni plus ni moins du B.A-BA d’un jeu top down inspiré des Zelda 2D sans objet équipé. Ce coup lui permettra d’activer différents mécanismes sur son chemin, pour ouvrir des portes, faire se déplacer des plateformes, etc…

3C en forme physique
Système de mort

Le plus gros du gameplay provient de la forme fantomatique. En appuyant sur le trigger droit, le passeur pose l’âme par terre. Ce faisant, c’est l’âme qui devient sa hitbox mortelle, le personnage en lui-même devenant invincible et intangible, retenu à elle-même par une chaîne sur un rayon limité. Il peut alors traverser des murs et précipices pour atteindre des interrupteurs autrement inatteignables, mais l’intérêt de cette forme est loin de s’arrêter là.

3C en forme fantomatique

Premièrement, Le passeur peut “refusionner” à tout moment pour reprendre sa forme physique en appuyant sur le même trigger. Il reviendra alors où l’âme était posée. La subtilité, c’est que sous forme fantomatique, le Passeur peut taper dans l’âme pour l’envoyer à une distance équivalente au maximum permis par la chaîne. Il peut ainsi l’envoyer de l’autre côté d’un précipice, puis s’y refusionner, pour pouvoir continuer sous forme physique et atteindre la sortie.

La joie des speedrunners

Cela a créé d’ailleurs des séquences de gameplay émergeant assez intéressantes chez plein de joueurs, qui se déplacent tout au long du jeu en spammant cette capacité de déplacement (on le faisant nous-même pendant le développement, ahah). Cela permet malheureusement de passer quelques obstacles de façon non-legit en profitant d’une faille permettant d’effectuer ce déplacement au dessus du vide en étant suffisamment habile et rapide, mais ces exemples se comptent sur les doigts d’une main, j’ai fait en sorte de limiter le plus possible ce phénomène côté LD.

C’est dans tous les cas un aspect très apprécié du jeu, même si ça en casse quelques parties, alors je ne suis pas contre l’idée qu’il soit resté.

Enfin, la chaîne liant le Passeur et l’Âme fait office de “miroir” pouvant renvoyer des lasers projetés par différentes statues au cours du jeu. On peut alors s’en servir pour détruire directement ces statues, et même d’autres éléments de décors tels que des rochers bloquant le passage, en orientant le laser comme il faut.

Ces bases de gameplay interagiront de façon poussée avec des mécaniques de Level Design dans des niveaux thématiques, tels des Miroirs ou des Plateformes mouvantes, que je détaille plus bas dans la section Level Design.

En ce qui concerne le Controller, rien de spécial à notifier, il s’agit d’une disposition des boutons assez scolaire, quand bien même après réflexion, étant donné le nombre d’actions assez limité, on aurait pu dupliquer certaines actions pour permettre au joueur de faire sa tambouille en fonction de ce qu’il préfère. L3 permet de skip les dialogues, j’explique les circonstances de création de cet input dans la partie Narration, mais l’idée était que cela puisse se faire de façon quasiment instantanée, ici donc sans même bouger un quelconque doigt. Des contrôles au clavier existent aussi mais j’avoue avoir négligé cet aspect, c’est une erreur que je n’ai pas reproduite dans les jeux suivants.

Il y a une exception à cette règle, survenant dans les niveaux mettant en place des plateformes mouvantes, où la caméra suit le déplacement de ces dernières.

Fonctionnement par défaut de la Caméra

Enfin, le jeu étant découpé en petites salles présentant une énigme à résoudre, la Caméra, placée en top down incliné, est la plupart du temps fixée sur ces dernières pour montrer la salle en intégralité. En changeant de salle, la caméra se déplace à un autre emplacement prédéfini dans la salle en question, comme dans les donjons des Zelda 2D. Cette caméra peut aussi se déplacer au sein de la même salle dans de rares cas (toujours à des emplacements prédéfinis, jamais il ne sera question de suivre la joueur), afin de ne pas nous limiter côté LD.

Alternance entre deux formes : enjeux d’affordance

J’aimerais terminer cette partie Game Design en flirtant un peu avec l’UX, une partie absolument centrale pour rendre cette mécanique d’alternance entre deux formes, à priori complexe, la plus intuitive possible. J’y ai tenu un rôle majeur, alors il me paraît important d’y passer un peu de temps.

L’affordance était vraiment une priorité. Il fallait en effet déjà que le joueur comprenne visuellement de façon instantanée dans quelle forme il se trouve, et quelles sont les caractéristiques de cette dernière. La forme fantomatique a évidemment été celle ayant posé le plus de souci.

Déjà, il paraît à première vue contre-intuitif, au vu de comment ces dernières sont représentées dans les oeuvres de fiction, de se dire que l’âme est faible, et qu’elle retient le personnage de se déplacer dans un certain rayon. J’ai alors eu l’idée de placer l’âme dans une sorte de boule en verre de laquelle elle ne peut s’échapper, justifié dans l’univers par l’idée que sans cette protection, elle se ferait aspirer dans les limbes sans choix possible, d’où l’intérêt du passeur.

Modèle de l’âme + Shader fantomatique
Croquis préliminaire

De base, le Passeur est un fantôme. En plaçant une âme dans son ventre, il gagne alors une forme physique. Il a besoin d’une âme pour exister, aussi bien symboliquement que littéralement, car son travail est la seule chose qu’il a à faire. Cette idée de world building renforce alors d’autant plus l’idée de cohésion entre les deux personnages : l’Âme et le Passeur. Le character-designer Yanis a parfaitement réussi à encapsuler cette idée, imaginant que l’âme viendrait prendre place sur les côtés du squelettes, bien visibles malgré ses vêtements. J’ai construit toute la cinématique d’introduction pour communiquer de façon claire cette idée au joueur, j’y reviens dans la partie dédiée, quand bien même le tutoriel s’avère lui aussi très clair quant à l’explication de cette mécanique.

Ainsi sous sa forme fantomatique, le Passeur est un fantôme d’un bleu éclatant, afin de communiquer son changement de forme de façon directe, relié à son âme elle aussi bleue, dont le caractère immobile est communiqué aisément au joueur de part cette boule en verre que l’on devine très lourde.

Extrait de la cinématique d’intro montrant la fusion pour la première fois, après réflexion je pense que la couleur de l’âme est trop similaire à celle des vêtements du Passeur, ne permettant pas assez de la distinguer.

Maintenant, il fallait que le joueur comprenne aisément la distance maximum qu’il peut parcourir en s’éloignant de l’âme.

Ce rôle est rempli par la chaîne bleue (le code couleur pour tout ce qui se rapproche à cette mécanique), qui s’affine de plus en plus au fur et à mesure de l’éloignement du personnage. Une fois la distance max atteinte, elle est extrêmement fine et le joueur ne peut plus avancer, lui faisant alors comprendre qu’il est lié à cette âme comme un boulet, limité à un rayon précis. L’idée de la chaîne est d’ailleurs venue plus tard pour accentuer le côté “boulet”, ça n’était à la base qu’une sorte de “lien d’âme” un peu abstrait.

Un shader s’applique sur l’entièreté du personnage, rame comprise
Code couleur clair

Autre enjeu d’affordance : au début, la faux du Passeur était constamment matérialisée, même sous forme fantomatique. C’est à première vue logique, car le Passeur doit pouvoir interagir avec des mécanismes avec sa faux, sous toutes ses formes. Cela posait un gros souci car si la faux est matérialisée… comment justifier que le Passeur peut tout de même traverser les murs ? Ca a été un gros débat tout du long : j’ai finalement proposé l’idée de rendre la faux également fantomatique, et la transformer en une rame, survivante de l’idée du Styx créant un décalage rigolo. Ainsi on ne tape plus, on “génère un coup de vent”. Les spectres font ressentir un courant d’air quand ils passent auprès des humains, c’est bien connu dans l’imaginaire collectif. C’est ainsi la raison de pourquoi tous les interrupteurs du jeu prennent la forme de ventilateurs, d’ailleurs possédant tous la même couleur que le mécanisme qu’ils activent : c’est pas l’idée visuelle la plus classe, mais j’ai privilégié la clarté avant tout.

Avant (croquis)
Après (in game)

Enfin, le dernier enjeu était de définir où le Passeur posait exactement l’âme en passant en forme spectrale. Au début, elle se posait à l’endroit même où le Passeur se trouve. Ca permettait théoriquement de faire comprendre les caractéristiques de la forme spectrale, car le Passeur passait logiquement à travers l’âme. Mais au delà-même de l’aspect finalement assez confus de la chose côté visuel, c’était très désagréable de devoir systématiquement reculer pour taper dans l’âme quand on en avait besoin. J’ai alors eu l’idée de faire en sorte que l’âme se place devant le joueur, mais trop de playtesteurs faisaient tomber l’âme dans le vide, les tuant systématiquement.

On a alors opté pour un entre-deux : l’âme se place légèrement devant le joueur, suffisamment pour que sa rame la touche s’il tape sans même bouger. Le compromis fonctionne, même si je regrette personnellement cette solution un poil “facile”, et pas très classe. La bonne solution aurait après réflexion été de faire reculer le Passeur au moment du changement de forme, mais personne n’y avait pensé à l’époque et ça aurait demandé un certain travail de programmation.


Level Design : Faire briller la mécanique principale

Grands principes

La mécanique de base est à priori plutôt solide, encore faut-il qu’elle soit correctement mise en valeur dans les niveaux pour que ce sentiment se fasse ressentir, que le joueur ne s’en lasse pas. La courte durée du jeu va déjà en ce sens, mais ça n’est pas suffisant en soi.

Hub central

La structure principale du jeu se présente comme telle : quatre niveaux chacun composés de trois ou quatre salles, à la fin desquels on obtient une clé. Ces clés peuvent s’insérer dans la porte du grand hub menant au paradis, derrière lequel se cache la cinématique de fin. Le hub représente la façon d’accéder aux niveaux dans l’ordre souhaité par le joueur, exception faite du premier faisant office de tutoriel (c’est après la complétion de ce dernier que l’on arrive dans le hub, par la porte lui correspondant).

Chaque niveau a une thématique propre, aussi bien mécanique que scénaristique. Une mécanique originale sera toujours introduite dans le niveau, exploitée à fond au cours de ses trois salles, puis plus jamais utilisée par la suite. Une base commune est cependant utilisée, introduite dans le premier niveau que le joueur est forcé de faire en premier. Cette structure suit donc la philosophie de design de Zelda, où il est finalement plutôt rare qu’un objet soit utilisé dans un autre donjon que celui dans lequel on le débloque (il y a évidemment des exceptions, mais l’idée est tout de même là).

Deux raisons ont motivé ce choix de structure, qui a été une vraie source de débats pendant la pré-production :

Premièrement, le fait de faire des sections dédiées à une mécanique en particulier, sans les combiner entre elles, a été source d’une très grande aide lors de la production. En effet, il fallait, pour pouvoir démarrer au plus vite, que le level design soit vite bouclé pour pouvoir aider Yanis sur le développement, et ce sans discuter de choix de design alors que la prod est lancée. Ainsi, avec Paul et Kévin, on a pu nous répartir en nous allouant différents niveaux, afin de pouvoir avancer en parallèle tout en s’échangeant des idées. Ca a tout de même été une étape longue, car nous voulions faire les choses bien, mais qui l’a tout de même été 3 fois moins que si on avait procédé autrement, en construisant les niveaux un par un, soit seul soit en travaillant tous dessus et donc en perdant du temps à débattre de chaque idée.
Je ne peux pas nier qu’il y a un aspect un poil déceptif à ça, on avait des bonnes idées de combinaisons de mécaniques. Mais le gain de temps était trop important, et ça nous a au moins permis d’exploiter à fond chacune des mécaniques. Pour un jeu qui se boucle en 30 minutes max, tout ça est bien suffisant pour tenir le joueur en haleine, et lui procurer un agréable sentiment de découverte d’une nouvelle mécanique en accédant à un nouveau niveau.

L’alternance de levels designers permet des niveaux aux styles très différents, très adapté à la structure… tout en conservant une certaine harmonie.

On aurait cependant aimé conclure avec un ultime niveau se trouvant derrière la porte du paradis plutôt qu’avec une simple cinématique, où l’occasion aurait été parfaite pour combiner des mécaniques entre elles. C’était même prévu, mais en l’occurrence le temps nous a simplement fait défaut, la volonté dé polish tout ce qu’on avait déjà ayant pris le dessus.

Deuxièmement, donner un sentiment d’avancée satisfaisant au joueur, avec un objectif très clair. Il sait qu’il doit ouvrir la grande porte du hub, et ce en trouvant les quatres clés de couleur. C’est ultra gamifié, limpide, mais en raccord avec nos inspirations, et celle volonté globale d’absolument simplifier tout ce qui peut l’être pour ne pas noyer la mécanique de fusion derrière des choses qui la rendraient moins accessible, et ce de la DA à la structure.
Il y a qui plus est, un vrai sentiment de respiration agréable en trouvant une clé et en retournant au hub pour la voir s’insérer dans la porte principale.

Le fait que chaque niveau soit indépendant mécaniquement nous a alors offert une belle opportunité quasi gratuite d’offrir un peu de liberté au joueur dans sa progression, aspect très secondaire mais que tous les testeurs ont apprécié, ne serait-ce que par son existence. Je dis “quasi gratuite” car ça par contre a demandé un sacré effort d’écriture, mais je pense m’en être pas trop mal sorti, et le challenge était hyper intéressant.

Maintenant, revenons quelques instants sur chaque niveau pour présenter leur philosophie !

Niveau 1 : Tutorialisation

Ce premier niveau a été designé par Paul, alors je ne vais pas m’attarder dessus outre mesure. Son objectif est de familiariser le joueur avec le personnage et ses deux formes. Il met en avant des mécaniques simples qui seront pour le coup communes à tous les niveaux du jeu : l’activation de plaques de pressions ou de ventilateurs pour ouvrir des portes et faire bouger des mécanismes (sur lesquelles on doit souvent y laisser l’âme pour faire une action sous forme fantomatique tant que c’est activé), le renvoi de rayon provenant de statues pour les détruire elles-mêmes et pouvoir passer, ou encore sur un rocher bloquant le passage. Je trouve son travail très réussi, en particulier la dernière salle et son énigme à grande échelle pour trouver le moyen de détruire le rocher bloquant la sortie.

Niveau 1 – Salle 3

J’aimerais cependant revenir sur la première salle de ce niveau, faisant office de tutoriel introduisant les 3C, le moveset du Passeur et la mécanique de changement de forme. Son caractère hautement important a en effet mené à un contexte de création particulier: il s’agit de la seule salle où les trois level designers étaient ensemble au moment de la création, et je dirais même toute l’équipe, étant donné qu’il n’a pas arrêté d’être modifié en fonction des playtests. Il fallait absolument que tous les joueurs comprennent la mécanique principale.

Niveau 1 – Tutoriel

Le joueur commence par appréhender les déplacements de base, et son premier mode d’interaction : il peut envoyer un coup de rame avec carré, pour activer un ventilateur (et casser des pots au passage, ça nous paraissait tous indispensable !) pour ouvrir une porte avoisinante colorée de la même teinte, pour faire le lien directement.

Toutes les commandes sont communiquées par des petits dessins à la craie par terre, dépeignant l’action et l’input. Je trouvais qu’un texte de tuto était trop envahissant et aurait coupé le joueur dans l’action, et je suis plutôt content de l’intégration de ces tutoriels.

Les dialogues entre le Passeur et l’Âme viennent en rajouter une couche si les joueurs ne comprennent vraiment pas, mais j’ai fait en sorte que ça ne soit pas trop insupportable non plus en rendant les dialogues optionnels, et surtout en faisant en sorte qu’ils ne tournent pas qu’autour de ça. J’ai privilégié une clarté absolue au détriment d’un peu d’immersion, c’est quelque chose avec laquelle j’ai du mal dans la plupart des jeux vidéo mais le statut de Puzzle Game rend ceci plus acceptable à mon goût, et reste que le joueur n’est jamais interrompu.

Apprentissage des déplacements de base en forme physique

Il entre ensuite dans une autre pièce (l’idée était vraiment de cloisonner à fond cette section), qui lui apprend l’input pour se séparer. Le joueur peut ainsi faire des tests, constater qu’il passe à travers les murs mais qu’il est retenu par son âme, bref, le B.A-BA du fonctionnement de cette forme. En l’absence d’autre chose à faire, il va se diriger vers la plaque de pression et découvrir qu’elle actionne une plateforme de l’autre côté du mur, donnant accès à un ventilateur.

Le ventilateur étant de l’autre côté du mur, le joueur comprend qu’il doit passer en forme fantomatique ! Il se demande alors si l’âme permet de maintenir enfoncée la plaque de pression… bingo, ça marche ! Il place alors son âme sur la plaque et va activer le ventilateur sous forme fantomatique. Evidemment, ce scénario idéal n’est pas garanti d’être la façon dont tous les joueurs découvriront ce tuto, mais le côté très cloisonné de la chose et le peu d’actions à disposition fait que, par expérience, personne ne reste bloqué bien longtemps ici.

Un autre ventilateur, auquel on ne peut accéder qu’en forme spectrale

Suite à ça, le joueur est familiarisé avec la technique de l’envoi d’âme pour franchir un petit précipice. Il n’y a que ça à faire, si l’enchaînement R1+carré est effectué sans rien toucher d’autre, de par le placement de l’âme tel qu’expliqué plus haut, la traversée se fera directement et le joueur comprendra alors qu’il peut taper dans son âme pour passer de l’autre côté. Après réflexion, peut être que “R1 PUIS carré” aurait été plus pertinent, car même si nous n’avons pas vu ça en playtest, il est possible que des joueurs appuient sur les deux touches en même temps.

Apprentissage de l’envoi d’âme

Enfin est introduite la mécanique de renvoi de laser : ici un laser obstrue un précipice. Si le joueur tape dans son âme comme précédemment pour le franchir, il constatera tout de suite que le laser la dézinguera. Il n’a alors pas d’autre choix que de s’en débarrasser d’une manière ou d’une autre. Et ça tombe bien, le petit schéma habituel est là juste à côté, mêlé aux dialogues qui expliciteront la chose. Même sans ça, à force d’essayer de passer de l’autre côté en usant et abusant de sa forme spectrale, le joueur finira par voir sans aucun doute que la chaîne a un impact sur le rayon, et ainsi faire le lien avec le dessin à la craie.

Apprentissage du renvoi de laser

Voilà pour ce tutoriel, dont nous sommes au final plutôt contents ! Le niveau s’enchaîne alors jusqu’à débouler sur la première clé et mener au hub, dont la porte menant au premier niveau est alors la seule fermée parmi 4. Le joueur comprends alors instantanément la structure du jeu !

Niveau 2 : Cages mouvantes

La dénomination “niveau 2” est purement pour nous y repérer, le joueur les effectue en effet dans l’ordre qu’il souhaite, même si dans les faits l’ordre de gauche à droite était le plus rencontré en playtest, sans grande surprise.

L’idée du niveau 2, que j’ai personnellement designé, était de détourner cette base de gameplay pour en créer des challenges de timing et de précision. Le joueur peut placer son âme dans une plateforme mouvante, qui l’enfermera dans une cage se déplaçant sur une ligne d’un point A à un point B, nous tractant alors sur son chemin. Le joueur devra alors activer des interrupteur à temps, renvoyer des lasers avant qu’ils ne détruisent l’âme…

Quoi qu’il en soit cette différence dans le type de challenge permet de renouveler l’expérience en challengeant le joueur. Je me dis de temps en temps que proposer des challenges d’adresse dans un Puzzle Game est une idée tout de même assez osée, qui peut nous priver d’une certaine partie du public moins à l’aise avec ce genre de difficulté, pouvant alors quitter le jeu par frustration. Si c’était un jeu à véritablement commercialiser je pense que j’aurais réfléchi à une autre mécanique orientée purement puzzle, mais dans l’état actuel du projet je pense que le tout s’intègre plutôt bien.

Niveau 2 – Salle 1
Niveau 2 – Salle 2
Niveau 2 – Salle 3

Niveau 3 : Miroirs et statues

Grand classique du jeu vidéo, les miroirs à orienter dans la bonne direction pour réfracter de la lumière ou des lasers (cf Ocarina of Time ou Resident Evil 5) ! Un autre niveau que j’ai moi-même designé.

Pour offrir une touche d’originalité à cette mécanique vue et revue, l’idée était ici d’utiliser la chaîne pour renvoyer les lasers à leur source, en orientant les miroirs comme il faut. Les statues envoyant des lasers sont initialement protégées par un champ de force dans ce niveau, que l’on peut retirer en nous plaçant sur une plaque de pression. Le joueur doit alors orienter les miroirs pour amener le laser à portée de la plaque, pour pouvoir le renvoyer avec la chaîne alors que l’âme est posée sur la plaque. La principale difficulté n’est pas d’ordre de timing ou de vitesse comme dans le niveau 2, mais bien de réflexion. Un laser mal orienté pourra instantanément tuer le joueur, il doit alors avoir un plan très clair en tête.

Partant de cette idée, j’ai construit 3 salles de plus en plus complexes dans l’orientation des miroirs et les mécanismes à activer pour arriver au point désiré (en jouant sur des miroirs atteignables qu’en forme spectrale par exemple), jusqu’à la dernière représentant l’un des plus gros challenges du jeu.

Il faut en effet s’assurer que tous les miroirs soient orientés comme il faut avant d’activer le miroir permettant au laser d’arriver sur le terrain de jeu, sans quoi le joueur risque de se faire tuer par un laser mal placé. Il faut dans un premier temps détruire un rocher bloquant l’accès à certains miroirs… que le joueur devra à nouveau tourner alors que le laser n’est plus sur le terrain de jeu, et à nouveau s’arranger de les avoir tous bien orientés avant de réactiver le miroir amenant le laser sur le terrain.

C’est un véritable challenge de planification, rendu possible par une structure partagée par tous les niveaux du jeu : introduction de la mécanique en douceur avec le petit tuto dans la première salle, complexification dans la seconde, et exploitation au maximum dans la troisième (Perversion comme dirait mon prof de GD), alors que le joueur connaît tout de son fonctionnement.

Niveau 3 – Salle 1
Niveau 3 – Salle 2
Niveau 3 – Salle 3

Niveau 4 : Dalles craquantes

Le dernier niveau a été construit conjointement avec Kévin, dont l’idée de base provient. Pour cause, cette dernière était très difficile à mettre en place comme il faut !

Il s’agissait de construire des niveaux remplis de dalles qui se cassent dès lors que le joueur passe dessus, ne lui permettant de n’emprunter un chemin qu’une seule fois. Il avait du mal à voir où aller avec cette mécanique, alors j’ai proposé une direction globale : faire des niveaux avec des énigmes contraignant le joueur à faire des allers-retours, alors que les chemins sont truffés de dalles craquantes. Il doit alors parfaitement planifier d’avance sa trajectoire pour être sûr de ne pas se retrouver bloqué, et devoir se suicider pour reset la salle.

La première salle introduit au joueur le fait qu’il peut tout de même être possible dans certains cas de repasser sur un chemin rendu obsolète par une dalle s’étant craquée… en utilisant sa forme spectrale pour envoyer son âme de l’autre côté du précipice ainsi créé !

Ainsi, dans la dernière salle de laquelle je me suis occupé, je me suis lâché, et ait créé sans aucun doute le niveau le plus complexe du jeu ! C’est celui que la plupart des gens feront en dernier alors ça ne me paraît pas totalement hors-sujet, surtout que les dernières salles de chaque niveau sont elles aussi plutôt retors.

L’idée est de sans cesse faire des allers retours entre deux grosses plateformes, et si le joueur emprunte le mauvais chemin au mauvais moment, c’est mort. Il faut en effet effectuer un enchaînement d’action précis pour qu’on se retrouve dans la situation suivante : sur la plateforme du dessus avec le laser à notre disposition pour casser un rocher bloquant la sortie.
La plupart des gens n’y passaient pas plus de 5-10 minutes mais c’était systématiquement la plus grande difficulté qu’ils rencontraient. Les retours étaient bons, et je trouve que l’apprentissage pas à pas marche plutôt bien, c’est une salle dont je suis plutôt fier.

Si c’était à refaire ceci dit, je changerais la partie de droite, qui demande une certaine précision et une certaine habilité avec la manette, le joueur devant faire en sorte de ne casser que 2 dalles sur les 3 en enchaînement 2 déplacements d’âme, ce qui est assez complexe, surtout avec une hitbox un poil capricieuse venant souvent casser la 3e dalle. Beaucoup de gens avaient compris la salle mais mouraient quelques fois d’affilé sur ce challenge, les faisant même douter de s’il s’agissait de la bonne solution, et ça aurait clairement pu être évitable en mettant simplement en place un chemin permettant les allers retours de façon similaire à la première salle du niveau.

Niveau 4 – Salle 1
Niveau 4 – Salle 2
Niveau 4 – Salle 3

Narration : Justifier les mécaniques et le setting

Postulat de base

L’idée de base derrière le scénario du jeu était d’écrire quelque chose de simple, se contentant de justifier les mécaniques et surtout, le setting. Après tout, on contrôle un Passeur qui ne navigue pas sur le Styx, mais passe plutôt par un Temple, constitué d’un véritable labyrinthe rempli d’énigmes pour emmener les âmes dans l’au-delà.

Je ne sais plus de quel membre de l’équipe l’idée venait avant qu’ils me laissent la main sur le scénario, mais en tout cas ça a été posé rapidement pendant les brainstormings de départ : le Styx a séché ! C’est une justification un peu bête, mais qui est finalement apparue comme une aubaine pour moi. Une aubaine, puisqu’elle m’a permis de définir le ton du jeu : absurde et cynique. Une façon simple (bien que pas nécessairement la plus classe) de justifier toutes les mécaniques de Puzzle-Game très gamifiées qu’on a dans le jeu.

J’ai alors déroulé le fil pour cerner les contours de cet univers, avec un enchaînement de réflexions assez logique, qui coulait presque de sources.

Le Styx a séché, ok. Mais alors pourquoi un labyrinthe d’énigmes pour sortir ? La principale carotte narrative du jeu m’est alors venue : le Passeur n’a pas reçu d’âmes à guider pendant plus de 500 ans, avant que celle du jeu n’apparaisse. Pourquoi ? Qu’est-il arrivé à l’humanité ? Qui est l’âme que le Passeur guide dans le jeu ? Un énorme mystère intriguant qui sera résolu au fur et à mesure du jeu, donnant alors envie au joueur de continuer sa progression.

Quoi qu’il en soit, ces 500 ans sans recevoir d’âme ont permis de justifier le setting du Temple en même temps que de définir la personnalité du Passeur. Car ouais, il s’ennuie, ce mec ! Il a bien dû trouver de quoi s’occuper pendant ces 500 ans ! C’est ainsi qu’il a passé une majorité de ces années à s’intéresser à la culture humaine et à dédier tout son temps à la découvrir (le rêve !).

Parmi cette culture, il s’est pris de passion pour les jeux vidéo, ce qui lui a fait germer l’idée de créer un jeu d’énigmes dans son Temple, qui ne peut être surmonté qu’avec une âme. Mais il n’en a pas reçu depuis 500 ans… alors il y a tout de même une certaine tristesse dans ce personnage, qui sera très heureux d’avoir enfin une âme à guider lors du jeu, pour lui faire essayer ses installations et vérifier que tout marche, tel un playtest.

Le joueur ne sait rien de tout ça au début du jeu, et la scène d’introduction montre le Passeur comme un benêt qui a oublié le digicode menant à la porte du Paradis, l’obligeant à passer par une “issue de secours”. On apprend à la fin du jeu qu’il connaissait bel et bien le code, mais qu’il voulait passer par l’issue de secours pour enfin tester son jeu et passer du bon temps au contact d’une personne, lui qui est si seul depuis tant d’années. Cela justifie aussi le ton très décalé du jeu, avec un personnage du Passeur qui n’arrête pas de faire des blagues nulles, sans maîtriser son humour et en faisant plein d’erreur dans la narration de ces dernières… car toutes héritées de livres de blagues qu’il lisait pendant son temps libre qui le faisaient rire aux éclats malgré leur caractère peu drôle.

Voyons maintenant de quelles manières est-ce que j’ai choisi de dérouler toute cette narration au sein du jeu ! J’en profiterais au passage pour en faire une auto-critique, revenir sur les choses qui marchent et celles qui ne marchent pas avec du recul, car je trouve qu’il y a beaucoup de choses à en tirer personnellement.

Dialogues et écriture

Tout au long du jeu, des dialogues se jouent entre le Passeur et l’Âme, ayant pour but de développer leur relation et leur alchimie, alors que le Passeur essaie de comprendre qui il est et la raison de l’absence d’âme à guider pendant 500 ans.

Ces dialogues sont aussi l’occasion de donner quelques éléments de lore et indications de gameplay. Ils se déclenchent en passant sur des triggers invisibles, et n’arrêtent pas le jeu. Ils se jouent alors qu’on continue de jouer, se passant automatiquement après un certain nombre de secondes, adaptés à chaque dialogue pour s’assurer que tout le monde puisse lire.

Premièrement, des dialogues se passant seuls après un certain temps, ça marche beaucoup, beaucoup mieux avec du voice acting. C’était l’idée de base, mais on a fini par manquer de temps, aussi bien pour développer la feature pour intégrer la chose qu’enregistrer chacune des voix. Ainsi la plupart des gens intéressés par l’histoire ont fini de lire trop tot et patientent sans rien faire jusqu’à ce que le prochain dialogue arrive, et ceux ayant des difficultés à lire n’ont pas le temps. C’est un peu le pire des deux mondes. Beaucoup de vannes tombent aussi à plat.

Je me suis énormément inspiré de The Messenger et Deltarune pour le ton décalé du jeu, mais je me suis rendu compte que l’humour de ces jeux fonctionne beaucoup mieux quand le joueur a le contrôle du moment où il passe un dialogue (et que c’est lié à des sprites rigolos aussi). Aussi bien lors de ces dialogues que des cinématiques, la mise en scène ne colle pas vraiment au ton du jeu. Je trouve certaines blagues drôles, mais la façon dont elles sont communiquées fait que ça tombe un peu à plat. Et puis même, l’accent québécois au Passeur, à postériori je suis pas sûr mdr

The Messenger
Deltarune

Deuxièmement, j’ai trop écrit. Je tenais à faire évoluer ces personnages comme je l’entendais, réussir à raconter tout ce que je voulais raconter avec eux. Ainsi il arrive souvent que le joueur ait terminé l’énigme et que le dialogue soit toujours en cours de déroulement, ce qui n’est vraiment pas classe.

Ca déssert le gamefeel global par moment car l’attention du joueur est trop focalisée sur un aspect ou l’autre (généralement le gameplay, faisant que beaucoup passent à côté d’une narration que j’ai pourtant pris beaucoup de temps et de passion à dérouler). C’est un syndrome que j’ai bien compris et que j’ai évité comme la peste sur tous mes projets suivants (notamment Dordogne où j’ai effectué un sacré travail de concision), et je suis finalement plutôt content de m’en être rendu compte assez tôt dans mon parcours. Less is more !

Troisièmement, et c’est ce qui vient définitivement enfoncer le clou du côté assez imbuvable de ces dialogues… ils se jouent à nouveau à chaque mort du joueur. C’est un problème technique que le développeur n’a pas eu le temps de corriger car cela aurait impliqué de changer tout le système de sauvegarde et de reset complet des salles à chaque mort, bien pratique pour notre utilisation.

J’ai alors dû trouver quelques subterfuges pour permettre aux joueurs de les passer : un bouton les skippant automatiquement (placé sur L3 comme expliqué dans la partie 3C), et une option pour désactiver les dialogues dans le menu. Ca me fait mal de me dire que beaucoup de gens n’auront pas accès à ma narration, mais l’idée de cette désactivation vient de moi. C’était un choix difficile mais qui bénéficie au final jeu à mon avis, et je comprends parfaitement les erreurs qui m’ont fait en arriver là.

Ainsi, le cocktail de ces trois éléments font des dialogues un véritable aspect du jeu qui me frustre. Je suis plutôt content de ce pas mal de choses que j’ai écrites, certaines blagues sont drôles, et je pense m’en être bien sorti pour écrire des dialogues propres aux niveaux qui peuvent être lus dans l’ordre choisi par le joueur sans que ça empêche tout développement (en traitant d’une grosse thématique par niveau, amenant véritablement trois discussions différentes qui creusent à leur manière les mystères du jeu, sans se confronter entre elles). Mais vouloir trop en faire m’a fait m’égarer sur certains sujets, creuser des choses qui n’auraient pas du l’être, et m’attarder de façon trop poussive sur certaines blagues.

Ceci étant, je suis beaucoup plus satisfait des cinématiques !

Cinématiques et mise en scène

En effet, désireux de pousser la narration pour développer la relation entre les deux personnages et rendre le plot twist final quant à la raison de l’absence d’âme pendant 500 ans et l’identité de la dernière âme impactant, j’ai entièrement écrit et réalisé dans le moteur trois cinématiques (avec l’outil Cinemachine de Unity) !

Intro

Premièrement, une cinématique d’introduction présentant les deux personnages. On voit le Passeur en train de dormir sur son transat tranquillement, pour être brusquement réveillé par l’apparition de l’âme. L’objectif principal de cette cinématique, c’est de caractériser les deux personnages et surtout, les règles de fonctionnement de cet univers pour que les mécaniques apparaissent au joueur de façon limpide :

  • L’âme tombe du ciel en faisant un bruit bien sourd pour que le joueur comprenne qu’ici, les âmes sont contenues dans une forme physique et tangible, lourde, justifiant alors le fait d’y être enchaîné et restreint dans ses déplacements.
  • Le Passeur commence sous forme fantomatique, et gagne une forme physique une fois l’âme intégrée dans son corps. C’est montré de façon très claire avec un traveling ne laissant aucune place au doute.

La cinématique s’arrête sur les deux personnages déboulant dans le dédale après avoir emprunté l’issue de secours, avec l’emphase mise sur le Passeur ayant “oublié” le digicode (pour rappel un mensonge total), afin de renforcer l’impact de cette révélation dans la cinématique finale. J’ai poussé la réal au maximum de ce que je pouvais faire en un temps donné : des plans stylisés, des animations rudimentaires à base du rig effectué par Yanis, des sound effect et une bande-son qui colle… j’en suis très content !

Arrivée au hub

Deuxièmement, une petite cinématique à l’arrivée au hub, montrant l’insertion de la première clé dans la porte du Paradis. Absolument dispensable, le joueur aurait très bien pu comprendre ça tout seul ou un simple script l’obligeant à se rendre dedans, mais je trouvais ça trop cool de faire des plans montrant la porte du Paradis en contreplongée, ça lui donne une certaine prestance.

Final

Enfin, le jeu se conclue sur une grosse cinématique finale montrant la séparation entre ces deux personnages que l’on a appris à connaître au fil du jeu, et surtout, la réponse à la grosse question : qui est cette âme ?

Pour y répondre directement, il s’agit ni plus ni moins que du Créateur, pour ne pas nommer Dieu directement, source de toute vie sur Terre. Dans cet univers, sa vie est liée à celle des humains, sorte “d’assurance”, de pacte fait avec lui-même pour s’investir corps et âme dans sa création.

Si il meurt, les humains meurent aussi, et inversement si tous les humains meurent.
Après des millions d’années de recherche, les humains ont trouvé un “remède” contre la Mort. Ils sont alors devenus immortels… et avec ça, pédants, arrogants, se complaisant dans une médiocrité qui rendit furieux le Créateur. Il se donna alors la mort pour entraîner sa création avec lui, car ça n’avait plus de sens.

Un propos assez basique et commun dans beaucoup de jeux, cette idée de “monde idéal dans lequel tout va bien mais qui a peu de sens car ce qui fait de nous des hommes sont nos vies et nos blessures”, à la Persona 5 Royal, Clair Obscur, Octopath Traveler 0… A force de jouer à ces JRPG modernes pour qui c’est une thématique si récurrente, j’en suis venu à remettre en question ce propos véhiculé.

Octopath Traveler 0
Persona 5 Royal
Clair Obscur : Expedition 33

J’avais l’impression que ces jeux nous crient au visage que c’est obligatoire de souffrir pour être heureux, qu’une vie sans ça est d’un ennui mortel. Or, un ennui mortel est parfois préférable à des tragédies. Ecrire One Last Job a été un exutoire qui m’a fait comprendre que ce que ces jeux voulaient dire, ce n’est pas qu’il faut nécessairement souffrir pour vivre heureux… mais qu’on n’a en fait pas le choix. Il VA nous arriver des galères.

Mais on a pas le choix que d’avancer malgré tout ça, de relativiser, de se servir des horreurs de la vie pour nous construire et transmettre ensuite notre vécu aux autres. Alors non, il ne faut pas se complaire dans un monde idéal qui n’existera, de toutes manières, jamais. Car c’est la vraie vie, ici. Les personnages des jeux ont le choix de se complaire dans un monde idéal, nous non.

C’est toute cette dychotomie que j’essaie de faire transparaître dans cette cinématique finale, qui offre donc ma propre interprétation de ce trope si cher aux jeux vidéo, surtout récents. Ca ne réinvente pas la roue, mais j’en suis très content. Tous les dialogues au cours du jeu font office de build up jusqu’à cette cinématique finale, avec le Passeur faisant part de ses réflexions philosophiques qui secouent un peu le Créateur et son choix, bien qu’il ne puisse revenir en arrière.

J’ai cependant mis une attention toute particulière à terminer le jeu d’une façon légère pour rester dans ce ton cynique, avec des milliers d’âmes qui arrivent d’un coup dans le Temple du Passeur, en raison du sacrifice du Créateur qui a donc décimé toute l’humanité. Lui qui voulait à tout prix des âmes pour tester son jeu et avoir du contact, c’est l’extrême inverse qui se produit.

Je suis alors très satisfait de cette cinématique finale et de ce qu’elle raconte, même si elle n’est pas exempte de défauts : trop verbeuse, le plot twist sur la nature de l’âme n’est pas assez clair malgré tout ce volume de texte, et l’éternel souci des dialogues timées la rend longuette.


Conclusion

One Last Job est encore à l’heure actuelle le projet le plus abouti auquel j’ai participé. En termes de Gameplay, de DA, de Juice, de stabilité… la plupart du jeu est polish comme nous le voulions. Ca se repose sur une base de gameplay solide, qu’on a, je trouve, plutôt bien exploitée pour en faire un Puzzle Game efficace.

Si c’était à refaire, je pense que je ferais cependant passer la narration au second plan, pour écrire quelque chose de plus concentré, qui raconterait peut être moins, mais de façon plus forte. Ainsi, le gameplay brillerait avant tout, ce qui est je pense le plus important pour un Puzzle Game, qui peut s’allier à une narration efficace, mais qui ne doit pas obstruer le coeur du jeu comme c’est le cas dans One Last Job. Sans ce temps passé sur les dialogues et les cinématiques, on aurait sûrement eu un niveau final mixant toutes ces mécaniques de façon intéressante. C’est une vraie leçon que j’ai apprise au cous de ce développement, et j’ai tout fait pour que les projets ayant suivi puissent en témoigner.

Ca reste un jeu pour lequel j’ai beaucoup d’affect, et duquel l’équipe partage un super souvenir de développement !

Render : Yanis Pineau, Logo : Revive