Are you eager to create your own Metroidvania game but don't know where to start?
This course is your step-by-step guide to mastering everything you need to build your dream game. We will use the Godot game engine, and C# as scripting language, so even if you're switching from Unity, you will feel right at home.
Why This Course?
Are you eager to create your own Metroidvania game but don't know where to start?
This course is your step-by-step guide to mastering everything you need to build your dream game. We will use the Godot game engine, and C# as scripting language, so even if you're switching from Unity, you will feel right at home.
Why This Course?
If you're a passionate programmer eager to dive into game development, this course is your perfect starting point. It offers a structured learning path that guides you from the basics of Godot setup to advanced features, such as rope swinging, and a dynamic mini-map to show where the player is in game. You will build a solid foundation about the Godot game engine, progress quickly with step-by-step lectures on developing every feature and mechanic you need in order to create a complete Metroidvania game, which will deepen your understanding of how to make games with the Godot game engine.
Who is this course for?
This course is not for complete beginners but is targeted more towards "beginner+" and intermediate programmers, so if you have a little, or some experience with the Godot game engine, and are familiar with the C# programming language, this course is perfect for you.
Introduction video to the course
In this lecture, you will learn about the structure of the course, and how to use the resources to follow along.
In this introduction video, you will learn the reasons why you might still want to use the Godot 3.5 .NET over the new Godot 4.2 .NET version.
In this lecture, you will learn about the pirate code standard adopted for this course.
In this lecture, you will learn how to setup Godot 3.5.x .NET, with visual studio code and the .NET 8 Framework in windows.
After this lecture, you will have mono installed, which is needed in order to build and run the game.
Note: This is for the older Godot 3.4 version released back in 2021. It was around 2022 I started to create the course in my spare time, so thereof the old video.
After this lecture, you will have mono installed, which is needed in order to build and run the game.
Note: This is for the older Godot 3.4 version released back in 2021. It was around 2022 I started to create the course in my spare time, so thereof the old videos.
In this lecture, you will find where to download the assets used during the course.
In this lecture, you will learn how to set up parallax scrolling backgrounds.
In this lecture, you will learn how to set up tilemap autotiling with slopes in the Godot 3.x game engine.
In this lecture, you will learn how to set up collision shapes for the different tiles in the Tilemap.
In this lecture, the scene for he Hero will be created.
In this lecture, we will create a simple room, in which we can try out the Hero's movement.
In this lecture you will learn what the state pattern is, and how we are going to implement it in the game.
In this lecture, you will learn how to set up the State Pattern in C# code, and also set up the idle state.
In this session, you will learn how to add the run and fall states to the state machine, so the hero can fall down and run.
In this lecture, you will learn how to make the hero jump, and switch between the different states in the state machine.
In this lecture, you will learn how to prevent the contradictory movement when the player is holding down left + right movement keys at the same time.
In this lecture, you will learn how to set up the camera, the camera limits, and also how to add the scrolling background to the game.
In this lecture, you will learn how to control the jump height by holding down the jump button for a longer or shorter amount of time.
In this lecture, you will learn how to set up the input, animations for the slide state, and also how to edit the map.
In this session, you will learn how to set up the timers needed for the slide state.
In this lecture, you will learn how to set up collision handling for the slide state.
In this lecture, you will learn how to implement the slide state.
In this lecture, you will learn how to implement the slide stand up state.
In this lecture, you will learn how to set up 2D raycasts, and the fall timer, in order to detect when the player is performing a ledge grab, and how to control that the hero cannot grab the same ledge right after he let go of it.
In this lecture, you will learn how to code the ledge grab state, using the 2D raycasts and the falltimer from the precious lecture.
In this lecture, you will learn how to make the Hero climb up on ledges by pressing the up action.
In this lecture, you will learn how to set up the glider scene, and the equipment script which will be used in combination to set up the glider.
In this lecture, you will learn how to implement the glide state in code.
In this lecture, you will learn how to implement double, triple and multiple jumping.
In this lecture, you will learn how to set up the attack state for the hero in the state machine.
In this lecture, you will learn what coyote time is, and how to apply and implement it in the game.
In this lecture, you will learn about the forgiving mechanic: jump buffering, and how to apply it inside of the game.
In this lecture, you will learn how to set up and implement corner jump correction for the Hero.
In this lecture, you will gain insights to how the class state machine can be improved.
In this lecture, you will learn how to create a rope in the Godot game engine.
Unfortunately, only the first start zip file is available for the rope swinging and rope traversal section.
(Remind me to update this and add in more of them in this section in the future.)
In this lecture, you will learn how to set up the Area2D collisions so the Hero will be able to grab the rope.
In this lecture, we are going to do some updates to the move logic and initiate jump scripts, and also add the interact with objects key to the input map.
In this lecture, you will learn how to make the Hero grab the rope.
In this lecture you will learn how to improve the code, and also disable gravity and horizontal movement for the Hero.
In this lecture, you will learn how to align the Hero to the rope, and also revisit how to import sprite sheet graphics in the Godot engine.
In this lecture, you will learn how to make the hero climb up and down on the rope.
In this lecture, you will learn how to make the Hero perform rope swinging.
In this lecture, you will learn how to make the Hero jump off the rope.
In this lecture, you will get an overview of how the minimap system works.
In this lecture, you will learn how to modify and prepare the project in order to start implementing the minimap.
In this lecture, you will learn how to create the minimap scene, and make it ready for implementation.
In this lecture, you will learn how to access the LevelArrea and LevelRoom nodes through C# script.
In this lecture, you will learn how to in script access the 2D physics layer names, the TileMap node, and how to get the window resolution.
In this lecture, you will begin to learn how the minimap system scans the borders of each room.
In this lecture, combined with the previous one, you will get the full understanding of how the minimap system scans the borders of each room.
In this lecture, you will learn how to import and apply the minimap graphics to the minimap.
In this lecture, you will learn how to dynamically set up the camera limits based on the size of the world, and also how to set up so that the minimap will follow the Hero's position.
In this lecture, you will learn how to add an item location to the minimap, and also, how to set up the humble beginnings of the pickup sphere.
In this lecture, you will learn how to set up the item pickup sphere scene.
In this lecture, you will learn how to create a white hit effect shader in the gd shading language.
In this lecture, you will learn how to create the item hover animation.
In this lecture, you will learn how to create a layers and masks singleton, which can accessed by any script.
In this lecture, you will learn how to set up both hit box and hurt box, which is used to detect when an entity is hitting or getting hurt by something.
In this lecture, you will learn how to set up the final item pickup sphere animations.
In this lecture you will learn how to set up the particle scene.
In this lecture, you will learn how to apply the dust particles in code.
In this lecture, you will learn how to add music to the game.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.