If you’ haven’t checked out the Rogue C# series here on ComeauSoftware.com, you’re missing out on a great chance to see the C# language in action! This is a demonstration of C# coding through a single, epic project to recreate the PC version of Rogue, the classic dungeon RPG.
If you’ve ever wanted to know how an application is developed and all the pieces are made to work together, this is the series that will show you. Along the way, you’ll also see many of the features of C# and get answers to questions like:
- What programming language should you choose?
- What’s involved in writing program requirements and what are the different types of documentation?
- What is the difference between the C# language and the .NET programming framework?
- How to create a new Windows forms project and work with form controls.
- What is the importance of algorithms in computer programming and how do you find the right one?
- What is object oriented programming and why is it used?
- How are constants used in programming and how are they different from variables?
- How are random numbers generated in C#?
- What are arrays and how are they created and referenced?
- What is the StringBuilder class in C# and how is it used?
- How can a program use multiple custom classes and how can they interact?
- How can a windows form respond to keyboard events in C#?
- How can LINQ be used to efficiently search a multidimensional array?
The current code for this project is available on Github for downloading and is regularly updated. As of this posting, the game map is working and the player can move around it. In upcoming chapters, we’ll be managing the player’s inventory and adding the “fog of war” feature so the map will be discoverable by the player a piece at a time.
What makes Rogue C# unique is that you’ll get to see the game developed in real-time. This isn’t just pages of code to type in and instructions to follow and it’s not just a programming video showing someone else speeding through the code. In this series, you’ll get to see the game developed from start to finish with details of all the decisions involved including development of the requirements, problem solving and even some of the mistakes and corrections that inevitably happen.
I decided to develop this series right here on the site in hopes of getting feedback from visitors to the site so I hope you’ll take some time to check it out and let me know what you think!