Ton premier jeu vidéo sur UNITY en recréant SPACE INVADERS !
- Descrição
- Currículo
- FAQ
- Revisões
Tu vas découvrir Unity pour créer ton premier jeu en 2D et le publier en ligne sur la plateforme Itch IO. Pour ça on va se baser sur le célèbre jeu Space Invaders et le récreer à notre façon !
Je vais t’accompagner sur discord tout au long de la formation pour m’assurer que tu comprennes un maximum de choses et que tu ne reste pas bloqué 🙂
On verra de nombreux concepts liés au développement de jeux vidéo
-
Unity et son interface
-
Lier les touches du clavier à une action en jeu
-
Le prototypage du jeu pour se focaliser sur la partie Gameplay
-
L’Interface Utilisateur pour afficher des informations utiles au joueur
-
Le design graphique et le design sonore
-
Le polish et le paramétrage du jeu pour bien peaufiner le jeu
-
L’exportation et la publication d’un jeu
On terminera pas une partie un peu spéciale qui t’aidera à organiser ton projet, découvrir de nouveaux outils et communiquer sur ton jeu
Et de temps en temps j’ajouterai des vidéos pour améliorer le jeu ou résoudre des bugs. D’ailleurs, je ne veux pas te cacher de bugs et lorsque j’en rencontre, je préfère t’expliquer pourquoi ils sont arrivés et comment les résoudre
A tout de suite 😀
-
1Présentation de la formationVídeo Aula
Salut et bienvenue dans cette formation :D
Ensemble on va recréer Space Invaders grâce à Unity et en plus des vidéos, je t'invite à rejoindre le discord pour recevoir de l'aide si besoin -> https://discord.gg/4k2Ay65x2h
La formation se déroulera en 6 étapes :
Initialisation du projet et découverte de l'interface
Phase de prototypage
Interface utilisateur
Design graphique et sonore
Polishing et publication sur itch.io
Comment aller plus loin
Une fois la formation terminée, tu auras aussi accès à des vidéos supplémentaires pour corriger des bugs ou améliorer le jeu avec de nouvelles features :)
Allez bon courage et n'hésites vraiment pas à rejoindre le discord :D
-
2Unity, c'est quoi déjà?Vídeo Aula
Unity, Unity, Unity ... Mais c'est quoi Unity ?
Un moteur de jeu
Utilisé dans plein de domaines
Multiplateforme
Bon l'idée c'est pas de passer trop de temps à faire l'état de l'art de Unity, nous on veut développer !
-
3Informations importantes avant de commencerVídeo Aula
Quelques précisions avant de commencer cette formation
Le projet restera simple dans un but pédagogique mais il sera toujours possible de l'améliorer par la suite
Il est très important de rejoindre le discord mais si tu préfères recevoir de l'aide autrement, tu peux me contacter sur mes réseaux, dans les commentaires ou par mail
Tu peux accéder au repo github du projet mais attention, les scripts que tu verras sont ceux de la version finale
A la fin de chaque partie, je te ferai un rapide résumé de ce qu'on a appris ensemble et tu pourras répondre à un quiz si tu le souhaites
Le discord
Discord : https://discord.gg/4k2Ay65x2h
Mes réseaux
Twitter : https://twitter.com/Lazy_Dridri
Discord : https://discord.gg/4k2Ay65x2h
Youtube : https://www.youtube.com/channel/UCl378lWDQZjtgJNtXURFePQ
Tiktok : https://www.tiktok.com/@lazy_dridri
Instagram : https://www.instagram.com/adrien.lazy.gerber/
Facebook : https://www.facebook.com/profile.php?id=100091669846884
LinkedIn : https://www.linkedin.com/in/adrien-gerber-665394129/
Itch IO : https://lazy-dridri.itch.io/
Mail : adrien.lazy.gerber@gmail.com
Le repo github
https://github.com/LazyDridri/Formation-1---Space-Invaders
-
4Installation de UnityVídeo Aula
On va installer Unity Hub qui est une petite interface pour créer des nouveaux projets mais aussi installer sa version d'Unity
Crédits et Ressources :
Unity Hub : https://unity.com/unity-hub
Ma version d'Unity (2022.1.23f1) : https://unity.com/releases/editor/archive
-
5IntroductionVídeo Aula
Dans cette partie on va s'occuper d'initialiser correctement le projet pour préparer le phase de prototypage
Création d'un nouveau projet avec Unity Hub
Découverte de l'interface de Unity
Installation et mise en place d'un éditeur de code par défaut (VSCode ou autre)
Création de l'objet Joueur et mise en place de la gestion d'Input
Mise en place et paramétrage de la Caméra principale
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
6Création du projetVídeo Aula
Grâce à Unity Hub, on va pouvoir s'occuper de la création d'un nouveau projet sur lequel se base toute la formation
-
7Découverte de l'interface de UnityVídeo Aula
Découvrons ensemble l'interface de Unity. L'idée n'est pas de s'éterniser dessus et de passer rapidement à la pratique car c'est comme ça que tu te familiariseras avec.
On va voir les points théoriques suivants :
Théorie n°1 : Les assets
Théorie n°2 : Les gameobjects
Théorie n°3 : Les frames
Crédits et ressources :
Spouetch : https://play.google.com/store/apps/details?id=com.useless.Spouetch
-
8Installation d'un éditeur de codeVídeo Aula
On va installer un éditeur de code par défaut : VSCode. N'hésites pas à utiliser le tiens si tu préfères
Pour installer VSCode : https://code.visualstudio.com/
Liste des extensions pour VSCode :
C#
C# XML Documentation
Unity Code Snippets
Unity3D Meta File Watcher
Rainbow Brackets
-
9Création de l'objet JoueurVídeo Aula
On va préparer le terrain pour lier les inputs du joueurs (clavier par exemple) avec les actions en jeu (tirer par exemple). Pour ça on crée un objet joueur et on importe le nouveau système d'input de Unity (qui n'est plus très nouveau d'ailleurs)
Ca parait être fastidieux mais c'est vraiment pour faciliter la suite du développement :)
On verra les points théoriques suivants :
Théorie n°4 : Le package manager
Théorie n°5 : L'input actions asset
Théorie n°6 : Le script dans Unity
Crédits et ressources :
Rocket League : https://store.epicgames.com/en-US/p/rocket-league
Génération de terrains : https://www.youtube.com/watch?v=ddy12WHqt-M&t=517s
Flipper Volcano : https://store.steampowered.com/app/1413350/Flipper_Volcano/
Brawlhalla : https://store.steampowered.com/app/291550/Brawlhalla/
Starwhal : https://store.steampowered.com/app/263020/STARWHAL/
Warzone 2.0 : https://store.steampowered.com/app/1962663/Call_of_Duty_Warzone_20/
-
10Mise en place de la CaméraVídeo Aula
Pour terminer l'initialisation du projet, on va paramétrer la Caméra et la fenêtre Game pour s'adapter à un écran carré de 800 pixels par 800 pixels.
On verra 4 points théoriques :
Théorie n°7 : La camera
Théorie n°8 : Le Transform
Théorie n°9 : Les vues Perspective et Orthographique
Théorie n°10 : L'audio listener
Crédits et ressources :
Apex Legends : https://store.steampowered.com/app/1172470/Apex_Legends/
Rocket League : https://store.epicgames.com/en-US/p/rocket-league
Overcooked 2 : https://store.steampowered.com/app/728880/Overcooked_2/
Sniper Elite 5 : https://store.steampowered.com/app/1029690/Sniper_Elite_5/
Will You Snail ? : https://store.steampowered.com/app/1115050/Will_You_Snail/
-
11Résumé de la sessionVídeo Aula
On est parti de pas grand chose mais on a beaucoup appris dans cette session
Création d'un projet
Découverte de l'interface de Unity
Installation d'un éditeur de code et liaison avec Unity
Importation du nouveau système d'input de Unity
Paramétrage de la caméra
Des étapes pas forcément très fun mais nécessaires pour la suite du projet :)
-
12Quiz facultatifQuestionário
-
13Récompense n°1 : Des exemples de jeux développés sous UnityVídeo Aula
Pour ta première récompense, je vais te présenter quelques jeux plus ou moins connus qui ont été réalisés avec Unity. L'idée est de te faire découvrir le potentiel de Unity
Crédits et ressources :
Stick Fight : https://store.steampowered.com/app/674940/Stick_Fight_The_Game/
Phasmophobia : https://store.steampowered.com/app/739630/Phasmophobia/
Flipper Volcano : https://store.steampowered.com/app/1413350/Flipper_Volcano/
Hearthstone : https://hearthstone.blizzard.com/fr-fr
Gang Beast : https://store.steampowered.com/app/285900/Gang_Beasts/
Fall Guys : https://store.epicgames.com/en-US/p/fall-guys
Starwhal : https://store.steampowered.com/app/263020/STARWHAL/
Among Us :https://store.steampowered.com/app/945360/Among_Us/
-
14IntroductionVídeo Aula
Grâce à cette phase de prototypage, on va développer les premières briques de gameplay et ça nous permettra de tester le concept du jeu sans rentrer dans les détails
Vaisseau principal : Design simple, Gestion du tir, Déplacement Horizontal
Vaisseau ennemi : Design simple, Collision, Attaque
Horde ennemi : Design simple, Attaque, Mouvement général
Gestion des vies et Game Manager
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
15Vaisseau du joueur - Design SimpleVídeo Aula
On commence cette phase de prototypage par la réalisation d'un design minimaliste pour le vaisseau du joueur (un carré blanc) et le projectile (un rectangle blanc)
On va voir 3 points théoriques :
Théorie n°11 : Le sprite
Théorie n°12 : Le sprite renderer
Théorie n°13 : Le prefab
Crédits et ressources :
Will You Snail ? : https://store.steampowered.com/app/1115050/Will_You_Snail/
-
16Vaisseau du joueur - Gestion du tirVídeo Aula
Il est temps de créer la première action du joueur: tirer avec le vaisseau. On va découvrir beaucoup de nouveaux concepts mais c'est des choses que tu verras tout le temps et avec lesquelles tu seras très vite à l'aise
On verra les points théoriques suivants :
Théorie n°14 : La méthode Debug.Log()
Théorie n°15 : La méthode Instantiate()
Théorie n°16 : La méthode Update()
Théorie n°17 : Le membre Time.deltaTime
Théorie n°18 : La méthode Start()
Théorie n°19 : La méthode Destroy()
Crédits et ressources :
A dance of fire and ice : https://store.steampowered.com/app/977950/A_Dance_of_Fire_and_Ice/
-
17Vaisseau du joueur - Déplacement HorizontalVídeo Aula
La deuxième action possible pour le vaisseau du joueur c'est le déplacement horizontal qui s'effectuera avec les flèches gauche et droite. On va réappliquer ce qu'on a vu dans la vidéo précédente
On verra un seul point théorique :
Théorie 20 : La méthode Mathf.Clamp()
-
18Vaisseau ennemi - EXERCICE - Design SimpleVídeo Aula
Exactement comme pour le vaisseau principal, le vaisseau ennemi aura un design très basique pour le moment
Essaie de le faire sans moi si tu as envie :D
-
19Vaisseau ennemi - Gestion des collisionsVídeo Aula
Le comportement de base d'un ennemi dans Space Invaders c'est de foncer sur le joueur pour le détruire. Ca implique de gérer les collisions avec le joueur mais aussi d'éviter les collisions entre les ennemis
On va voir beaucoup de points théoriques :
Théorie n°21 : Le collider
Théorie n°22 : Le rigidbody
Théorie n°23 : La méthode OnCollisionEnter2D()
Théorie n°24 : Le tag
Théorie n°25 : La méthode GetComponent()
Théorie n°26 : Le trigger
Théorie n°27 : La méthode OnTriggerEnter2D()
Crédits et ressources :
Worms WMD : https://store.steampowered.com/app/327030/Worms_WMD/
Brawlhalla : https://store.steampowered.com/app/291550/Brawlhalla/
Rocket League : https://store.epicgames.com/en-US/p/rocket-league
Dashpong : https://store.steampowered.com/app/1729250/Dashpong/
Mario kart : https://www.nintendo.fr/Jeux/Jeux-Nintendo-Switch/Mario-Kart-8-Deluxe-1173281.html
-
20Vaisseau ennemi - L'attaqueVídeo Aula
Le but ultime d'un vaisseau ennemi est de détruire le joueur, et pour ça, il lui fonce dessus. On va donc réaliser cette action tout en voyant comment ignorer les collisions entre ennemis
On verra 5 points théoriques :
Théorie n°28 : La méthode FindObjectOfType()
Théorie n°29 : Le membre Vector3.normalized
Théorie n°30 : La méthode Vector3.Distance()
Théorie n°31 : Les layers
Théorie n°32 : La layer collision matrix
Crédits et ressources :
Super Mario : https://mario.nintendo.com/fr/
Rayman Legends : https://store.steampowered.com/app/242550/Rayman_Legends/
-
21Horde ennemie - DesignVídeo Aula
La horde ennemie va être composée de 5 lignes de 7 vaisseaux (donc 35 vaisseaux, la démonstration mathématique est laissée au lecteur)
-
22Horde ennemie - L'attaqueVídeo Aula
On va créer un script qui permet à la horde ennemie d'envoyer un de ses vaisseaux attaquer le joueur et de façon périodique
On verra 4 points théoriques :
Théorie n°33 : La méthode GetComponentsInChildren()
Théorie n°34 : Le membre Time.time
Théorie n°35 : La méthode List.FindAll()
Théorie n°36 : La méthode Random.Range()
On va aussi résoudre un bug :
Le projectile est toujours tiré du centre de l'écran
On va revoir l'utilisation de la méthode Instantiate pour ça
Crédits et ressources :
La méthode Instantiate() : https://docs.unity3d.com/ScriptReference/Object.Instantiate.html
-
23Horde ennemie - Mouvement généralVídeo Aula
La horde ennemie va reproduire 2 mouvements iconiques de Space Invaders. D'abord, en bougeant de côté et en descendant petit à petit. Puis chaque ennemi qui a raté une attaque doit retourner à sa position dans la horde
On va essentiellement se concentrer sur du code donc n'hésite pas à demander de l'aide si besoin :D
Pas de points théorique mais on va résoudre un micro-bug :
L'état d'un ennemi est visible dans l'Inspector donc si tu ne fais pas gaffe tu peux le modifier et donc changer le comportement initial de chaque vaisseau ennemi
On va utiliser des getters et setters pour corriger ça
-
24Gestion des vies et Game Manager basiqueVídeo Aula
Le Game Manager, c'est l'élément central d'un jeu. Grâce à lui, on peut checker les conditions de défaites ou de victoires par exemple. On va donc commencer son développement en parallèle de la création d'un gestionnaire de vie. Et à chaque destruction, si le joueur a encore une vie, il pourra réapparaitre.
On verra les points théoriques suivants :
Théorie n°37 : Les coroutines
Théorie n°38 : La méthode WaitForSeconds()
Théorie n°39 : La méthode StartCoroutine()
Crédits et ressources :
Will You Snail : https://store.steampowered.com/app/1115050/Will_You_Snail/
-
25Résumé de la sessionVídeo Aula
La phase de prototypage a été intense mais c'est grâce à elle que tu peux créer un jeu rapidement et en tester le concept. On a appris énormément de choses sur le fonctionnement de base de Unity
Utiliser un sprite renderer
Créer nos premiers scripts
Gérer les actions du joueur et les lier aux inputs
Déplacer un gameobject
Gérer des collisions
C'est le squelette du jeu et grâce à cette base solide on va pouvoir rendre le jeu plus fun à chaque étape, presque sans changer le gameplay :)
-
26Quiz facultatifQuestionário
-
27Récompense n°2 : La méthode du p'tit canardVídeo Aula
La méthode du p'tit canard est un vrai concept reconnu dans le monde du développement. J'aimerai donc te la présenter en guise de deuxième récompense
https://fr.wikipedia.org/wiki/M%C3%A9thode_du_canard_en_plastique
-
28IntroductionVídeo Aula
Pour compléter la phase de prototypage, on va créer une interface utilisateur (UI) basique qui rappelle celle du jeu Space Invaders
Une phase d'initialisation pour créer et importer les outils pour développer l'UI
Affichage du nombre de vie du joueur en cours de partie
Gestion et affichage du score
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
29InitialisationVídeo Aula
On va commencer par initialiser les composants et outils que l'on va utiliser pour développer l'UI
On verra donc 3 points théoriques :
Théorie n°40 : Le canvas
Théorie n°41 : L'event system
Théorie n°42 : Text Mesh Pro
Crédits et ressources :
Worms WMD : https://store.steampowered.com/app/327030/Worms_WMD/
Fall Guys : https://store.epicgames.com/en-US/p/fall-guys
-
30Affichage du nombre de vieVídeo Aula
La première information qu'on va afficher sur l'UI c'est le nombre de vies restantes. On va rester sur un design basique pour le moment
On verra 4 points théoriques :
Théorie n°43 : Le rect transform
Théorie n°44 : L'UI image
Théorie n°45 : L'horizontal layout group
Théorie n°46 : La méthode SetParent()
-
31Affichage du scoreVídeo Aula
L'affichage du score est l'un des concepts les plus importants pour Space Invaders. C'est en partie grâce à lui que le jeu est devenu si populaire car on voulait à tout prix être le meilleur de son groupe d'amis
On verra 1 seul point théorique :
Théorie n°47 : Le Text de Text Mesh Pro
-
32Résumé de la sessionVídeo Aula
Sans modifier le gameplay, on a ajouté une interface utilisateur pour afficher différentes informations au joueur
Création d'un Canvas
Affichage du nombre de vie
Gestion et affichage du score
Le joueur peut maintenant se concentrer sur le jeu sans retenir son nombre de vie et il a aussi un intérêt à continuer à jouer grâce au système de score :)
-
33Quiz facultatifQuestionário
-
34Récompense n°3 : Chaînes Youtubes sympas et intéressantesVídeo Aula
Il y a beaucoup de contenu sur Youtube concernant le développement de jeux vidéo et je t'ai fait une petite liste en guise de récompense
Crédits et ressources :
Doc Géraud : https://www.youtube.com/@DocGeraud
Pause Process : https://www.youtube.com/@pauseprocess5711
GameDevHQ : https://www.youtube.com/@GameDevHQ
Black Thorn Prod : https://www.youtube.com/@Blackthornprod
Merry : https://www.youtube.com/@akaMerry_
-
35IntroductionVídeo Aula
Le Gameplay c'est bien, mais le design est tout aussi important surtout si tu veux publier ton jeu. Que ce soit graphique ou sonore, je vais te présenter plusieurs méthodes pour créer ou récupérer des ressources
Création et importation autour du Design Graphique
Animation des vaisseaux
Animation de l'explosion
Création et importation autour du Design Sonore
Intégration des sons dans le jeu
Importation d'une police d'écriture
Tu peux décider de créer tes propres ressources ou d'en importer d'autres mais si tu veux, je te donne toutes les ressources ici
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
36Création et importation du Design GraphiqueVídeo Aula
On va commence notre session de design par le design graphique en utilisant 3 méthodes :
En réalisant sa propre création
En récupérant des assets libres de droits
En passant par l'Unity Asset Store
On verra 1 seul point théorique :
Théorie n°48 : Le Sprites Sheet
Crédits et ressources :
Piskel : https://www.piskelapp.com/
Open Game Art : https://opengameart.org/
Sprite Sheet runner : https://www.pinterest.fr/pin/339036678178974161/
Unity Asset Store : https://assetstore.unity.com/
Enemy Ship : https://assetstore.unity.com/packages/2d/characters/pixel-art-space-ship-part-1-228832
-
37Animations des vaisseauxVídeo Aula
On va découvrir l'animation dans Unity en s'occupant des vaisseaux du joueurs et des ennemis
On verra 2 points théoriques :
Théorie n°49 : La fenêtre Animation
Théorie n°50 : La fenêtre Animator
On va aussi résoudre un bug que j'ai repéré ici
Le vaisseau peut tirer même lorsqu'il est détruit
L'idée est donc d'ajouter un booléen qui contrôle si le joueur a le droit de tirer ou non
Crédits et ressources :
Sprite Sheet runner : https://www.pinterest.fr/pin/339036678178974161/
Alt-f4 : https://store.steampowered.com/app/1137460/ALTF4/
-
38Animation de l'explosionVídeo Aula
On va découvrir une deuxième méthode pour l'animation, plus professionnelle, en utilisant le sprites sheet de l'explosion.
On verra 1 point théorique :
Théorie n°51 : L'animation event
Crédits et ressources :
Worms WMD : https://store.steampowered.com/app/327030/Worms_WMD/
-
39Création et importation du Design SonoreVídeo Aula
On passe au design sonore et cette fois on va encore utiliser 3 méthodes pour créer ou récupérer des ressources :
Audacity pour créer des sons avec un micro
Chiptone pour générer des sons dans le style rétro
Pixabay pour récupérer une musique libre de droits
On verra 1 seul point théorique :
Théorie n°52 : L'audio clip
Crédits et ressources :
Audacity : https://www.audacityteam.org/download/
Chiptone : https://sfbgames.itch.io/chiptone
Pixabay : https://pixabay.com/
Musique du jeu : https://pixabay.com/fr/sound-effects/spaceship-ambience-with-effects-21420/
-
40Intégration des sonsVídeo Aula
Grâce aux assets que l'on a créé et récupéré, on va pouvoir intégrer des sons dans le jeu. Je te présenterai 4 méthodes pour utiliser les sons dans Unity :
En utilisant une Audio Source qui joue un son en boucle de manière continue
En utilisant un animation event
En passant uniquement par le code et en activant l'audio source principale
En utilisant l'audio source principale pour jouer un son en parallèle
On verra 3 points théoriques :
Théorie n°53 : L'audio source
Théorie n°54 : La méthode AudioSource.Play()
Théorie n°55 : La méthode AudioSource.PlayOneShot()
Crédits et ressources :
Alexandre Kadri (jeu en développement) : https://twitter.com/AlexandreKadri/status/1616869873283366912
-
41Importation d'une police d'écritureVídeo Aula
On va s'occuper d'importer une font, c'est à dire une police d'écriture. On s'intéressera également aux droits d'utilisation d'un asset en général car c'est à la fois important pour la reconnaissance de l'auteur mais aussi pour la légalité de ton projet
On verra 2 points théoriques :
Théorie n°56 : Les droits d'utilisation
Théorie n°57 : Le font asset creator
Crédits et Ressources :
Dafont : https://www.dafont.com/fr/
Upheaval font : https://www.dafont.com/fr/upheaval.font
-
42Résumé de la sessionVídeo Aula
Sans modifier le Gameplay, on a rendu le jeu beaucoup plus sympa à jouer mais on a aussi découvert quelques méthodes de création/récupération de ressources
Création de design graphiques et sonores
Récupération de design graphique et sonore
Mise au point sur les droits d'utilisations
Bases d'animation
Font personnalisée
Tout ces éléments sont aussi important que le Gameplay et pour qu'un jeu soit apprécié, le gameplay doit être tout aussi incroyable que le design (ou du moins cohérent) :)
-
43Quiz facultatifQuestionário
-
44Récompense n°4 : Gamefeel et JuicynessVídeo Aula
Le Gamefeel et la Juicyness c'est l'ensemble des techniques qui vont rendre l'expérience d'un jeu agréable au joueur. Ca peut être des trucs qui clignottent, des animations, du son, ...
Crédits et ressources :
Doc Géraud : https://www.youtube.com/watch?v=ObPFVopisJ4
Juice it or lose it : https://www.youtube.com/watch?v=Fy0aCDmgnxg
-
45IntroductionVídeo Aula
Il est temps de polisher le jeu, c'est à dire d'effectuer les dernières améliorations graphiques et sonores mais aussi d'intégrer les dernières briques de gameplay pour arriver à une version jouable. Le jeu ne sera pas parfait mais c'est important de ne pas vouloir aller trop loin sur une première version : il sera toujours possible de l'améliorer après
Révision de la gestion du score et des vies
Intégration d'un système de vagues d'ennemis
Création d'un menu principal et gestion de la défaite
Création d'une page de paramétrages Audio
Dernier coup de polish général
Equilibrage des paramètres du jeu
Test local et publication sur itch.io
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
46Révision de la gestion du score et des viesVídeo Aula
Afficher le score c'est bien, mais il faut aussi afficher le meilleure score sinon ça n'a pas trop d'intérêt. En plus de ça, on va créer un système pour regagner une vie tous les x points. On jouera un son quand le joueur gagne une vie
On verra 1 seul point théorique :
Théorie n°58 : Les player prefs
Crédits et Ressources :
Chiptone : https://sfbgames.itch.io/chiptone
-
47Système de vagues d'ennemisVídeo Aula
Jusqu'à maintenant, si le joueur détruisait tous les ennemis, il ne se passait plus rien. On va donc créer un système de vagues d'ennemis pour que le joueur puisse jouer et augmenter son score jusqu'à ce qu'il perde
-
48Menu Principal et gestion de la défaiteVídeo Aula
Pour bien accueillir le joueur, on va intégrer un menu principal en créant une nouvelle scène. Avec lui, on pourra lancer une partie, quitter le jeu ou ouvrir une page de paramètres pour configurer le son du jeu. Aussi, quand le joueur perd, on va lui offrir la possibilité de relancer une partie
On verra 4 points théoriques :
Théorie n°59 : Le Button - TMP
Théorie n°60 : Le scene manager
Théorie n°61 : La classe Application
Théorie n°62 : Le panel
-
49Page settings AudioVídeo Aula
Pour aider le joueur à paramétrer le jeu, on va lui créer une page afin de gérer les niveaux audios : général, musique et gameplay. En plus, on va déplacer l'audio source qui gère la musique dans le menu principal et on fera en sorte de conserver cet objet entre les scènes
On verra 3 points théoriques :
Théorie n°63 : Le concept DontDestroyOnLoad
Théorie n°64 : Le slider
Théorie n°65 : L'audio mixer
Crédits et Ressources :
Fall Guys : https://store.epicgames.com/fr/p/fall-guys
-
50Polish sonore et visuelVídeo Aula
Il nous reste quelques parties à polish que ce soit au niveau du visuel ou bien sonore et on va s'en occuper ici
On verra 1 seul point théorique :
Théorie n°66 : Le particle system
Crédits et ressources :
Particle Pack : https://assetstore.unity.com/packages/vfx/particles/particle-pack-127325
-
51Equilibrage du jeuVídeo Aula
On va s'occuper de l'équilibrage du jeu et de l'ensemble des paramètres qui vont améliorer l'expérience du joueur comme la vitesse du projectile, le volume du son ou encore la durée du respawn
On créera également un système pour éviter au joueur de tirer en rafale afin de gagner trop facilement
Et on terminera par la résolution d'un bug sans trop d'importance mais qui génère quand même une erreur dans la console
La horde ennemi essaie d'envoyer un vaisseau qui est déjà détruit
Résolution : Checker que le vaisseau existe avant de l'envoyer
-
52Test local et publication sur itch.ioVídeo Aula
Après toutes ce développement, il est temps de publier notre jeu en ligne sur la plateforme itch.io. Avant, on verra comment tester notre jeu localement puis on verra l'ensemble des paramètres nécessaires pour publier sur itch.io
On verra 4 points théoriques :
Théorie n°67 : Les build settings
Théorie n°68 : Les player settings
Théorie n°69 : Le splash screen
Théorie n°70 : WebGL
Crédits et ressources :
Kewbii : https://store.steampowered.com/app/1809890/Kewbii/
Itch IO : https://itch.io/
Pour tester le jeu : https://lazy-dridri.itch.io/space-destroyer
-
53Résumé de la sessionVídeo Aula
La phase de polish est passionnante mais peut s'avérer être un exercice difficile si le travail à donner est trop conséquent. Mais on y est arrivé et on a encore appris pas mal de choses
Créer un système de vague d'ennemis pour faire durer le jeu
Créer un menu principal
Permettre au joueur de paramétrer les niveaux de son
Tester son jeu localement
Exporter son jeu sur itch.io
Et grâce à tout ça et ton travail exemplaire, tu as publié ton premier jeu sur une plateforme publique :)
-
54Quiz facultatifQuestionário
-
55Récompense n°5: Comment aider les développeurs indépendantsVídeo Aula
Maintenant que tu es devenu développeur indépendant, je vais te présenter quelques méthodes pour aider les autres "dev indé" et c'est super important pour cette communauté
Crédits et ressources :
Kewbii : https://store.steampowered.com/app/1809890/Kewbii/
Indie Game Lyon : https://www.indiegamelyon.com/
BritanouilleTV : https://www.twitch.tv/britanouille
Will You Snail community : https://twitter.com/Will_You_Snail
-
56IntroductionVídeo Aula
Afin de te former et te permettre de publier ton premier jeu, j'ai voulu garder les choses de manière simple. Maintenant, je vais te montrer quelques concepts pour aller plus loin et étayer ta curiosité
Comment organiser et maintenir son projet
Une liste d'outils et de logiciels utiles pour ton projet en général
Comment communiquer sur son projet
Pour rejoindre le discord -> https://discord.gg/4k2Ay65x2h
-
57Organiser et maintenir son projetVídeo Aula
On a laissé de côté plein de bonnes pratiques pour écrire et organiser notre code et notre projet. J'aimerai donc te présenter toutes ces techniques qui peuvent t'intéresser. Bien sûr, tu n'es pas obligé de respecter cette méthode à 100% et il existe probablement de meilleures façon de faire mais l'idée c'est de te fournir quelques outils
On verra 1 point théorique :
Théorie n°71 : Les attributs
On verra un exemple d'application à la fin de la vidéo afin de nettoyer le script Settings.cs
Crédits et Ressources :
Les attributs Unity : https://docs.unity3d.com/Manual/Attributes.html
-
58Liste d'outils, logiciels et ressourcesVídeo Aula
Je vais te présenter une liste non-exhaustive de tout un tas d'outils qui pourront t'aider pour le développement de ton jeu que ce soit pour créer des assets, recevoir de l'aide ou encore monter des vidéos
Crédits et Ressources :
Se faire aider
Notre discord : https://discord.gg/4k2Ay65x2h
Documentation Unity : https://docs.unity3d.com/Manual/index.html
Stack Overflow : https://stackoverflow.com/
Forum Unity : https://forum.unity.com/
Réseaux sociaux
Création de ressources en 2D
Piskel : https://www.piskelapp.com/
Aseprite : https://www.aseprite.org/
Paint.net : https://www.getpaint.net/
Affinity Designer : https://affinity.serif.com/fr/designer/
Krita : https://krita.org/fr/
Speed Painting Krita : https://www.youtube.com/watch?v=B-IHNzhCv8w
Création de ressources en 3D
Blender : https://www.blender.org/
Créer un arbre en Low-Poly : https://www.youtube.com/watch?v=y7PdiGXbrD0
Création de ressources sonores
Chiptone : https://sfbgames.itch.io/chiptone
Audacity : https://audacity.fr/
LMMS : https://lmms.io/lsp/
Récupération de ressources
Unity Asset Store : https://assetstore.unity.com/
Open Game Art : https://opengameart.org/
Pixabay : https://pixabay.com/fr/
Montage vidéo
Streamlabs OBS : https://streamlabs.com/fr-fr/
OBS Studio : https://obsproject.com/fr/download
Davinci Resolve : https://www.blackmagicdesign.com/fr/products/davinciresolve/
Police d'écriture
Dafont : https://www.dafont.com/fr/
Organisation
Miro : https://miro.com/app/dashboard/
Trello : https://trello.com/fr
Norishare : https://norishare.com/
Git : https://fr.wikipedia.org/wiki/Git
GitKraken : https://www.gitkraken.com/
Extension VSCode GitGraph : https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph
Intelligence Artificielle
ChatGPT : https://chat.openai.com/
MidJourney : https://www.midjourney.com/
AIVA : https://aiva.ai/
Sous-traitance
Fiverr : https://www.fiverr.com/
Malt : https://www.malt.fr/
-
59Communiquer sur son projetVídeo Aula
Le développement de jeux vidéo peut-être un loisir comme un autre mais certains voudront aller plus loin et en faire leur métier. Je te propose donc une liste de techniques et de conseils pour commencer à communiquer sur ton jeu
Crédits et Ressources :
Youtube
Doc Geraud : https://www.youtube.com/@DocGeraud
Algost : https://www.youtube.com/@Algost_
Tiktok
Loutre from Useless Corp : https://www.tiktok.com/@loutrefromuselesscorp
Instagram
Doc Geraud : https://www.instagram.com/docgeraud/
Twitch
Useless Corp : https://www.twitch.tv/uselesscorp
Baba Des Bois : https://www.twitch.tv/babadesbois
Facebook
Useless Corp : https://www.facebook.com/UselessCorp
LinkedIn
Useless Corp : https://www.linkedin.com/company/77059878
Discord
Useless Corp : https://discord.gg/Je7z9Jvc4Z
Lazy Community : https://discord.gg/4k2Ay65x2h
Salons spécialisés
Indie Game Lyon : https://www.indiegamelyon.com/
Indie Game Nation : http://ig-nation.com/
Calendrier de l'AFJV : https://www.afjv.com/agenda_jeu_video/
-
60Résumé de la sessionVídeo Aula
On a vu comment aller plus loin en se focalisant sur 3 concepts
L'organisation et le maintien de son projet
Une liste d'outils utiles pour s'organiser et créer/récupérer des ressources
La communication autour de son jeu vidéo
J'espère que tout ça t'aura plus et que tu es maintenant prêt pour créer ton projet ou améliorer celui-ci :)
-
61Quiz facultatifQuestionário
-
62Récompense n°6 : Plein de concepts en vracVídeo Aula
Pour la fin de cette formation, je te balance plein de concepts avec lesquels on a pas pu travailler mais qui pourraient t'intéresser. Encore une fois, cette liste n'est pas exhaustive et le but est de faire jouer ta curiosité :)
Crédits et Ressources :
3D : https://www.youtube.com/watch?v=7-vZmbdqrYs
Shaders : https://www.youtube.com/watch?v=gRq-IdShxpU
Trails : https://assetstore.unity.com/packages/vfx/particles/37-trail-and-slash-effects-pack-191045
Cinemachine : https://www.youtube.com/watch?v=Psgwn0umwSc
Multijoueur : https://store.steampowered.com/app/674940/Stick_Fight_The_Game/
Netcode : https://unity.com/products/netcode
Git : https://www.gitkraken.com/
Lumière : https://www.youtube.com/watch?v=DlxuvvYZO4Q
Animation UI : https://store.epicgames.com/fr/p/fall-guys
IA : https://store.steampowered.com/app/1115050/Will_You_Snail/ et https://store.steampowered.com/app/1227280/Despots_Game_Dystopian_Battle_Simulator/
Rebinding : https://store.epicgames.com/en-US/p/rocket-league et https://store.steampowered.com/app/291550/Brawlhalla/
Localization : https://store.steampowered.com/app/739630/Phasmophobia/
In-Game UI : https://store.steampowered.com/app/327030/Worms_WMD/
Sauvegarde : https://store.steampowered.com/app/1115050/Will_You_Snail/ + https://store.steampowered.com/app/1701190/Chessformer/
Custom Editor : https://www.youtube.com/watch?v=mTjYA3gC1hA
