Gruesome
It is pitch black. You are likely to eat someone…
Saturday, 21 February 2009
Best tagline for a roguelike ever
Posted by
Andrew Doull
at
21:35
4
comments
Labels: links, roguelikes
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.
Posted by
Andrew Doull
at
15:24
2
comments
Labels: links, roguelikes, something awful saturday
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.
Posted by
Andrew Doull
at
21:41
19
comments
Labels: 8prl, game design, roguelikes
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.
Posted by
Andrew Doull
at
08:34
2
comments
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.
Posted by
Andrew Doull
at
12:40
4
comments
Labels: ascii art, links, roguelikes, something awful saturday
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.
Posted by
Andrew Doull
at
23:54
7
comments
Labels: development updates, unangband
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.
Posted by
Andrew Doull
at
18:27
2
comments
Labels: roguelikes, speaking
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:
- Play the game, get frustrated with game design problems
- Realise you can edit the data files, cheat
- Edit the data files to include more monsters
- Ask or figure out how to compile code
- Release 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).
Posted by
Andrew Doull
at
09:01
7
comments
Labels: adom, articles, data driven design, links, roguelikes
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.
Posted by
Andrew Doull
at
14:35
6
comments
Labels: polls
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?
Posted by
Andrew Doull
at
23:29
11
comments
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 |
| ||
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 |
| ||
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 |
Posted by
Andrew Doull
at
21:44
8
comments
Labels: angband, game-design, unangband