
Build a 2d rpg in Godot 4 from scratch, featuring movement, health and mana, attack, animations, a finite state machine, crafting with recipes, inventory and equipment, quests, and npc interactions.
Build a multi-section town for a Godot 4 2D RPG, with a main player area, houses, a shop interior, water section, enemy zones with elite foes, and neighbors-based floor painting.
Create the main buttons and HUD in Godot 4 using a canvas layer, panel, and horizontal container, then link them to toggle equipment, inventory, stats, and skills panels.
Create an equipment panel in Godot 4 by duplicating the inventory panel and adding four slots for helmet, sword, chest, legs, and ring.
Build a skills panel in Godot 4 by creating a skills button layout using bbox and hbox containers, styling a button with icons and hover/press states, and adding lock indicator.
Create a skill hotbar in Godot 4 by duplicating the main panel, adding equipped skill buttons with icons, and labeling buttons 1–4 to load and use skills.
shader_type canvas_item;
uniform vec4 shine_color : source_color = vec4(1.0);
uniform float shine_progress : hint_range(0.0, 1.0, 0.01) = 0.0;
uniform float shine_size : hint_range(0.01, 1.0, 0.01) = 0.1;
uniform float shine_angle : hint_range(0.0, 89.9, 0.1) = 45.0;
float scale(float value, float inMin, float inMax, float outMin, float outMax) {
return (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
}
void fragment() {
//COLOR = texture(TEXTURE, UV);
float slope = tan(radians(shine_angle));
float progress = scale(shine_progress, 0.0, 1.0, -1.0 - shine_size - shine_size * slope, 1.0 * slope);
float shine = step(slope * UV.x - UV.y, progress + shine_size + shine_size * slope) - step(slope * UV.x - UV.y, progress);
COLOR.rgb = mix(COLOR.rgb, shine_color.rgb, shine * shine_color.a);
}
Create a 30-slot inventory autoload in Godot 4, with slot data, addItem stacking up to max stack using getEmptySlotIndexes and findItemIndexes, and emit onInventoryChanged and onEquipmentChanged.
Implement item movement in a Godot 4 2D RPG inventory by showing a hover selector, emitting slot signals on hover and click, and swapping or merging items between slots.
Implement item usage by validating consumables, reducing the item quantity, removing empty slots, and signaling the health system to heal using the health potion value of 2.
Create and manage an attack state in the enemy finite state machine for a Godot 4 2D RPG, handling attack duration, timing, and damage when the player is close.
Inherit from the base enemy to create new enemies with move animations, name consistently, and use an octopus as example, then set loot, health, and spawn zones.
Create a skill data resource to configure mana cost, base damage, and explosion effects for multiple skills, then equip skills to the hotbar and trigger them with use skill calls.
Develop all nine in-game skills for a Godot 2D RPG by duplicating and configuring skills like shuriken and magic weapon.
Build reusable skill effects in Godot 4 by deriving from a base kunai scene, adding animated sprite frames from sprite sheets, enabling autoplay and zero-based frames, and deleting on finish.
Bind skills to keys 1–4 in the Godot 4 input map and implement UseSkill to validate indices, spend mana, and damage the selected enemy. Show explosion effects and damage text.
Create NPC scenes, implement dialogue and a navigation-based movement system, and manage shop, quest, and crafting panels for interactions in a 2D RPG with Godot 4.
Learn to implement NPC movement in a 2D RPG with Godot 4 by building a navigation tilemap, painting the navigation layer, and using pathfinding with animations and debug.
This lecture builds a shop system using a portal to a shop interior, triggers a transition and dialogue with an NPC, opens a shop panel, and handles purchases.
shader_type canvas_item;
// Ranges from 0 to 1 over the course of the transition.
// We use this to actually animate the shader.
uniform float progress : hint_range(0, 1);
// Size of each diamond, in pixels.
uniform float diamondPixelSize = 10.0;
void fragment() {
float xFraction = fract(FRAGCOORD.x / diamondPixelSize);
float yFraction = fract(FRAGCOORD.y / diamondPixelSize);
float xDistance = abs(xFraction - 0.5);
float yDistance = abs(yFraction - 0.5);
if (xDistance + yDistance + UV.x + UV.y > progress * 4.0) {
discard;
}
}
Create an NPC shop in a Godot 4 2D RPG by adding an NPC to the interior, wiring dialogue to open the shop panel.
Load items into the shop by creating a shop button with an OnItemPurchase signal, update item icon and price, and dynamically populate the shop panel while managing coins and inventory.
Do you have a solid foundation in Godot 4 and want to take the next step toward building more complete and professional games?
Master Godot 2D: Create an RPG-Style Game with Godot is designed specifically for those who already understand the fundamentals of Godot and want to level up by building more advanced, organized, and reusable systems.
In this course, you’ll learn how to build a complete RPG-style game from scratch, packed with engaging mechanics. RPGs are generally one of the most complex genres to develop. In this course, you’ll learn how to tackle the hardest parts in the simplest way.
Throughout the course, you will learn how to:
Play animations based on movement
Create a Finite State Machine (FSM) system
Build a health system
Design levels using TileMaps
Automate TileMaps with rules
Create interactive panels
Master UI creation
Build a complete inventory system
Add an equipment system
Create custom items
Update player stats using attributes
Create enemy zones (enemy spawners)
Develop enemy AI using states
Build an enemy loot system
Create skills with unique effects
Equip skills using a hotbar
Add NPCs to the world
Implement NPC movement
Create a dialogue system
Build a complete shop system
Build a complete crafting system
Build a complete quest system
Master Autoloads
Create an audio system
Write clean, scalable code applicable to your own projects
Master nodes, signals, composition, and scene inheritance
Design a solid and flexible architecture
Each section is carefully designed to strengthen your programming logic and help you understand how to structure professional-level projects in Godot.
If you already know the basics of Godot and are ready to build a complete and polished RPG, this course will give you the tools to make it happen.