
Set up the Godot engine (version 3.3.3 recommended) and create a new 2D platformer project, import Kenny’s public domain pixel assets, and configure textures with the 2D Pixel preset.
Begin with an iterative workflow to set up Godot environment, import assets, and build a rough 2D platformer controller using a kinematic body, tile map, and camera.
Implement horizontal acceleration and deceleration with clamped speed, enable frame-rate independent movement with delta time, and support variable height jumping via gravity.
Save the player as a separate scene, align the origin to the feet, refine movement with a get movement vector function, and enable viewport stretch and chunky pixel snap rendering.
Implement a smooth camera follow in a 2D Godot platformer by using a target position and a 'player' group to follow the player, with a customizable background color.
Animate the player in a Godot 2D platformer by adding an animated sprite with idle, jump, and run frames, and drive animations from movement and on-floor status.
Create a 2D enemy in Godot by building an animated sprite in a kinematic body, adding collision shapes, and using goal areas to flip direction at edges.
Add a hazard area and collision shape to the enemy, set a hazard layer and mask, and make collisions defeat the player in a Godot 2D platformer.
Design a rough test level by restructuring the base level, organizing enemies, hazards, and coins, and using inherited scenes to add new levels and test gameplay.
Implement a mario-style flag as the win condition by creating a flag scene with an animated sprite and area2d collision, and emit a player one signal when the player enters.
Add coin counters, track collected coins, and implement enemy respawning to tie core mechanics together. Transition between levels and prevent the player from falling off the map as you polish.
Define total coins and collected coins, then emit a coin total changed signal as coins are collected. Connect the UI to the coin group in base level to reflect counts.
Font is BitPotion by Joeb Rogers https://joebrogers.itch.io/bitpotion
Implement an auto load level manager in Godot Engine to seamlessly transition between levels using a packed scenes array and a current level index.
Spawn a level complete UI as a canvas layer with a margin-based layout and a level complete message. Hook the next level button to advance levels and disable player control.
Style the level complete user interface in Godot by upgrading the default button with a nine slice texture, dynamic hover and pressed states, and a dark panel for readable text.
Fix scene load by removing startup change level from auto load and initializing with the root level manager; adjust font padding with negative top spacing and font outline.
Learn to implement a polished death animation in Godot using a separate death scene with an animation player, preserving velocity and delaying respawn for clear feedback.
In this Godot engine 2D platformer lecture, fix and auto play the player death animation, apply gravity, and prevent double death calls with an is_dying flag and the camera follows.
Create a death sequence in Godot by masking the player's removal with a 2D particle puff, tune velocity, gravity, lifetime, and color ramp, and flip visuals for direction.
Create a spawn animation where the enemy grows from a dormant state before becoming active. Disable collision shapes during spawn to protect the player, then transition to the run animation.
Create a dash trail for the player in Godot by combining a particles 2D setup with a custom shader to match the player shape and emit only while dashing.
Create self-spawning footstep particles for a Godot 2D platformer by building a dedicated footstep particles scene, configuring a particle material, and triggering on run or landing.
Master how to add clouds in a 2D Godot platformer using a particle system. Animate texture, emission, lifetime, velocity, scale, and color ramp for world-space clouds behind the scene.
Create a reusable animated button in Godot by building a standalone button scene with a theme, hover and click animations, and dual animation players for reliable state changes.
Create a main menu with a canvas layer, margin and panel containers, and a vertical box of play, options, and quit buttons, wired to load the game or quit.
Create an in-game options menu as a standalone Godot scene, toggle window mode with OS.window_fullScreen, use signals for back navigation, and enable transitions to gameplay or main menu.
Create near-by tutorial signs in a 2D Godot platformer to unobtrusively show short control blurbs when the player approaches.
Keep the player in the scene when the level is won and celebrate with confetti particles. Disable player input on victory and play the idle animation for a lively celebration.
Add a restart button and a coin counter to the level complete screen, delay its animation to showcase confetti, and streamline the user interface with a reusable coin counter scene.
Increase the viewable space to reveal jump destinations, then tighten control by reducing jump height from 320 to 300, ensuring levels and coins remain playable and fair.
Discover how to implement sound effects by using pre-made sounds and layering multiple effects to make a game feel alive, with feet hitting the ground and enemy death sounds.
Learn to use audio buses in Godot to route sound effects to an SFX bus and music to a separate bus, enabling independent volume control and effects.
Import curated sounds and attach audio stream players to the UI, coins, and player dash. Tune volume, pitch, and bus routing to craft a cohesive sound effects palette.
Implement a range-based volume control in the Godot Engine options menu to adjust music and SFX buses from zero to ten, using a percentage to decibel conversion and bus updates.
Fix the pause menu mouse cursor and music pause behavior in the Godot engine by using process mode so the user interface visuals and audio keep running.
Wrap up by highlighting platformer mechanics with tight movement, enemy movement and combat, auto tiling tile maps with collisions, spikes, coins, and a polished UI with pause, particles, and sound.
Please note that this course is for Godot 3 and has not been updated for Godot 4. The skills you will learn in this course are largely transferrable to Godot 4, but please be aware of this before you purchase!
This course will cover everything you need to know about creating a small 2D platformer from start to finish in the Godot Engine. This course covers all aspects of creating a complete platformer game in Godot including:
Game mechanics like player movement, collectibles, and basic combat
Hazards like spikes and enemies
A seamless game loop and transitions between levels
Scene structure and project organization
Sound effects
A main menu, pause menu, options menu, and other UI elements
Finishing touches like camera shake, basic shaders, particle effects, and UI animations
This list is not exhaustive - please see the course outline for a glimpse into the topics that are covered.
The goal of this course is to show you how to take an empty project and turn it into a small, complete game. In doing so, this course will expose you to many aspects of the Godot engine from input handling, to tilemaps, to particles, to audio, and more. By the time you complete this course, you will feel comfortable working on your own projects in Godot. You will walk away from this course with a solid foundational understanding of making games that are not only functional but also fun.
This course will help you greatly if:
You have some game development knowledge and want to learn Godot
You have some programming knowledge and want to make games
Your games feel sterile and lack polish
You struggle to complete games and want to start and finish a project
You regularly participate in game jams and want to improve your ability to craft a fun but short experience
Please note that this course is focused purely on the start-to-finish process of making a game. As such, there isn't any time spent explaining fundamental programming concepts. Familiarity with programming is strongly recommended before taking this course. Any programming experience is fine - GDScript is easy to use.