Lesson 00.1: Overview

Before we begin, I want to let you know what to expect in these lessons.


These videos are a new version of a course I created two years ago. In that course, I showed how to build a simple role-playing game, using C# and Windows Forms.

In these videos, I’ll use WPF (Windows Presentation Foundation) for the user interface. I’ll also make a few changes to the format, based on feedback from the previous course.


The three things I want to do in this series are:

  • Teach the fundamentals of programming in C#, with WPF (using good programming practices)
  • Use an edited “live-stream” format, to show how a programmer thinks and works, when creating a program
  • Create an open-source RPG engine, that can be easily modified and enhanced


Once we get past a few preparation and planning videos, each video will follow this format:

  • Select a feature to add to the game
  • Teach any new skill/commands needed to add the feature – if needed
  • Add the feature
  • Clean up the code (refactor), to make it better – if possible


The first version of the game will have the basic features of an RPG, with very simple graphics. I have a long list of additional features to add to it, after we complete the basic version. I’d also like to upgrade the graphics, to JRPG style – and maybe even create a Unity version.

However, we’ll start out with the basics.


NOTE: There are many different ways to write programs. And, there is almost always “a better way”.

These videos will show the techniques I think are good for beginners to know, to create a small program like this game. I will use a few intermediate techniques, because I want you to develop good programming habits from the start.


If you have any questions about anything in the videos, please leave a comment.


Return to main page

4 thoughts on “Lesson 00.1: Overview

  1. You are a life saver! I’ve studied and know a lot of about C# terms and usage, except I still don’t know how to actually use it effectively. This is the perfect motivation I need to learn practical and functional programming so that I can take off the training wheels and start doing my own code!

    Thank yoU!

Leave a Reply

Your email address will not be published. Required fields are marked *