Saturday 31 January 2009

Unangband Edit Files: Part Three (Generosity)

(You'll probably want to start with part one and part two of this series)

Krice of Rogue Hut has pointed out that Thomas Biskup, author of Ancient Dungeons of Mystery is debating on the ADOM forums whether he should make the game open source. Krice summarises the advantages and disadvantages nicely, but I feel compelled to defend the "Angband effect" that Thomas criticises - the compulsion to create new variants of the existing game.

Angband has a host of variants (suggestions on a better collective noun to describe this are welcome). Everyone points to the source code clean up that Ben Harrison instigated in the late 90s as the primary reason for the large number; but in the Linux Gooey, I identified the process for creating an Angband variant as follows:

  1. Play the game, get frustrated with game design problems
  2. Realise you can edit the data files, cheat
  3. Edit the data files to include more monsters
  4. Ask or figure out how to compile code
  5. Release an Angband variant
  6. ????
Step one of this process is why there won't be another Angband variant released this year. Andi Sidwell is working towards resolving the game design issues that Angband has, which I believe is the primary motivating factor for creating an Angband variant.

Thomas should be more worried about source code access spoiling the game (step two). But in this day and age of Internet access, every game is effectively spoiled within weeks of its release. There are plenty of spoilers available for ADOM and I would argue you should design games to be enjoyable even if they are completely spoiled. The classic games (Chess, Go etc.) have a completely visible rule set and hundreds of books devoted to 'spoiling' the game by describing as many permutations of play as possible, but these games are still enjoyable.

I'm unsure whether ADOM is interesting enough to be playable even with complete spoilage. I don't believe ADOM will be forked 'significantly' in that the player base will be fragmented by multiple competing variants. What should happen, depending on how clean and supportable the code base is, is that the generosity of strangers will make ADOM stronger and more widely played: long standing obscure bugs fixed, more platforms supported, and a vibrant community maintained even without the day to day involvement of the designer. That has been my experience with Unangband and I don't expect ADOM to be any different.

But the "Angband Effect" is more than just a response to bad game design - Angband, in general is designed well, just with some rough edges. The most important reason Angband variants get released, as opposed to just being redesigned on the back of a napkin, is the ability of players to edit the game data, and especially, create new content without breaking the game.

The edit file structure is the key to allowing this. The "Attack of the Colon" design is a much lower bar than having to understand scripting, as you can just copy and paste, add and delete parts or whole and the game will continue to work (most of the time).

And data driven design has been key to the growth of Unangband.

(More to come in part four).


Stu said...

I have not readl all of the linking articles, but one of the things I think overlooked is that if open sourced ADOM wont really be forked beyond porting to oddball handhelds is that ADOM is its story, to really fork adom you'd need to alter much of its story and I'd wager its all hard coded into its source rather than any easily editable data files...

but having not seen it, who knows :)

Antoine said...

I'm not sure that ADOM has been 'effectively spoiled' even now...? Are there not still unanswered questions?


John Greenberg said...

There are a few unanswered questions: the spear of raw steel, the scroll of omnipotence. But besides those two, that's almost it.

Rodneylives said...

The note on how all games tend to be spoiled within weeks is interesting. There's a popular perception that Nethack is a game in which the player -has- to be spoiled in order to win. This is largely true; to get the information needed to win without spoilers, the player has to get Oracle major consultations many times, which is typically (but not always) over a thousand gold per pop each time. That's a lot of games right there, enough so that a learning player will have to play many disposable games just to get that information, and there are still things the Oracle doesn't reveal.

And yet, once the player has all that information, Nethack becomes -much- easier. Beyond issues with some early monsters, once the player gets poison and magic resistance and decent armor, and knows what to do from there to fill in his remaining ascension kit requirements, winning is fairly easy.

Even with its randomized elements, it doesn't seem to be a game which was designed with the assumption of the availability of copious spoilers. But my question is: would it have been possible for the game to have been designed in such a way that spoilers could have been much less useful?

I think the only way the effect of spoilers could be effectively negated would be to embrace random creation to a degree far beyond even what roguelikes now do. Even then, those algorithms will certainly have some quirks that a player knowledgeable of them could utilize to gain an edge.


Unknown said...

"and a vibrant community maintained even without the day to day involvement of the designer. "

adom has been at this point for 10 years. we're doing just fine without silly angband effects letting people run around as jedi's duel wielding a chain saw and lightsaber with a pet dinosaur.

Andrew Doull said...

Steve: I think you're referring to a game other than Angband.

Darke said...

Can't say I've seen any Jedi digging through the unangband files, but there's definitely a "Space bat", though I've no idea what it does.

Also as far as I can tell there is also a distinct lack of lightsaber-with-pet-dinosaurs (presumably the per dinosaur is an optional attachment to the lightsaber), though perhaps you're thinking nethack instead? It's random enough it's possible it has one.