
Overthink
Réalisation en autonomie d'une vertical slice de Puzzle game
Ayant beaucoup apprécié Antichamber et de part ma volonté de travailler de multiples aspects différents de la programmation de jeu vidéo, je me suis lancé sur ce qui à la base était un simple test pour du rendering et qui à la longue, est devenu une démo de jeu. Ce qui suit sera une énumération avec quelques détails des différentes parties que j'ai voulu travailler/approfondir. Pour plus de détails techniques n'hésitez pas à consulter le GitHub de ce projet.
Le rendering
Premier élément de ce que je souhaitais travailler, je voulais tester de faire un post-process d'outline, et travailler ce rendu quelque peu particulier qu'offre Antichamber.
Après avoir personnalisé le shader de lighting d'Unity, j'ai pu greffé ma propre logique pour réaliser le même genre d'éclairage.
Comparatif: Antichamber (Gauche) / Overthink (Droite)


Les features
Ayant voulu percer à jour certains secrets d'Antichamber, vous constaterez que certaines mécaniques sont très similaires. Notamment la fameuse phase des escaliers amenant toujours au même endroit, et c'est ainsi que j'ai découvert les tunnels non Euclidiens.
Une autre mécanique très visuelle a suscité mon intérêt: le stencil buffer. C'est ainsi qu'une de mes première énigmes a vu le jour.
Et c'est dès lors que ma volonté de créer mes propres mécaniques est arrivée, et j'ai alors entrepris une succession de petites énigmes sans suite logique qui m'a amené au résultat que vous pouvez constater. Je l'avoue, le Game Design de cette démo n'est que très peu travaillé mais il s'agit avant tout d'une liste de petites mécaniques que j'ai souhaité étudier !
Parmis tous les systèmes que j'ai du développer, le fenêtrage et la gestion de l'UI est pour moi celui qui sort le plus du lot. Au delà du fait de devoir gérer leur navigation Manette/Clavier à n'importe quel moment sans perdre de focus et en changeant les affichages, j'admet être très satisfait du résultat final qui me permet notamment de gérer beaucoup de cas et de personnaliser les actions des divers éléments.


L'accessiblité
Au delà des raisons marketing qui peuvent pousser des studios à se pencher dessus, je trouve qu'il y a un réel potentiel d'innovations et pour offrir le droit de jouer au plus grande monde, cela demande un gros travail en amont.
Au travers d'un TED sur les daltoniens, j'ai compris très rapidement qu'un filtre de couleur n'était pas la bonne approche, mais qu'il fallait éviter au maximum de communiquer avec les couleurs quand cela est possible. J'ai alors réadapté certains puzzle pour répondre à ces contraintes.
La majeur partie de mon travail sur l'accessibilité a été la refonte de ma gestion d'input afin d'y intégrer un mappeur de touche pour clavier et manette. Cela m'a demandé une refactorisation de mon code car j'ai non seulement changé la logique pour pouvoir fonctionner avec tous les inputs mais j'ai également fait la transition vers l'API New Input System d'Unity. J'ai donc du apprendre le fonctionnement de cette dernière qui est fortement différent de la logique native d'Unity.
Cela parait peu mais cumulé l'intégration des autres options de jeu, je peux affirmer que cela représente la majorité de mon temps de développement.
N'hésitez pas à consulter le résultat tout en bas de la page.
Résumé
Avoir abordé une production sous beaucoup de ses angles, que ce soit, le gameplay, le rendering, le son (composition, design et programmation), les divers paramétrages... Mener à bout ce projet en parallèle de mon travail m'a permis de progresser sur certains aspects que je n'ai pas pu étoffer pendant le projet Edge Of Eternity malgré mon rôle de programmeur généraliste.
Au delà de la programmation, j'ai beaucoup appris sur l'accessibilité, comment prendre de bonnes habitudes pour bien intégrer les features d'accessibilté au sein d'un jeu et aussi m'auto-former sur des API en cours de développement ce qui est convenons-en partie intégrante du rôle de programmeur.
Si vous ne souhaitez pas jouer au jeu, je vous invite tout de même à consulter les screens et le walkthrough ci-dessous.
![]() Overthink1Le départ | ![]() OverthinkVotre quête principale |
---|---|
![]() OverthinkUne énigme un peu sinistre | ![]() OverthinkFractal animé en shader |
![]() OverthinkLa scène emblématique |