A Gentle Intro To Game Development Using C# and MonoGame (Udemy.com)
Creating 2D Games in a Non-Intimidating Fully Coded Experience Way for Beginners
Created by: Charlie Chiarelli
Last updated December 2025
What you will learn
- Create 2D Winform games in C#
- Create 2D games using MonoGame
- Create a Graphics program which simulates an "Etch-A-Sketch" drawing program
- Create Graphics applications which incorporate drag and drop events
- Create a simple object animation then use it as the basis for a car race game
- Create a slot machine game
- Create a falling objects games ... where you move an object around with the keyboard and catch objects falling from the sky for points
- Create a Space shooter game
- Create several 2d Game Applications which incorporate flicker free animation and allow the user to use the keyboard and mouse to control movement.
- Create A Cannon Shooting Game
- Create a Vertical Scroller Game
How it compares
Against the other 281 rated Udemy courses in Game Development Fundamentals on CourseDuck:
- Rating4.4 out of 5higher than 31% of them
- Reviews86#221 of 282 by number of reviews
- Length14.1 hourslonger than 75% of them
- Last updatedDecember 2025more recently than 76% of them
Course Description
Video games are on our computers, our consoles and our phones! Lots of people play them and every year more people are making them. If you have ever played a computer game and thought, “I wonder how they do that?” or, better yet, “I want to make something like that,” then this course will get you started. Game development is what got many developers into programming. But how many of us actually ever learned how to create games? Creating games can be challenging, but it doesn’t have to be that way!
MonoGame is a cross platform gaming framework based on Microsoft’s XNA framework that’s extremely easy to learn. MonoGame is a simple and powerful framework for creating games for desktop PCs, video game consoles, and mobile devices using the C# programming language.
It provides the following features:
Game framework
2D and 3D rendering
Sound effect and music playback
Keyboard, mouse, touch, and controller inputs
Content building and optimization
Math library optimized for games
There’s no shortage of options when it comes to game development environments. From full-featured engines like Unity to comprehensive and complex multimedia APIs like DirectX, it can be hard to know where to start. MonoGame is a set of tools, with a level of complexity falling somewhere between a game engine and a grittier API like DirectX. It provides an easy to use content pipeline, and all the functionality required to create lightweight games that run on a wide variety of platforms.
MonoGame is a "bring your own tools" kind of framework, which means that it provides the building blocks to build your own engine and tools, but it isn't quite an engine itself. If you are expecting a scene editor (like Unity or Unreal), MonoGame is not that.
If you love coding and understanding how things work under the hood, MonoGame might be what you are looking for. And fear not, getting a game running with MonoGame only takes a few minutes.
Best of all, MonoGame apps are written in pure C#, and you can distribute them quickly via the Microsoft Store or other similar distribution platforms.
Our focus will be working with Visual Studio Community (Compatible with Versions 2022/2026) on Windows machines
Update Jan 2026
All MonoGame Demos have now been updated to Version 3.8 (released late 2025)
Previously MonoGame installed on your machine through an installer, but from 3.8 onwards everything is installed through NuGet packages and Visual Studio Extensions. The most notable change for existing users is that MonoGame will only support .NET 8 and Visual Studio 2022/2026 moving forward.
This course assumes that you’ve done a little bit of programming in C# but all the material starts at the most basic level. That means that anyone should be able to join in and work their way through the material. That’s the good news.
The bad news is that programming is hard work, especially at first. If you truly want to learn how to program, you’ll need to write programs yourself and struggle through some rough spots before some topics really click for you. Just as you can’t learn how to ride a bicycle by reading about it – you have to actually do it, probably with some spills along the way – you can’t learn to program just by reading about it or watching a video. If you were hoping to watch and learn how to program without doing any programming yourself, it’s not going to happen. But having said that don't feel you are alone, I will be available daily for extra help should you need it.
This course is project-based, so you will not just be learning dry programming concepts, but applying them immediately to real games as you go. All the project files will be included, as well as additional references and resources
Here's how I will help you to succeed:
Each lecture starts with a list of objectives and speaking notes
Every example covered in the lecture is available for download in the resources section including the objectives/speaking notes
Almost every lecture has a set of Practice problems with full solutions provided
And finally please do not judge a book by it's cover don't judge the course by the title or this small description section, if you want to know exactly all the topics covered please go to:
COURSE CONTENT
Sections
Lectures (press the down arrow) This will open up literally thousands of lines of very detailed lecture descriptions leaving no doubt what is and what is not covered.
So are you ready to start making your first games ? Lets get started !
Instructor Details
- 4.4 Rating
86 Reviews
Charlie Chiarelli
Hi, my name is Charlie Chiarelli. I'll be your teacher for this course. I will spend as much time as necessary to help you do the best you can. But, for you to succeed you must be willing to work .
I am a retired High school Computer Science and Mathematics Teacher from Canada. I taught for 35 years, I have a BMath degree from the University of Waterloo.
I was a frequent speaker at educational conferences (ECOO) and seminars . Most recently my talks focused on E-Learning and the future of education (Flipping the Classroom).
I was the school webmaster and served on a number of school board committee , recently advising my school board (Hamilton Wentworth Catholic District School Board) on its online learning direction. I was also the contest coordinator for the Annual Programming Contest for the past 15 years.
For the last 7 years before I retired I was in the unique position of teaching most of my computer science classes entirely online using the D2L LMS. Because of low enrollment and lack of qualified computer science teachers I became the "board" teacher. So my virtual class was made up of students from various schools in the region.
More courses by Charlie Chiarelli
A Gentle Introduction To ASP.NET and Blazor with AI Apps (2026)
4.6 (1,735 Reviews)
Provider: Udemy
Time: 72.1h
$12.99
C# Intermediate Programming : The First Steps (2026)
4.6 (980 Reviews)
Provider: Udemy
Time: 31.3h
$13.99
C# Programming for Beginners : The First Steps (2026)
4.5 (592 Reviews)
Provider: Udemy
Time: 17.9h
$84.99
More Game Development Fundamentals courses
The Ultimate 2D Top Down Unreal Engine Course (2026)
4.9 (1,468 Reviews)
Provider: Udemy
Time: 17.1h
$94.99
Blender Skill Builder: Modelling Challenges (2026)
4.9 (144 Reviews)
Provider: Udemy
Time: 6.5h
$19.99
Jumpstart to 2D Game Development: Godot 4 for Beginners (2026)
4.8 (4,398 Reviews)
Provider: Udemy
Time: 67.6h
$89.99
Create a Complete 2D Survivors Style Game in Godot 4 (2023)
4.8 (3,761 Reviews)
Provider: Udemy
Time: 17.2h
$59.99
Master Lua Programming and Create Amazing Games with LÖVE! (2023)
4.8 (3,199 Reviews)
Provider: Udemy
Time: 8.5h
$13.99
Complete Godot 2D: Develop Your Own 2D Games Using Godot 4 (2025)
4.8 (1,619 Reviews)
Provider: Udemy
Time: 11.3h
$94.99
Reviews
By Konstantinos Bougoulias on 3/4/2025
The presenter is very easy to follow and so far everything is clearly described. The resources shared are easy to use. The Introduction is a great way to understand the basics of graphics and how C# Game Development code fundamentals are applied to Monogame solutions.
By Diego Alonso Ramos Choque on 8/5/2024
I hope to learning develop these fun games I've been introduced along these courses :)
By Samuel Andersson on 12/22/2023
If you, like me, do not come from a background of trying to make games using Windows Frame apps, you can probably jump straight to the Monogame content. Charlie does a thorough job of explaining the basic and core concepts of game development, and I found most of it easy to follow and understand. Also the student example games are a good source for learning some more ideas. All in all the course delivered on my expectations, with a little extra on top. Definately recommended if you're brand new to Monogame programming.
By Phobiak . on 9/11/2022
I recommend this course to people who have some basic understanding of C# or people who took Charlies course C# for beginners.This course is great addition to,gives you a gentle introduction to 2D game development and basic knowledge about MonoGame Framework.I also have to say if you ever get into a problem first try to solve it yourself than if you cant, look up Charlies solutions.Even if that dosent help comment or message Charlie! Every time I got into a problem or had a question I always got answer or solution back.Overall really great experience learned a lot!
By Shawn Daniels on 3/23/2022
I appreciate learning about native ways to draw to the screen and create primitive games in C#, to better understand what Monogame brings to the table.
By Paul Hagerty on 11/14/2019
Great nice easy going course, I created this little game from this https://www.youtube.com/watch?v=q6MlLCkMSOI
By Mike Gevers on 9/16/2019
So far the course is more about building Windows Forms app, rather than anything MonoGame-related. It's basically what I learned when I just learned to write C#, but without the explanation of the various programming concepts that you need to know.
By Alexander Polyansky on 11/12/2018
I liked this course, pretty much what it says: a gentle intro to game development. Author covers all the basics, mostly coordinates/collision detection/animation/scrolling/input processing in a great detail (maybe even excessive for more experienced people). What I personally missed though, having some professional experience in C#, is better usage of the language and IDE features. I understand this is meant for beginners, and the central topic is the game development, so it's only distracting to spend time on pure programming, but I think it would be also useful to teach appropriate style along with the topic. For me, it was a bit painful to see magic numbers everywhere (instead of calculated constants), encounter enums for the game states only in the very end (even later after the states were introduced), very little and limited usage of classes (and no sensible explanation of difference between fields and properties, for example). Most of the time, it's plain straight procedural programming, which might become bulky to work with, should your game be even slightly more complex than those covered in this course. However, I think it's a deliberate choice of the author to demonstrate game development principles in this way (it's clear that the author himself knows C# and OOP well enough). It's understandable, and it allows to see the real result, the game to play, even faster, as you code it. In the end, I even liked that the course started with Windows Forms and not the MonoGame first, because it allows to feel that you can code games with "bare hands" if you want it, and better realize what a game engine may help you with. All in all, it's a great introduction for people who know basics of C# and have never developed any games. If you know C# well but is also new to a game development, this is still a good start, just could be too simple here and there. In case you plan to become a game developer that "meets an industry standards", of course (after taking this introduction) you'll also need to learn more about MonoGame features (like content management or multi-platform solutions) and game design patterns elsewhere. But this is a nice place to start, overall, and I'm glad that I've sat through it.
By Federico Caiazza on 4/21/2018
It is a bit basic. Still I skipped the parts that I was not interested in so overall I'm happy I bought this course. This course is a beginning. It gave me enough to now go and create my first simple game. It would be great to have similar courses in Udemy about the following topics: - Precise collision management - 2D physics - Artificial intelligence
By Peter Radakovits on 1/11/2018
Well implemented and reasonably structured course. Being not the greatest novice when it comes to C# (and programming overall) and neither to Game Development (mainly done in Unity so far) I didn't expect to be facing an abundance of new stuff to learn, I mainly got the course because I wanted to familiarize myself with the MonoGame Framework anyway. Yet I have to say even if the Game Development principles taught aren't completely new to me, Chalie's approach helped me to grasp one or another concept better. Generally, this is a great course to have in your Udemy Repository - loose and engaging approach by a likable and knowledgeable instructor. Thanks, Charlie!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100









