Lesson 00.1 – What is in these lessons?

These lessons will teach you the basics of C#, by building a very simple role-playing game (RPG).

What will be in the game?

The game will let you create a player, set up locations for them to travel to, discover quests to complete, and fight monsters.

When I say that it’s, “very simple”, that’s what I mean. There are no graphics, there are only nine locations, three different types of monsters, two different weapons, and two quests. The battles are very simple, and there is no armor, magic, or crafting.

However, at the end, you will know the basics of C# programming. That’s the goal of these lessons – not to build the next Skyrim or World of Warcraft.

What will the game look like?

Like this:

Lesson 00.1 - Game screenshot

And here is how the game will play:


What will I learn?

The focus of these lessons is to show you the most common things you’ll need to do to create a C# program – such as creating classes, handling user inputs, and doing common calculations.

Think of the Pareto Principle. You’ll learn the 20% of the things that you’ll need to do 80% of the time, when writing a program in C#.

Will I learn the ‘best’ way to write a C# program?

There’s always a better way.

In fact, there will be some things that I know could be done better, but are more complex than I want to introduce to you right now.

This will get you started, with the ability to create a program that works. But if you want to do more advanced things in your programs, you’ll need to learn, and practice, more.

Can I add more to the game?


If you want to add more locations, creatures, quests, weapons, potions, etc., you’ll be able to easily do that.

If you want to expand the game with more features (armor, crafting, buying/selling, poisons, spells, repeatable quests, etc.), let me know. I may be able to find some time to expand the game.


Next lesson: Lesson 00.2 – General information about programming in C#

All lessons: Learn C# by Building a Simple RPG Index

Leave a Reply

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