Learn 2D Game Development: Godot 4 & C# from Scratch
Master the Godot 4 Engine with C#, Build Engaging 2D Games, and Ignite Your Game Development Journey!
Master the Godot 4 Engine with C#, Build Engaging 2D Games, and Ignite Your Game Development Journey!
Welcome to "Learn 2D Game Development: Godot 4.5+ & C# from Scratch" – an engaging video course designed to equip aspiring developers with the skills and knowledge needed to create incredible games and applications using the powerful and versatile C# programming language.
** Note: Godot 4.5 update is being edited and uploaded, it'll all be complete end January 2026 **
In this comprehensive course, you'll embark on an exciting journey through a variety of projects, each carefully designed to enhance your understanding of essential programming concepts, object-oriented design, and practical problem-solving techniques. Whether you're a complete beginner or have some coding experience, this course provides a solid foundation for building games, applications, and more with C#.
Throughout the course, you will:
Create a Flappy Bird-style game: Discover the fundamentals of scene creation, handle user inputs, implement collision detection, and add parallax scrolling effects to enhance visual depth.
Recreate the gameplay of Angry Birds: Dive into physics-based mechanics, develop projectile motion, and design levels featuring destructible environments to master the essentials of game physics and level construction.
Design a memory game: Gain hands-on experience with UI-focused game development by building an intuitive and visually engaging memory game interface.
Bring back the nostalgia of 80s platformers with CJ Elephant Antics: Develop intricate level designs, animate characters, and create responsive controls to build obstacle-filled stages. Learn to use Godot's built-in State Machine to design and implement an exciting end-of-level boss!
Tackle puzzle game development with a Sokoban-inspired project: Learn to dynamically load levels from files, implement challenging puzzle mechanics, and apply programming design patterns to create elegant and efficient solutions.
Build a fast-paced space shooter: Craft a thrilling intergalactic adventure by designing enemy AI with path-following behaviors, creating dynamic enemy waves, integrating power-up systems, and enhancing visuals with particle effects and other aesthetic touches.
Develop an immersive artifact-collection escape game: Utilize 2D navigation AI to program guard behaviors, strategize player escapes, and create tension-filled gameplay moments.
By the end of the course, you'll have built an impressive portfolio of C# projects that highlight your skills in both programming fundamentals and game development. You'll be ready to craft engaging gameplay experiences and advance confidently in the world of C# and game development.
Enroll now and take your first step into the exciting world of C# development!
FAQ area empty
Godot version for this section
Xem trước01 - About this section
424 Xem trước02 - Editor
411 Xem trước03 - Scenes
1513 Xem trước04 - Aspect Ratios
747 Xem trước05 - Grid Snapping
310 Xem trước06 - Draw Order
411 Xem trước07 - Position and Rotation
748 Xem trước08 - Scripting C# and Debug
692 Xem trước09 - Accessing Nodes
984 Xem trước10 - Moving Nodes
380 Xem trước11 - Input
521 Xem trước12 - Rotate
187 Xem trước13 - Translate
234 Xem trước14 - Move Towards
564 Xem trướcGodot version for this section
01 - C# Introduction
370 Xem trước02 - Creating a Project
683 Xem trước03 - Variables
926 Xem trước04 - Arithmetic Operators
572 Xem trước05 - Conditionals
907 Xem trước06 - Conditionals Challenge
119 Xem trước07 - Conditionals Challenge Solution
427 Xem trước08 - Lists and Loops
1840 Xem trước09 - Dictionaries
471 Xem trước10 - Dictionaries Challenge
43 Xem trước11 - Dictionaries Challenge Solution
295 Xem trước12 - Functions
722 Xem trước13 - Classes, Definitions and Properties
1412 Xem trước14 - Classes, Static and Constants
351 Xem trước15 - Classes Inheritance
840 Xem trước16 - Partial Classes, Program Main
470 Xem trước16a - Classes Singleton
1016 Xem trước17 - Attributes
138 Xem trước18 - String Formatting
251 Xem trước19 - Events Delegates
442 Xem trước20 - Enums
252 Xem trướcGodot version for this section
Dice Catcher - Intro
20 Xem trước01 - Project Setup
398 Xem trước02 - Dice Scene
1085 Xem trước03 - Off Screne
434 Xem trước04 - Fox Scene
853 Xem trước05 - Collision Detection
440 Xem trước06 - Scoring Points
560 Xem trước07 - Spawning Dice
432 Xem trước08 - Game Over
407 Xem trước09 - Manual Pause
635 Xem trước10 - Tree Pause
335 Xem trướcGodot version for this section
Tappy Intro
1801 - Setting a Project
43402 - Plan of Attack
30203 - Plane Scene
101404 - Plane Movement
122405 - Barrier
63006 - Pipes
113707 - Pipes Spawning
96808 - Plane Dies
65509 - Main Scene
101910 - Globals
113911 - Game Ui
61212 - Input Handling
104013 - Game Over
147814 - Scoring
95615 - Score Persistence
90316 - Parallax
58817 Note
17 - Transitions
1452Godot version for this section
Angry Animals Intro
1601 - Project Setup
35002 - Rigidbody2D Introduction
139603 - Animal Scene
35804 - Animal Select
40705 - Animal Drag Movement
35906 - Animal Release
34207 - Water
38108 - Animal Regen
66509 - Attempts
47710 - Cup Scene
79911 - Level Complete
51612 - Scene Inheritence
41613 - Level Button
65114 - Persisting Scores
105715 - Arrow
41115a - Hiding the Arrow
16 - Sounds
42317 - Optional Lesson - Input Handling
1174Godot version used in this section
Memory Intro
2101 - Project Setup
22202 - Approach
18203 - Main Scene Layout
46404 - Game Scene Layout
70905 - Level Data Resources
72006 - Level Select
41707 - Tile Layout
35008 - Complete Navigation
23009 - Image Resource
78010 - Front Sprite Tweens
68911 - Memory Tiles
21212 - Level Data Selection
55213 - Scorer Selections
88114 - Scorer Pairs
31815 - Tracking Score
33016 - Game Over
56917 - Tile Tweens
24518 - Sound Controller Scene
51501 - Overview
35702 - Project Setup
42703 - Main Scene
35804 - Tile Maps
186505 - Player
141706 - Player Animations
36107 - Animation Tree
93008 - Editor Tools, Enemy Base
106109 - Snail
124310 - Frog Part 1
70811 - Frog Part 2
111112 - Eagel
66113 - Bullets
69814 - Object Maker
48815 - Shooter Scene
80516 - Explosion
68017 - Pick Up
70618 - Player Hurt
51419 - Player Invincible
60820 - Boss
118221 - Boss Attack
51122 - Boss Damage
81423 - Checkpoint
107224 - Game Hud Visuals
44825 - Level Complete
60826 - Scoring
42227 - Player Lives
118028 - Ball Spikes
87729 - Moving Platform - Path Follow
47230 - Moving Platform - Animated
59331 - High Scores
72732 - High Score Display
48933 - Persisting Scores
51434 - Multiple Levels
104835 - Parallax
129736 - Camera Limits and Shake
649Intro!
4401 - Project Setup
38202 - Tile Map Layer API
83303 - Level Data Review
29604 - JSON Parsing
91405 - Tile Layer Conversion
42006 - Building a Level 1
54507 - Building a Level 2
53708 - Player Scene
40309 - Moving Tiles
54910 - Level Select Button
56611 - Level Navigation
39412 - Game Ui
43813 - Scoring
69601 - Project Setup
27802 - Particles
121903 - Stars
49304 - Space Fog
35205 - Player Scene
39806 - Player Movement
28207 - Bullet Scene Plan
29408 - Bullet Scene Visuals
42909 - Bullet Scene Basics
59410 - Bullet Scene Collisions
25211 - Scene Pool
182012 - Scene Activation
38213 - Explosions
94314 - Spawning Explosions
83215 - Enemy Ships
95616 - Health Bars
138917 - Asteroid
47018 - Asteroid Explosion
105919 - Spawner Scene
92120 - Homing Missile
40121 - Homing Missile Logic
82422 - Enemy Waves
89723 - Sound and Timers
50424 - Spawning Missiles
25325 - Player Health
62726 - Collisions
61927 - Power Up
79328 - Points
28429 - Explosions
512Godot version used in this section
Introduction
5501 -Game Outline
35002 - Paths and Terrains
32303 - Navigation 2D Outline
25104 - Navigation 2D implementation
92405 - Navigation Obstacles
35806 - Navigation Links
45307 - Tileset Navigation
20808 - Patrolling
76109 - Detecting
52010 - Field Of View
31911 - Chasing Searching
64212 - NPC Visuals
31013 - Bullet
49314 - NPC Shoot Challenge
3115 - NPC Shoot Challenge Solution
35016 - Pick Up Scene
45817- Exit Scene
29018 - Counting Pickups
17519 - Game Over Logic
83020 - Collision With Npc
23321 - Variable FOV and Speed
30322 - Avoidance, final map
542Ready...
1901 - Introduction
14602 - Game Scene
50203 - Nodes, Classes, Instances
103404 - Paddle Scene
56605 - Global Position
55306 - Gem Challenge
3107 - Gem Challenge Solution
17008 - UI Features
65409 - Scene Life Cycle
80110 - Moving Paddle
90011 - Restricting Paddle
60212 - Gem Falling Challenge
2213 - Gem Falling Challenge Solution
33914 - Viewport and Tree
35215 - Signals
68616 - Signals in Code
25917 - Custom Signals
27618 - Custom Signals Challenge Solution
34319 - Referencing Nodes
54620 - Spawning A Gem
57321 - Spawning Gems Challenge
19522 - Spawning Gems Challenge Solution
32323 - Game Over Detection Challenge
9324 - Game Over Detection Challenge Solution
32725 - Stopping The Game
22626 - Keeping Score Challenge
35427 - Keeping Score Challenge Solution
16528 - Music
24429 - Sound Effects
51830 - Aspect Ratios
45931 - Project Files
44801 - Coming Soon
Godot version used in this section
Introduction
5601 - Outline and goals
20302 - Setup Challenge
12703 - Setup Challenge Solution
98204 - Tile Map Layers
88305 - Player Scene
72306 - Player Animations
20107 - Player Movement
78808 - Player State
57109 - Enemy Outline
20010 - Base Enemy
59311 - Snail Visuals
55312 - Snail Logic
60013 - Frog Visuals
37214 - Frog Logic
113915 - Eagle Visuals
44416 - Eagle Logic
62117 - Bullets
35618 - Bullets Logic
41819 - Object Maker
76120 - Shooter Scene
56521 - Eagle Shoot Challenge
1922 - Eagle Shoot Challenge Solution
25123 - Explosion
45724 - Fruit Pickup
77325 - Ball Spikes Path Folllow
93526 - One way, Alternative Tiles
24327 - Player Invincible and Hurt Outline
30628 - Player Invincible and Hurt Challenge / Solution
58829 - Player Hurt
45830 - Player Lives
21931 - Hud Challenge
22732 - Hud Challenge Solution
38233 - Hud Score And Lives
70434 - Boss Intro
26735 - Animation Trees and Determinism
145936 - Boss Logic
122737 - Checkpoint
39038 - Checkpoint Challenge
4339 - Checkpoint Challenge Solution
69540 - Main Scene
954Pre-41 - Pixel Snap
41 - Moving Platform Approaches, PathFollow and Tween
159942 - Scene Navigation
65543 - Hud Navigation
56644 - Shake Cam
67445 - Parallax
124146 - Stopping Things
49947 - Pausing the Tree
41347a - Terrains (Autotiling)
59248 - Final thoughts and thank you
194Godot version used in this section
Introduction
5201 - Learning Outline
18002 - Project Setup
17403 - Level Data Structure
40704 - Level Data Read
43805 - Main Scene
18806 - Level Button Scene
22207 - Main Scene Level Buttons Challenge
5908 - Main Scene Level Buttons Challenge Solution
23909 - Level and Player Scenes
50810 - Tile Map Layer Api
20511 - Building The Level
61012 - Placing Camera and Player
24513 - Level Button Navigation
49614 - Player Movement
26915 - Pushing Boxes
36216 - Game State
19717 - Game ui
37318 - Game Over ui
42219 - Completed Game
466Godot version used in this section
Introduction
5801 - Introduction, this is different :D
13302 - Project Review
89103 - Ui Button Challenge
4804 - Ui Button Challenge Solution
20305 - Scenes Overview
38206 - Inheritance Overview
21407 - Player Movement
25808 - Player Movement Challenge
4309 - Player Movement Challenge Solution
21310 - Hit Box
23111 - Bullet Challenge
13612 - Bullet Challenge Solution
44013 - Bullet Movement
23714 - Bullet Creation Challenge
20615 - Bullet Creation Challenge Solution
26516 - PowerUp Scene
37417 - Power Up Challenge
5318 - Power Up Challenge Solution
25419 - Shield Challenge
34320 - Shield Challenge Solution
25721 - Player Powerup Shield
12822 - Explosion Challenge
25023 - Explosion Challenge Solution
17624 - Enemy Base Challenge
15125 - Enemy Base Challenge Solution
69226 - Enemy Shoots Challenge
48127 - Enemy Shoots Challenge Solution
28428 - Health Bar
70629 - Enemy Death Challenge
8230 - Enemy Death Challenge Solution
15331 - Power Up Spawn Challenge
42232 - Wave Manager Resource Challenge
15633 - Wave Manager Resource Challenge Solution
28134 - Wave Manager Scene
79835 - Game ui
28136 - Player Health Challenge
10837 - Player Health Challenge Solution
60538 - Scoring
9539 - Game Over
37740 - Saucer Intro
13241 - Saucer Scene
117842 - Saucer Manager Scene
32943 - Homing Missile Scene
33044 - Homing Missile Logic
70445 - Homing Missile Complete
17146 - Wave Manager Tweaks, Game Complete
24501 - Intro
37902 - Creating and Running a Project
74303 - Variables
101104 - Arithmetic Operators
59205 - Conditionals and Comparisons
90706 - Conditionals Challenge
11907 - Conditionals Challenge Solution
47708 - Lists And Loops
192309 - Dictionaries
47710 - Dictionaries Challenge
4311 - Dictionaries Challenge Solution
29812 - Functions
81513 - Classes, Definitions and Properties
152314 - Classes, static and constants
44115 - Class Inheritance, protected, override
86816 - Partial Classes, Program Main
56716a - Singletons, this keyword
104617 - Attributes
13518 - String Formatting
25119 - Events and Delegates
46020 - Enums
252Introduction
5301 - Section Goals
16902 - Project Setup Challenge
6303 - Project Setup Challenge Solution
42404 - Development Approach
31305 - Physics Nodes
57706 - Plane Scene
99907 - Plane Falling
57407a - FPS Notes
35008 - Plane Flying Challenge
4709 - Plane Flying Challenge Solution
17310 - Animation Player
104611 - Animation Player Challenge
11212 - Animation Player Challenge Solution
15913 - Static Body Barrier
17914 - Pipe Scene Challenge
7915 - Pipe Scene Challenge Solution
18016 - Laser Scene Challenge
10517 - Laser Scene Challenge Solution
46418 - Pipes Scene
66119 - Pipes Scrolling Challenge
7920 - Pipes Scrolling Challenge Solution
28221 - Pipes Random Position
28922 - Pipes Spawning Challenge
17623 - Pipes Spawning Challenge Solution
47424 - Plane Hits Floor
23325 - Plane Signal Challenge
3326 - Plane Signal Challenge Solution
16627 - Stop The Pipes Challenge
3028 - Stop The Pipes Challenge Solution
25629 - Pipes Laser Collision
74430 - Main Scene And UI
148031 - Main Scene Challenge
3532 - Main Scene Challenge Solution
23533 - Scene Navigation
31634 - Scene Navigation Challenge
7035 - Scene Navigation Challenge Solution
34236 - Autoloads / Globals
29037 - Game Manager
51238 - Event Bus Pattern
36839 - Singleton Challenge
3140 - Singleton Challenge Solution
51441 - Pipes Stopping Challenge
5342 - Pipes Stopping Challenge Solution
24643 - Score Manager Outline
8044 - Score Manager Challenge
17245 - Score Manager Challenge Solution
54046 - Hud, Ui, Canvas Layers
72047 - Score Signal
23248 - Score Update Challenge
3649 - Score Update Challenge Solution
37650 - High Score Label Challenge
1251 - High Score Label Challenge Solution
13451a - High Score Persistence
77252 - Game Over UI Challenge
28553 - Game Over UI Challenge Solution
64154 - Intro to Parallax
48255 - Parallax 2D Node
32256 - Parallax Scene
61057 - Sound, Stopping Parallax
32058 - Simple Scene Transition
58559 - Complex Scene Transition
52060 - Summary
72Extras 1 - Using Godot to disconnect signals
252Extras 2 - Dean's double score bug!
378Introduction
6301 - Section Goals
32202 - Project Setup Challenge
6303 - Project Setup Solution
27404 - Rigidbody2D Introduction
143405 - Scenes Outline
24606 - Animal Scene Challenge
10407 - Animal Scene Challenge Solution
43108 - Animal Scene Logic
30709 - Animal Scene Logic Challenge
4410 - Animal Scene Logic Challenge Solution
11511 - Animal Scene Logic Flow
28312 - Animal Scene Setup Challenge
18613 - Animal Scene Setup Challenge Solution
38214 - Drag Detection
46815 - Drag Movement
87416 - Release
39517 - Flight
59318 - Water Challenge
11819 - Water Challenge Solution
44920 - Animal Regen Challenge
11821 - Animal Regen Challenge Solution
50122 - Cup Scene
76322a - Cup Collisions Intro
23823 - Cup Collisions
79524 - Overall Flow
16325 - Main Scene, Score Manager Challenge
6926 -Main Scene, Score Manager Challenge Solution
51027 - Level Button Scene
67128 - Level Button Logic Challenge
12729 - Level Button Logic Challenge Solution
39430 - Scene Inheritence
38431 - Navigation Challenge
4132 - Navigation Challenge Solution
24433 - Game Ui Challenge
9834 - Game Ui Challenge Solution
49335 - Scorer Scene Logic
37236 - Scorer Scene Logic, Groups In Code
41637 - Scorer Scene Level Complete Challenge
4938 - Scorer Scene Level Complete Solution
24239 - Scorer Scene Attempts Challenge
3440 - Scorer Scene Attempts Solution
12741 - GameUi Logic Challenge
9941a - GameUi Logic Solution
79242 - Score Persistence Approach
15543 - Score Persistence #1
96044 - Score Persistence #2
589Introduction
4901 - Approach
25702 - Outline
25303 - Project Setup
6504 - Project Setup Labels
22805 - Master Scene
23206 - Custom Resources Intro
34907 - Custom Resources Example
34108 - Custom Resources Challenge
3209 - Custom Resources Challenge Solution
51310 - Image Files List Resource Setup
12811 - Image Files List Resource Challenge
5412 - Image Files List Resource Challenge Solution
71113 - Level Data Resources
30714 - Image Manager Image Load
55015 - Image Manager Image Functions Challenge
2316 - Image Manager Image Functions Challenge Solution
22217 - Level Button Outline
11918 - Level Button UI
9519 - Level Button Logic
83120 - Main Screen Layout
35721 - Front Sprite Intro
12722 - Front Sprite Tweens
117123 - Game Screen Layout
16324 - Game Screen Layout Challenge
11725 - Game Screen Layout Challenge Solution
40326 - Memory Tile Ui
24027 - Level Building Logic Outline
25428 - Level Building Logic Implementation
94329 - Level Building Logic Challenge
3230 - Level Building Logic Challenge Solution
25231 - Navigation Outline
35832 - Navigation Challenge
7333 - Navigation Challenge Solution
55834 - Scorer Logic Outline
48535 - Tile Logic
92336 - Scorer Scene
59237 - Scorer Logic 1
34638 - Scorer Logic 2
25839 - Tile Tweens
34740 - Game Over Challenge
5741 - Game Over Challenge Solution
31742 - Game Over UI Complete
54343 - Sound Manager
54444 - Updates, End Of Section
190Computer with Adequate Specifications: A computer capable of using the Vulkan renderer is required to work on the projects effectively - the course contains a free video to make a check!
This course assumes no prior knowledge of the C# but does assume a basic understanding of programming concepts. However, even individuals without programming experience can benefit from the course.
A 64 bit machine. The lastest .NET does not work with 32 bit machines.
Master Godot 4 with C#: Learn scene creation, input handling, collision detection, and more using the power of C# in the Godot 4 game engine.
Create Diverse Games: Develop Flappy Bird, Angry Birds, memory games, platformers, puzzles, space shooters, and maze escapes.
Acquire Game Dev Skills: Gain level design, animation, enemy AI, power-ups, UI design, and apply design patterns like singletons and event buses.
Explore Mechanics & Patterns: Understand parallax scrolling, physics-based gameplay, pathfinding AI, state machines, and dynamic level loading.