zRPG – The Forgotten C# Project

zRPG is the code-name for an untitled game I started developing in in July of 2016. Like the code-name suggests, this game will eventually be a RPG, or Role Playing Game. I started this game a long time ago but have only put a few real programming hours into it. Recently I have decided that I want to move forward with the game and get it moving. I am using Visual Studio and writing the game in C#, using the Windows Forms platform. I should probably be using something other than WinForms, but for what I want to use it for, it will work just fine.

What I have so far:

Currently, there’s not much to the game at all. It has a very bland and boring user interface, and there currently isn’t really any gameplay at all. What I am trying to build is the skeleton of the game, before I make it look nice and start focusing on features.

Character Creation:

When the application starts, you are presented with two options, you can either Create a new Character, or Load an Existing Character:


If you choose to create a new character, you are directed to the character creation screen. Here you can give your character a name, chose it’s race and class, and adjust the stats. You may notice that these stats look familiar. They are an ode to the S.P.E.C.I.A.L system in the Fallout games. After thinking about this more, I will likely be removing most of these to make the game less complex.


Each Combination of Race and Class will have different effects on your characters Skills and Stats. The skills are the 7 skills listed here on the screen. Stats refer to the characters Maximum Health and Maximum Mana levels.

The different Races are:

  • Human
  • Orc
  • Elf
  • Dwarf

The different Classes are:

  • Warrior
  • Mage
  • Archer
  • Thief

As an example, a Orc Warrior starts the game with more Health than Mana, and more Strength than Agility, while a Elf Mage starts the game with more Mana than Health, and more Agility than Strength. More Classes and Races can be added simply, but I figured I would start with 4 of each.

In the lower left corner of the screen, there is a back button. It does exactly what you would think.

When you click the Create Character button, a message box appears to let you confirm your character before creating. The only reason for this to allow the user to see what the character’s Health and Mana will be. I guess I could have put that on the screen to begin with and saved a step, but I think it’s fine for now.


If your character doesn’t look okay, you can click No and return to the creation screen to edit you character. If you click Yes, you will return to the starting screen where you can now Load you newly made character.

Load Character

When you click Load Character, you will be directed to a screen where you can choose which character you want to load.


Here, we see a grid with all the existing Characters in the database. You can select the character you want, and click the Load Character button to start the game. On this screen there is another back button, as well as an X button in the lower right. This button gives the user a means to delete a character from the database. Upon clicking this button, the user will be prompted to confirm they want to delete the character. I would like to eventually tie a password to the characters so only the person who knows the password can delete that character.


When you load a character, it brings you to the main screen.

Main screen and Menu screen

The main screen and menu screen are pretty boring at this point. On the top of the screen you can see the characters EXP / EXP to next level. There is also a +5 EXP button I used for testing the leveling system. And on the bottom you can see the Health, Mana, and the character’s Level.


If you click the +5 EXP button, your character will receive 5 completely free, unearned EXP points. When the EXP reaches or exceed the EXP to next level amount, the Character will advance to the next Level, and you will see this screen:


Clicking the Increase Max Health by 5 will increase the character’s Max Health level by 5, AND fill the characters health bar to the maximum. Likewise with the Mana button.

While on this screen, if the user presses the ‘P’ key, or the ‘Esc’ key, they will be directed to the Menu Screen. The Menu screen is currently split up into Tabs. I am not sure if I am going to keep it this way, or consolidate it a little bit. Anyway, this is what is on each of the tabs:


The Info tab has some information about the character including the character’s Level, Health, Mana, Name, Race, Class, and Gender.


The Skills tab shows the character’s skill levels.


The Inventory tab has a drop-down box with the character’s items. When you select an Item from the list, it’s Name, Effect, and Value will show on the screen.

The Map tab is completely empty as of now.

Not much else can be done with the game at this point.

Next steps

My next few steps for the game are as follows:

  1. Develop the Map and establish the character’s position on the map
  2. Add the ability to use/equip items. There is code to use potions or eat food; Anything that will raise the characters current health currently works.
  3. Create NPC’s
  4. Create Quests
  5. Allow the user to trade with NPC’s

Looking for Feedback!

Please, leave a comment of any contstructive criticism you may have! There hasn’t been too much time sunk into this project, but I will be activley working on it from now on. I know the user interface is bleak, but as I mentioned above, I want to iron out the inner workings before I spend time making things look nice.

Thanks for reading, and I look forward to your feedback!

5 thoughts on “zRPG – The Forgotten C# Project

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s