La dernière fois dans Developping, J'avais choisi mon moteur de jeu - Unity - et j'avais commence à apprendre à l'utiliser Mais il est maintenant nécessaire de révéler l'idée pour mon jeu, et de s'y mettre pour le réaliser Mais par où commence quand on développe un jeu? Et Je pense que c'est une question vitale et importante parce que, comme vous allez le voir, si on prends la mauvaise direction quand on commence à développer un jeu, cela peut être désastreux pour le projet. Laissez moi vous expliquer. Ok, donc commençons par l'idée pour ce jeu que je vais faire et préparez vous parce que c'est fou, un jeu 2D de plate-forme en scrolling vertical. Oui je sais tous les développeurs indé commencent par un jeu de plate-forme en scrolling vertical. Mais je pense avoir de bonnes raisons. J'adore le genre, les jeux de plate-forme sont assez facile à faire dans leur genre. Ce n'est pas non plus un MMO. Et j'ai fait plein de vidéo à propos du level design de jeux de plate-forme et leur character design, qui nous seront utiles Ce sera aussi, préparez-vous, un jeu de plate-forme avec un twist unique L'idée est que le personnage de mon jeu est magnétique. Ce qui veut dire qu'il sera repoussé par certaines plate-formes et attiré par d'autre. Et vous pourrez changer la polarité avec un bouton Cette idée vient en fait de ce jeu: The Legend of Zelda: Oracle of Seasons Dans ce jeu, vous avez un gant magnétique qui permet à Link d'être repoussé par certaines surfaces et être attiré par d'autres. Vous pouvez aussi l'utiliser pour attraper des boules métallique pour résoudre un puzzle ou combattre des ennemis. C'est un mécanique assez cool mais assez limitée par le genre, la vue par dessus, et bien entendu, la technique limitée de la Game Boy. Je me suis donc dit: Et sI j'empruntais cette idée de gameplay et que je la mettais dans un autre jeu: Un jeu de plate-forme 2D, rapide. Quelque chose comme Celeste ou Super Meat Boy. Un jeu ou il faudrait maitriser le magnétisme en toute vitesse, fluidité et précision Voilà l'idée. Et la question maintenant Pour où vais-je commencer ? Est-ce que je me lance dans Unity et je code directement? Est-ce que je me lance dans Photoshop pour faire des artworks ? Est-ce que réfléchit à l'histoire ou aux personnages? Par où dois-je commencer? Je vais être franc: Ce n'est pas le premier jeu que j'essaye de faire. Depuis que je suis un enfant, j'ai eu des idée pour mes jeux et à certain points dans ma vie, j'ai essayé de faire ces différents jeux avec différents outils. Mais je j'ai jamais pu finir ces jeu et je pense que la raison est toujours la même: Je m'y prenais de la mauvaise façon. Laissez moi vous montrer J'ai récupéré ce dossier de chez mes parents et il est plein de note et de dessins et d'idées pour un jeu que j'allais faire quelques années avant de commencer GMTK Ça, c'est un tapis de souris pour Starcraft Ghost Le jeu n'est jamais sorti, non ? Cela veut peut être quelque chose Mettons le dans la pile pour eBay Ce jeu allait s'appeler Carter's Curse. C'était à propos du fameux archéologiste Howard Carter celui qui a découvert le tombeau de Toutânkhamon. Et dans mon jeu, tout du moins, il allait aussi réveiller une ancienne malédiction égyptienne et donc devoir combattre des zombies, des momies et d'anciens dieu égyptiens. Je me rappelle avoir passé des heures entières à dessiner toutes ces choses. Je veux dire … mais quel Nerd! Bref. Comment alliez vous combattre ces ennemis? La reponse: En résolvant des picross? Picross est ce jeu de puzzle de logique, en grille. un peu comme un sudoku. Nintendo a fait des tonnes de jeux Picross. J'étais assez inspiré par les jeux comme Bookworm Adventures où vous aviez un puzzle en bas de l'écran, et résoudre le puzzle endommageait les ennemis dans une petit scène de combat en haut de l'écran. Mon idée était donc similaire. vous aviez un grille de Picross en bas de l'écran et Howard Carter devait combattre des ennemis en haut de l'écran J'ai commencé commencé à développer. Je faisais le jeu sur un appli pour iPad nommée Codea qui permettait de faire de jeux IOS sur votre iPad. Je l'avais déjà utilisé pour faire un Picross assez standard sur iOS, donc je savais que je pourrais surement le coder. Mais je voulais que les graphismes soit incroyables. J'ai donc lancé Photoshop et fait des tonnes de sprites et trames d'animations. J'avais un dossier Dropbox ouvert qui était rempli de sprites et d'animations. J'ai fait des tonnes de personnages différents. J'avais fait des fatalités pour Howard Carter. J'avais créé un cutscene d'intro. J'avais fait des menus avec des gros boutons à presser J'étais vraiment inspiré Mais j'ai réalisé quelque chose. Quelque chose de très important. Quelque chose préjudiciable au projet. Le jeu n'était pas bon C'était vraiment mauvais, pas du tout fun à jouer. Et plus je codais, et plus je développais plus que je me rendais compte du problème: Picross n'était pas assez profond pour ce genre de jeu. On ne peut pas vraiment avoir de tactique ou de stratégie. On ne peut pas changer ce que l'ont fait en fonction de l'ennemi combattu et au final, on oubliait totalement qu'on combattait des ennemis. On pouvait ignorer la partie supérieure du jeu et le jeu fonctionnerait encore parce que tout ce que vous faisiez, c'était faire des picross. Ce qui veut dire que je ne pouvais pas rendre le jeu plus dur ou plus intéressant en fonction de l'ennemi que l'on combattait, et cela voulait dire que le joueur faisait la même chose encore et encore. J'avais créé un jeu qui était creux et répétitif et ennuyeux. Et j'aurai pu le résoudre mais j'étais parti trop loin et trop démoralisé que j'ai juste jeté tout le projet. Et donc, quel était mon erreur? Avec pas mal d'année de recul Cela fait bientôt une décennie. C'est assez évident ce qu'il s'est passé. Quad vous faites un jeu, il y a beaucoup de choses différentes à créer. Les principaux sont la music, les graphismes, le game design l'histoire, et le code. Et c'est assez facile de penser qu'il sont tous égaux. Mais ce n'est pas le cas Dans beaucoup de cas, le Game design n'est pas égal mais plutôt la socle sur laquelle tout le reste repose. Et si vous loupez cette partie, tout le reste s'écroule Je veux dire, vous pouvez corriger les bugs et refaire les graphismes, mais si le gameplay est fondamentalement mauvais, le projet est parfois irrécupérable Et c'est plus ou moins ce qui s'est passé pour moi. J'ai passé tellement de temps sur les graphismes et les animations qu'une fois enfin arrivé au gameplay Je me suis rendu compte que tout le jeu était médiocre. J'avais créé toute une maison sur des fondations bancales et j'étais surpris et énervé quand mes toilettes ont traversé le plancher A mon grand dam, ce n'est pas la seule fois que cela m'est arrivé. J'ai voulu faire un point-and-click du genre "film noir" avec une génération procédurale unique des indices. Mais j'ai passé tellement de temps sur l'histoire et rechercher sur la période historique que je n'ai jamais pris le temps de développer ce système. Et je voulais faire un version moderne rapide de jeu mobile Snake mais je me suis tellement empêtré dans du bug fixing en essayant d'avoir un code parfait pour le mouvement que je n'ai jamais su si le jeu était fun avant que cela me lasse et que je n'en puisse plus. A chaque fois que j'ai essayé de designer mon propre jeu, j'ai mis d'autre éléments comme l'histoire et les graphismes avant le gameplay. Pourquoi? Je pense que ça vient avant tout de deux fausses hypothèses. La 1ere hypothèse est que le jeu avait toujours l'air cool dans ma tête, j'ai donc pensé qu'il serait cool en vrai une fois fini. Bien entendu j'avais tort La 2eme hypothèse est que je ne saurais pas si le jeu est fun avant de l'avoir créé Je devais juste continuer à le développer et à un moment, je saurais s'il est bon … non? Non, encore faux! Et c'est assez génant à dire parce les réponses sont assez claire maintenant. Mais elle ne l'était pas à l'époque. Ce n'est que depuis que je réalise GMTK, depuis que j'étudie le développement de jeu, depuis que j'interviewe des douzaines et des douzaines de game designers que je sais comment les jeux ayant du succès commence. Vous savez, les game designers ont des tonnes d'idées tout le temps, et je suis sur qu'elles sont extrémement fun dans leur tête. Mais les meilleurs game designers savent que leur cerveau sont des gros menteurs. Le seul moyen de savoir si une idée de jeu est bonne, c'est de la développer et de la tester Mais au lieu d'avoir à développer tout le jeu, les designer développent … un prototype. Un prototype est un banc d'essai brouillon pour une idée, désigné juste pour voir si l'idée est fun ou pas. Ces prototypes sont généralement assez laid, avec des graphismes non finis, ou des formes basiques ou des sprites volés à d'autres jeux. Il sont souvent buggé et cassé et il n'ont juste que le strict minimum pour tester la mécanique. Ils sont juste un version assez fonctionnels de l'idée de jeu, développé aussi rapidement que possible avec but simple de voir si l'idée fonctionne. Est-ce fun ou intéressant? Et-ce que ça vaut la peine? Est-ce un bon socle sur lequel construire le reste du jeu ? Et c'est ce que je vais faire. Cette fois-ci je vais bien le faire. Je vais me focaliser exclusivement sur fabriquer ce prototype et je vais m'y tenir. et ne rien faut d'autre que tester cette idée de jeu Donc en terme de graphismes, je vais juste récupérer des truc de Google Images. Il n'y aura pas de musiques il n'y aura pas d'histoires. Je ne vais pas penser au nom du jeu, ou des personnages. Je ne vais pas designer l'icone de l'application pour un jeu qui n'a encore été développé Mark, tu est un idiot. Le code sera surement buggé et cassé parce que je suis encore en train d'apprendre Unity, mais il devrait être suffisant pour voir si cette idée marche. Juste un bac à sable pour tester les mécaniques de jeu et voir ce qui est fun Donc allons y et ouvrons Unity La 1er chose que je dois faire, c'est d'avoir un personne qui peut juste aller à gauche et à droite et sauter, donc je vais devoir appliquer des forces sur le RigidBody quand j'appuierai sur les bonnes touches Ça a déjà posé quelques problèmes, ce qui n'est pas un bon début, mais au final, j'y suis arrivé Ensuite, j'ai ajouté un aimant dans la scène et je devais faire en sorte que le personnage soit attiré par l'aimant. Pour cela, je devais devenir un developper expert, J'ai du utiliser mes capacités galactiques de developpeur, et donc je me suis craqué les doigts et j'ai tapé ces lignes de code … Comment déplacer un RigidBody vers un autre objet? Okay, j'ai googlé, trouvé du code et copié/collé dans mon projet. Mais j'ai fait en sorte de comprendre comment ça fonctionne Basiquement, cela cherche la direction entre le personnage et l'aimant et ça applique des force sur le RigidBody dans cette direction. J'ai aussi modifié le code afin que cela s'accélère plus on s'approche de l'aimant. J'en ensuite fait en sorte qu'on puisse arrêter l'aimant avec un bouton dans le but que le personnage garde sa vitesse afin de l'envoyer en l'air Donc si j'ajoute une plate-forme ici, je peux attirer le personnage vers l'aimant; puis couper et sauter ici. Ce qui est assez jouissif … Mais un peu dur à controler. Mon code n'est pas parfait, cela devient vite compliqué à gérer Mais en recherchant des information, je suis tombé sur quelque chose de très utile dans Unity. C'est un composant intégré qui s'appelle Point Effector et c'est tout simplement … un champ magnétique Je ne sais pas comment j'ai pu le louper l'icone est littéralement un aimant. Voila comment ça fonctionne: Vous donnez à un GameObject un collider et un point d'effet et ensuite un force d'attration. Et quand le RigidBody entre dans le collider il est attiré vers le centre du champ Vous pouvez aussi utiliser les masque de calque d'Unity pour qu'il n'attire que certains objets. Cela rends clairement le jeu plus facile à développer. J'ai donc décidé de refaire le prototype. Et oui, le jeu parait plus stable C'était plus facile pour moi pour modifier des choses, et je pouvais faire du truc cool comme quand je place le point d'attraction sur les pole de l'aimant, ceci se produit - ce qui est assez cool Mais quand j'ai fait le 2e prototype, pour je ne sais quelles raisons, j'ai décidé de ne plus utilisé Mario, mais de le remplacer par un image d'aimant pour le personnage principale Et cela m'a donné une idée: Et si le personnage n'était pas magnétique mais qu'il y avait un aimant dans le monde du jeu et si le personnage pouvait marcher et ramasser l'aimant Pour faire cela, j'ai utilisé la fonction Joint incluse dans Unity, c'est un autre composant. Il permet à 2 RigidBody d'être connecté en utilisant d'autre type de joint, comme des gonds ou des ressorts. Donc maintenant le personnage tenait un aimant, et si l'aimant était attiré par un bout de métal, le personnage irait avec lui. Jusqu'à que vous lachiez l'aimant et que vous puissiez marcher de nouveau. Et le gameplay que je voulais précédemment d'utiliser la trajectoire de l'aimant pour envoyer le personnage vers une plate-forme plus haute pouvait simplement se réaliser en lâchant l'aimant Cela permettait d'autres choses Comme avoir 2 aimants, ou plus, et vous pouviez, par exemple placer l'aimant là-haut, puis quand un ennemi vous poursuit, coupez le magnétisme et sprotch ! C'était plutôt cool. Cela pourrait marcher. D'un seul coup, le jeu parraissait plus intéressant que mon idée originale, ce que je dois reconnaitre m'inquiétait Quand votre personnage était magnétique, et était attiré et repoussé, c'est assez simple de perdre le contrôle, mais avoir l'aimant comme un objet distinct voulait dire que par moment, vous contrôlez parfaitement votre personnage, et un peu moins aux manettes quand vous tenez l'aimant. De plus, j'avais peur du nombre d'idées que je pouvais avoir avec un jeu où le personnage était magnétique. Mais dès que j'en ai fait 2 entités séparés, les idées se sont mises à fuser. En plus, j'aime beaucoup les jeux où on alterne entre 2 types de gameplay, un peu, comme Mario Odyssey change, selon si vous avez votre chapeau ou pas. Donc dans mon jeu, votre personnage est agile, et peut sauter très haut sans l'aimant, et lent et alourdi quand il tiens l'aimant. Mais bien sur, l'aimant offre beaucoup de possibilités incroyables Ne soyez pas surpris qu'une meilleure idée émerge pendant le processus de prototype Comme nous avons vu dans l'épisode de GMTK The Games That Designed Themselves, C'est assez courant que de nouvelles idées émerge pendant qu'on prototype. Regardez le jeu Crypt of the Necrodancer: Quand le jeu était en design, c'était supposé être un rogue-like avec un limite de temps stricte entre vos tours Mais quand les developpeurs l'ont créé, il se sont rendu compte que ce serait encore plus interessant que, plutôt que ce soit un timer, que ce soit sur le tempo d'une chanson Donc les prototypes ne sont pas qu'un moyen de tester et vérifier la validité d'une idée. Ce sont des moyens de générer des nouvelles et encore meilleurs idées Pendant ce développement, j'ai découvert une autre fonction dans Unity: Elle s'appelle sprite shapes. Et cela permet de créer des designs de niveaux organiques assez cools, comment on peut le voir dans les jeux Ori. Mais pour mon besoin, j'ai juste mis un couleur basique, et cela me permettait de designer mes niveaux assez rapidement. Je pouvais créer rapidement un zone de prototype en déplacant des handles comme j'aurai pu le faire dans Photoshop. Donc j'ai refait mon prototype, et je voulais cette fois que le personnage soit plus facile à contrôler quelque chose de plus proche d'un vrai personnage de JV. Je ne voulais pas m'embêter à coder des mouvements et des sauts, donc j'ai téléchargé un script de contrôle de personnage sur Internet. Cela marchait bien, je pourrais me concentrer à le tweaker ou le refaire ou peu importe plus tard. Pour le moment, je n'avais pas le temps pour ça. Dans le prototype, j'ai aussi commence à regarder à des mécanique comme être capable de lancer l'aimant et ensuite le rappeler à soi comme Thor et son marteau Et parce que le RigidBody de l'aimant se cogne sur le personnage, cela donne un petit feedback quand vous attrapez l'aimant. ça donnait un sentiment de jeu libre, c'était assez grisant Et j'ai eu l'idée de plusieurs scenarii, où on pourrait utiliser l'aimant comme le lancer contre un mur pour créer un plate-forme. Peut-être le connecter à un piston et le déconnecter au bon moment pour l'envoyer en l'air Peut-être changer la polarité pour sauter entre 2 tapis roulants. Ou pourquoi pas faire descendre cette plateforme, monter dessus et ensuite changer la polarité pour être projeté en l'air? Ça a l'air assez cool, non? Ça ressemble à un jeu vidéo C'est assez fun ! Et c'est à ce moment là que cette idée de gameplay montrait du potentiel. C'est original, j'avais déjà vu des jeu basé sur le magnétisme, mais rien de similaire Cela permet à la fois des gameplay de plate-forme et de puzzle. Les idées pour ce jeu fusaient rapidement et simplement, et je pouvais créer plein de niveaux assez différents. Et, le mieux, c'est que c'était très fun à jouer. Je pouvais juste lancer cette scène dans Unity, et prendre ma manette et c'était très agréable. C'était un bon signe Et c'est le pouvoir des prototypes: Vous pouvez les utiliser pour tester si une idée de gameplay est bonne ou pas. Et si vous êtes vraiment chanceux vous découvrirez des nouvelles idées émerger pendant cette phase de prototype Je pense que vous devez avoir une certain niveau de discipline personnelle. Vous devez vraiment vous dire: "Je ne ne vais pas concentrer sur rien d'autre, juste le gameplay". Et, je veux dire, c'est dur! Dans cette vidéo, je ne vous ai pas montré la semaine entière que j'ai passé à regarder les effets de particules les shakers, et les élément d'UI, et tout ça. je serais directement parti dans mes vieux travers de me laisser distraire et embarquer dans des choses non utiles pour le moment. Mais heureusement, j'ai su me limiter, et jeter ce prototype avant de me remettre aux choses vraiment importantes Et au final, je pense que ça a marché, j'ai fini par créer quelque chose qui est vraiment fun, qui a du potentiel, et sur lequel j'ai hate de travailler. Mes jeux précédent sur lesquels j'ai travaillé quand j'étais plus jeune étaient faits avec l'espoir qu'ils seraient funs, ce qui n'est pas la meilleur façon de faire en tout confidence. Mais maintenant mon socle semble assez robuste, et les autres aspects, l'histoire la musique, les graphismes, tout peut être produit avec la confidence que le base sous-jacente est solide Et cela semble la façon de faire des jeux: Faire un prototype. La seule question, c'est: Qu'est-ce que je fait maintenant Je suppose que nous verrons celà dans le prochaine épisode de Developing Merci beaucoup de m'avoir regardé, et j'espère que vous me suivrez lors du prochaine épisode de ce voyage. Au revoir! Cette idée vient en fait de ce jeu: The Legend of Zelda: Oracle of Seasons Flute. De ce jeu. Mince De ce jeu. Vient de ce jeu. Ce jeu. Ce jeu. Ce jeu. ce jeu: The Legend of Zelda: Oracle of Season. Cette idée vient en fait de ce jeu: The Legend of Zelda: Oracle of Seasons C'était plutôt pas mal!