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!