Skip to content

MrBSmith/Zeldisaac

Repository files navigation

Baba des bois

Partie 1: Les bases de Godot, et déplacements du personnage

1:20 Initialisation du projet

  • nouveau projet - Interface
  • système de fichiers res:// - Interface
  • import de sprites - Interface

3:30 Votre première scène

  • système de nœuds - Interface
  • Node2D - Noeud
  • KinematicBody2D – Nœud
  • Sprite - Noeud
  • Sprite – Ajout d’une texture – Interface
  • import des images, 2DPixel – Interface
  • lancement du jeu – Interface
  • placement des nœuds – Interface
  • vérouiller le placement d’un nœud – Interface
  • créer un script pour un nœud – Interface

10:06 Les bases de GDscript : Les variables

  • les commentaires avec # - GDScript
  • déclaration d’une variable – GDScript
  • types de variables – GDScript
  • la fonction __ready() - GDScript
  • tabulations – GDScript
  • la fonction print(), la console – GDScript
  • typer une variable (int, float, String, bool) – GDScript

22:00 Les bases de GDscript : Les fonctions

  • déclaration d’une fonction func – GDScript
  • arguments d’une fonction – GDScript
  • retourner une valeur avec return – GDScript
  • typer le return d’une fonction avec -> - GDScript

29:30 Les deplacements

  • le mot clé pass – GDScript
  • condition if – GDScript
  • la fonction _input() – GDScript
  • la fonction is_action_pressed() – GDScript
  • variables locales – GDScript
  • la fonction move_and_slide() – GDScript
  • le type Vector2 – GDScript
  • la fonction _process() – GDScript

Partie 2: Tilemap & Collisions

0:12 Scene & instances de scenes

  • Sauvegarder la branche comme scène – Nœud
  • Créer des instances de scène – Nœud
  • Modifier un paramètre d’une instance de scène – Nœud

3:15 Tilemap

  • Tilemap – Nœud
  • Tilemap créer un tileset – Interface
  • Tilemap créer des tuilles (tiles) – Interface
  • Tilemap taille des tuilles (Cell) – Interface
  • Tilemap - Atlas – Interface
  • Tilemap – Copier / coller des groupes de tiles – Interface
  • Tilemap – Faire des lignes et des carrés de tiles – Interface
  • Affichage des nœuds – Noeud

9:17 Les collisions du Tilemap

  • Tilemap – Les collisions – Interface
  • CollisionShape2D – Nœud
  • CollisionShape2D - définir le Shape – Nœud
  • Débogage – Formes de collisions visibles – Interface

Partie 3: Animations de mouvement et conditions

0:22 AnimatedSprite & SpriteFrame

  • Changer le type d’un nœud – Interface
  • AnimatedSprite – Nœud
  • AnimatedSprite – créer SpriteFrames– Interface
  • AnimatedSprite – découper spritesheet en frames – Interface
  • AnimatedSprite – Créer animation – Interface
  • AnimatedSprite – Jouer animation – Interface
  • AnimatedSprite – Vitesse de l’animation – Interface
  • AnimatedSprite – Ajouter une autre animation – Interface

3:48 Petite correction de mouvements

  • Changement de event à Input – GDScript

4:43 Les conditions

  • les conditions if – else – GDScript
  • comparaison ==, != – GDScript

10:02 Implémentation des animations

  • test des directions – GDScript
  • déclarations de variables avec onready – GDScript
  • récupérer un nœud enfant la fonction get_node() - GDScript
  • AnimatedSprite – play() - jouer une animation – GDScript
  • AnimatedSprite – stop() - arrêter une animation – GDScript
  • AnimatedSprite – setFrame() - afficher une frame spécifique – GDScript
  • utiliser match à la place de if – GDScript
  • limiter la taille d’un Vector2 avec normalized() – GDScript

Partie 4: Les Data Structures et animation d'attaque

0:34 Les Structures de données

  • type de donnée Array – GDScript
  • type de donnée Dictionary (clé – valeur) – GDScript

6:04 Amélioration du code grâce aux data structures

  • fonction _find_dir_name
  • rechercher dans l’aide – Interface
  • Dictionary – values() - récupérer les valeurs du dictionnaire GDScript
  • Array – find() - Rechercher une valeur dans un array – GDScript
  • AnimatedSprite – has_animation() - Test si l’animation existe – GDScript
  • Supprimer le warning The function returns a value, but this value is never used – GDScript

15:35 Animation d'attaque

  • la fonction is_action_just_pressed() - éviter l’appuie d’une touche en continue – GDScript

22:26 Votre premier debug

  • Ajouter un breakpoint – Interface
  • Le debogueur – la valeur des variables – Interface

25:30 moving_direction != facing_direction

  • Typer une variable par affectation := – GDScript

27:40 Votre premier signal

  • Signal - Les signaux d’un nœud – Interface
  • Signal – Connecter un signal – Interface
  • AnimatedSprite – signal animation_finished() – GDScript
  • AnimatedSprite – get_animation() - retourne l’animation en cours – GDScript

30:30 Read the fu**ing manual

  • String – is_subsequence_of() - cherche une sous-chaîne dans une chaîne de caractères – GDScript

Partie 5: StateMachine et accesseurs

1:50 Les Enumérations

  • type de donnée enum – GDScript

3:07 State Machine

  • utiliser enum – GDScript
  • design pattern StateMachine – GDScript

6:59 Les accesseurs

  • setget – les setter et les getter – GDScript

9:12 Déclarer un signal

  • Signal – déclarer un signal custom dans le code – GDScript
  • Signalemit_signal – émettre un signal custom – GDScript
  • Signal – signal custom dans l’interface – Interface

14:13 _update_animation()

  • Création des animations idle

18:40 Le problème des diagonales

Partie 6: Attaque et interactions

0:14 HitBox d'attaque & rotation

  • Area2d – Noeud
  • Area2d – Ajouter une collision shape– Interface
  • Vector2 – angle() - GDScript
  • méthode set_rotation() - GDScript
  • méthode set_rotation_degrees() - GDScript
  • méthode rad2deg() et deg2rad() - GDScript
  • AnimatedSprite – signal frame_changed – GDScript
  • AnimatedSprite – get_frame() - retourne le numéro de la frame de l’animation en cours – GDScript

5:41 Déclenchement de l'effet d'attaque

  • Area2d - get_overlapping_areas() – GDScript
  • Area2d - get_overlapping_bodies() – GDScript
  • Array – parcourir un array avec une boucle for – GDScript
  • méthode has_method() - savoir la méthode est définie par l’objet – GDScript
  • méthode destroy() - supprimer un objet et le libérer de la mémoire– GDScript

10:17 Pots destructibles

  • créer une nouvelle scène - Interface
  • StaticBody2d – Noeud
  • récupérer un nœud enfant avec $ plutôt que get_node() - GDScript
  • CollisionShape2D – méthode set_disabled() - désactive la collision shape – GDScript

16:58 Coffres

  • Préfixer une méthode privée avec _ - GDScript

Partie 7: Camera & Collectables

0:48 Taille de l'ecran

  • Taille de la fenêtre (Paramètres du projet - Display - window) WidthHeight – Interface
  • Configuration de la fenêtre (Paramètres du projet - Display - window) Borderless – Fullscreen - Mode 2D – Aspect keep_width– Interface

2:26 Camera

  • Camera2D – Noeud
  • Camera2Dcurrent définir la caméra active- Interface
  • Camera2DDrag Margin la caméra bouge moins– Interface
  • Camera2DDraw Drag Margin – Interface
  • Camera2DSmoothing – la caméra bouge plus gentillement – Interface

4:40 YSort

  • YSort – Afficher le personnage dessus/dessous en fonction de sa position en Y - Noeud

6:25 Collectables: Pieces

  • gestion d’un ombre
  • AnimatedSpriteModulate – modifier la couleur - ajouter de la transparence – Interface
  • fonction _physics_process() indépendante de la vitesse de la machine – GDScript
  • méthode get_position() - position d’un objet 2D – GDScript
  • méthode move_toward() - déplacer vers – GDScript
  • méthode distance_to() - déplacer vers – GDScript
  • Particles2D – Noeud
  • Particles2D – ParticlesMaterial – Interface
  • Particles2D – Velocity – Amount - Initial vélocity – Direction – Gravity – Emission Shape -Color Ramp – One Shot – Emitting – Interface
  • Particles2D – set_emitting() - Lancer les particules – GDScript
  • AudioStreamPlayer2D – Noeud
  • AudioStreamPlayer2D – Stream – Ajouter un son – Interface
  • AudioStreamPlayer2D – Importer sans loop – Interface
  • AudioStreamPlayer2D – play() - jouer le son – GDScript
  • AnimatedSprite – set_visible() - Afficher / Cacher – GDScript
  • fonction yield() - attente d’un signal – GDScript
  • fonction queue_free() - supprimer le nœud et le libérer de la mémoire – GDScript
  • Timer – Noeud
  • Timer – Wait time - Autostart– Interface
  • Timer – Signal timeout() – Interface
  • AnimationPlayer – Faire varier une propriété des nœud dans la temps– Noeud
  • AnimationPlayer – Piste de propriété – Interface
  • AnimationPlayer – Changer l’interpolation – Interface
  • AnimationPlayer – méthode play() - lancer l’animation – GDScript
  • AnimationPlayer – méthode stop() - stopper l’animation – GDScript
  • Stopper le flickering (Paramètres du projet - Display – Use Gpu Pixel Snap) – Interface

Partie 8: HUD, Autoload & Events Bus

1:12 Preview du résultat

1:33 CanvasLayer

  • TextureRect – Afficher une image dans une interface utilisateur – Noeud
  • TextureRect – Ajout d’une texture – Interface
  • CanvasLayer – Noeud

3:16 HUD

  • Control – Noeud
  • Control – Disposition sur l’écran Positionner un control Interface
  • Control – Disposition sur l’écran rectangle complet Interface
  • TextureRect – Noeud
  • TextureRect – Ajout d’une texture – Interface
  • TextureRect – Déplacer la texture – Interface
  • Light2D – Noeud
  • Light2D – Mode mask** – Interface
  • Light2D – Ajout d’une texture** – Interface
  • Light2D – Déplacer avec Transform - Position** – Interface
  • Faire un calcul dans les propriétés** – Interface
  • Light2D – Range – Régler les layers** – Interface
  • Light2D – Les Mask** – Interface
  • Gestion des masks – Interface

13:12 Label & Font

  • Label – Noeud
  • Label – Gestion des polices de caractères (font) – Interface
  • Label – Antialiasing des fonts– Interface
  • Label – Gestion du contours – outline size** – Interface

16:00 Quelques notions d’architecture

17:42 Autoload (Singleton)

  • design pattern Singleton – GDScript
  • création du script Singleton – GDScript
  • charger le script au démarrage (Autoload) – GDScript

22:08 Events Bus

  • design pattern Event Bus - Gérer les évènements d’une scène à l’autre – GDScript
  • Signal – déclarer un signal custom dans un autoload – GDScript
  • Signal – connecter un signal qui est dans l’autoload – GDScript
  • Signal – méthode connect() - connecter un signal en GDScript – GDScript
  • warnings-disable - Désactiver les warning sur un script – GDScript

  • Convertir un int en String (cast) – GDScript

Partie 9: Spawn de collectables

0:27 Simple Factory

  • design pattern Simple Factory – GDScript
  • fonction preload() - chargement d’une scène dans une ressource – GDScript
  • méthode instance() - instancier une scène – GDScript
  • objet owner – nœud racine de la scène – GDScript
  • méthode add_child() - ajouter l’instance à un nœud – GDScript

13:28 Animation de Spawn

  • fonction rand_range() tirer un numéro aléatoirement – GDScript
  • Vector2 : fonction length() - longueur d’un vecteur– GDScript
  • Vector2 : fonction clamped() limiter la longueur d’un vecteur– GDScript
  • ctrl + shift + O – Ouvrir une scène rapidement – Interface
  • alt + shift + O – Ouvrir un script rapidement – Interface
  • Timer – One Shot – Interface

32:38 Aléatoire

  • fonction randomize() initialiser l’aléatoire – GDScript

34:19 Un peu de debug

  • class_name – définir un type d’objet – GDScript

36:16 Autocollect

Partie 10: Ennemi, Héritage & scènes héritées

0:50 Héritage (De class)

  • class_name – l’héritage – GDScript
  • extends – l’héritage – GDScript
  • Création d’une class avec un script – GDScript

13:28 Héritage de scènes

  • function override avec . – Surcharge de méthoodes, appel de la méthode du parent – GDScript
  • Fusionner depuis la scène – récupérer les nœud (Copier / Coller) d’une autre scène – Interface
  • Fichier – Nouvelle scène héritée… - Créer une nouvelle scène héritée d’une scène existante – Interface
  • AnimatedSprite – Enregistrer une ressource SpriteFrames – Fichier .tres – Interface
  • Enregistrer une ressource sous Godot – Fichier .tres – Interface
  • Charger une ressource sous Godot – Fichier .tres – Interface
  • Instancier une scène enfant – Interface

Partie 11: implementation avancée des StatesMachines

1:43 StateMachine a partir de nodes

  • type de donnée Object – GDScript
  • fonction get_node_or_null() - GDScript
  • design pattern State – GDScript

18:58 La class State

  • class abstraite - GDScript

20:07 enter_state() & exit_state()

21:43 update()

23:07 Refacto de Actor avec la nouvelle implementation

  • Ajouter un nœud custom – Interface
  • fonction get_child() - Récupérer un nœud enfant en fonction de sa position – GDScript

Partie 12: Comportement des ennemis & BehaviourTree

1:24 Behaviour Tree

  • design pattern Behaviour Tree – GDScript

3:43 Area de détection

5:36 Code de détection du joueur

  • Signal – body_entered – Détection d’un de collision – Interface
  • Signal – body_exited – Détection d’un de collision – Interface

14:36 StateLabel

19:00 Déclenchement des Behaviour States

21:08 Chase

  • Array – empty() - Teste si l’array est vide– GDScript
  • global_position – position locale – position globale– GDScript
  • Vector2 - direction_to() – cherche la direction vers une position – GDScript
  • Vector2 - distance_to() – cherche la distance vers une position – GDScript
  • move_and_collide() - GDScript
  • Array – remove() - Enlever un élément de l’array – GDScript

36:08 export var

  • export – exposer une variable dans l’interface – GDScript

37:19 Placeholder pour Wander

37:56 Attack

41:02 Flickering & facing_direction

45:36 Interruption de l'attaque

  • Timer – start() – GDScript
  • Timer – is_stopped() – GDScript
  • Timer – is_paused() – GDScript

Partie 13: BehaviourTree, FSM imbriquées et fonction récursives

1:10 StateMachine imbriquée

  • design pattern State – GDScript

11:47 WaitState

  • export – exposer une variable dans l’interface – GDScript

18:40 GoToState

31:27 StateLabel & fonctions récursives

  • is_class() - test si un objet est d’une certaine class – GDScript

Partie 14: Pathfinding & A*

1:00 Pathfinder.gd

  • class AStar2d – Gdscript
  • Vector2 – type PoolVector2Array – Array de Vector2 – GDScript

8:53 Création des points du A*

  • Tilemap - get_used_cells() - Retourne la liste des points utilisés – GDScript
  • Tilemap - get_cellv – Retourne l’id du tile utilisé – GDScript
  • Tilemap - Tileset – tile_get_name() – Retourne le nom du tile utilisé – GDScript
  • abs() - retourne la valeur absolue d’une valeur – Gdscript
  • AStar2d – add_point() – Gdscript

22:07 Connexion des points adjacents

  • AStar2d – has_point() – Gdscript
  • continue – passer à la prochaine itération d’une boucle – Gdscript

30:25 find_path()

35:48 Dependancy injection & groupes

42:34 update_move_path()

44:30 Un peu de bugfix

53:18 Les obstacles

1:03:20 Diagonales

1:06:20 Trouver une destination valide

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors