J’ai conçu et publié un jeu vidéo d’horreur : les leçons que j’en ai tirées (1re partie) - Horreur Gamer

Témoignage i make saints

Publié le février 23rd, 2018 | par Guillaume Couture

0

J’ai conçu et publié un jeu vidéo d’horreur : les leçons que j’en ai tirées (1re partie)

Au début du mois de décembre 2017, j’ai publié mon tout premier jeu d’horreur indépendant, intitulé I Make Saints (et offert sur les plateformes Itchio et GameJolt). Ce fut une expérience enrichissante à bien des niveaux, de la conception à la livraison du titre, sans oublier la réponse de la communauté des joueurs et des youtubeurs suivant sa publication. À l’invitation de mes collègues de Horreur Gamer, j’ai donc écrit ce compte rendu de mon entreprise, en espérant que cela puisse inspirer d’autres personnes à suivre et peut-être réaliser leur rêve de publier leur propre jeu en profitant des leçons que j’ai tirées en chemin.

Présentation du projet

I Make Saints est une expérience interactive gratuite d’une durée approximative de 20 minutes qui cherche à plonger les joueurs dans une ambiance sombre et prompte à la réflexion sur les parts d’ombre de la psyché humaine. Puisque mes connaissances en programmation sont limitées, le jeu n’offre pas beaucoup de possibilités d’interaction, c’est pourquoi j’hésite à coller l’étiquette de « jeu vidéo » à cette production. Ce détail se reflète dans mes descriptions sur les plateformes de distribution, où le jeu est clairement identifié comme étant un « ambient interactive experience ».


(source image : I Make Saints)

La part de jeu se réduit donc à lire des notes et collectionner des « clés » (sous forme d’icônes religieuses) dans un environnement labyrinthique, le tout menant à une finale délibérément ambiguë, afin d’entretenir le sentiment de malaise chez le joueur.

Le programme complet fut réalisé sur une période de 3 mois grâce à l’engin de création Unity3D. Il contient un mélange de ressources externes préproduites (assets) gratuites et payantes, ainsi que des modèles simples et une trame sonore créés par mes propres moyens.
Traversons ensemble les différentes étapes qui ont mené à la réalisation de mon tout premier jeu officiellement publié, et voyons les leçons particulières que j’ai tirées de chacune d’elles.

Choisir un engin de création

Lorsqu’est venu le temps de transformer l’idée de I Make Saints en réalité, le premier problème auquel je me suis buté fut bien sûr de savoir quel engin de création je devais utiliser. À moins d’être un programmeur de talent qui peut coder un jeu à partir de rien, surtout si vous n’êtes qu’un amateur comme moi, le choix d’un engin de création (un logiciel qui offre les outils de programmation et modélisation et qui accompagne un designer jusqu’à la production d’un fichier exécutable et distribuable) est la première étape de la production.

Chaque engin de création a ses pour et ses contres. Construct, GameMaker Studio, RPG Maker sont de bons engins pour une première expérience de design de jeu en 2D, par exemple. Pour la 3D, Unreal Engine et Unity3D semblent les deux principaux choix disponibles, avec des options de téléchargements gratuites (tant qu’on n’atteint pas un certain montant de profit sur notre jeu). C’est entre ces deux logiciels que mon choix s’est fait.

Unreal Engine génère des graphismes d’une qualité exceptionnelle, et possède une interface de programmation visuelle appelée Blueprint qui permet à un non-programmeur d’écrire la logique programmée de son jeu grâce à des blocs représentés visuellement. De nombreux jeux AAA ont été produits grâce à cet engin, tels que Batman Arkham City, Dead By Daylight et plus récemment Dragon Ball FighterZ. Il existe un marché de ressources préproduites en ligne qui propose des modèles de grande qualité, mais ces derniers sont souvent coûteux et la variété offerte est somme toute restreinte, surtout en comparaison avec la compétition.


(source image : unrealengine.com)

Quant à lui, Unity3D continue de surprendre le marché avec ses derniers développements; alors que jadis on se plaignait que tous les jeux réalisés avec Unity se ressemblaient, ce n’est maintenant plus le cas et de surprenantes créations ont été réalisées avec cet engin (Cuphead, Pillars of Eternity, Firewatch). Le logiciel est tout aussi à l’aise avec la 2D que la 3D et bien qu’il n’y a pas d’interface de programmation visuelle incluse dans l’engin de base, le marché des ressources préproduites en ligne pour Unity offre une panoplie d’options pour agrémenter le logiciel de base (dont plus d’une option de langage visuel) et dans plusieurs cas, ces ressources sont gratuites.


(source image : assetstore.unity3d.com)

Mon choix s’est donc arrêté sur Unity3D, puisque la perspective d’une large banque de ressources gratuites ou peu chères m’a séduit. Cependant rassurez-vous, contrairement à ce que certains puristes vous diront, il n’y a pas de mauvaise réponse à ce choix d’engin de création : il suffit de trouver celui qui fonctionne pour vous et votre projet.

LEÇONS : Prendre le temps de se renseigner sur les engins de créations, regarder des tutoriels en ligne, ne pas avoir peur d’essayer les versions gratuites des engins pour un certain temps.

Le problème de ne pas savoir programmer

Le plus gros défi auquel je me suis exposé lors de la production de IMS, c’est mon manque de connaissances en programmation. C’est un problème de taille : ma capacité à maintenir mon attention sur le projet ne pouvait supporter le temps nécessaire à l’apprentissage d’un langage de programmation (Unity3D comprend surtout le C#, mais aussi le Boo et sa propre version de JavaScript appelée UnityScript). Il me fallait trouver une alternative.

En fouillant sur le marché de ressources (le Unity3D Asset Store), j’ai découvert que certains programmeurs offraient des solutions clé en main du genre « survival horror game development kit ». Ces ensembles offrent des mécaniques de jeux prêts à être utilisés tels que des objets examinables, des armes et munitions, etc., et les prix varient d’un ensemble à l’autre. Il arrive aussi que ces ensembles aient leur prix réduit lors de ventes hebdomadaires, donc il faut savoir être patient et attendre le bon moment pour acheter. Celui que j’ai finalement choisi semblait fournir plus de mécaniques que je prévoyais utiliser, et je compte peut-être m’en resservir sur de futurs projets.

L’avantage de ce genre de ressources, c’est que puisque la compétition est féroce sur le marché en ligne, leurs créateurs ont avantage à offrir un excellent service après-vente. Il me fut donc possible d’entrer en contact avec le programmeur derrière l’ensemble que j’ai acheté et lui demander des conseils sur comment modifier son travail pour qu’il s’adapte à mes besoins. Il a même conçu un script customisé pour régler un problème particulièrement tenace que j’avais face à une mécanique de jeu que je voulais modifier.

Cependant, il y eut au moins une mécanique de jeu que je souhaitais programmer moi-même, au mieux de ma connaissance. Le marché de ressources propose quelques alternatives en termes de programmation visuelle. À ce titre, PlayMaker est la ressource la plus populaire, mais les quelques tutoriels que j’ai regardés sur YouTube pour me familiariser avec cette dernière m’ont laissé plus confus qu’autre chose (entièrement basé sur le concept des Finite State Machines qui sont encore trop compliquées à mon goût pour un total débutant). Mon choix se sera plutôt arrêté sur une autre ressource, GameFlow. Si vous êtes familiers avec le style de programmation tel que vu dans RPG Maker (où la programmation est illustrée davantage comme une liste de tâches à être exécutée en ordre de haut en bas), GameFlow fonctionne de manière très similaire, et il me fut aisé de l’inclure dans mon travail.


(source image : hutonggames.com)

Finalement, un peu de chance me sourit et l’organisme Humble Bundle offrit durant l’automne 2017 un ensemble de livres électroniques axés sur la programmation pour Unreal et Unity, que je n’ai pas hésité à me procurer. Ces livres se sont montrés fort utiles et m’ont accompagné lors de la programmation de mon premier script, une tâche qui me semblait autrement intimidante.

Au total, en ressources payantes et en matériel de référence, j’ai dépensé approximativement 65 $ pour produire le jeu. Je justifie ces dépenses comme une manière de raccourcir mon temps d’apprentissage pour arriver à un résultat plus rapidement, de peur d’abandonner le projet par manque d’intérêt. Vos propres résultats peuvent varier, et il est possible de concevoir un jeu avec un budget de 0 $ si vous êtes plus futés et patients que moi.

LEÇONS : Prendre le temps de chercher des ressources gratuites, être patient et attendre les rabais et les occasions si l’on souhaite acheter des ressources, ne pas hésiter à entrer en contact avec d’autres créateurs et demander conseil, vaincre sa peur de programmer avec la réalisation de scripts simples.

Graphisme et musique : connaître ses forces et ses faiblesses

Je ne suis pas un modélisateur 3D. Je suis cependant un musicien amateur, composant de la musique électronique à temps perdu. J’ai donc décidé de mettre de l’avant ces connaissances, et en retour de contourner mes propres faiblesses dans d’autres domaines de manière créative.

Pour les graphismes, j’ai donc opté en toute connaissance de cause pour un look basse définition (low-fi) qui n’est pas sans rappeler l’âge d’or des jeux d’horreur de la PlayStation originale. J’ai cumulé les modèles 3D gratuits avec peu de polygones (low-poly) qui sont normalement réservés pour les jeux sur téléphones mobiles, afin d’en optimiser la performance. Ces modèles sont tout aussi bons sur PC et m’ont bien servi à entretenir ce look inquiétant et imparfait des jeux en 32 bits. Cela veut aussi dire que les modèles que j’ai dû concevoir moi-même se sont limités à des formes simples (des immeubles à base de cubes, etc.) afin de ne pas attirer l’attention sur mon manque flagrant de talent pour la modélisation.

Pour certains modèles 3D, j’ai dû faire appel à une autre ressource que j’ai trouvée, c’est-à-dire Sketchup Warehouse. Sketchup est un logiciel de modélisation 3D simplifié que Google utilise entre autres pour les immeubles dans son application Maps, et son Warehouse est la banque de modèles soumis par les usagers. C’est un véritable coffre au trésor de modèles et ces derniers sont tous libres de droits d’utilisation (les usagers renoncent à leurs droits de propriété en téléversant le modèle sur le site, selon les règlements de celui-ci). Prenez note qu’il y a une certaine difficulté à importer les modèles de Sketchup dans Unity3D, sujet dans lequel je ne plongerai pas aujourd’hui (longue histoire courte : Sketchup ne génère pas de carte UV pour ses modèles, il vous faudra la créer ailleurs).


(source image : 3dwarehouse.sketchup.com)

Évidemment, pour la trame sonore de IMS, il en était tout autre. J’étais dans mon élément. Je compose de la musique électronique grâce au logiciel Ableton Live (une version gratuite existe, Ableton Live Lite) et une série de synthétiseurs digitaux gratuits. La plupart des logiciels de musique offrent des versions gratuites qui seront plus que suffisantes afin de composer soi-même sa propre trame sonore. Une simple recherche en ligne pour des synthétiseurs et autres instruments digitaux (appelés VST pour Virtual Studio Technology) gratuits vous démontrera la pléthore de choix offerts. YouTube regorge de tutoriels à propos de n’importe quel logiciel de composition de musique, voire même quelques tutoriels à propos de la composition de musique d’horreur spécifiquement.

Il est important d’aborder la question des droits de propriété des ressources que vous comptez utiliser. Soyez TOUJOURS sûr(e)s que toutes les images, les modèles, les textures et la musique que vous utilisez pour votre projet soient libres d’utilisation. Prenez le temps de fouiller pour trouver qui a fait quoi, et de lire si vous avez le droit d’employer ces ressources. Dans le cadre du marché de ressources en ligne, généralement les droits d’utilisation seront expliqués clairement sur la page de vente de la ressource. Pour les images, textures et musique, les lignes sont parfois plus troubles, et cela vaut toujours la peine de chercher un peu plus loin (ou directement contacter les créateurs, vous seriez parfois surpris de leur réponse positive!) pour s’assurer que personne ne va revenir plus tard vous mettre des bâtons dans les roues, bâtons que vous aurez amplement mérités, d’ailleurs, si vous employez des ressources sans leur consentement. Il est également de bonne habitude de noter le nom des créateurs des ressources au fur et à mesure que vous les accumulez, dans un fichier texte, et inclure ce fichier dans le dossier de la version finale du jeu ou encore dans le générique du jeu. Ne pas nommer les créateurs peut encore passer dans un jeu offert gratuitement, mais si vous comptez mettre votre création en vente, c’est impensable de négliger ce détail.

LEÇONS : Investir dans ses forces, savoir adéquatement contourner ses faiblesses, garder un fichier pour noter les auteurs des ressources utilisées pour le jeu, s’assurer d’avoir droit d’usage pour toutes ses ressources.

La portée courte du projet pour ne pas perdre l’intérêt

Aussi appelée scope par nos cousins anglo-saxons, la portée du projet détermine la charge de travail qui vous attend durant la conception de votre jeu. Pour un premier titre, vouloir créer un jeu épique à monde ouvert multijoueur comme Grand Theft Auto « mais en mieux » est une idée désastreuse. Nombre de projets sont abandonnés parce qu’ils représentent un effort trop grand, trop irréaliste, pour l’équipe ou l’individu derrière ceux-ci.

Il m’était donc essentiel de garder la portée du projet aussi compacte que possible. Sachant que je ne pouvais pas inclure de mécaniques de jeu trop complexes, une portée plus petite était donc idéale. I Make Saints contient 5 scènes (2 écrans titres et 3 niveaux de jeu) donc ce n’était pas un défi trop engageant.

Afin de m’assurer que le projet était possible dans son entièreté, il me fallait concevoir une « tranche verticale » du jeu (donc, un environnement simple qui inclut toutes les mécaniques qui seront utilisées). J’ai modélisé un appartement qui contenait des notes à lire, des objets à examiner, des portes à ouvrir, des clés pour débarrer ces dernières et des zones de saut (« jump scares ») déclenchables selon certaines conditions (la position du joueur, le contenu de son inventaire, etc.). Cet environnement test se retrouve pratiquement intact dans le jeu final sous la forme du premier niveau, question de ne gaspiller aucun travail!

Une fois que ces quelques mécaniques furent éprouvées, il ne m’a suffi qu’à les copier dans les autres environnements et le tour était joué, j’avais enfin un jeu.

LEÇONS : Réduire la portée du projet à une durée réaliste, composer une tranche verticale, s’assurer que toutes les mécaniques fonctionnent le plus tôt possible dans le projet.

L’optimisation : l’étape dont on ne parle jamais

L’optimisation, c’est-à-dire le peaufinage des aspects du jeu afin qu’il atteigne la plus haute valeur d’image par seconde (FPS) sur le plus grand nombre de machines possibles, est une étape de la production rarement discutée quand vient le temps de parler de la création de jeu. Il n’y a aucune raison particulière qui explique ce manque, sinon que la postproduction n’est pas la partie la plus excitante du projet.


(source image : I Make Saints)

Lorsque j’ai envoyé une première version de IMS à des amis, la réponse fut presque unanime : les FPS plantaient grave durant le second niveau, qui est l’environnement le plus large du jeu.

Il me fallut apprendre rapidement ce qu’étaient les techniques d’occlusion ambiante, d’écrêtage, des cartes UV, etc. Bref, de nombreuses notions qui seraient trop longues à expliquer ici, mais le message est le suivant : ce n’est pas parce que vos niveaux sont enfin terminés que votre travail achève.

D’ores et déjà, durant la création de vos niveaux, vous pouvez tenter de limiter le nombre de sources de lumière, et concevoir des niveaux avec des corridors qui cachent les grands espaces plus exigeants à rendre pour l’engin de création. Il y a plusieurs bonnes habitudes à prendre ainsi pour aider à l’optimisation du jeu. Rappelez-vous que ce n’est pas parce que le jeu roule à merveille dans le logiciel de création que ce sera le cas sur l’ordinateur d’un autre joueur.

LEÇONS : Prévoir l’optimisation lors de la création des niveaux, se renseigner à propos des mesures d’optimisation propres à l’engin de création que l’on utilise, demander à des amis de tester le jeu pour vérifier la performance sur une multitude de machines.

Voilà! Ce sont grosso modo les étapes à traverser pour créer son propre jeu d’horreur par soi-même. Bien sûr, ce ne sont que les grandes lignes, puisque la grande partie de l’apprentissage de ce processus se produit lorsqu’on met ses propres mains à la pâte; c’est en « designant » qu’on devient designer, pour paraphraser la maxime populaire. Maintenant que nous venons de survoler tout l’aspect de la production du jeu, la seconde partie de ce bilan traitera de tout ce qui vient après : la publication du jeu sur Internet, sa réception et la performance de IMS depuis sa sortie.

N’hésitez pas à aller essayer le jeu et à partager vos commentaires à son sujet. Le jeu est offert sur les plateformes Itchio et GameJolt.

Guillaume est un grand ancien, ses tentacules plongées dans tous les aspects de la culture pop. Youtuber derrière la série « C’est Nous Qu’on Joue », designer de jeux d’horreur et analyste enthousiaste des « 31 Chansons pour Halloween » pour la page FB d’Horreur Gamer, son empire s’étend tranquillememt. Ça tombe bien, il n’est pas pressé.

Tags: , , , , , , , , ,


À propos de l'auteur

Guillaume est un grand ancien, ses tentacules plongées dans tous les aspects de la culture pop. Youtuber derrière la série "C'est Nous Qu'on Joue", designer de jeux d'horreur et analyste enthousiaste des "31 Chansons pour Halloween" pour la page FB d'Horreur Gamer, son empire s'étend tranquillememt. Ça tombe bien, il n'est pas pressé.



Comments are closed.

Retour en haut ↑