
Download the latest version of Godot.
An overview of the Godot editor layout.
How to build scenes with nodes.
Using physics in a game engine to simplify development.
Attaching scripts to nodes to modify their behavior.
Building the game scene to start our project.
Building a character scene starting with a Character Body node.
Receive input from the player to move the character.
Make movement feel more realistic by applying physics forces.
Make the character jump at the push of a button, and control how high they can jump.
Alter a character's gravity, and how much control the player has over their character while they are in midair.
Alter a character's movement speed while holding down a button.
Make the character feel easier to control by implementing input buffering and coyote time.
Draw the character from a sprite sheet using an Atlas Texture.
Animate the character sprite using an animation player.
Change which animation the animation player plays by creating a state machine in an animation tree.
Add sound effects to the character's movement mechanics.
Play simple sprite animations to create dust effects.
Add and remove nodes from the scene tree and respond to signals.
Make it easier to control different kinds of audio streams across the entire project.
Use a tile map to draw tiles from a sprite sheet.
Add physics and terrain editing to a tile set to quickly draw terrain.
Allow the camera to follow the character so they can move further.
Tween the camera to gently look ahead of the player character.
Hold down the up or down directions to tween the camera up or down.
Restrict the camera's movement to stay within the boundaries of a room.
Move sprites relative to the camera to create the illusion of depth, and auto scroll to simulate wind.
Draw a second copy of the world on the game's canvas to use as a map.
Have the map camera draw a simplified version of the game's world.
Draw a map of your game's world so the player can see where they are.
Laying out elements to be displayed on the canvas layer to communicate information to the player.
Using themes and style boxes to draw your control nodes.
Animating an icon on the game's HUD to indicate when the player character takes damage or recovers health.
Writing a script which will animate the health icons to count the player's health in a way the player will intuitively understand.
Creating a hurt box component that can be attached to anything in the game to take damage and recover health. Connecting this component to the icon counter on the HUD.
Creating a custom resource to track the player's stats and progress through the game.
Writing a global script we can use from anywhere in the project to manage and provide access to the player's save data.
Creating an unlockable ability that allows the player character to jump a second time in midair.
Getting started on the unlockable wall jump ability by allowing the character to slide down a wall at a reduced pace, simulating friction.
Overriding physics to alter the amount of force produced by jumping, both vertically and laterally, and providing the character more air control for a short time afterward.
Give the character an ability to suddenly move forward, or away from a wall while sliding.
How to add invincibility frames to animations so player's can avoid taking damage.
Restrict how often players can use their unlocked abilities with a cooldown timer.
Using alterations to your character's appearance to convey a passive upgrade.
Allow the character to cast spells that shoot a projectile at the cost of their magic points.
Make an enemy which will pace back and forth, turning around when they hit a wall.
Keep enemies inside the room they were spawned in by adding invisible walls the player will be able to walk right through.
Stop dreaming about building your own Metroidvania. The thought of building an interconnected world filled with unlockable abilities may seem daunting, but in this course, you will learn how to take things 1 step a time. This course teaches you to build a complete Metroidvania in Godot version 4.6 using GDScript. By the end, you will have a fully playable 2D platforming game complete with exploration, combat, save points, and unlockable abilities.
Please note that this course is still in development. Here's what we have ready for you to get started right now:
Section 0: How to Use Godot
Section 1: Building a 2D Platforming Character
Section 2: Character Sprites & Animation
Section 3: Drawing Environments & Camera Movement
Section 4: Exploring Rooms & Drawing Maps
Section 5: Heads Up Display & Save File Management
Section 6: Metroidvania Abilities
These sections will be added in the coming months as the video lessons are completed:
July 13th - Section 7: Enemies
August 10th - Section 8: Combat
September 7th - Section 9: Progression
Enroll now and you will be notified as each new section is published.
This course is for students of all skill levels.
If you're a beginner, it is recommended that you follow along with the course exactly as it is shown. Every line of code will be typed on screen and every step of the process demonstrated.
For intermediate students, you may want to try using other assets, or adapting some of the game's mechanics to put your own twist on what is provided.
Advanced students should be able to use their own assets to design, and build their own Metroidvania game using this project a template for overall structure and inspiration.