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 rec.games.roguelike.development - 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.
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.
- "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?
- "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?
- "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).
- "Crawl YASD - guillotined for no reason & orcs in Lair". Alright, this is a refugee from rec.games.roguelike.misc. 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.
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?
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?
Tuesday, 30 December 2008
Programming Wars (not)
Sometimes miracles do happen. A recent thread on r.g.r.d. asked for advice on programming languages to use for developing roguelikes. And the corresponding thread didn't descend into a language war. Is the roguelike community finally growing up?
Sunday, 21 December 2008
Bad Dungeon Design
Apologies for the lack of updates recently, this has gotten in the way.
There has been a bit of a hooplah recently over a new Dungeon Generation algorithm released into the public domain over on r.g.r.d. and touched tangentially upon over at ASCII Dreams. Here is a sample of its output:

I'm of the opinion that this is sub-optimal for roguelikes, primarily because of one main factor: geometrically, it is too deadly for any reasonable player. Leaving aside the obvious irony of this statement since roguelikes are a genre where one mistake in game-play could kill you forever, a map such as this tilts the balance of the game too far away from the RNG towards a style of game-play where the presence of even one OOD monster with extended following abilities means the level (and almost certainly) the character is a certain and complete and unavoidable write-off. A map such as this, lacking any in-level escape options, would almost inevitably lead to an overwhelming sense of frustration quite quickly, and would shortly result in whatever game used this dungeon design being deleted off the players' hard drive.
So what could be done to make this map more suitable? Not that hard actually (though I may be underestimating the difficulty due to not being familiar with the original algorithm). Each "branch" needs to be connected up with another (not just through the centre) to allow at least one alternative escape option for a player:

If this is done, I feel this could be another interesting dungeon design, one of many that roguelike authors could use.
There has been a bit of a hooplah recently over a new Dungeon Generation algorithm released into the public domain over on r.g.r.d. and touched tangentially upon over at ASCII Dreams. Here is a sample of its output:

I'm of the opinion that this is sub-optimal for roguelikes, primarily because of one main factor: geometrically, it is too deadly for any reasonable player. Leaving aside the obvious irony of this statement since roguelikes are a genre where one mistake in game-play could kill you forever, a map such as this tilts the balance of the game too far away from the RNG towards a style of game-play where the presence of even one OOD monster with extended following abilities means the level (and almost certainly) the character is a certain and complete and unavoidable write-off. A map such as this, lacking any in-level escape options, would almost inevitably lead to an overwhelming sense of frustration quite quickly, and would shortly result in whatever game used this dungeon design being deleted off the players' hard drive.
So what could be done to make this map more suitable? Not that hard actually (though I may be underestimating the difficulty due to not being familiar with the original algorithm). Each "branch" needs to be connected up with another (not just through the centre) to allow at least one alternative escape option for a player:

If this is done, I feel this could be another interesting dungeon design, one of many that roguelike authors could use.
Thursday, 30 October 2008
Hiatus
Development of Kharne is in hiatus at the moment, despite my exams being over and life conditions ideal for coding. This is mainly due to a mistake of my own volition. I opened up Delphi recently to do some coding and was greeted by the following screen:
All standard and custom VCL components are missing and all settings have been reset back to not just default, but a pretty much empty configuration that is no good for anything except console apps. The packages (both standard and custom) are all gone as well and are unreinstallable. In short, my installation is totally corrupt. I think I caused this by partially uninstalling Delphi by accident whilst doing a major clean-up on the hard disc a while back. I’ve tried reinstalling Delphi but despite hacking about in the registry I can’t get any custom components reinstalled.
There’s an old urban myth going about that the Chinese word for “crisis” is a conglomeration of the symbols for “danger” and “opportunity”. So I think I’m going to take this opportunity, when funds permit, to upgrade my development environment to Delphi 2009:
Once I do that, development will restart at full throttle. In the meantime, I hope to be more active than recently on various aspects of roguelike programming.
All standard and custom VCL components are missing and all settings have been reset back to not just default, but a pretty much empty configuration that is no good for anything except console apps. The packages (both standard and custom) are all gone as well and are unreinstallable. In short, my installation is totally corrupt. I think I caused this by partially uninstalling Delphi by accident whilst doing a major clean-up on the hard disc a while back. I’ve tried reinstalling Delphi but despite hacking about in the registry I can’t get any custom components reinstalled.
There’s an old urban myth going about that the Chinese word for “crisis” is a conglomeration of the symbols for “danger” and “opportunity”. So I think I’m going to take this opportunity, when funds permit, to upgrade my development environment to Delphi 2009:
Friday, 19 September 2008
Delays and Delays and Delays...
Yes, I'm aware I was meant to have released a version of Kharne by now. Unfortunately, real life has intervened quite dramatically over the last weeks/months. I have exams coming up in early October and once those are over, I hope to get back finally to development, Wrath of the Lich King not withstanding. I'll also release what I have coded so far at that point (although many things will still be incomplete of course, but such apparently is the life of a Roguelike).
In other RL news, its good to see Lords of Dark Hall is now back in active development. And a new (even harder, I suppose) version of Crawl (I'm still playing and dying in 0.3.4). And I also notice that LambdaRogue which only recently achieved the magical 1.0 status, is currently being rewritten. From personal experience, I can tell you that this rewriting business is a dangerous two-edged sword. As I recounted before, when I tried this for the original version of Kharne, it depressed me so much it stopped me writing any code for about five years.
And of course, where would roguelike development be without a flamewar (surprisingly not on r.g.r.d. this time). wouldn't be the same place without a major flamewar. On rec.games.roguelike.misc this time. Over permadeath, inevitably. Years and years ago, I would probably have agreed with the posters who (rudely) advocated not using permadeath. But now, let's just keep things, and especially Crawl, the way it is, ok? That's what makes it Crawl.
In other RL news, its good to see Lords of Dark Hall is now back in active development. And a new (even harder, I suppose) version of Crawl (I'm still playing and dying in 0.3.4). And I also notice that LambdaRogue which only recently achieved the magical 1.0 status, is currently being rewritten. From personal experience, I can tell you that this rewriting business is a dangerous two-edged sword. As I recounted before, when I tried this for the original version of Kharne, it depressed me so much it stopped me writing any code for about five years.
And of course, where would roguelike development be without a flamewar (surprisingly not on r.g.r.d. this time). wouldn't be the same place without a major flamewar. On rec.games.roguelike.misc this time. Over permadeath, inevitably. Years and years ago, I would probably have agreed with the posters who (rudely) advocated not using permadeath. But now, let's just keep things, and especially Crawl, the way it is, ok? That's what makes it Crawl.
Subscribe to:
Posts (Atom)
