Skip to content

C# and MonoGame - Intro to 2d Game Development

Access code required


Here is the course outline:

1. Welcome

Overview of course and instructor background

2. Why MonoGame? ... Some Background

A brief history of MonoGame from XNA to it's current framework

3. What You Need

Software to download

4. What You are Going to Learn

A little show and tell of the types of games we will develop

5. C# Graphics Basics ... The Graphics Class

Using the Form Paint Method

6. C# Graphics Basics ... Using The Panel Control

We learn how to draw on a Panel control and scroll its contents

7. The Checkerboard Challenge ... Your Turn

Practice your skills ... Create a C# program which displays a Checkerboard

8. Mouse Events Part 1

Create a drawing program which incorporates MouseDown,Up and Move events

9. Mouse Events Part 2

Create applications incorporating the mouse , ArrayLists and Classes

10. Drag and Drop Events ... And A Challenge

We create a program which simulates a Drag and Drop application... then you create your own.

11. C# Animation Basics ... Image Arrays , Timers and Threads

Learn the basics of creating a simple animated figure

12. Creating Your Own Animations

Create your own frame by frame animations

13. Create A Simple Game ... The Slot Machine

We create a simple Dice Roll Game and a Slot Machine Game

14. Moving Objects In C# using .Left and .Top

We make our objects move across the screen and bounce off the wall.

15. The Car Race Challenge ... Your Turn

You create a simple two car race ... with some hints (help) of course!

16. Moving Objects In C# Using The DrawImage Command

We learn another way to move objects across and up and down the screen

17. The Concept of Image Transparency

We learn how to create transparent gifs and pngs

18. Collision Detection and Keyboard Events

We learn how to determine in C# when two objects have collided.

19. Sound Effects

We learn how to incorporate sound effects into a C# program

20. The Falling Objects Game Challenge ... Your Turn

We learn how to create a simple falling objects game ... then it's your turn

21. C# Advanced Animation Techniques ... Double Buffering

We learn how to incorporate "Double Buffering" to reduce animation flicker.

22. The Mouse and Double Buffering

We learn how to use the mouse on a panel

23. Scrolling

We learn about the concept of scrolling and how to incorporate it into a simple game

24. Game Development Part 1

We learn about the basic game loop and how game development is driven by polling for events using a series of simple games

25. Game Development Part 2 ... The Final Challenge in Plain C#

We work through the creation of a Space Shooter Game and leave you with the challenge to create your own C# game.

26. An Introduction to MonoGame ... Creating Your First Project

We learn to use the MonoGame Windows Project Template

27. Managing Content in MonoGame

We learn about the Pipeline Tool and adding Assets

28. Displaying The Content ... The Sprites

We learn about using Texture2D instance variables and drawing using the SpriteBatch

29. Moving Sprites in MonoGame

We introduce the concept of motion using the Vector2 class and the Update Method.

30. The Velocity Vector

We learn about Vectors , Vector addition and how to incorporate these concepts to move objects

31. Hitting The Wall!

We learn about screen constraints and create a program which bounces an image off of all 4 walls.

32. Drawing Text in MonoGame

We learn how to create a Sprite Font and the DrawString Command

33. Adding Background Music and Sound Effects in MonoGame

We learn how to incorporate Background music and Sound Effects in a MonoGame project

34. Intro to MonoGame Problem 1 ... Your Turn ... Static Images

Practice placing static images at different locations on the screen

35. Intro to MonoGame Problem 2 ... Your Turn ... Moving Images

Create a Vector2 object and have image move across the screen

36. Problem 3 ... Your Turn ... Bounce off a Wall

Create a simple animation with an object bouncing off of a four walls and reversing direction.

37. Problem 4 ... Your Turn ... Incorporating a Class

Implement a BouncingHead class which will eventually lead to a fully Object Oriented implementation of a MonoGame project.

38. Problem 5 ... Your Turn .. Adding Update and Draw To The Class

Here we challenge you to add an Update and Draw method to be called from the Main Game

39. Problem 6 ... Your Turn ... Accessors and Mutators

Here we add accessors and mutators for the Position and Velocity of the object and enforce encapsulation.

40. Problem 7 ... Your Turn ... The Color Property

Here we add one more feature to the class so we can modify the colors of our objects moving across the screen.

41. Problem 8 ... Your Turn ... Adding A Background

We learn how to add a background instead of using the standard blue screen.

42. Problem 9 ... Your Turn ... Background Music

Here you are asked to implement a Song Class to play background music.

43. Problem 10 ... Your Turn ... An Array of Bouncing Heads

Here we implement an array of objects to show the power of Object Oriented Programming and arrays... and have some fun watching a bunch of crazy looking heads bouncing everywhere

44. A Rotating Sprite

We learn how to have an object rotate around a central point and introduce another form of the Draw command which incorporates angles.

45. MonoGame Character Animation Techniques ... An Array of Texture2D

We create the amazing Kicking Baby Animation

46. MonoGame Character Animation Techniques ... Using A Sprite Strip

We learn how to use Texture Sprite Strips, which are single images with multiple textures on it.

47. Creating Our First Game .... The Essentials... Handling Keyboard Input

We learn how to get player input from the keyboard

48. Creating Our First Game .... The Essentials... Keyboard Movement and a Sprite Strip

We take a look at another simple application of keyboard detection and character movement ... with a twist.

49. Creating Our First Game .... The Essentials... Collision Detection

We revisit collision detection and introduce the concept of bounding rectangles and the Intersect property.

50. Simple Game Part 1 ... Build It With Me

We collect our assets and add them via the Pipeline Tool, declare all our variables, load our content, code the draw method.

51. Simple Game Part 2 ... Build It With Me

Here we focus on the Update method and all the necessary logic. We track keyboard movement, update the falling object, check for collisions, update scores, play a sound effect

52. Simple Game Recap

Didn't want to do the game with me ... that's OK ... here is the show and tell version that you can simply watch.

53. Handling Mouse Input in MonoGame

We learn how to get player input from the mouse and then learn how to simulate an explosion when the mouse is clicked at a particular location.

54. Creating Your First MonoGame Game ... Your Turn

Now we offer you the challenge of creating your first game . We demo a simple instructor created sample game ... be nice ! ... LOL

55. Game Development in MonoGame ... The Next Step ... Game State Management

We revisit the concept of Game State Management and apply it to a simple game.

56. The Cannon Shooter Game Part 1 ... Build It With Me

First we create a GameObject class which will be used by the main program to create enemies and the cannonballs.

57. The Cannon Shooter Game Part 2 ... Build It With Me

Here we draw the content, create the Update Methods

58. The Cannon Shooter Game Part 3 ... Build It With Me

We complete the game, adding a FireCannonBalls method and then challenge you to create your own game which mirrors the new skills developed in this game.

59. Introduction to Scrolling in MonoGame

We learn how to implement a simple side scrolling technique.

60. User Controlled Scrolling

We create a vertical scroller that is controlled by the keyboard and learn how to implement the concept of tiling.

61. Scrolling Rotating and Shooting Part 1

We extend our knowledge of scrolling by introducing a rotating shooting object in the center of the screen.

62. Scrolling Rotating and Shooting Part 2

We focus on moving the ship, having it shoot, and drawing the bullets all within the context of a scrolling screen.

63. A Scrolling Game ... Your Turn

We look at a simple game which incorporates vertical scrolling and challenge you to create a new game of the same genre.

64. The Wrap Up ... Student Sample Games

We demonstrate a variety of games created by students.

65. What's The Next Step

We discuss where to go from here . Unity ? Unreal ?

Back to top