Esquant
Jeu d’énigmes sous Unreal Engine : vos premiers pas sont enregistrés, puis un clone les rejoue pendant que vous continuez.
- Année
- 2026
- Rôle
- Toute la programmation C++
- Équipe
- 2 personnes
- Technologies
- Unreal Engine, C++

Esquant est un jeu d’énigmes d’inspiration quantique, développé à deux sous Unreal Engine entre janvier et février 2026. J’ai écrit tout le code C++ ; mon coéquipier a construit les scènes et les Blueprints.
La rétro-cohérence
C’est la mécanique centrale : le joueur partage la salle avec son propre passé.
- Ses premières actions sont enregistrées, dix par défaut, un nombre réglable salle par salle.
- Un clone apparaît alors sur sa case de départ et rejoue ces actions, une à chaque pas du joueur.
- Le clone compte comme un vrai occupant : il enfonce les plaques de pression, emprunte les portails, et peut retirer un pont sous les pieds du joueur.
- Se retrouver sur la même case que lui est mortel, et il le reste une fois ses actions épuisées.
Chaque énigme revient donc à préparer ses premiers pas pour qu’ils servent plus tard.
Le puzzle
- Une grille en vue de côté, où l’on se déplace case par case, avec une gravité calculée sur la grille.
- Des échelles, des ponts, des pics, des plaques de pression à effet unique ou maintenu, et des portails jumelés qui échangent les places du joueur et du clone.
- Un but par salle, le sanctuaire, et un redémarrage automatique à chaque mort.
De la 3D au puzzle
On explore le monde à la troisième personne. En entrant dans une salle, le jeu passe à la vue de côté : une caméra dédiée prend le relais par un fondu, les commandes changent, et le puzzle ne démarre qu’une fois la transition terminée. Le chemin inverse se fait à la sortie.
Côté code
- Le déplacement sur grille est un composant partagé par le joueur et par son clone.
- Les éléments déclenchables et interactifs passent par des interfaces, ce qui permet d’en ajouter sans toucher au gestionnaire de salles.
- Le code expose des événements aux Blueprints, pour que les effets visuels se branchent sans modifier le C++.