Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
A Gentle Intro To Game Development Using C# and MonoGame
Rating: 4.4 out of 5(86 ratings)
978 students

A Gentle Intro To Game Development Using C# and MonoGame

Creating 2D Games in a Non-Intimidating Fully Coded Experience Way for Beginners
Last updated 12/2025
English

What you'll 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

Course content

12 sections66 lectures14h 6m total length
  • Welcome1:26

    In this Lecture we will 

    • Learn about the instructor for this course ... Charlie Chiarelli
    • Learn about the instructors educational background
    • Learn about the instructors educational philosphy
  • Why MonoGame? ... Some Background3:27

    In this Lecture we will 

    • Highlight the historical development of Monogame and why you should want to learn it
    • Learn that Microsoft C# and .Net are my favorite development tools. 
      • For creating Windows desktop and web-based applications, they are unsurpassed. 
      • However, one area where C# fell short, was in game development. Using the .Net API’s it is not possible to get the high performance required for gaming. DirectX, which is used by virtually all professional games on Windows, requires the use of the C++ language. DirectX allows low-level access of the Video Card, which makes it the fastest method of drawing on the screen for the PC.  Many people find  C++ to be a difficult language to learn and use, fraught with many of the same pitfalls that plague developing with C.
    • Learn that In 2006, Microsoft provided a solution: 
      • Microsoft XNA Framework. XNA allows C# developers to access DirectX from C#. 
      • XNA, which is a set of tools and code libraries (with a level of complexity falling somewhere between a game engine and a grittier API like DirectX) that made it easy to make games that could be run on Windows desktop and laptop computers, plus their Xbox 360 console. Soon after, they updated it to be able to also run on their Windows smart phones. For many programmers, this was the thing we had been waiting for. A system where you could create games that ran all over the place, and without an insane amount of trouble or work. 
      • For years, Microsoft did a great job of supporting and growing XNA, and it became an exciting approach to game development. C++ is still the go-to solution if you need to squeeze the absolute last bit of performance out of a PC, but C# is now a very credible solution for gaming development. In fact, it has been used by many commercial games today. For many people, getting your game on a console like the 360 was several heaping teaspoons full of pure awesome. There's no way you could not be excited about that. But still, there were more platforms that people wanted to be able to target: iPhones, Android phones, other consoles, and Macs and Linux machines as well.
      • Unfortunately, Microsoft discontinued XNA development in 2013. But, thanks to the open source community, all was not lost. MonoGame is a compatible open source version of XNA, that is still being supported. Even better, MonoGame is extremely easy to learn and  is cross-platform, so you can develop games in C# for iOS, Android, Mac OS X, Linux and Windows.
    • Learn that MonoGame is an open-source port of XNA. It's not run by Microsoft, but rather a group of independent software developers (including you, if you wanted to join) who wanted to build a version of XNA that allows people to use the exact same code, but run everywhere. (On these other platforms, instead of running on Microsoft's .NET Framework, the games run on Mono.NET, which is an open-source port of the .NET Framework itself.)
      • Learn that MonoGame far better than its XNA heritage
      • MonoGame is built from the ground up to be multi-platform, supporting many of today's modern platforms, including:
        • Android
        • iOS / MacOS
        • Windows 8 / Windows 10
        • Linux
        • Even Consoles
        • And many more (still growing)
      • Learn that MonoGame has even extended the Content pipeline that XNA introduced (an asset management system) to also make assets like Art, Textures, Models and so on, work for every platform from a single configuration / building platform.
    • Raise the issue ... Why not Unity, Unreal or any other  Game Maker
      • When you are picking the Game Development framework or engine to start with (or jump to), it's important to choose what you want to build your game / project in using something that suits your development style.
        • Unity and Unreal have a great editor / GUI experience with some coding required, so it's a good fit if you like drag and drop.
        • Scratch / Game maker and others offer a much more stripped down and basic experience meant to wet your appetite. Although I have seen some serious projects built with these 
        • XNA / MonoGame on the other hand, are a full coded experience. So if you prefer to control all the bits of your game and not rely on things being done for you, it's a better fit.
    • Showcase games created with Monogame : https://www.youtube.com/watch?v=i8h5u5BgoJY
  • What You Need8:29

    In this Lecture we will

    • Highlight the software you need to participate in the course

      • Visual Studio 2015 2017 2019 2022  Express or Community

      • MonoGame Version 3.6 or 3.71

      • 7zip

    • *** Update ***

      • Migrating from 3.7

        Previously MonoGame installed on your machine through an installer, but from 3.8 onwards everything is installed through NuGet packages and Visual Studio Extensions.

        Note MonoGame 3.8 project templates are not compatible with earlier versions of MonoGame. If you wish to work on or build older MonoGame projects, then you will still need to install MonoGame 3.7.1 or earlier to open them.

  • What You are Going to Learn12:28

    In this Lecture we will

    Learn about some of the concepts and applications we will create .. here is a sampling

    • 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 Scrolling Game
    • Create a game which incorporates Game State Management
    • .... and Much More 
    • .... Now its your turn !


Requirements

  • You should have a beginner level understanding of C# . Basic concepts like loops, if statements, methods, arrays and some simple Object Oriented concepts
  • Our focus will be working with Visual Studio Community Edition 2022 or 2026 on Windows machines ONLY .
  • Not sure you have enough background to take the course ? Then I would recommend taking my first course "C# Programming for Beginners:Practical Applications Approach" before attempting this 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 !

Who this course is for:

  • Anyone young or old who wants to start creating their own games from scratch. Using C# and MonoGame you get a full coded experience. If you prefer to control all the bits of your game and not rely on things being done for you, it's a better fit.