MonoGame: Introduction to C# Game Programming (Udemy.com)

Learn game development with C# by utilizing the popular MonoGame framework!

Created by: Kyle Schaub

Produced in 2021

icon
What you will learn

  • Make games using MonoGame
  • Write code using C#
  • Understand common programming fundamentals
  • Design software using Object-Oriented Design
  • Utilize open-source software in your projects
  • Create game levels using Tiled

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100

icon
Course Description

Over the past several years, game development has grown into something that anyone can do. The barrier to entry is continually getting lower, and with so many tools to make the process easier, theres nothing stopping you from getting started! In this course, we will learn the basics of creating games using MonoGame, a game framework with a rich history rooted in indie development. Hundreds of successful titles have been published that utilize this software, including Stardew Valley, Fez, and Bastion, each of which has well above one millionsales on Steam. The programming language we will be using is C#, one of the most widely used languages in the industry. The combination of a solid game engine and a well-documented programming language will provide everything you need to create any game you can imagine.

This is a project-based course: we will apply the programming and game development fundamentals that we learn to create our own MonoGame projects. The lectures assume no prior technical knowledge, and whether or not you have programmed before, there is content in this course that can be utilized by anyone. After the introductory section, the course will be divided into three sections discussing C# programming, and three sections that go through the process of developing with MonoGame. We will alternate between programming sections and game development sections in order to get started making games as quickly as possible.

We will develop three games from scratch using MonoGame within this course, startingwith a Shooting Gallery game where you click on targets that appear on the screen. Then well create a Spaceship game where you move around the screen using the arrow keys to avoid incoming asteroids, andthen well round off the course by creating a top-down action RPG, where we control a player that can walk around and shoot projectiles at enemies. Each new game that we develop will build on what was learned in the previous one, and in the end, you will have a great understanding of what you will need to develop games of your own, which includes:

Creating a playable characterKeyboard and mouse inputDisplaying images to the screenDetecting collisionsShooting projectilesEnemiesPlayer score and healthAnimationsTimersLevel design with TiledCamera

In order to successfully implement these aspects of our games, we will need a solid understanding of several C# concepts. Throughout all three programming sections, we will cover a wide variety of topics, including:

Variables and Data TypesConditional StatementsClasses and InheritanceMethodsLoopsSwitch StatementsData Structures

Although these concepts will be explained in the context of C#, they are common throughout most programming languages and can be applied to topics beyond the scope of the course. That being said, if you already have a background in programming, there is a syntax review lecture, where well do a quick walkthrough of how to do these simple programming tasks in C# specifically. So, if you already know what these are, you can quickly get up to speed on its use in this context.

With all the skills acquired from this course, you will have everything you need in order to get started with projects of your own using MonoGame. By coding along with the lectures, the information will stick with you as we go through the material, and you will have the projectswe complete available on yourcomputer thatyou canlook back on and reference. With a solid understanding of C# and MonoGame, there will be nothing stopping you from developing anything you can think of!
Who this course is for:
Anyone who wants to learn game developmentAnyone who wants to learn programming fundamentalsAnyone interested in picking up C# as a new language

icon
Instructor Details

Kyle Schaub

My name is Kyle Schaub, and I'ma full-time software engineer in the cloud computing industrywith a Bachelor'sin Computer Science.
I spend the vast majority of my spare time developing games, and after years of practice, I decided to begin sharing everything I've learned through Udemy. This hobby began at a very young age whenI started off learning with Game Maker, and it grew from there, extending into various other languages and technologies. After solidifying my programming skills at a college level, I entered the workforce as a software engineer, but continued developing games on my own time.
When I realized a good game could not be complete without a good soundtrack to go with it, I decided to pick up music production. Ihave been a musician my whole life, so I was able to apply this previous experience to writing game music.
I have been an instructor on Udemy since July of 2017. Since then, Ihave helped thousands of students develop their coding and music skills. Iam constantly looking for new ways Ican help teach students around the world.

icon
More courses by Kyle Schaub

Create Songs with LMMS: Zero Experience to Music Producer

$11.99

Lua Programming and Game Development with LVE

$11.99

icon
More c# courses

C# For Beginners: Learn C# Programming From Scratch

$11.99

Language-Integrated Query  ( C# ) (LINQ)

$11.99

C# Memory Tricks: Learn How To Master The Garbage Collector

$11.99

C# - Complete A to Z C# Masterclass: Hints + Coding Tips

$11.99

Let's Code: C# Programming Exercises for Beginners

$11.99

C# Tutorial - Fundamentals for Beginners

$11.99

icon
Reviews

4.6

134 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Matt Godwin on 11/22/2020

So much easier than trying to figure out this stuff from documentation. The teacher is great and the information is introduced at a well thought out pace. The examples cover everything that I came into this course trying to learn. I toyed around in Unity first, but I'm glad I found Monogame and took this course. Now I can do everything that I wanted to do without being married to a game engine. As a side note, I especially appreciated that he took the high road in the last examples and used getters/setters for everything. That was a concept that I was having a difficult time grasping the practicality of but to see it implemented in a real project made it less intimidating. I gave this course five stars because it provided me with exactly what I wanted and I think the teacher did an excellent job. That being said, I do have to mention that I think the parameters may have changed for two or three statements relating to drawing tile maps in the final example. This wasn't a stumbling block though. I actually found that investigating the issue and coming up with the solution myself made me feel that much more comfortable working with Monogame. Kyle, if you are reading this, thank you. This has been a very enjoyable learning experience.

By Richard Scapecchi on 11/15/2020

It was good, and easy to follow until monogame extended was introduced. 3.8 wasn't working as described.

By Jeremy on 10/18/2020

Le cours commence avec monogame 3.8 et apres on passe sur une autre version...

By Alex Costa on 10/15/2020

Meh. it was good until the RPG portion. If you are using MonoGame 3.8 you are going to experience a world of headaches trying to use Tiled which is not on this instructor but more on MonoGame Extended and MonoGame but as it stands I wouldn't recommend getting this until that hot mess with the content pipeline gets situated.

By Eric Arbour on 10/14/2020

Great pace and great content!

By Hiago Jos da Silva Machado on 9/26/2020

Awesome course! This course was fantastic. Excellent teaching. It was very good to learn basic concepts. Is a great material to help anyone make almost any 2D game without prior knowledge in game development or even programming and without needing to depend on limitations imposed by existing game engines. Awesome, man. You should continue creating more courses.

By Anthony Malfavon on 9/25/2020

It was pretty good overall. Nothing too fancy and everything I wanted to learn. I do think the c# concepts may the covered too quick for absolute beginners.

By logan Watkins on 8/10/2020

Very clear. Great teacher.

By RL Martinez on 7/25/2020

Great work by the instructor.

By Stephen Castle on 7/6/2020

Halfway through and really enjoying it. Presentation in clear and examples are good. Gets quite mind stretching quite quickly. Quite a formal style of presentation but I suppose that adds to the clarity. A very high quality course.

By Joshua Holden on 7/2/2020

I didn't realise it was an introduction, a bit basic.

By Dixon A. Rivera Ruiz on 6/27/2020

Helped a lot with the sprite animation, Thanks.