-
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!
-