
Begin mastering 2D game development with Godot 4 and GDScript in this introduction, laying the foundation for the Godot 2D Academy course.
Ask questions on the Discord channel, and I will help; the course for beginners starts with GDScript and builds toward a Flappy Bird clone and four games.
Explore Godot's home page to see why it's free and open source, review versions and installation, and navigate the editor, blog, docs, and asset library for 2D game development.
Explore Godot versions, comparing the standard Gdscript with the dotnet version using C, and learn why Gdscript offers native integration, Python-like syntax, and fast prototyping for 2D games.
Install the Godot engine by downloading the 4.4 beta two from experimental releases, select the standard Windows version, extract, run the executable, and pin the launcher to the taskbar.
Explore the Godot launcher and project manager, managing projects and assets, with options to create folders, set renderers, enable git, and customize language and theme.
Explore the Godot editor, create a new project, and navigate the top toolbar's 2D, 3D, script, game, and asset library options, plus key windows like scene, file system, and inspector.
Customize the Godot editor layout for a 2d workflow by saving a layout. Create a 2d profile to hide 3d options and the asset library.
Configure the Godot editor theme by selecting presets or applying the Godot minimal theme from GitHub, then adjust base and accent colors, contrast, and corner radius.
Review Godot 4.5 beta versions, detailing tile map physics with chunk colliders, abstract classes in GDScript, rendering and import improvements, and how release notes and GitHub tickets guide feature changes.
Discover Godot 4.5 features, from stencil masking and screen reader support to shader baker and internationalization live preview, plus enhanced 2D tile map physics and deep copies.
Review Godot 4.6 dev updates from dev 1 to dev 5, including drag-and-drop export variables, OpenXR improvements, UI improvements, and automatic editor theme application.
Explore Godot 4.6 stable, highlighting quality‑of‑life updates like draggable windows, default Jolt physics, inverse kinematics, and improved editor, UI, tile maps, and documentation filtering.
Learn how to create and attach classes to nodes in Godot 4, using node 2D, scripts, and inheritance, with project setup and templates.
Learn how to declare variables with var, assign values, and perform arithmetic operations in GDScript, including addition, subtraction, division, multiplication, and modulus, with naming conventions like snake_case and camelCase.
Master indentation and variable scope in Gdscript by learning how to structure functions with proper indentation, and understand local versus global variables within a class.
learn to work with strings in Gdscript by declaring string variables, printing text, concatenating with plus, formatting with percent placeholders, and using length, is_empty, to_upper, and contains.
Discover Godot's built-in documentation and online docs, learn to read method descriptions and examples, compare string methods like contains and the in operator, and use F1 to access help.
Explore booleans in Godot 4 with GDScript: create boolean variables, print them, compare values, and use and, or, not to form logical expressions.
Learn how to apply static typing in Godot's GDScript by explicitly defining variable types, function return types, and parameter types to improve safety and editor autocompletion.
Master how to use the export keyword in Godot to expose variables in the inspector, create adjustable properties like movement and acceleration, and organize them with export categories.
Explore how the if conditional evaluates a condition in Godot GDScript and executes a code block, using exported integer and float options to compute and print results.
Learn how the if-else structure works in Godot's GDScript, using modulus to detect even or odd numbers and implement an age check with clear console messages.
Explore the ternary operator as a concise, single-line alternative to if else, using a condition to set a result and print outcomes in a Godot 4 GDScript example.
Master the match statement in Godot 4's GDScript, a concise alternative to switch, with examples using numbers, player state, and a default case.
Master the and operator in Godot 4 and GDScript by evaluating multiple conditions, using the and keyword or double ampersand to require both values be true, with practical examples.
Explore the or operator in Godot 4 with GDScript, exporting average and athlete variables, and evaluate conditions to determine scholarship eligibility using double bars and true or false outcomes.
Master the not operator in Godot by inverting a condition with the exclamation mark or node keyword. Demonstrate with an age check showing not flips the condition age >= 18.
Master the Elif conditional in Gdscript by checking multiple conditions in order with if, elif, and else, printing grade-based console messages and a multi-operation calculator.
Explore how nested if statements control multiple conditions. Demonstrate a Godot 4 GDScript exercise that prints Harry Potter fan messages based on the number of books.
Master loops by implementing a while loop that runs code while a condition holds, demonstrated through a battle scenario with health, potions, and turns.
Master the for loop to repeat code a fixed number of times or iterate over sequences, and learn factorial calculation through practical examples.
Use a for loop to iterate over a string and validate an email by checking for an at symbol and that it ends with .com, printing valid or invalid messages.
Discover arrays in GDScript: declare and resize arrays, use int and float types, packed arrays, dynamic arrays, access and modify elements by index, and get introduced to dictionaries.
Learn how to iterate over arrays with for loops in Godot 4 using GDScript, generating random grades, appending to an array, and computing and printing the average with two decimals.
Fill an array with random integers, resize to a random length, and identify the smallest and largest elements using loops in Godot 4 and GDScript.
Learn to create and use dictionaries in GDScript with key-value pairs. Add, modify, delete, and access values by keys, using set, erase, has, and get with defaults.
Discover how to define and call methods in GDScript using the func keyword, including void and value-returning methods, and implement a seven multiplication table in the ready function.
Learn to define methods with parameters in GDScript, pass arguments, distinguish parameters from arguments, and print results across nodes.
Explore void methods and methods that return values in Godot 4 and GDScript, learning to create and use returns, integers, and booleans through practical examples.
Create a Flappy Bird-style clone to learn 2d game development with Godot, covering character movement, object spawner, scene nodes, collision handling, sound and score system, and medals.
Create a Godot 4 project for mobile Flappy Bird clone, set the viewport to 480 by 854, use canvas items, map jump to spacebar and left mouse button, import assets.
Create a player using a character body 2D, add a sprite and collision shape, then script gravity, jump force, velocity, and rotation with physics process to move and slide.
Apply delta time to gravity, rotation, and movement for frame-rate independent gameplay, and enable Godot 4.3 physics interpolation to smooth 2D movement between ticks.
Create the main scene in Godot 4 by positioning the player, adding an animated sprite 2D, and wiring a start-on-input flow with is started and should process input.
Create an obstacle scene with top and bottom mountains using area 2D for collisions, move left with a speed export, and emit on plane crash signal when the player collides.
Create a spawner in Godot 4 that instantiates obstacles every two seconds using a timer and timeout signal, placing them off screen to the right and moving them left.
Learn to destroy off-screen obstacles with visible on screen notifier 2D, spawn and manage obstacles, and detect collisions to stop player movement and halt obstacles.
Build an infinite scrolling ground in Godot 4 by duplicating area 2D sections, using make unique for resources, and signaling to stop the player and obstacles on collision.
Add a score system by detecting collisions with a score area, emitting a player score signal, and updating a UI label on a canvas layer to show the current score.
Create a Game Over UI in Godot 4 using box and hbox containers, textures, labels, and a restart button; show the panel and reload the scene on press.
Update the game over user interface by calculating and displaying current and high scores, preload medal textures, and save high scores to a file in Godot 4 using GDScript.
Add sounds using audio stream players and buses to play jump, hit, score, and game over sounds in a Flappy Bird clone, with volume tweaks.
Disable physics interpolation on ground one and ground two by setting their physics interpolation mode to off, solving the flickering when moving the ground.
Create an idle tycoon clone in Godot 4, building customers and cashiers, tracking orders, upgrading coffee and burger items, and earning coins as you unlock stars at key levels.
Create an idle tycoon clone in Godot 4 using GDScript, set up a mobile project, import assets, and build the main scene with counters, a background, and customer orders.
Create a cashier character in Godot 4, assembling visuals from body, face, hands, and shadow, then animate idle and move sequences with an animation player and tweens.
Discover how to create customers by inheriting from the cashier scene in Godot 4, reuse structure and animations, and use data resources to vary appearance and show orders.
Create a Godot 4 customer manager to instantiate random customers at spawn positions every four seconds, using a packed scene and tween to move them off screen and delete.
Create item resources using an item data class and enum to model coffee and burger, export textures, and share them through a singleton game manager to populate customer orders.
Implement a four-slot counter system in Godot using marker 2D nodes and a dictionary to track each position's occupancy, spawn logic, and animated movement to free slots.
Build and manage cashiers in Godot 4, spawn up to four cashiers, and route customers through signals to take orders.
Store customer's item in the cashier, move to the coffee or burger counter based on the item, and display a radial progress bar to visualize preparation time in Godot 4.
Complete customer orders by moving cashiers between counter and customers, preparing units, delivering, updating order status, playing appropriate animations, earning profits, and freeing counters for next customers.
Add a GPU particles 2D coin VFX in Godot 4, spawn at the cashier, configure lifetime, velocity, spread, and one-shot emission to show earned coins.
Build a sound manager as an autoload scene that uses audio stream players and buses to play music and sound effects, with a get-free-player helper and play audio.
Create an upgrade panel UI that displays item name, current level, stars by level thresholds, profit, cook time, and upgrade cost, triggered by an upgrade button in a separate scene.
Display the upgrade panel in the scene, showing item name, level, stars, profit, cook time, and upgrade cost, with a script and UI buttons to toggle coffee and burger panels.
Upgrade items via the upgrade panel to raise level, profit, and progress toward next star. Every 25 levels triples profit and cost, reduces cook time, and emits star reached signal.
Build a dynamic in-game shop panel inside the game UI, featuring five purchasable cards for cashiers and upgrades that speed coffee and burger prep.
Learn to implement a Godot 4 shop to buy cashiers and speed up items by updating costs and wiring UI signals, with an autoloaded game manager handling state.
Implement a coin format function that abbreviates numbers with k, m, b, t, and q suffixes in Godot 4 using GDScript. Apply it to prices and profits to improve UI.
Create an in-game options panel in Godot 4 to adjust music and sound effects volume with sliders, using panels, labels, and containers.
Explore building a Leap Day inspired 2D platformer in Godot 4 using GDScript, implementing collectibles, enemies, traps, checkpoints, and level design with tiles, collisions, and raycast.
Create a mobile 2D platformer project in Godot 4.4 rc1, import assets, and configure window 270x480, override 480x854, viewport mode for pixel art, portrait orientation, then begin building the player.
Create a Godot 4 player scene with animated sprite run and jump from ninja frog sprite sheets, set up a raycast and capsule collision, and instantiate in a game scene.
Learn to build a 2D Godot 4 player controller in GDScript, handling movement, gravity, wall collisions, and jump logic with multiple jumps and run/double-jump animations.
Create level zones using tile maps and a tileset in Godot 4, paint platforms, add collisions and one-way platforms, and implement an infinite scrolling background with a simple shader.
Learn to configure collision layers and collision masks in Godot 4 2D, assign the player, world, enemy, and fruit layers, and set raycast 2D masks to control collisions.
Create a rotating spike obstacle in Godot 4 using area 2D, sprite, and collision shape 2D; colliding with the player triggers death via an event manager and tweened rotation.
Create a base fruit scene and extend it with banana using inheritance, featuring animated sprite 2D and animation player, while handling player collisions and scoring through a fruit collected signal.
Create fruits by duplicating from fruit base, assign idle and collected animations with Animation Player, configure animated sprite 2D, enable autoplay on load to move and collide with player.
Add floors by painting tiles on the map layer with twenty tiles, walls and collision shapes. Implement a camera 2D that lerps to player with limits and moves fruits.
Build a base enemy in Godot 4 with animated sprite and top/bottom collision zones, add a Blue Beard enemy with path-following, animations, and a player respawn flow.
Design a new moving rock trap for floor six, using animated sprite, collision and detection areas, and tween-based movement to crash and kill the player.
Create a checkpoint that saves a new respawn position when the player reaches it, using an animated 2D sprite, collision shape 2D, and a signal on checkpoint reach.
Create a new spike ball trap with rotating chains in Godot 4, implement collision with the player, and drive rotation with sine-based oscillation using time for smooth motion.
Create and animate a Rhino enemy in Godot 4 using an inherited base scene, four animations (idle, run, wall, heat), raycast-based player detection, and collision mechanics.
Create a platform enemy in Godot 4 using a raycast 2D for edge detection, with movement, collision shapes, and hit and death animations that reverse direction at edges.
Create and integrate an end checkpoint in Godot 4 using a 2D area, sprite, and collision shape, wire up signals via an event manager, and prepare for end-of-game UI.
Create a sound manager in Godot 4 with an autoloaded scene, an audio stream player, and sfx buses; preload sounds and reuse free streams for events.
Create a simple in-game UI with a canvas layer, a win panel, and a fruits counter that updates as you collect items, then restart the scene on play.
Create a top down shooter in Godot 4 with player movement, a health bar and health component, enemies, an enemy spawner with wave-based progression, and multiple weapons and coins.
Create a top-down shooter in Godot 4 by setting up a project, importing assets, configuring the 1920 by 1080 canvas item, and defining input actions for move, shoot, and interact.
Create a player in Godot 4 using a character body 2D, animated sprite 2D, collision shape 2D, and a shadow with idle and move animations.
Add a crosshair and a camera in Godot 4, using get global mouse position to rotate the player. Enable a 2D camera with zoom and limits that follow the player.
Create a weapon data resource in Godot by defining a weapon data class with export variables for gun sprite, color, price, damage, delay, and bullet scene, then configure multiple weapons.
Equip weapons by wiring a weapon container, sprite, and fire position; initialize weapon data to update texture, color, and shot delay, and rotate toward the mouse.
Create a weapon pickup system in Godot 4 with a weapon scene, idle animation, UI price and buy prompts, and collision-driven interaction wired to the game manager and player.
Create a 2D bullet system in Godot 4, using a bullet scene with sprite and shadow, moving toward the mouse, applying damage, and firing via weapon logic with a delay.
Learn how to create a shotgun bullet by inheriting a single bullet scene, configure multiple bullets with area2d nodes and custom fire positions, and wire in fire sounds.
Learn how to implement shooting effects in Godot 4, adding a muscle animation to the weapon, creating rocks, and triggering an explosion animation with sound on bullet impact.
Create a base enemy scene in Godot 4 with animated sprite and collision shape. Inherit it for enemies that chase the player with move speed and slide, sprite flip.
Create enemy two, three, and four with their animations, dirt and walk animations, shadows, and 2D collision shapes using new inherited scenes, building on the base enemy structure.
Implement a health component for players and enemies in Godot 4, with max health, current health, take damage, and signals for damaged and defeated; manage death flow.
Create a spawn animation and an enemy spawner in Godot 4, supporting random or fixed timers, per-wave enemy limits, and random spawn positions for dynamic gameplay.
Create a coin scene with sprite, animate the coin, add collision and a pickup sound, spawn coins on defeat with a 70% chance via the game manager for weapon purchases.
Create and manage waves of enemies with a countdown wave timer, signals, and an enemy spawner to start waves, update enemy counts, and reveal weapons and UI elements between waves.
Apply a white heat material via a simple shader to the player and enemies on damage, flash for 0.3 seconds, then revert, using a game manager and health components.
Create a damage text scene with a label and animation in Godot 4, instantiate it via the game manager, and display the damage value at a position.
Build and integrate a health bar using a progress bar, compute its value from current health over max health, and update it for both enemies and the player.
Add camera shake on weapon fire by emitting an on shake request signal from the game manager and applying rotation and offset in the camera node using a trauma value.
Add a vignette shader and a 2D point light to bullets in a Godot 4 top-down shooter, using canvas layers, shader materials, gradient textures, and radial lighting.
Master 2D Game Development with Godot 4 and GDScript
Do you want to learn how to create 2D games from scratch with Godot 4.4 and GDScript? This course is for you! Whether you're a beginner or have experience in game development, here you'll find everything you need to master Godot, one of the most powerful and growing tools in the industry.
What will you learn in this course?
Godot Fundamentals: Installation, setup, and use of the engine.
GDScript from Scratch: Variables, conditionals, loops, functions, and more.
Creation of 4 Complete Games with Cool Mechanics:
Flappy Bird Clone – Physics, collisions, and scoring.
Idle Tycoon – Resource management and upgrades.
2D Platformer – Smooth movement, obstacles, and enemies.
Topdown Shooter – Shooting, spawners, and visual effects.
Visual Effects and Particles to bring your games to life.
Collision Systems, Physics, and Event Detection.
Structured Programming with Nodes and Inheritance.
Optimization and Best Practices in Godot.
Additionally, you'll get access to:
All assets and resources used in the course.
Source code for each game to download and compare.
Godot is growing by leaps and bounds, and now is the best time to learn it. Become a professional game developer and create your own projects with Godot 4 and GDScript.
Enroll now and take your passion for game development to the next level!