Interactable Environment: Trees, Rocks, and Effects
NPC AI, Navigation, and Movement
UI Systems, Tools Management, and Inventory
Time, Crops, and Farming Gameplay Loop
Persistence, Interaction, and Dialogue
Rewards, Level Assembly, and Main Menu
Audio Mixing and Bus Setup
Course Description
Learn how to create a complete 2D top-down farming game in Godot 4.3 with a practical, project-based tutorial series built for aspiring game developers. You will start from a clean project setup and asset workflow, then build out a polished world using tilemap layers, terrains, animated tiles, and correct scene organization.
As you progress, you will implement responsive player controls with animations and a state machine that supports essential farming actions such as chopping, tilling, and watering. You will also create interactive environment elements like trees and rocks with reusable hit, hurt, damage, and collectable components, plus visual polish such as a tree shake effect using shader-based techniques and proper Y-sort for depth.
Bring your world to life with NPCs that move and behave convincingly through navigation, avoidance, agents, and multiple navigation regions. Build an attractive and consistent interface by styling UI with theme resources, then add an inventory system for collectables, a tools panel, and a day-night cycle UI that drives crop growth and planting gameplay.
Round out your game with player interactions and dialogue balloons, rewards via collectables and chests, and a structured approach to assembling levels with scenes and components. Finally, add a main menu with reusable UI elements, implement saving and loading with resources, and organize audio using bus layouts for music and sound effects. Ideal for developers in technology and programming who want a guided path to a feature-rich Godot 2D farming game.
Course content
Video class: How to Build a Complete 2D Farming Game an 8-Hour Tutorial Series - Godot 4.3 - All 25 Episodes8h28m
Exercise: In Godot 4.3, what is the recommended way to organize separate layers like water, grass, and tilled dirt for a top-down farming map?
Video class: Farming Game Project Setup and Assets - Godot Tutorial - 2D Top Down Game - Pt 104m
Exercise: When setting up the Godot project for a 2D top-down game, what editor change helps simplify the workspace?
Video class: Tilemap Layers with Animated Tiles and Terrains - Godot Tutorial - 2D Top Down Game - Pt 215m
Video class: Create Houses with Tilemaps and Scene Collections - Godot Tutorial - Pt 525m
Exercise: How can you reuse a house scene multiple times inside a TileMapLayer in Godot 4.3?
Video class: How to use Y Sort on your Scenes and Tilemap Layers - Godot Tutorial - 2D Top Down Game - Pt 910m
Exercise: In a top-down Godot 4.3 project, what must be true for Y-sorting to correctly place the player behind a tree TileMapLayer?
Video class: Player Animations and State Machine Transitions- Godot Tutorial - 2D Top Down Game - Pt 332m
Exercise: In the player state machine setup, what condition is used to transition from the Walk state back to the Idle state?
Video class: Player State Machine Chopping, Tilling and Watering Tool States - Godot Tutorial - Pt 412m
Exercise: What condition is used to transition from the idle state into the chopping state?
Video class: Create Chop-able Trees with Damage and Log Collectables - Godot Tutorial - Pt 625m
Exercise: Why is a log instance added using call_deferred after a tree reaches max damage?
Video class: Make a 2D Tree Shake with Vertex Shader Effects - Godot Tutorial - 2D Top Down Game - Pt 708m
Exercise: How is the tree shake effect triggered and stopped in the script?
Video class: Rock Mining using Reusable Hit, Hurt, Damage and Collectable Components - Godot Tutorial - Pt 812m
Exercise: In the rock setup, why are two different CollisionShape2D nodes used?
Video class: Chicken NPC Animations, State Machine with Navigation and Avoidance - Godot Tutorial - Pt 1035m
Exercise: Why is a NavigationRegion2D used for the chicken NPC?
Video class: Cow NPC State Machine, Reusable States, Navigation Region and Agents - Godot Tutorial - Pt 1107m
Exercise: When setting up the cow NPC to move within a navigation region, what key change was made to the NavigationRegion2D compared to the chicken setup?
Video class: Multiple Navigation Regions using Collision Subtraction and Agents - Godot Tutorial - Pt 1210m
Exercise: Which NavigationAgent2D setting change helps prevent NPCs from clustering along the edges of a NavigationRegion2D?
Video class: Tools Panel UI And How to Style using Theme Resources - Godot Tutorial - Pt 1325m
Exercise: What is the main purpose of adding the Tool Manager script to Project Settings as a Global (Singleton)?
Video class: How to Create Reusable Collectable Components - Godot Tutorial - 2D Top Down Game - Pt 1410m
Exercise: What makes the Collectable Component reusable across different items?
Video class: How to Create an Inventory UI for collectables with Theming and Styling - Godot Tutorial - Pt 1519m
Exercise: In the inventory system, what data structure is used to store each collectible name and its current count?
Video class: Day and Night Cycle UI Component with Time and Speed - Godot Tutorial - Pt 1631m
Exercise: In the day/night system, what is the purpose of the CanvasModulate-based Day Night Cycle Component using a GradientTexture1D?
Video class: Grow Crops for your Farming Game using Day and Night Cycles - Godot Tutorial - Pt 1730m
Exercise: In the crop setup, what condition must be true before the Growth Cycle Component starts advancing through growth states as days pass?
Video class: How to Use Tools to Plant Crops in Your Farming Game - Godot Tutorial - Pt 1820m
Exercise: In the field cursor component, what condition must be true before a tilled soil tile is placed?
Video class: Save and Load Game Data with Resources and Components - Godot Tutorial - Pt 1930m
Exercise: In this save system, what is the main purpose of the Save Level Data Component?
Video class: How to Create Character Interaction in Your Game - Godot Tutorial - Pt 2012m
Exercise: In the guide character setup, what was the main purpose of creating a CanvasItem shader with the fragment function?
Video class: Create Custom Dialog Balloons with Scripts for your Characters - Godot Tutorial - Pt 2133m
Exercise: What is the purpose of adding an input action (mapped to the E key) in the guide interaction setup?
Video class: Use Collectables and Chests for Rewards in Your Game - Godot Tutorial - Pt 2230m
Exercise: What setup allows the chest to detect when Harvest collectibles are dropped into it so it can output reward scenes?
Video class: Create a Game Level with Components and Scenes - Godot Tutorial - Pt 2320m
Exercise: What is the main reason for creating and reusing isolated test scenes when building a full Level One scene in Godot 4.3?
Video class: Create and Style a Game Main Menu using UI and Theme Components - Godot Tutorial - Pt 2431m
Exercise: What was the key fix to prevent the main scene from being added multiple times when pressing Start again after returning to the menu?
Video class: Use Audio Bus Layout for Music and Sound Effects - Godot Tutorial - Pt 2512m
Exercise: What is the main purpose of creating and assigning a custom Audio Bus Layout in the project settings?