MonoGame: Introduction to C# Game Programming
4.5 (337 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,264 students enrolled

MonoGame: Introduction to C# Game Programming

Learn game development with C# by utilizing the popular MonoGame framework!
Bestseller
4.5 (337 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,263 students enrolled
Created by Kyle Schaub
Last updated 5/2019
English
English [Auto-generated]
Current price: $34.99 Original price: $49.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • 6 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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
Course content
Expand all 61 lectures 08:22:49
+ C# Programming Part 1
9 lectures 41:18
Arithmetic
04:02
Data Types
04:33
Conditional Statements
09:04
Using Methods
05:30
Comments
03:14
Syntax Review
06:00
+ Game #1: Shooting Gallery
12 lectures 01:16:05
Including Assets with the Pipeline Tool
05:20
Drawing Graphics #1
06:50
Drawing Graphics #2
05:41
SpriteFonts
05:25
Target Variables
04:19
Mouse Input
11:07
Shooting the Target
09:29
Randomness
07:03
Timer
07:55
Finishing Touches and Wrapping Up
05:25
+ C# Programming Part 2
6 lectures 47:18
Arrays
08:00
Loops
10:43
Classes
07:49
Methods
07:37
Constructors
09:30
Static Modifier
03:39
+ Game #2: Spaceship
10 lectures 01:44:36
Spaceship Overview
01:57
Project Setup and Loading Assets
07:12
Ship Class
06:06
Ship Movement
18:26
Asteroid Class
07:47
Controller Class and Asteroid List
13:46
Difficulty Progression
11:54
Main Menu
14:10
Colliding with Asteroids
08:55
Timer and Finishing Touches
14:23
+ C# Programming Part 3
4 lectures 35:18
Structs and Enums
10:01
Switch Statements
03:49
Private, Getters/Setters, and Properties
09:34
Inheritance
11:54
+ Game #3: RPG
15 lectures 02:43:47
RPG Overview
00:50
Project Setup
10:41
Player Class
14:58
Open-Source Software, NuGet, and AnimatedSprite Class
06:22
Animating the Player
08:59
Animating All Directions
13:59
Shooting Projectiles
12:28
Enemies
19:26
Shooting Enemies
08:12
Player Health and Damage
10:02
Obstacles
22:43
Level Design with Tiled
12:07
Tiled Object Layers
13:48
Camera
07:04
What's Next?
02:08
+ Bonus Lectures
2 lectures 25:44
Keeping the Camera and Player in the Map
14:38
Sounds Effects and Music
11:06
Requirements
  • Understand the basics of using a computer
  • Must be able to download and install software from the internet (like Visual Studio, MonoGame, etc.)
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, there’s 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 million sales 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, starting with a Shooting Gallery game where you click on targets that appear on the screen. Then we’ll create a Spaceship game where you move around the screen using the arrow keys to avoid incoming asteroids, and then we’ll 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 character
  • Keyboard and mouse input
  • Displaying images to the screen
  • Detecting collisions
  • Shooting projectiles
  • Enemies
  • Player score and health
  • Animations
  • Timers
  • Level design with Tiled
  • Camera

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 Types
  • Conditional Statements
  • Classes and Inheritance
  • Methods
  • Loops
  • Switch Statements
  • Data 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 we’ll 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 projects we complete available on your computer that you can look 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 development
  • Anyone who wants to learn programming fundamentals
  • Anyone interested in picking up C# as a new language