
Please download Godot 4.2.1 stable or Godot 4.4 while you are following the course.
I recommend that you use Godot 4.2 or Godot 4.4 with this course.
This asset package was made for Godot 4.2.
It WON'T work with any previous versions of Godot(Godot 4.1 and older).
Also, for the best experience, it would be a good idea to use the same 4.2 version which is the same version that I used in the course.
Godot official website
https://godotengine.org/
Godot archive for download Godot 4.2.1 stable
godotengine.org/download/archive/
Import the game assets into your Godot project by downloading the Asset folder, unzipping it in the project root named Asset, and installing FBX2glTF if required.
Enable fxaa and taa anti-aliasing, build a 3D scene for a 2.5D game, set up a CharacterBody3D player with collision, camera, and basic movement script, then test in fullscreen.
Learn to implement a basic player movement script in Godot 4, using velocity, gravity, and jump logic with _physics_process and move_and_slide for smooth 2.5D gameplay.
Set up and bind custom gameplay actions in Godot 4 to replace default UI actions, enabling horizontal input with MoveLeft and MoveRight and jump with Jump (up/space).
attach the sword to the player's right hand using BoneAttachment3D under Skeleton3D, pick bone DEF-hand.R, adjust transform and scale to fit, and apply a material override.
Set up the player's idle and run animations with an AnimationTree and AnimationNodeBlendTree, blending ground and airborne states via a BlendSpace1D and updating the blend_position from the script using velocity.
Learn to set up airborne animations in Godot 4 using an AnimationTree with a Blend1D for air and ground states, including state enum, transitions, and script-driven state updates.
Add a vfx root for the player, spawn footstep and landing smoke vfx on ground contact, and control emission with is_on_floor, velocity checks, and queued cleanup via queue_free.
Create a spike trap in Godot 4 with a SpikeTrap Node3D and Area3D for detection. Expose a reusable SpikeTrap scene by configuring collision layers and wiring body_entered to call player.applyDamage.
Define maxHealth as a const and initialize currentHealth from maxHealth in _ready. Use applyDamage to reduce health, briefly disable controllable, and re-enable after 0.9 seconds.
Add a dead animation for the player with anAnimationTree state machine in Godot 4, wiring transitions from airborne and ground movement to dead by state checks.
Trigger the hurt animation with a OneShotHurt node through the AnimationTree, add a material blink invincibility effect, and manage invincibility with an isInvincible flag and timing.
Create a health UI in Godot by building a full-screen control node with an HBoxContainer of three heart textures, wired via signals to update on health changes.
Create a health pickup in a Godot 4 2.5d scene using a Pickup_Health with a health mesh and vfx, detect player entry with Area3D, rotate it, and remove on consumption.
Create a health pickup that makes the player blink green via emission color animation, add a heal VFX, and pack it as a reusable scene for multiple instances at z=0.
Create the enemy as a CharacterBody3D node named Enemy_A, add a Visual mesh and capsule collision, configure enemy and game level layers, and implement a basic patrol with move_and_slide.
Control a patrol enemy in a 2.5d Godot 4 game using forward and downward RayCast3D to detect obstacles and edges, flip direction, rotate nodes, and play a looping walk animation.
Set up the player's melee attack with hit and blade vfx, sword swing mesh with material, an Area3D hitbox, a oneshot melee in the animation tree, and left click input.
Create a red flash damage effect for enemy by adding an AnimationPlayer and a Flash animation that modulates the material's Flash Effect parameter, and trigger it via an applyDamage function.
Update the player script to implement attack and hurt recovery using uncontrollableRemain and getHurtCooldown, ensuring the player is uncontrollable during melee attacks and damage, with _process handling the timing.
Enemy & item positions for Level_02
Door 217/13.5/-1.5
Enemy_A 22/0/0
Enemy_A2 73.5/8.5/0
Enemy_A3 112/9/0
Enemy_A4 103.5/20/0
Enemy_A5 157/15.5/0
Enemy_A6 181.5/12.5/0
SpikeTrap 93/6.5/3
SpikeTrap2 119.5/7/3
SpikeTrap3 194/10.5/3
Pickup_Health 99.5/6.5/0
Pickup_Health2 97.5/18/0
Pickup_Health3 167.5/5.5/0
Update your 2.5D Godot project from 4.2 to 4.4, back up your files, import and restart to apply UUID changes, then test the level by attacking enemies and collecting health pickups.
Implement a double jump by tracking jump counts, consuming on each jump, restoring on the ground, then convert the player to a reusable scene and instantiate it in main scene.
Hello, I’m Single-minded Ryan, a game developer and digital artist.
In this course, we are going to create a typical 2D-style game in a 3D world, but before getting into the details, I know you have a big question a ask:
What is the core benefit that this course has to offer?
The answer is that I want you to feel like you are making a real game from the very beginning
I want to you learn the knowledge about game development with production-level game assets, so you can absorb these ideas seamlessly.
This is why I put a lot of effort into creating the assets for the course, so you can have high-quality characters, smooth animations, detailed materials and VFX particles, and good-looking level modules to work with.
These assets are great benefits you can get with this course because you can use the assets to experiment with new ideas and design your levels even after finishing the course.
Let’s talk about what we are going to do in this course.
Our player can explore this world with 2D movements, so we’ll cover these behaviors in GDScript, including the run, jump, and melee attack actions.
Then we’ll learn how to control the animations using a combination of different animation nodes, such as the StateMachine node, the blend animation node, and the OneShot node. This way you will have more flexibility when dealing with complicated animation setups.
When it comes to the enemy, I’ll show you how to make it patrol around the platform, and to detect the edges and blocks so it knows when to turn around. These behaviors are achieved by the ray cast feature, which is an essential technique you have to know to deal with the physics engine in game development.
Visual effect is also a big part of video games, I’ll show you how to control the particles via the script and how to create material animation for the sword-swinging action.
Want more challenges for the player? Let’s create a trap with spikes, here we’ll learn how to detect physics bodies using a collision shape, and how to use physics layers to manage the collision detection.
Need something to keep the player alive? Here comes the health pickup. To make the pickup work, We’ll finish the player’s health system with the heart UI on screen.
Finally, we’ll set up an end door as the destination of the level, and cover the game over UI and the restart game button to finish up the gameplay
By the end of this course, you’ll be able to export the game to executable files and show it off to your friends.
If you are eager to improve your programming skills, this course also has a lot to offer.
We’ll talk about the core idea of Godot game development: the Game Lifecycle functions, these concepts are shared between many game engines, so understanding these functions will help you establish a solid foundation for your further career.
You’ll learn about some basic programming ideas like how to use variables and constants, how to use conditions and control flow like the if statement and the for loop.
We’ll also talk about some unique GDScript features, like how to use annotations and how to communicate between scripts using signals, which is
But I want you to notice that this course is not heavily code-oriented, meaning it would be really great if you understood some basic programming ideas.
I’ll keep adding new content later like I’ll add new lectures to talk about how to make collectible coins and how to shoot bullets in summer this year.
I can’t wait to see you in this course and check out the cool games you are going to make.
At the end of this course, you will be able to do things like:
Code in GDScript, which is Godot's built-in programming language
Code basic character 2D movement (run/jump)
How to create a patrol behavior for the enemy using the RayCast feature
Create a melee attack
Use Godot's input system
How to use the StateMachine animation node and OneShot node to control the player’s animation
How to blend animations
Control material effect with GDScript and animation
Control VFX via GDScript
Control Enemy's behaviors like causing damage to the player and dead
How to create a trap to hurt the player
Create a health & damage system
Create a health pick-up
Design the 2.5D Game Level
How to use the UI system to display the player’s health hearts
How to reset the game scene
How to create a button and how to reload the game
Customize Godot's settings for your game and your workflow
How to export the game into executable files
Please NOTE that this course DOES NOT contain any sound and music assets at the moment, because I don't know how to compose them for now.
*All of the assets (models, animations, VFX, etc.) provided in this course are only for educational purposes, please do not use them in any commercial projects.