Thursday, November 16, 2017

Roguelike Development Environment

So I've decided to make a Roguelike RPG.  After having an idea, the next thing is to start with the development of basic systems and build from there.  Choosing an environment took me through several different engines/languages.

First, I tried Python.  Python is an easy language to learn and has great looking syntax.  And it has a great IDE made by JetBrains called PyCharm.  If you're going to develop in Python, I highly recommend PyCharm.  It even has a free Community Edition.  It is, hands-down, the best IDE for Python available today.

PyCharm from JetBrains
I followed along with the revised Roguelike Tutorial based on the one from RogueBasin.  I made a basic roguelike in ASCII using a component system, and could definitely see the benefits of doing so.  However, I wanted to use a more developed engine and my preferred language of C#.

C# has been my favorite language for years, ever since I became a software developer.  In my career, I use it every day and am very happy with it.  I wanted to be able to use C# while making my game, so I checked out MonoGame.  MonoGame is the continuation of Microsoft's XNA game engine from back in the day.  I was able to get the basics going (player movement, dungeon generation, enemies with combat), but then I decided that I didn't really like some of the styles of MonoGame's API. 

This pushed me towards Unity.  I was completely unfamiliar with how to use Unity, so I downloaded the latest version and began following online tutorials to try to get a hang of it.  At first, it seemed pretty daunting, but, like anything else, it gets easier with practice.  As a script editor, I first tried Visual Studio (which I am very familiar with because of work).  It was great but felt like overkill.  I then tried Visual Studio Code, the great lightweight, cross-platform code editor from Microsoft.  It was great but felt a little too light.  

Then I discovered Rider from Jetbrains.  It was just right.  With much of Resharper's functionality built-in, it was the perfect balance between.  It even has lots of Unity functionality right out of the box (just select Unity during the setup).

Rider from JetBrains
So now, with Unity and Rider, I feel I have the perfect development environment to make my Roguelike RPG.

Remember, these are just my own personal feelings.  You may disagree, and that's fine.  Everyone should just go with what they are most comfortable with and makes them happy.

Thursday, January 5, 2017


I've finally decided to make my own Roguelike RPG.  Before getting into any details about that journey (which is beginning now), I wanted to touch on some of the influences that have led me to this point and which will be a big part of my game development going forward.

Many things have influenced me throughout my life when it comes to the gaming, but there are several experiences that stand out.  As a child, I remember watching Conan the Barbarian cartoons, getting the Conan the Cimmerian game for PC and just being really into the world of Conan, which led to purchasing many Conan novels and discovering the works of Robert E. Howard.

Conan the Cimmerian (1991)
Later, I discovered Dungeons and Dragons, not through the tabletop RPG, but through the Gold Box games that I would just stumble upon by going to the store, looking at the boxes of computer games, and picking the one that appealing to me the most.  I loved the idea of your character having stats, progressing through the world, and improving upon your character and facing tougher challenges.  It would lead to me getting the Baldur's Gate games, reading many R.A. Salvatore novels, and getting hooked on RPGs ever since.

Hillsfar (1989)
But for whatever reason, the game that holds the most special spot in my heart and that affected me the most growing up was the original Alone in the Dark.

Alone in the Dark (1992)
This game captured my imagination like no game has before or since.  I began researching all I could about the world of H.P. Lovecraft.  I kept searching for more information about the game's protagonist, Edward Carnby.  I wondered if was he a real person.  When I searched online, there was supposed to be a biography coming out about him...I kept waiting for it.  It never came.  I eventually gave up on that, but made sure to read as much of Lovecraft as possible.  The most amazing thing about Lovecraft's work was that it felt like it could be real.  Like I was reading some history that I wasn't supposed to read.  It had a profound impact on me.

Sid Meier's Pirates! was another game that really opened my eyes.  I had always been into the concept of pirates but having an open world, fighting other pirates, and discovering things like that in a game really meant a lot to me.  (I've since been searching for the perfect pirate game, so if you have any suggestions, please leave them in the comments.)

Sid Meier's Pirates! (1987)
Then I discovered Dwarf Fortress.  I kept reading all these amazing descriptions of the game and knew that I had to get it.  It was free!  I downloaded it, installed it, tried to set up my own fort, couldn't figure out how to do anything, and gave up.  In the meantime, I discovered games like Dungeon Crawl: Stone Soup and Nethack and got sucked in.  Permadeath was my thing.  I liked it.  I loved it.  Yeah, sure, you died and lost everything and had to start over, but everything you accomplished suddenly meant so much more.  Every time you discovered something new in the game, it felt much more rewarding, than saving, trying something, then reloading and trying again until you get what you want.  Now, mistakes had consequences.  This changed my view of RPGs.  In Baldur's Gate for example, I save often.  If a fight goes bad, I reload and try again until I win.  I've never had to deal with a dead character in my party, because I'll just keep trying until I win without a loss.  Real roguelikes do away with any of that.  I tried Dwarf Fortress again, and this time I got it.  Now I had a successful fort and was defending against all manner of evil invasions.  The scope of this game blew me away.  Nothing comes close.

Dwarf Fortress
However, when it comes to what I'm aiming for, I think the game that captures it best is Caves of Qud (a game which I cannot recommend enough).  It has a balance of all of the above pretty much rolled into one game.  It is a true Roguelike RPG and probably the best one that has been created to this date.  As a healthcare software developer who has been aspiring to get into game development, this is the game that finally set me in motion to begin my own,

Caves of Qud
All these games influence what I'm about to work on.  I do not have any dates of when things will be finished, and I will be getting into more details about the scope and setting in future posts.  Since I have a day job, this will be something I work on in my free time, albeit seriously.  And it's not something I ever want to really "finish."  This will be my one personal project that I work on for as long as possible.  If, and when, I get it to the playable stage, I will release those versions for free for people to check out and give feedback.

Thus begins my adventure into GameDev.