Postmortem
Pour les intéressés qui veulent en savoir un peu plus sur le déroulement du projet, voilà le post-mortem :
Pourquoi lode runner ?
- Projet de gamejam, échoué de mon point de vue, mais que j’ai eu beaucoup de fun à le faire et une « envie de le finir ».
- Défi perso, je voulais finir un gros projet solo.
- Je connaissais rien du jeu original et j’ai surtout appris que ce jeu est DUR mais à un point que je n’imaginais pas.
- À la base, je voulais juste approfondir ma maîtrise de js pour le dev de jeu et m’occuper sur une période libre de travail.
- Je voulais aussi ajouter un “gros” projet plus abouti à mon itch, pour m’en servir de portfolio.
Pourquoi du pixel art ?
J’aime le look rétro qui donne une esthétique à la fois travaillée et simple en évitant de surcharger l’écran avec des détails inutiles. Je trouve aussi ce style plus facile à animer en image par image. J’avais déjà fait ce choix à la gamejam et je l’ai maintenu ^^
Pourquoi Javascript ?
J’aime bien ce langage, et pour les jeux le côté aucun téléchargement facilite les choses. Je sais que des gens le voient parfois comme un langage bordélique, mais je vois ça comme une liberté de faire ce que je veux.
Comment je l’ai organisé ?
Au départ, pas du tout, je faisais ce qui me chantais. J’apprenais en me cassant les dents et en m’amusant. Puis à un moment, j’ai vu que le projet devenais « gros » (au moment où j’ai refondu ma classe Game qui était un fatras de globales utilisées par tout le jeu en un vrai manager je pense^^).
Et là je me suis posé la question de l’organisation.
Parce que au delà de savoir où aller, y a un côté vidage de tête à s’organiser qui fait un bien fou !
Je dois reconnaître que sinon j’ai cette fâcheuse tendance à m’éterniser et à tomber dans la procrastination et dans un projet qui ne finit jamais.
Je pense que publier mon avancée sous forme de mises à jour régulières a beaucoup joué dans la réussite pour arriver au bout du projet.
Quelques personnes qui lisent le sujet, c’est quelques personnes qui voient ton engagement.
Du coup cette « pression » qui faisait peur c’est à la fois l’engagement que j’ai pris auprès des autres mais surtout, celui que tu je me suis fait à moi-même.
Et je l’ai beaucoup sous-estimé ça.
Ça a transformé cette petite voix qui me disais parfois « arrête de toute façon c’est juste un truc que tu fais dans ton coin ». Ça disparaît et la peur devient motivation et se change en moteur.
J’ai couplé ça avec un simple Trello pour garder mon esprit « vide » de l’organisation et ça a suffi.
Il est simple d’utilisation, son système de carte me permet de synthétiser ou de détailler mes idées selon mes besoins. J’ai pas besoin de plus.
À quel rythme j’avançais ?
Je me suis creusé la tête un moment sur cette question en écrivant ce post. Mais en fait c’est pas possible à estimer. Y a des jours j’avançais « normalement ». D’autres pas du tout. D’autres énormément. C’est bateau de dire ça mais, en fait ça dépendait du reste de ma vie quotidienne. Je sais que parfois j’ai codé une ligne, tenté de débugger un truc et fermé l’éditeur et parfois j’ai fait des journées où je faisais que travailler dessus.
Le truc où je me suis le plus loupé en orga temps, c’est les niveaux. J’ai vite vu que si je voulais cloner 150 lvl et en ajouter 15, un éditeur c’était obligatoire. Mais ça taf pas tout seul un éditeur et comme il fallait cloner, adapter, tester, corriger bah ça m’a pris 2 mois :p.
D’ailleurs le clonage des niveaux en lui même faut que j’en parle un peu plus.
À la base, dans ma tête c’était je clone les 150 originaux et basta j’ai fini dans 2 jours (Non !). Mais la grille originale est pas la même en terme de dimensions et en avançant les niveaux, c’est là que j’ai vu le monstre de difficulté dans lequel je m’étais lancé.Sans déconner, même en connaissant le comportement des ennemis et les niveaux, les tests étaient parfois sport !
C’est comme ça que j’ai ajouté les checkpoint en espérant rendre la difficulté un peu moins traumatisante. Et pour les différencier, en plus du thème musical différent, j’y ai casé soit une ref geek universelle, soit une ref qui me concerne un peu plus.
Et au fur et à mesure, c’est un peu devenu ma signature dans le jeu :) .
C’est aussi dès l’arrivé des premiers niveaux que j’ai vu les limites de mon pathfinding.
Pour ceux qui ont testé un peu toutes les versions, ils se souviendront qu’à la base je développais tout sur un seul niveau de jeu. Et que ce premier niveau « basique » avait assez peu de contraintes. Quel bordel quand j’ai commencé à ajouter les configurations de tiles très variées du jeu original !De toute façon si je dois me souvenir d’une difficulté dans ce projet c’est le pathfinding ! Mais j’y reviendrai ^^.
Ce qui a marché ?
- Le projet ? C’est con à dire mais l’ayant mené à terme, je pense que je peux dire que ça a marché.
- Mes objectifs perso aussi ont été remplis. Je voulais mener un projet solo pour voir comment ça s’articulait du début à la fin et au final, ce qui est le plus dur c’est de savoir quand arrêter de creuser un point.
- Je suis aussi assez content de mon estimation du temps. J’avais tablé sur un an de projet, j’ai bouclé le code à date et le projet complet avec 2 mois de retard. Ça reste une énorme victoire pour moi .
- Simplement en terme de pratique aussi, je pense que c’est un succès. J’ai réussi à maintenir un projet fonctionnel et qui m’a apporté beaucoup de connaissances.
- Le son.
Découverte pour moi, 0 connaissances du sujet et j’ai réussi à faire des petits sons et thèmes avec mes petites mains et j’en suis très content x).
Ce qui n’a pas marché ?
- L’éditeur et les lvls persos :
Un outil qui a pas mal changé en me frottant aux contraintes techniques, cette fois de JS et de itch. À la base, je voulais le rendre dispo in game et permettre aux joueurs d’étendre le jeu avec leur propres niveaux.
Mais même si je voulais faire en sorte d’écrire dans les dossiers du jeu, ça coinçait à cause des restrictions de sécurité (normal vous me direz ^^) . J’ai donc fini par renoncer à l’idée et l’éditeur est juste devenu un outil qui a facilité le dev.
- Le pathfinding :
En demi teinte. II fonctionne, mais je peux pas non plus dire que je le « maîtrise ». C’est un outil complexe, j’ai réussi à l’adapter à mon besoin, j’ai compris son fonctionnement mais si on me demande si je vais le réutiliser directement dans mes projets, je pense pas de suite.
Ça me laisse une impression de lourdeur en fait.
Ce sujet a été un tout en fait que j’ai, je pense, auto conditionné en difficulté:
Il fallait intégrer un bout de code externe à mon projet.
C’était la 1ere fois, c’est impressionnant, pas engageant et pour le coup, sans trop d’infos j’étais vite perdu et c’est pas super bien documenté parce que je savais pas exactement ce que je cherchais.
J’ai dû apprendre à m’en servir. Ça c’est toujours compliqué, se familiariser avec un code qui n’est pas le sien.
Bizarrement quand c’est rien que ton projet, j’ai trouvé ça encore plus dur ^^’. Dépasser la peur du « j’ai mal fait/compris, je dois recommencer ». J’avais peur de « tout casser » et c’était plus simple de me réfugier derrière le « c’est le code externe que j’ai ajouté qui marche pas ».
Ce que j’ai appris ?
- Savoir quand s’arrêter.
De façon générale. S’arrêter de forcer quand tu coinces. S’arrêter de creuser une idée. S’arrêter parce que t’as pas la tête à ça. J’ai réalisé que sinon, c’est comme ça que je tombais dans la procrastination. Je me décourageais par orgueil du « je dois y arriver » et du coup je perdais le plaisir de coder. Et je transformais un jeu (le mot est important dans plusieurs de ses sens là ^^) en tâche insipide comme celles qui peuvent parfois te vider en boulot d’entreprise.
- M’organiser tôt mais sur ce que je suis entrain de faire, pas sur ce que je vais faire.Noter les idées à venir quand je les ai ( et tout de suite, le "je m’en rappellerai encore demain" est un vil PIÈGE xD ). Mais pas essayer de tout prévoir. rien ne se passera comme je le veux de bout en bout. Jamais. J’ai eu le défaut d’essayer de faire ce qu’on m’imposait en entreprise je pense et je sais parfaitement que ça marche pas parce qu’il y aura toujours des imprévus.Du coup m’organiser sur ce que je fais, comment arriver au bout de la tâche actuelle est bien plus efficace.
- Level design : Une des quêtes « secondaires » du projet et raison pour laquelle j’ai cloné un jeu existant. J’ai aucune connaissance pratique en level design et je me suis dit que ça serait formateur d’apprendre d’un jeu existant. Ça l’est. Rien qu’adapter un niveau avec quelques cases de différences peut changer beaucoup de choses. J’ai une idée beaucoup plus claire maintenant de la conception d’un niveau même s’il me reste beaucoup à apprendre.
- Rester simple. J’ai volontairement mis ce point en dernier. Parce ce que si y a un truc que j’aimerai que les courageux qui sont encore entrain de me lire retiennent de tout ça, c’est ça.Chaque fois que je suis tombé sur un problème, bug, mauvaise conception, blocage, j’ai toujours fait la même chose. J’ai réfléchi à la question en me disant que je voulais l’expliquer à quelqu’un qui n’y connaît rien. Et j’ai vu que c’est en allant à l’essentiel que ça marchait toujours. J’ai fini par avoir une « note » mentale quand je codais le projet: rester simple, clair et lisible.Pas forcément facile quand on nous forme à l"efficacité" absolue. Devoir tout connaître au plus rapide et au « plus opti ».Bah j’ai vraiment gagné en efficacité quand j’ai dit merde à ça et que j’ai suivi la voie qui m’allait. J’ai pas un code parfait. Il est optimisable. Largement. Mais j’ai un projet qui fonctionne et fait ce que je lui demande. Qui est commenté. Si je reviens dessus dans un an j’ai des if/else lisibles, pas des ternaires hiéroglyphiques qui me font gagner si peu de temps qu’on le sent pas mais qui m’en feront perdre bien plus si je dois les re-déchiffrer plus tard pour ne citer que ça ^^.
Pour la suite ?
Je vais me concentrer pour organiser ma page itch de façon plus agréable.
Pour la suite des projets, pas encore d'idée fixée.
J’ai envie de repartir sur du moins ambitieux, et de revenir sur du Lua/Love2D.
Merci à tout ceux qui auront pris le temps de lire, en espérant que vous aurez apprécié remonter un peu le temps dans le projet avec moi :) .
Run Doctor
Run Doctor – Clone de Lode Runner avec inspiration Doctor Who
More posts
- Run Doctor : fin du voyage4 days ago
- Plus de niveaux, c'est parti pour la grande évasion !32 days ago
- Fin de la boucle temporelle : Y a des niveaux !77 days ago
- Ajustement de l'invulnérabilitéMay 07, 2025
- Ça commence à ressembler à un jeu ! :)May 02, 2025
- Petit coup de peinture !Mar 10, 2025
- Update - amélioration du déplacement du joueurJan 19, 2025
- Régénération !Jan 06, 2025
Leave a comment
Log in with itch.io to leave a comment.