Sunday, 25 January 2009

Development restarted

After seven months away, and after about an hour's fiddling with paths and configuration settings, I recompiled the binaries and libraries for Kharne tonight. I guess development has officially restarted. First thing on the agenda: sort out some proper source control!

Tuesday, 20 January 2009

Gameplay Idea #1: The Portable Stash

"A Stash is a collection of items that the player leaves somewhere in the dungeon with the intention of returning there later should one of those items prove necessary/useful. Stashing often occurs in games with persistent levels in which the number of items the PC can carry is limited"

I've personally never used stashes when playing Roguelikes that offer them, mainly due to the built-in annoyance factors (both in terms of cost or travel time) and the amplication of the inventory management subgame. However, often they are a useful enhancement to the gameplay of a roguelike, and as such, I'd like to offer their facility in a future version of Kharne.

I feel that the concept of a Portable stash could be implemented and provide an interesting enhancement to gameplay. To avoid a portable stash turning into just another bag of holding that increases inventory space, some basic limitations on access would need to be put in place. For example: the stash can be accessed at any time, but costs gold to deposit and remove items from it. Or, the stash can only be accessed upon descending any set of stairs. Or perhaps even, in exchange for its services, the stash slowly drains the magical powers of items placed in it.

Buying, hiring or even stealing portable stashes (of various sizes, filled or unfilled) could also be implemented.


Monday, 19 January 2009

What can Roguelike Developers learn from MMORPGs?

My original post on the relationship between MMORPGs and Roguelikes seems to have caused a bit of a stir, judging by some of the comments. I've clarified my thoughts in the comments there. Meanwhile, I'd like to ask a few follow-up questions on the subject:

1. What can Roguelike Developers learn from MMORPGs?

2. Are there any features in an MMORPG that should (or could) be implemented in Roguelikes?

Or alternatively:

3. Are there any features from Roguelikes that would work well in an MMORPG?

There are a few features in MMORPGs that I'm considering adding to the (ever-expanding) todo list for Kharne once I restart development, but in the meantime I'd like to hear your thoughts on what you'd like to see in Roguelikes in general (not just Kharne).

Sunday, 18 January 2009

New Pascal Roguelike

A new roguelike has been released, written in Pascal, which is excellent news for us doughy fighters against the evils of C and its fiendish plans for world domination (only half-joking, I think!). It is called "Gruesome", and here are a couple of screenshots:

The gameplay is fun and refreshing, and the game itself has an awesomely original premise:

In Gruesome you play a grue, lurking in the shadows and eating adventurers. Movement is with the numpad or vi keys. The game ends when you are hit by light or you reach the surface. Adventurers cannot be assaulted directly - they are best avoided, or you can eat them if they happen to move on top of you.

You can download v0.0.2 here if you're on Windows and here if you use Linux.

Saturday, 17 January 2009

World of Warcraft is the new Rogue

Alright, that might just be a bit of an overstatement, but it does seem like some MMO-companies have been taking a leaf out of roguelikes when it comes to game complexity and tactics. Granted, the company concerned does have quite a track record when it comes to roguelikes, but the level of detail and thought that has went into some encounters and the tactics and complexity required to overcome them rivals that of some roguelikes at least. Granted, MMOs generally lack randomness, and of course permadeath, and a whole host of other features common in roguelikes, but I think there is a strong case for at least a commonality between the genres. What do you think?

Wednesday, 14 January 2009

r.g.r.d. Roundup #1

Years ago (we're talking almost a decade ago), in a former incarnation, I didn't have a very good view of - it seemed too elitist, too wed in the one true way of C. Part of that was my own fault, and yet it has changed remarkably over the years, and it seems every day now there are excellent threads on many aspects of programming roguelikes.

So, in the absence of my perceptible progress on my own creation, I'll be regularly rounding up some of the most notable (not necessarily the best) recent threads from the newsgroup here and giving my own two-penneth worth.
  1. "Keep it simple, stupid". For me, the pertinent post was made in this thread by copx regarding rewrites of Roguelikes. The KISS principle has particular meaning for myself - as I've said before was one of the main reasons the original version of Kharne failed. Although I suspect it won't happen due to the developers seemingly having their heads screwed on correctly, am I alone in thinking that Crawl Stone Soup is heading down the same road as Crawl v4.1 and in danger of becoming an (unintentional) overcomplicated mess? Who rewrites the rewriters?
  2. "Intriguing new Line Of Sight algorithm". Why oh why oh why oh why? New FOV algorithms may be interesting from a purely academic point of view (in the same way is probably fun to recalculate the Chandrasekhar limit for White Dwarves from basic physical laws), but do any roguelikes actually use any of these wonderful and new esoteric algorithms?
  3. "The Rogue Bard unveiling". Free music for Roguelikes. I've listened to some of these and they're excellent. However, whilst I have vague ideas of including a music engine in some distanct completed version of Kharne, I would not include any music along with the distribution. Music is, to me, too personal a thing for it to work with a Roguelike out of the box (although the idea of exploring a dungeon to the sounds of The Place Where The Black Stars Hang by Lustmord is somewhat appealing).
  4. "Crawl YASD - guillotined for no reason & orcs in Lair". Alright, this is a refugee from But it illustrates simultaneously how evil and how excellent Crawl currently is. Crawl Stone Soup seems to be the roguelike to aim for at the moment, and this is a complement to the developers. It would be a real shame if it jumped the shark.
There have been a few other threads on items, item functionality and attributes which have also been of great interest, but since I intend my next few posts to be on this subject, I won't mention them any further at this point other than to say....go read them!

Friday, 9 January 2009

Congratulations to Angband.

A hearty congratuations to the Angband folks. The new version (v3.1.0) is now officially GPL, thus ending a saga over licensing that has dragged on for literally years. Whilst I'm not entirely a fan of the GPL (its a bit too viral for my tastes; yes, I am aware of the counterarguments that this may not the case), I do support the principle of open-source software where feasible (and there are many reasons why in some circumstances a closed-source/propriety-based route for software is preferable).

Hence Kharne, if it ever gets released will probably be LGPL at most. It cannot be GPL since it uses 3rd party VCL components which themselves are not-GPL compatible (for the record, the license terms of said components allow embedding and distribution in free software).

Getting back to Angband, a couple of change in the new version have caught my programmer's eye. Firstly,

"Set up an event system for UI display updates, where the game communicates with the UI by sending messages saying that something's changed that the UI might be interested in, rather than deciding that specific things should be redraw. The main screen updates all use this system now. Amongst other things, this system should help things like the borg and graphical frontends, because they can hook right into changes in state. (#348) "

Obviously Angband is at heart (and still is) a console application, but it is interesting to note they appear to have finally moved to a paradigm that window-based GUIs have had since almost the year dot. Its a heck of a lot easier for the UI to be in charge of updating the screen than it is for screen updates to be scattered willy-nilly about the rest of the code. As I'm not familiar with the Angband codebase to any extent beyond being "inspired" by its dungeon generation algorithm, I don't know the exact reasons for the switch now, but being a professional software engineer in my non-Roguelike existance, I'd put money on two things: 1) refactoring the UI code was most likely a massive job and they had to wait until they had a sucker^H^H^H^H^H^Hvolunteer lined up to do it, and 2) the previous code was getting really really REALLY unmaintainable.

The second change of note ties somewhat into this recent thread on r.g.r.d:

"Monster HP is now specified as an average value around which to randomise, instead of using a "12d5"-type calculation. Uniques always have the number of HPs specified in the monster.txt file, like before."

At first glance, this sounds like an attempt to blunt the fangs of that fearsome elite mob, the RNG. Is this such a good thing? I'm not sure. For standard monsters, isn't part of the "fun" finding one that goes down like a sack of potatoes, or one that is hard as nails? Or is the fact that one orc may have six times as many hit points as his brother simply random-masochism or the sake of it?