Programming a rogue-like
August 8, 2011 11:48 AM   Subscribe

For my Fall project, I've decided to build a rogue-like game. I've never created a game before, and I'm looking for a good fit language\API.

Ideally I'd like simple tile based graphics for this project, but am more interested in the mechanics than graphics. This will definitely be a turn-based game with random-generated environments. I'm fairly experienced with business form and work-flow programming, but have never done anything beyond very simple graphics, and have no experience at all with creating a game.

I've looked around and am thinking about using Pygame for my project as I've been meaning to learn Python anyway. At work I'm pretty much exclusively using C# these days but I have experience with Perl, and (very rusty) C++. I've looked at RPG Maker but it seems to be a little too simple and limited for what I have planned.

The worry I have with Pygame is that I'll spend all my time getting the interface and movement working. Is there something else I could look at that would simplify this aspect?
posted by Eddie Mars to Computers & Internet (11 answers total) 10 users marked this as a favorite
If you already know C# (and the overriding objective of the project is to explore Rogue-like mechanics, not to learn Python), go with XNA.
posted by ignignokt at 11:53 AM on August 8, 2011

You might be interested in libtcod.
posted by theodolite at 11:54 AM on August 8, 2011

Oh honey, bless your heart. Definitely try XNA.
posted by thirteenkiller at 12:04 PM on August 8, 2011

Yay! I'm also developing a RogueLike as a personal project (and as an excuse to learn C#).

I would start here: It's a wealth of information about developing these sorts of games.

Please feel free to MeMail me if you'd like to gab about it further. :)
posted by DWRoelands at 12:11 PM on August 8, 2011

I assume you know that nethack is open sauce (as is slash'em) .. Note the size of the codebase, and that's with plain-old-ascii graphics .. (well, they threw tiles in, hmm, 3.2 ?)

So what are your time commitments for a fall project ? (ie due in December ?) .. I'm not sure how much of a head-start any API or library will give you.

(and if you really want a rogue-like, you gotta go ASCII, and that means the curses library and C .. ;)
posted by k5.user at 12:13 PM on August 8, 2011

If you're thinking of PyGame, you might also look into Love2D -- it's a similar concept, but seems a bit more polished and less Python-y.
posted by SpecialK at 1:32 PM on August 8, 2011

What DWRoelands said -- you'd do yourself a grave disservice to not read the roguelike development articles, which includes commentaries on what libraries exist for what languages.
posted by Zed at 1:34 PM on August 8, 2011

One of the best Rogue-like games is Tome, and it is open-source and modifiable. I'd start here, if I had enough time to try to write a game.

Seriously, good luck, I love Rouge-likes.
posted by Invoke at 1:56 PM on August 8, 2011

Definitely hack this in C#. XNA is great if you want actual graphics.

However, if you really are serious about the mechanics being king, you can *totally* do this with standard toolkit Windows forms widgets and a simple canvas-based display area.

In fact, you may find that using the standard GUI kit has many advantages in organizing complex tabular and tree-structured data. For the turn-based strategy game we're building at work, we're having to reimplement widgets in the 3d engine. It's basically fine for us, but it is definitely not enjoyable hobby programming.
posted by Netzapper at 7:05 PM on August 8, 2011

I actually don't have anything to contribute, but would love for you to memail me a link to your game when you are done.

k5.user: Nethack is one of the most complex roguelikes around- There is a tradition of games called 7-day roguelikes, where someone writes an entire RL in 7 days. Heck, there are *24 hour* RLs around. Nethack is very old, written in plain c, and is full of exceptions which greatly increase the size of the codebase. If you write a simple game, get it working, then add in the exceptions on top of that things should be much simpler, and it will be playable more of the time.

Also I'd like to hear your concept/see your game when it is done- memail me? ^^

Also yeah, the rougebasin wiki has lots of articles on useful algorithms, how people have solved problems before, and so on.
posted by Canageek at 12:27 PM on August 9, 2011

Thanks to everyone for the pointers. I'm not sure how far I'll really take this project, but if I end up with something playable, I'll post it in Projects.
posted by Eddie Mars at 7:49 AM on August 10, 2011

« Older Clean up after meth head?   |   Please hammer don't hurt 'em! Newer »
This thread is closed to new comments.