
This is a brief intro about what the course is about
In this video we will be doing the initial setup for the engine
This video will explain some of the reasons you may want to create your own Game Engine
Make sure that you fix the namespace before using
We will create the InputManager and learn how to expand it
you will be able to use the Input Manager after this video
you will create the Scene and SceneManager classes
students will learn how to setup the Asset Manager
students will learn how to setup the AudioManager
in this video we will setup the GlobalLightManager
Students will learn how to create a sprite class
In this video students will create the GameObject class
students will create the time class
Students will learn how to create a Camera2D Class
Students will learn how to create the collision class
in this video students will learn how to add the collider to the gameObject
Students will setup the basic Pong Scene
In this video students will learn how to properly use the MGCB
In this video we will be making a slight change to the SceneManager so everything works smoothly
In this video students will start drawning objects on the screen and playing music using the audiomanager
in this video students will create the ball class
In this video we will be creating the Player class and initializing it
In this video we will create the Opponent class for the game
In this video we will get the collision working for the ball, paddles, and opponent
In this video we will be creating a simple user interface for the game
in this video we will see how to use the Camera2D class
Have you ever wanted to understand how a real game engine works under the hood?
In this course, you’ll build a fully functional 2D game engine from scratch using MonoGame and C#, learning the same architectural patterns used in professional game development.
Instead of relying on prebuilt engines, this course focuses on foundational systems: scene management, game loops, asset loading, input handling, collision detection, and rendering flow. You’ll see how everything connects and why engines are structured the way they are.
This course is designed to be hands-on and practical. You’ll write real engine code, encounter real problems, and fix them in real time. Along the way, I explain why certain design decisions are made, not just how to type the code. This helps you develop true engine-level thinking rather than just following tutorials.
By the end of the course, you’ll have:
A reusable 2D engine foundation
A deep understanding of MonoGame’s workflow
The confidence to expand your engine with your own systems
The skills needed to build your own games or engine extensions
This course is ideal if you’re tired of black-box engines and want to truly understand game development at a low level, while still using modern tools and clean architecture.
Whether your goal is to build games, improve your programming skills, or learn how professional engines are structured, this course will give you a strong and flexible foundation.