
Learn to design and launch a complete 2D roguelike in Godot 4, covering tilemaps, movement, combat, modular abilities, health systems, audio, and a publish-ready home menu for itch.io.
Fix coding errors quickly with practical steps, AI help, and reference code. Compare distance logic, review GitHub resources, and seek help via comments or email.
Install Godot engine and initialize a 2D project named Unknown Adventure. Learn the node-based workflow, including node 2D and sprite, and use Gdscript for scripting.
Explore Godot 4 scene design by creating and organizing nodes within a 2D root node, building tile maps and sprites, and composing reusable scenes to launch your game.
Set up and test a 2D camera in Godot 4, run and test scenes, adjust window and viewport settings, and understand how the camera captures the game view.
Replace the placeholder player with an animated sprite in the play scene, set up sprite frames for idle animation from a sprite sheet, and prepare reusable enemy scenes.
Learn to move a 2D player in Godot 4 with GDScript by updating the transform based on arrow keys, using process(delta) for frame-timed movement and debugging.
Learn how to move a Godot 4 2d player by updating self.position with a vector2, using delta for frame-rate independent movement, and exploring position, rotation, and scale properties.
Learn to implement player movement in Godot 4 by reading keyboard input with get_axis, forming a movement vector from horizontal and vertical axes, and applying it with delta.
Create custom input actions in Godot 4, map keys (w a s d and arrows), and normalize movement to keep diagonal speed consistent for smooth 2d roguelike gameplay.
Implement a follow camera in Godot 4 by scripting the camera to track the player's position each frame, using a follow_target Node2D reference and the process function.
Flip the player's animated sprite 2D horizontally based on horizontal movement in Godot 4, using the flip horizontal property to face left or right.
Add a run animation to the sprite, create a 32 by 32 run sequence at 10 fps, enable looping, autoplay, flip horizontally when moving, and switch from idle to run.
Create a game map with tilemaps in Godot 4 using a 16 by 16 atlas, paint grass and roads, and manage layer ordering to keep the player visible.
In Godot 4, improve tilemap sharpness by setting texture filter to nearest for roads, grass, and decorations, yielding crisper outlines and shadows for pixel art.
Implement an ability controller on the player to track abilities and cooldowns, create slash and fireball abilities with dedicated components (spawn, deal damage, pushback), and coordinate their behavior.
Extend the Godot 4 roguelike by wiring key one to trigger an ability via the ability controller. Refactor movement and input into functions and ensure delta handling for gameplay.
Create a custom input action for the ability and bind it, then use is action just pressed to trigger the ability by ID once per press.
Learn to build a Godot 4 ability system by collecting child abilities, storing them in an array, and triggering by index with robust null checks and public versus internal logic.
Build a slash ability in Godot 4 by composing it from components like spawn object, deal damage, and push back, then activate all child components to spawn the slash effect.
Extend the spawn object ability component in Godot 4 by overriding an internal activate method and calling super activate, enabling custom spawn logic and consistent activation logs.
In Godot 4, import an effects asset, organize folders for scripts and scenes, and build an animated sprite using fx frames in a new slash effect scene for the player.
Learn how to spawn a melee slash effect in Godot 4 by exporting a scene reference, instantiating it at runtime, and attaching it to the player for movement.
build a flexible entity system in godot 4 by making players and enemies share an entity, passing the casting entity through the ability controller to spawn effects at the caster.
Learn how to spawn objects in Godot 4, deciding whether to parent to the player or to the root. Use a set as child flag to manage position.
Export an offset vector to spawn the slash ability effect at a position, rename files to slash ability and slash ability effect, and add the offset to the node position.
Understand how the ability manifest defines spawned object behavior, with slash and fireball examples, and learn modular scripts and folder structure for Godot 4 abilities.
Replace the attack with a simple 64x64 melee slash sprite sheet, wired into the animated sprite 2D via the ability manifest, and preview in Godot 4.
Rotate the attack toward the mouse in Godot 4 by retrieving the global mouse position from the viewport camera 2D and applying look at.
Clean up slash effects in Godot 4 by tracking animated sprite 2D frame progress to determine when the slash finishes, then queue_free the node to prevent scene clutter.
Toggle a boolean and flip the animated sprite vertically to alternate your slash attack in Godot 4, creating varied directions.
Add a weapon to the player by importing a sprite sheet atlas, selecting the weapon region with offset, and adjusting position, rotation, texture filter, and draw order behind player.
In Godot 4, learn to mirror the weapon’s position for the 2D roguelike when the player turns left by mirroring the offset and rotating the weapon to -35 degrees.
Refactor the ability system in Godot 4 by introducing an ability context that carries the caster and the ability, and pass this context through activation and manifests.
Rotate the weapon to face the mouse by calculating the angle between the weapon's global position and the cursor, then apply a 90-degree offset using pi/2 for precise alignment.
Continue from rotating the weapon toward the mouse, applying a rotation offset and converting degrees to radians to align the slash origin and adjust the weapon’s position with the player.
In this Godot 4 lecture, learn how to alternate a slash by flipping the weapon's rotation offset radians to the opposite value, creating a mirrored attack.
Refine roguelike slash attack by adjusting weapon position and rotation, applying alternate slash display, cloning and showing the weapon during the strike, then hiding the original and destroying the clone.
Learn to implement ability cooldowns in Godot 4 by exporting a cooldown property, tracking active cooldowns in a dictionary, and decrementing them in process to control skill reuses.
manage cooldowns in godot 4 by decrementing ability timers stored in a cooldowns dictionary each frame, using delta time and the process function, and clamping values at zero.
Implement a skeleton enemy in Godot 4 by creating a skeleton scene with an animated sprite and an enemy script that extends the entity, featuring idle and attack animations.
In Godot 4, attach an enemy script to make the skeleton chase the player, then add the player to a 'player' group and fetch it via the group for access.
Retrieve the player node from the group and implement enemy chasing by computing a normalized direction toward the player in process, then move the enemy with speed times delta.
Compute velocity and speed for a 2d skeleton by using current and last positions with delta time, derive velocity length, and drive walk animations and the facing direction.
Learn to make a 2D enemy in Godot 4 flip to face the player and stop at threshold, using velocity, distance checks, and a face target function to control animation.
Add a stop distance so skeleton stays ten pixels from player, using an exported stop_distance float, and move only when distance to the player exceeds it, testing 15 or 20.
What is Godot?
Godot is a powerful, open-source cross-platform game engine with a user-friendly editor available for Windows, macOS, and Linux. It supports seamless development for various platforms, including mobile, desktop, consoles, and web, making it a popular choice for both indie and professional developers.
What Will You Build?
Embark on an immersive journey by building a captivating 2D survival game from scratch: "Unknown Adventure." This course will teach you essential Godot skills, from core engine concepts to creating robust, reusable systems.
Project: Unknown Adventure
You will learn how to design and develop an entire survival game where the player must battle increasingly challenging monsters, each possessing unique abilities, and strive to survive as long as possible.
Core Skills and Systems You'll Master
Basics & Tilemaps
Get started with Godot's interface, set up your project, and master the creation of 2D tile-based environments using Godot's powerful Tilemap system.
Nodes & Scenes
Understand Godot's foundational architecture, including nodes, scenes, and instancing, for building organized and scalable projects.
GDScript Fundamentals
Learn GDScript, Godot's dedicated scripting language, to implement all gameplay logic, systems, and interactive features.
Modular Ability System
Create a flexible, modular ability system that allows for easy creation and management of new abilities for both players and enemies. The system is designed for reusability and expandability.
Dynamic Enemy Spawning
Develop an adaptive enemy spawning system so every playthrough delivers fresh challenges and escalating difficulty.
Real-Time UI for Game Stats
Build an intuitive user interface that displays player health, score, and other crucial stats, updated dynamically throughout the game session.
Comprehensive Damage & Health System
Implement balanced and scalable health management for both the player and various enemy types, including damage calculation and effects.
Start/Options Menu
Design a polished menu system for starting new games, adjusting settings, and selecting your protagonist or game parameters.
Score Screen & Replay Functionality
Set up an engaging score/achievement screen at the end of each run, along with a seamless restart function to encourage replayability.
Emphasis on Reusability
Focus on developing reusable scripts, nodes, and systems, empowering you to efficiently build future Godot games.
Main Goal
The primary goal of this course is to equip you with the knowledge and practical skills to build reusable, modular systems in Godot. You will gain a deep understanding of how to design scalable, flexible, and efficient components that streamline game development for a wide range of game genres and projects.
By the end of this course, you won't just have completed your own 2D survival game—you'll have laid the foundation for future independent game development with Godot.