
Learn to use sprites, tile maps, and UI controls to build a 2D game inspired by Electronic Arts' legacy of the ancients, install Godot, and gain techniques for future projects.
Install Godot by downloading the x64 version from the Godot engine website or platforms like Itch, Steam, or Epic Games Store, avoiding the net version for no c sharp compatibility.
Create your first Godot project by naming it, selecting a folder, and using compatibility mode for cross platform exports. Explore the main editor layout and basic project settings.
Configure the Godot project for pixel art with a 640 by 360 viewport in windowed mode, viewport stretch, integer scale, nearest texture filtering, and 1280 by 720 window overrides.
Create a title screen in Godot 2D with a full-screen background, a centered title label, and a button menu (new game, load, credits) using margin, vbox, and hbox containers.
Create a reusable default theme in Godot to skin all buttons and UI components, using a style box texture, font overrides, and nine-patch margins for a consistent look.
Display a programmable version number on the title screen by adding a label anchored to the lower left, styling it, and automatically updating from project settings using GDScript.
Master Gdscript basics, including variables, data types, and operators, plus node scripts, blocks and indentation, and testing with run scene, console, and debugger.
Master conditional logic in GDScript using if and match statements, learn indentation, else and elif blocks, and how to combine conditions with and, or, not for booleans.
Explore iteration in Godot through for and while loops, learn the range function for fixed counts, and work with arrays and dictionaries, including access, iteration, and modification.
Learn how functions in GDScript organize code, call blocks with names such as print and ready, use func to define, return values, and manage scope and parameters.
Explore object oriented programming in Godot with inheritance to define classes and nodes, and learn constructors, the super keyword, polymorphism, and debugging tools.
Learn to troubleshoot with the Godot debugger, using breakpoints, step over and step in to inspect variables and the call stack; identify data issues, fix type mismatches, and run again.
Create an asynchronous loading screen in Godot to prevent blocking during scene changes, using a texture progress bar with nine-patch stretch and a centered full-screen UI.
Learn to implement an asynchronous loading flow in Godot by creating an autoload loader, preloading scenes, and updating a progress bar through signals for seamless scene transitions.
Set up an autoload game manager to hold global data, define default and current map paths, and start a new game from the title screen to load the map.
Organize the game scene by configuring a container game node and a map child, exporting a map reference, and loading the world map via instantiate in the ready function.
Create a world map by building a tile set from the project resources, using 16 by 16 tiles, and share it across multiple tile maps with atlases.
Create a world map in Godot with a tilemap and tile set, paint oceans and continents, adjust tile modulate, and use fill, erase, and grid tools; manage atlases for indicators.
Set up default map path and load the world map, then define and paint terrain types in the tile map using a custom data layer, enabling terrain-aware gameplay and sounds.
Introduce a base map2D class in Godot that extends tile map to expose a get terrain for tile function and shared terrain data for world and town maps.
Create a full-window Godot UI for the command menu with a left panel of buttons and a bottom stats area, including a pass button for pseudo turn-based gameplay.
Explore the command pattern in Godot, using inheritance to create flexible commands with a uniform execute interface and a command processed signal, wired by an autoload command dispatcher.
Explore building a command processor in Godot, using a timer, signals, and a command dispatcher to process, broadcast, and await commands with pause and timeout handling.
Define a move command with a direction payload, emit a move signal via the command dispatcher, and format the command text using a direction string from a Godot enum.
Explore refining the loader progress, removing unused signals, and building a message console UI in Godot 2D with margin containers, a color background, and a scrollable messages list.
Restore the broadcast command signal and integrate it with the message console. Implement the console using signals, a rich text line prefab, scroll handling, and a 10-item history cap.
We explore the message bus pattern and the global command dispatcher as a central repository for game-wide signals, and discuss organizing signals with separate command processor and game dispatchers.
Create the 2D map player avatar in Godot by building a mob scene and animated sprite with idle and walk directions, plus two raycasts for grid collision on 16-by-16 grid.
Connect a load map signal, refactor the map into a map container with an entities node, and spawn the player at the spawn position within the loaded map.
Learn implementing 2d player movement in godot by using unhandled input, map container logic, step-based movement, raycast collision checks, and animated sprites with camera and viewport setup.
Organize and implement map entities as area 2D triggers within each map, using collision shapes and area entered signals to load new maps and support town NPCs.
Create a change map trigger that inherits from map entity, exports map path, spawn point, and facing, and emits a load map signal to switch to a new map.
Master asynchronous map loading by masking the map with a loading panel, featuring a walking indicator, coordinated via signals and a resource loader to hide once loading finishes.
Learn how to create 2D video games!
Develop in Godot like a pro!
Have you ever wanted to create your own 2D games, from designing immersive worlds to programming gameplay mechanics? Welcome to the Godot 2D Game Development course, where we’ll help you master game creation using one of the most popular game engines available. But why Godot?
Godot is an open-source, highly versatile game engine that allows developers of all levels to create both 2D and 3D games. Its user-friendly interface and robust features make it a perfect choice for beginners and experienced game creators alike. Whether you're looking to build your first game or expand your skills, this course is designed to provide a strong foundation in 2D game development.
In this course, you’ll learn step by step how to use Godot to bring your game ideas to life. From setting up your project, creating scenes, and programming player mechanics, to designing interactive elements and building complex game systems. Each lesson is filled with practical, hands-on examples to ensure you gain the confidence to develop games independently.
After taking this course, you will be able to:
Navigate the Godot engine with confidence
Build and launch your own 2D games
Confidently debug and extend existing Godot projects
Design your own scalable 2D (and hybrid 3D) game systems
Create complex game mechanics using Godot’s scripting language
Apply best practices in game design, development, and project management
Continue improving your game development skills through independent projects
Start creating your own 2D games with Godot today!