Saturday, 21 February 2009

Best tagline for a roguelike ever

Gruesome

It is pitch black. You are likely to eat someone…

Something Awful Saturday featuring Goon Tower

From the guys who brought you Classic Video Game Covers, comes the Dwarf Fortress floor in Goon Tower:

Next week I'll be looking at the Goon City.

This ongoing series is dedicated to the FAAngband 0.3.6 release.

Thursday, 19 February 2009

8PRL – the 8x8 pixel Roguelike Competition

The challenge: create a roguelike that has a total resolution of 8 pixels by 8 pixels, each pixel of which is an RGB LED display.

It's not entirely clear, but I suspect the RGB display implies a total colour depth of 2^3 = 8 colours (red, green and blue set to on or off state).

It may be possible to vary the intensities more: certainly the screen shot suggests this (orange is displayed, which doesn't fall into the above criteria). I’d suggest that you can have a maximum of 28 distinguishable colours in a 'screen based' RGB display, based on what Leon Marrick achieved in Sangband.

For consistency, it’s probably best to refer to them as follows:

D - Dark Gray

w – White

s – Gray

o - Orange

r – Red

g – Green

b – Blue

u - Brown

d – Black

W - Light Gray

v – Violet

y - Yellow

R - Light Red

G - Light Green

B - Light Blue

U - Light Brown

p – Purple

P – Light Purple

t – Teal

m – mud

Y – Light Yellow

i – Dark Pink

T – Light Teal

V – Light Violet

M – Mustard

I – Light Pink

z – Blue Slate

Z – Deep Light Blue


If you’re especially concerned, I can give you a copy of the RGB values that Sangband uses, or you can ask at the original 'challenge' location. Note that this is a maximum number of colours: you’re free to use less for bonus points and to make the game easier to understand.

Note the reference hardware supports a buzzer for a speaker and single life bar across the top consisting of a single colour status LEDs. It has a limited number of controls: a d-pad and two other buttons.

I’ll post my design separately to avoid influencing the discussion further.

May the best pixels win.

Wednesday, 18 February 2009

More Borg Call Graphs

I'm experiencing this phenomena called being busy that I don't normally allow to affect my blogging or development work but appears to be doing so more as I age. I believe this is related to a phenomena called sleep that seems to be an requirement I wasn't previously aware of.

In lieu of anything intelligent to say with this update, I present more borg call graphs. Thanks again to darke for generating these. From his notes:

These ones are 500k turns, with a level change every 1000 turns to try and simulate someone actually playing it. Took about 20 hours to run through the tests with all the instrumentation turned on.

The first is the entire graph. The second one focuses on the playing "dungeon" side of the tree. The last one focuses on the dungeon generation "cave_gen" side of the tree.



Saturday, 7 February 2009

Classic Video Game Covers

I'd been enjoying reading this thread on Something Awful all morning and just started getting to the roguelikes:


And earlier:



and


I hope the above is fair use - please see the 28+ page thread for the originals.

Monday, 2 February 2009

Borg call graph

I would just like to publicly thank darke who has made an excessive number of bug fixes on the SVN version of Unangband in the last few weeks - including picking up some golden oldie bugs.

This is yet another example of why making your source code easily available is a great idea.

A number of these bugs were identified by using the so-called dumb borg, an automated Angband player developed by Leon Marrick. The dumb borg is different from other Angband borg implementations because it cheats, and in the Unangband version, is prone to jump rapidly from level to level.

Darke's just sent me a call graph for a 1000 turns of borg, which I'd like to share with you. The borg is heavily biased towards spending time in dungeon generation, but it's still interesting to see which code is the most heavily used. (Click on the picture for a higher resolution version).

Many of the remaining bugs were identified by darke porting the Angband source code to C++ (by renaming every .c file to .cpp and recompiling). C++ picks up a lot more warnings than the venerable gcc compiler I've been using - and most of the warnings have identified logic and syntactic errors in the code that he's gone on to fix.

Sunday, 1 February 2009

Linux.conf.au slides

For those of you who attended, the slides to my presentation are available here.

For the rest of you, I hope you can figure out what I'm trying to say.

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).

Tuesday, 27 January 2009

Results for 'What trends will roguelikes see in 2009?'; new poll

Thanks to the 64 of you who voted.

More roguelike-likes
25 (39%)
In browser gaming
14 (21%)
Portable gaming
20 (31%)
More complexity
22 (34%)
More releases
15 (23%)
Less releases
7 (10%)
Less complexity
4 (6%)
Roguelike engines/libraries
19 (29%)
User generated content
20 (31%)
Move towards mainstream
5 (7%)
Remain niche market
33 (51%)
More commercial releases
5 (7%)
Less commercial releases
12 (18%)
Stuck in fantasy settings
11 (17%)
Explore other settings
25 (39%)

The new poll asks you how you started playing Angband.

Friday, 23 January 2009

Freeband

I attended the gaming mini-conference at Linux.conf.au this year and, as mentioned, presented a 25 minute seminar on a loosely associated stream of ideas around amateur game development and how this relates to roguelikes. I also sat on the game development panel and hopefully contributed some interesting comments: arguing especially for developing games in 2d to avoid the complexities of 3d.

Unfortunately, the gaming mini-conf (and Linux Chix in the same room the previous day) were deemed last on the list for video coverage, and when one camera failed to turn up, we missed out on getting any of the seminars on video. So you've missed out on me publicly betting $10 against Nick of FAAngband fame (who wasn't there, but I deemed a worthy challenger given his comments earlier herein) that there won't be any Angband variants released this year, in front of a slide explaining exactly why this won't be the case. There may be a digital photograph available later, although I've not seen anything on the official site.

Thanks to those people who took the time to talk to me on the day - my apologies for being a little distracted, but I also had a couple of customer visits to do in the afternoon so slipped out for a while.

The most interesting thing to come out of the gaming mini-conf was a presentation by Nic Suzor on the interaction of free software and copyleft with the legal system. Nic is in particular looking for examples of free software that works on home brew systems - ideally in an Australian context - due to the local legal pressure being put on home brew hardware suppliers by the likes of Nintendo. In order to push for legislative change, he needs to be able to show case studies where home brew has enabled software to be developed and released on a platform that would not otherwise have done so.

I spoke with him afterwards briefly, and suggested the recent GPL release of Angband, along with the local development involvement in the Nintendo DS port may be appropriate for him (Nick - drop me a line and I'll pass on his details).

Therein lies a bit of a problem. Angband is, for want of a better word, inspired by the copyrighted works of an English author whose estate, while not particularly litigenous, may not be especially eager to hear that the software derives a small portion of its content from these works. We have achieved a great deal by GPLing Angband, but I suspect that we may be tripping at the last hurdle, or at least ignoring the oncoming bus (to mix metaphors), by including work that could potentially infringe.

While the emphasis is on the word potentially, Nic did stress that a large part of this somewhat grey area of the law is sensible minimisation of risk. I would like to suggest that in this case a sensible minimisation of risk would be to develop an Angband variant that does not infringe on these works, and put that forward as the example Nic needs to help change the law locally. Such a variant, Freeband, would feature original fantasy content that justified the existance of a deep dungeon under a ramshackle township, with a progressive increase in risk towards an ultimate evil in the lowest depths.

The resulting gains would unfortunately be offset by a level of loyalty and fandom that the original material engenders. I think a sufficiently motivated cabal of individuals could overcome these problems, and create an equally mythically inspired world which people can invest their belief.

Volunteers?

Monday, 19 January 2009

A rebalanced list of weapons for Unangband

No wonder everyone in Angband starts out wielding daggers. They are freakishly good.

Values that have been modified are in red (I've also hand modified the table after the fact, so a couple of calculations may be out):

Weapons






Description Dam/AC Wgt Lev Cost Info Average Damage Damage per wgt
Broken Dagger 1d1 0.5 0 1 1 2
Shovel 1d2 6 1 10 1.5 0.25
Gnomish Shovel 1d2 6 10 100 1.5 0.25
Broken Sword 1d2 3 0 2 1.5 0.5
Orcish Pick 1d3 18 15 300 2 0.111111111
Pick 1d3 15 5 50 2 0.133333333
Dwarven Shovel 1d3 12 20 200 2 0.166666667
Dart 1d3 1 0 10 2 2
Dwarven Pick 1d4 20 25 600 2.5 0.125
Whip 1d4 3 1 10 2.5 0.833333333
Dagger 1d4 1.2 0 15 2.5 2.083333333
Main Gauche 1d5 3 3 25 3 1
Javelin 1d6 5 5 36 3.5 0.7
Hatchet 1d6 4 3 30 3.5 0.875
Small Sword 1d6 3.5 5 48 3.5 1
Rapier 1d6 3 5 42 3.5 1.166666667
Spiked Club 1d7 13 1 10 4 0.307692308
Cutlass 1d7 5 5 35 4 0.8
Spear 1d7 7 0 30 4 0.571428571
Short Sword 1d7 4 5 60 4 1
Throwing Axe 2d3 2.5 30 80 4 1.6
Mattock 1d8 25 30 700 4.5 0.18
Awl-Pike 1d8 16 5 35 4.5 0.28125
Harpoon 1d8 6 5 120 4.5 0.75
Sabre 1d8 5 5 50 4.5 0.9
Ball-and-Chain 2d4 15 5 45 5 0.333333333
Quarterstaff 1d9 7.5 5 200 5 0.666666667
Mace 2d4 6 5 65 5 0.833333333
Throwing Hammer 2d4 3 40 125 5 1.666666667
Sacrificial Dagger 2d4 3.6 20 1000 5
1.388888889

Broad Sword 2d5 7.5 10 255 6 0.8
Long Sword 2d5 6.5 10 300 6 0.923076923
Glaive 2d6 19 15 363 7 0.368421053
Lucerne Hammer 3d4 12 5 180 7.5 0.625
Bastard Sword 3d4 9 10 350 7.5 0.833333333
Katana 3d4 6 20 400 7.5 1.25
War Hammer 4d3 9 10 225 8 0.888888889
Two-Handed Spear 2d8 20 10 230 9 0.45
Pike 3d5 16 10 120 9 0.5625
Broad Axe 3d5 12 10 304 9 0.75
Scimitar 3d5 10.5 10 250 9 0.857142857
Lead-Filled Mace 4d4 18 15 502 10 0.555555556
Trident 3d3 14 5 75 10
0.428571429

Scythe 5d3 12.5 15 400 10 0.8
Flail 2d9 12 15 353 10 0.833333333
Two-Handed Mace 4d4 12 15 450 10 0.833333333
Two-Handed Sword 3d6 12 20 775 10.5 0.875
Executioner's Sword 4d5 19.5 20 850 12 0.615384615
Halberd 4d5 19 20 430 12 0.631578947
Morning Star 6d3 15 20 396 12 0.8
Battle Axe 3d8 17 20 334 13.5 0.794117647
Great Axe 4d6 23 25 500 14 0.608695652
Beaked Axe 4d6 18 25 408 14 0.777777778
Two-Handed Flail 3d9 28 25 590 15 0.535714286
Executioner's Axe 4d8 25 25 750 18 0.72
Blade of Chaos 6d5 18 50 4000 18 1
Scythe of Slicing 8d4 25 45 3500 20 0.8
Mace of Disruption 5d8 40 55 8700 22.5 0.5625
Lance 3d8
33 25 460 18 0.818181818