
Setup lecture going over what is required before starting this course and what will be covered.
Use a lock on button to reposition the camera behind the player character, determine which enemies are visible, and which one is the closest to lock on to.
Change the behaviour of the player character and camera while locked on to a target.
Buffer inputs and blend upper body action animations with lower body movement animations.
Change character's attack animations based on what type of weapon they have equipped and apply different collision masks to their hit boxes based on who is holding the weapon.
Add hurt boxes to characters, use collision masks to detect when a weapon makes contact, apply damage based on the weapon used, react to the strength and directionality of the attack, and track health using a gauge.
Create blended, omnidirectional dodging animations complete with i-frames, and wait until characters complete a combat action before performing another.
Reduce the damage of attacks coming from in front of the character while blocking with a shield. Allow actions to interrupt other actions and automatically return to the original action.
Load ranged weapons with ammunition to fire straight ahead or at a target, hitting either enemies or the environment, and cleaning up old projectiles.
Control enemies with AI scripts that can detect the player character, navigate around obstacles, and engage in armed combat.
Welcome to my course on Combat in Godot!
You're welcome to join our discord server to work on this course alongside your peers.
This course is a continuation of Inventory & Shops in Godot, but can be followed and applied to any project that involves characters engaging in combat. In this course, we will cover locking on to a target, strafing locomotion, attacking, getting hit, dodging, blocking, shooting projectiles, and basic enemy AI.
When you're done, you'll have a complex combat system for your game that is easily adjusted to fit how you want your game to play. You'll also learn useful skills for working with the Godot game engine; organizing and designing your projects to be more scalable. You will be learning how to code with GD script, with everything explained in detail. We will apply object oriented design principles in our scripts; Inheritance, Encapsulation, Abstraction, and Polymorphism, to keep them organized, customizable, and reusable for a project of any size.
All of the project files are also available on GitHub if you need to review the project as it was after completing each lesson. These videos were recorded using Godot version 4.3. The project starts with assets from KayKit's Character & Dungeon Remastered Packs made by Kay Lousberg, Basic GUI Bundle made by Penzilla, and Fantasy Icons Pack made by Shikashi. All are available to download for free on itch. Extra sound effects made by Valenspire are also included and are available from FreeSound.