HooperVania Postmortem [FR]


1) Genèse du projet

Commençons par le commencement ! Je suis Linky439, et j'ai commencé à faire des petits jeux (très peu aboutis et remplis de bugs) avec RPG Maker puis surtout Game Maker vers 2005 à l'âge avancé de 10/11 ans, en même temps que mon grand frère (de 3 ans mon aîné). C'est devenu une passion, même si j'ai délaissé le développement de jeux amateurs pendant quelques années en raison de la difficulté à faire quelque chose de convenable et de fini, comme 99% des autres développeurs amateurs.

Je découvre Hooper un peu plus tard, en 2007 ou 2008, et suit, fin 2009, sa première épopée sur Super Castlevania IV où il joue d'une traite au jeu pour la première fois tout au long de la nuit. Une épopée qui en appellera d'autres et transformées depuis en tradition annuelle du 31 décembre, à chaque fois sur un opus différent.

Et début 2016, l'idée fait son petit bonhomme de chemin alors que je regarde les épopées sur les Castlevania NES : que donnerait un jeu qui mélangerait les univers des Castlevania et celui de la communauté de Hooper ?

Je me mets au boulot, en utilisant alors un moteur de jeu de plateformes d'un pote d'un ancien forum de création de jeu, mais je me heurte vite à mes limites : j'essaye de les contourner, de coller du sparadrap ici et là, un premier trailer sort même en 2017 avec 2-3 niveaux non finis. Le gameplay est alors un peu bancal et surtout très lent, très calqué sur les Castlevania de la NES mais sans avoir la maîtrise du level-design et de l'AI des ennemis qui va avec.

Malheureusement, si j'ai déjà beaucoup d'idées à ce moment (dont une bonne partie sera finalement utilisée dans le HooperVania que vous connaissez), il est de plus en plus compliqué d'avancer sur ce projet. Le moteur de jeu n'est pas bien adapté, rajouter le moindre contenu prend un temps considérable et je n'ai surtout, à ce moment-là, aucune planification, aucune gestion de projet : en bref, je vais dans le mur, au point que je décide début 2018 de mettre en pause indéterminée HooperVania.

En parallèle, je finis en Mars 2018 un autre projet au long cours commencé en 2013. Puis je me lance dans un tout nouveau projet d'A-RPG nommé Knight George (dont je reparlerai bientôt), avec une différence : cette fois, j'essaie de mettre un cadre au jeu. J'écris des choses en amont du début du développement, je note les idées de manière un peu plus organisée. En 2019, j'effectue une réorientation professionnelle et j'intègre officiellement le monde de l'informatique : je vais y découvrir des méthodes pour bien mieux gérer des projets et suivre l'avancement.

Fort de ces nouvelles connaissances, je me permet donc de me lancer dans un projet parallèle à Knight George, un fangame F-Zero Pocket dans le style de la GameBoy Color. Jeu que j'arrive à sortir en une bonne année en travaillant dessus en moyenne une à deux heures par jour, avec une meilleure finition et tellement moins de soucis que mes projets précédents !

Revigoré par ce succès, je réactive la bête HooperVania en Novembre 2020.

2) Déroulé du projet

Première étape : le moteur de jeu. Je le code cette fois-ci moi-même, en ayant en tête les exigences que je veux respecter. Je ne veux pas me lancer dans la création de contenu avant d'avoir un moteur propre et dont les grandes lignes sont finies. Je commence à informer les fidèles Piccolo_ et Chuck Chan de l'avancée de ce moteur de jeu, leur montrant quelques fonctionnalités au fur et à mesure, puis Chuck lance le discord du jeu courant 2021 : avec l'aide de ces deux (bien bons) membres, je suis un peu plus canalisé, j'ai des retours rapides sur ce qui marche bien et ce sur qui marche moins, et on arrive à dégager ce que j'appelle un chemin critique de contenu, à savoir les niveaux qui vont constituer le squelette du jeu et qui sont indispensables à la sortie de celui-ci. Nous en sommes alors à 8 niveaux, plus deux combats de boss.

Deuxième étape : l'éditeur de niveau. C'était quelque chose que j'avais commencé à débroussailler en 2017, et c'était un outil qui me paraissait indispensable à la sortie de HooperVania : je savais que j'aurai besoin d'aide pour créer des niveaux. Je développe cet outil durant la deuxième moitié de 2021, et il s'avère être si pratique pour tester rapidement que je décide de construire tout le jeu autour. Moi qui l'envisageait au début comme un outil permettant de créer un squelette de niveau que j'aurai ensuite rapatrié et décoré, étoffé dans Game Maker... Je décide de passer un peu plus de temps pour le développer, ce qui va s'avérer payant puisque le voici désormais capable de poser les briques d'un niveau, mais aussi d'importer des tuiles et les déposer dans le niveau, puis d'exporter ce niveau et le partager avec d'autres, permettant un développement plus partagé et infiniment plus rapide !

Fin 2021, deux niveaux (Mont Saturne et La Grande Évasion) sont en grande partie finis ; je révèle le retour du projet sur le forum hooper.fr avec un nouveau trailer. Deux objectifs : annoncer la reprise du projet mais aussi recruter des level-designers pour une sortie prévue en Juin 2022. Nous sommes alors rejoints par plusieurs membres, et on distribue les niveaux. Ils se familiarisent avec l'éditeur, me remonte des bugs ou des demandes (nouveaux ennemis, conditions pour bloquer la caméra, etc.) pendant que j'étoffe toujours l'outil et commence à développer des boss.

Le jeu va continuer à être développé de cette manière, et je me change parfois les idées en développant d'autres niveaux souvent avec un gameplay un peu différent (Marsouin Attacks, La Tour Tournante, 1vs100, la carte du monde). L'équipe continue de grossir avec le recrutement (tardif) de playtesteurs et d'artistes en Mai. Les bugs continuent de remonter, et je vois que l'on aura pas tout fini en Juin : je décale la sortie en Juillet, puis finalement au 1er Septembre.

Tout s'accélère pendant l'été : les idées fusent, les tests sont incroyablement nombreux et rigoureux, les niveaux s'affinent au fur et à mesure que l'on y joue, le jeu prend de plus en plus forme avec l'apparition de menu, de la boutique, etc. Profitant de temps libre (car chacun avançait à son rythme), de nouveaux niveaux sont progressivement rajoutés au jeu, portant le total à 17 dont 3 niveaux de boss. Du contenu est même rajouté dans le dernier mois avec les instruments et la vraie fin !

Avec un rush final assez intense en Août, et des corrections jusqu'aux dernières heures du 31 Août, le jeu sort finalement le 1er Septembre à 00h01 ! Les retours sont très vite très positifs, et un patch corrigeant les principaux bugs sort un peu plus de deux semaines après la mise en ligne du jeu. Enfin, une version définitive sort début Novembre, avec des nouveaux bonus et les derniers correctifs.

3) Ce qui a marché

Indéniablement, je considère le projet comme une réussite. Le chemin de croix de 2016 a laissé place à un projet fluide, foisonnant.

Première réussite : mieux cadrer le projet. C'était déjà l'enseignement principal de F-Zero Pocket, et depuis ce projet j'utilise Trello pour organiser le développement du jeu en "ticket", me permettant de documenter les choses à faire et les choses faites. Le site permet en effet de créer des cartes dans lesquels je renseigne un numéro (que j'incrémente à chaque carte), une date d'ouverture, un statut de résolution et une date de clôture. Je laisse aussi des commentaires tous les jours pour écrire ce que j'ai fait, ce que j'ai testé, et ce qu'il reste à faire, ce qui est un vrai plus me permettant d'avoir cette vision que le projet avance bien.

En effet, je me souviens très bien que dans mes projets à l'époque (avant 2019), je m'éparpillais en développant quelque chose car je découvrais un bug, puis une amélioration à apporter à telle ou telle fonctionnalité, et je finissais ma journée en ayant l'impression de ne pas avoir avancé car ce que je voulais faire (par exemple coder un ennemi) n'avait pas du tout été réalisé, ce qui finit par peser sur le moral. Ici, je travaille sur un sujet précis, et tout ce que je découvre fait l'objet d'autres tickets qui seront traités par la suite. Une fois mon sujet validé, je passe à un autre et j'avance ainsi de manière cohérente.

Deuxième réussite : l'apport des autres membres de l'équipe. Ils ont créé des niveaux de folie, ont rajouté des mécaniques de jeu intéressantes, et surtout ont fait des retours constants sur le jeu qui ont permis une amélioration globale sans aucun doute. Par exemple, au début la gravité du jeu était plus flottante, et c'est sur leurs conseils que je l'ai modifié pour avoir le gameplay nerveux du jeu final. Ils ont aussi rééquilibré la difficulté du jeu en jouant sur la vie et la résistance des ennemis.

Et ils ont testé sans relâche (on doit avoir des centaines d'heures de playtest), mettant à jour de nombreux bugs ou anomalies qui ont pu ainsi être corrigés. Si à ça on ajoute des graphismes de toute beauté (les illustrations sont incroyables), il va sans dire qu'HooperVania est un bien meilleur jeu grâce à leur apport et qu'il ne faut pas négliger l'aide et les avis extérieurs.

Troisième réussite : avoir fait le gros du moteur de jeu AVANT de commencer à construire des niveaux ou des boss, et itérer à partir de là. Toujours depuis F-Zero Pocket j'utilise beaucoup plus la notion "d'héritage" en programmation orientée objet, ce qui a simplifié grandement le développement du jeu. A titre d'exemple, toutes les plateformes mouvantes sont des dérivées les unes des autres, avec leurs adaptations spécifiques. Ainsi le personnage du joueur savait comment interagir avec sans devoir dupliquer du code à foison.

De même, tous les objets soumis à la gravité (Hooper, les ennemis, certains projectiles, certains boss) sont tous des dérivés les uns des autres, partageant le même code de gravité. Cela a rendu le développement beaucoup plus robuste, plus simple et plus rapide, comparativement à la version 2016 où chaque objet avait son propre code de gravité, dupliqué à la main, et chaque modification de celui-ci devait alors être à son tour copiée manuellement sur chaque objet. Le fait d'avoir mieux pensé le code a été une aide immense pour la réussite du projet.

Quatrième réussite : le jeu a réussi à n'être ni trop chargé en Castlevania, ni trop chargé en référence à Hooper. C'est un équilibre assez délicat mais que je pense nous avons réussi à bien maintenir, alors que le piège de ce genre de projet est de partir trop à fond dans des private jokes. Il a fallu essayer de toujours naviguer entre les deux, pour ne pas perdre trop de joueurs.

4) Points d'amélioration

Néanmoins, certains points sont des pistes d'amélioration. Commençons par l'éditeur de niveau, très pratique comme déjà mentionné approximativement 150 fois ci-dessus, mais qui possède une faille assez ennuyante : les fichiers de niveaux en cours de modification sont stockés dans les fichiers locaux du PC de l'utilisateur, dans son AppData, et ce sont ces fichiers qui prennent la priorité par rapport à ceux déposés dans le dossier du jeu, ce qui a pu occasionner des légères pertes ici et là et nous a forcé à refaire certaines choses plusieurs fois (le Martialou dans le niveau 2 en étant le principal exemple). Il aurait été mieux de penser dès le début l'éditeur de sorte à ce qu'il ne garde rien en local une fois fermé.

Deuxième point : le recrutement trop tardif de playtesteur. En effet, un recrutement en Mai pour une sortie initialement prévue en Juin... Cela n'aurait jamais pu marcher, et la sortie en Septembre n'a pu être possible avec si peu de souci que grâce au travail acharné de toute l'équipe. Le playtest devrait être effectué par plusieurs personnes pendant bien plus longtemps !

Troisième point : le manque d'une vraie vision d'ensemble globale pour le jeu. En effet, tout au long du projet, le jeu a gardé un aspect assez hétéroclite, avec des niveaux qui ne sont pas liés entre eux et qui sont tous un peu à part, ce qui peut nuire au jeu.

De même, et bien que c'est un point qui est voulu de part la nature amateure du jeu, on note des graphismes pas tous cohérents sur l'ensemble du jeu car fait par chacun dans son coin. C'est aussi un manque de lucidité de ma part qui imaginait pouvoir faire l'ensemble des graphismes du jeu...

Quatrième point : un certain manque d'effets sonores. J'ai tendance à développer le jeu avec le son coupé, notamment parce que je le relance souvent ou parce que lorsque je développe, j'ai de la musique en fond. Le résultat est alors que le jeu n'a pas beaucoup d'effets sonores, ou pourrait en tout cas bénéficier d'un plus grand soin apporté à la partie sonore.

5) Conclusion

Je ne sais pas vraiment comment conclure ce post-mortem, alors je me contenterai de dire que j'éprouve une grande fierté vis-à-vis du résultat de ce projet. Nous avons un jeu que je trouve vraiment très fun, bien fini, avec du contenu intéressant et bien construit (nous avons réussi, je pense, à éviter l'écueil des niveaux trop délirants avec une pluie d'ennemis impossibles).

Il reste, bien évidemment, des possibilités pour améliorer tout ça, mais le jeu possède une âme et c'est, je pense, sa plus grande réussite.

Merci à toute l'équipe pour son travail extraordinaire, et merci aux joueurs !

Get HooperVania

Leave a comment

Log in with itch.io to leave a comment.