Tuesday 31 December 2013

Page down key

If you're on a PC, it's at the top right of your keyboard.
If you're on OS/X, good luck...

[Edit: My apologies for the lack of vi-key support.]

Monday 30 December 2013


If you really liked 868-HACK but wished it had a bit more blood and sandals, Hoplite (iOS, Android) may be your thing...

(Touch Arcade thread where it appears to be causing people to sacrifice their GotY to the ancient gods)

Tuesday 17 December 2013

Request for Votes: Ascii Dreams Roguelike of the Year 2013

290 roguelikes have qualified this year: this is only a slight increase of 7 roguelikes from last year and begs the question: 'Have we reached peak roguelike?'. More importantly, there's a significant difference in the included roguelikes as I have included all the 7DRL entries this year. I have not done this in previous years, so the figures could hide an actual drop in the total roguelikes released in 2013. However...

How did the games qualify?

The list was taken from the roguelike releases announced on the Rogue Basin news section between December 16th 2012 and December 16th 2013 and the 7DRL rogue likes that were rated by the challenge evaluation process. Unfortunately the list of Actively Developing Roguelikes is no longer maintained, so I instead included roguelikes listed on the last 6 months of  posts on the roguelikes subreddit. This undoubtedly misses more rogue like releases than in previous years. I especially note that the Rogue Basin news section appears to be heavily biased against commercial releases - whereas the roguelikes subreddit is biased towards commercial releases so in summary it probably evens out. However, more eclectic releases will undoubtedly be missing from the list.

If there is a roguelike you want to vote for which is not on the list, please post in the comments and I will include your votes in the final totals.

What about 'x'? Why isn't it on the list?

Make sure you announced your roguelike on Rogue Basin for next year.

What about 'y'? Why is it on the list?

As roguelikes become more popular, the term is used to increasingly describe a broader type of game. This list has expanded to embrace that idea, but mostly to ensure that we don't miss any actual roguelikes. With this many entries, I'd rather be inclusive rather than exclusive, as I cannot possibly play every entry. You are free to not vote for a game if you don't consider it a roguelike.

What's the prize?
Pride. And a sexy logo - if you want one. You can see the winning 2007 logo on the Dwarf Fortress links page. Other winners are free to request them, but haven't done so. Logo designs for this year are welcome.

Having a competition is a dumb idea/offensive/stupid when you can't police the results.

Yep. Doesn't stop it being fun. You can vote for multiple different roguelikes. The idea here is that you will be encouraged to go out and download a roguelike that other people consider interesting, not that there is any kind of real competition element involved.

Wednesday 4 December 2013

An Interview (of me)

I just received an enthusiastic email from someone who clearly loves the blog having just started reading it, but is also wondering where I am at. I thought I'd include my response to his email below:

My output has dropped significantly now I have children. I hope you've also checked out the PCG wiki that I've set up, and have read the chapters of the PCG book Noor Shaker, Julian Togelius, Mark J Nelson et al are putting together.

Conveniently, below is the interview responses to some interview questions that the above authors sent me recently - I hope these answer your questions. Their questions are in bold.

Was there anything you wanted to do in a game you worked on that you could not do because of algorithmic or computational limitations?

My thinking about game design has changed significantly over the years, since writing the original Death of the Level Designer series of articles. One of the key changes - guided a lot by games like Michael Brough’s 868-HACK - is that a game should embrace limitations, rather than attempt to design around them. So rather than creating procedural systems which can model everything ala Dwarf Fortress, there are real advantages in keeping games as limited as possible in order that the significance of individual procedural elements is emphasized, rather than smoothed over by a melange of inputs. My personal limitations are very much around algorithm implementation rather than design: for instance, while I have a good understanding of what a Voronoi diagram looks like and where it could be used, I’m unlikely to ever successfully reimplement anything but a brute force approach for calculating cell membership.

What new design questions has PCG posed for some game you worked on?

I’ve written extensively about this - refer to the writing on my blog post on Unangband’s dungeon generation and algorithmic monster placement for specific discoveries. Since then, UnBrogue includes very little original procedural content: I mostly plug new values into the well written framework that Brian Walker has developed for Brogue’s ‘machine’ rooms. These days I try to steer clear of actually designing procedural systems: my experience is that you can achieve a lot using a very simple set of algorithms, provided you choose your content carefully (see Darius Kazemi’s essay on Spelunky’s level generation for a great example of this).

Which is the most impressive example of procedural content generation you have seen since your own work?

I’d be hard pressed to ignore Miguel Cepero of Voxel Farm, who I’m sure a lot of people you interview will mention. While the above ground system looks great, it was his cave designs that won me over, after being a doubter. What really impresses me though is he’s developing all this while being the father of twins - I’m in the same position and I can never find the time...

What do you think of the fact that roguelikes have become a genre of their own? Is PCG in your opinion an essential part of what a roguelike is?

I’m going to quote Edmund McMillen here, since he made the definitive statement on why you should write a roguelike:

"The roguelike formula is an amazing design plan that isn't used much, mostly because its traditional designs rely on alienatingly complicated user interfaces. Once you crack the roguelike formula, however, it becomes an increasingly beautiful, deep, and everlasting design that allows you to generate a seemingly dynamic experience for players, so that each time they play your game they're getting a totally new adventure." -- http://www.gamasutra.com/view/feature/182380/Postmortem_McMillen_and_Himsls_The_Binding_of_Isaac.php

PCG is obviously an important part of this process, but it isn’t independent from the other roguelike genre features like permadeath. My hunch is that there are other ‘design plans’ out there that are waiting to be found that will feature PCG - in fact the majority will do, but we don’t necessarily know what they look like, or have the maturity of the medium (of PCG) to be able to discover them.

What's your tips for designing games that use PCG?

Keep your algorithms simple and choose your content carefully.

Do you have any interesting stories about PCG failures?

Not personally, since I’ve taken such a conservative approach to PCG algorithms.

In general, is there anything in a game you think could never be procedurally generated?

The specific quirks of the real world. I’m not saying that PCG can’t create something like the real world: I expect the depth required to make a world ‘completely convincing’ is actually more shallow than most PCG ‘haters’ realize - but ultimately, when it comes to simulation, the fact that we exist at a specific time and place in a continuum of choices and random events is something that PCG can only hold a mirror up to. Hand placed design will always be needed if you want to model history - PCG will overtake hand placed design for ‘fantasy worlds’ in the not too distant future.

[Edit to add: I also think the trend to 'single map games' like DotA 2, and e.g. de_dust2 in Counter Strike may also provide an impediment.]

Why is PCG not used more?

PCG is a language that requires a level of literacy to understand. We’re not effectively teaching this language yet, but we’re not effectively teaching the language of game design in general either. Also, it is often more expensive than hand placed content, because a PCG algorithm which is only 90% complete can not create anything useful, whereas 90% accurate hand placed content is clearly 9/10ths done. It's hard to describe working with PCG this way, but there’s almost a phase change between when a PCG algorithm just creates junk, and when it starts producing beautiful results, and it can be very hard to tune it to reach this state.

What do you see as current directions for PCG that are worth investigating?

There’s a lot of interesting stuff happening on the academic side - getting this to percolate over to game development is going to be the real challenge.

Wednesday 23 October 2013

The Loneliest Frontier

If you have been following me on twitter, you will know I've taken the plunge into the world of board games*. This almost happened by accident: I'm still tweaking the Civilization Revolution variant that I've written the manual for (and little else); and one of the resources I'm using is the rocket science fan site Atomic Rockets. One of the games which gets the Atomic Rockets seal of approval for scientific accuracy in space flight is High Frontier, a game which has been around for a few years, but has just released a new version of its game expansion High Frontier: Colonization. And this, along with Bios: Megafauna by the same designer, are the board games I've decided to first buy and play.

The designer, Phil Eklund, is an actual rocket scientist but surprisingly High Frontier was not his first game - but he has gone on to develop it as a part of his magnum opus: a board game series which allow you to play through the history of the earth (currently from the Permian catastrophe using Bios: Megafauna), mankind (using the now out of print Origins: How We Became Human) and out into space using High Frontier, High Frontier: Colonization and a solitaire game High Frontier: Interstellar which uses the HF: Colonization playing pieces along with a poster map you order online and simulates the first interstellar colonization attempt. Phil has promised further games in the series: namely Bios: Genesis which will cover the origin of life from RNA to multi-cellular organisms, and Bios: Insecta which presumably will cover the pre-Permian period from invertabrates to vertabrates and for which he has made few details available other than the name [Edit: Insecta exists and is mostly in print]. Each game in the series also details how you move from one to the next (another poster release, Bios: Origins expands the Bios: Megafauna and Origins maps, and includes the rules to get from megafauna to High Frontier).

The whole concept is gamer catnip, and I am extraordinarily surprised that the games are not more highly coveted and praised. As a board game neophyte, I can see several reasons for this:

  • The barrier to entry for playing a board game is much higher - namely you have to have two to five people in the same room at the same time, with a similar understanding of a set of rules which only knowledge of these rules is capable of enforcing. So a lot less games get played, and the process of developing and testing these games is a lot less likely to find game design issues which are only obvious after repeated plays.
  • There is an accompanying weird fetishization of physical objects attendant with owning a board game. The process of shipping creates a dissonant anxiety (did I order the right things? when will they arrive?) not to mention the process of handling and taking care of the game (I bent a card! what do you mean I have to cut stuff with scissors?). I can happily report I had absolutely no issues with the procurement process: for High Frontier, you buy the base game here, and the Colonization ziploc expansion here (which fits in the original box) and you'll need to get both to get the 10/10 game experience. Phil has also mailed the pieces to the two players who ended up with a single missing component without prompting when they mentioned it on the Board Game Geek forums.
  • It is not entirely clear which games to buy and which are still available, especially from the Board Game Geek site. At the moment, you can only get High Frontier + High Frontier Expansion, and Bios: Megafauna; and two posters, one for High Frontier: Interstellar and one for Bios: Origins. I'll put together a poster buying guide when I take the plunge. Additionally, you'll need to download the living rules for Bios: Megafauna (and Bios: Origins - there's an optional rule about Herbivore immigrant placement which is recommended by enough people for the main game) and email Phil Eklund to get access to 3 'Alive & Complete' Google docs: for High Frontier, High Frontier Civilisation and High Frontier Interstellar.
  • The way these particular games are designed to work involve a high level of randomness which results in repeated set backs. Coming from a roguelike background, this isn't an issue but the randomness is anathema to what I understand is the Eurogame style of play that a lot of board gamers ascribe to. The alternative school of board games, called Ameritrash, would bounce off the set back side of things, combined with the fact that playing requires a lot of forethought and set up turns (each turn in High Frontier is quite quick to resolve, but if you don't build your rocket right, or miscalculate the fuel required for a trip, you need a lot of turns to recover).
  • The themes and expression of these themes are pitched hard into my hard science fiction ball park ("Blue Goo Sophonts, New Attica Secessionists"), but could be incredibly off putting to your average Star Wars/Star Trek nerd, if such a beast exists (what do you mean there's a whole game dedicated to making one trip of less than 10 light years?). Similarly the balance between game and theme is way off - over half the basic High Frontier manual is a detailed explanation of the technologies involved, and the average High Frontier card has the same balance between information and chrome of a face card in a standard deck of cards - although a lot more information needs to be packed onto a single HF card.
  • The scale and scope of the games is quite different to conventional games set in the genre. Science fiction games are typically multi-solar system spanning space opera epics; civilization games are usually technology centric; rather than socio-technical. Part of this challenge is due to Phil's naive Objectivist and rather perplexing climate change denialist stance, as well as his adoption of some offbeat ideas which sound like cards straight from Steve Jackson's Illuminati (L5 Society!).

It is this scale which is a refreshing change from video games: while the games are simulationist, they are only so in a sense that can be captured simply and expressed clearly - but they achieve much more than an equivalent computer game would dare to. Climate change in Origins involves submerging and exposing continental shelves and in Megafauna whole species can be wiped out in a single card draw. There is a profound cause and effect relationship in these board games which video games lose: were these games be ported to iOS (plz kk thx), people would treat the random number generator as biased against them.

As is my wont, after playing a game and a half of solitaire rules, I've already written a set of house/optional rules/variants for High Frontier: Colonization to address some imbalances in the political side of the game, and Phil has graciously indicated that if I can get them playtested, he'll include them as options in the online rules. That in itself poses a challenge, because I need to find 3 to 5 willing test subjects in Sydney who already understand (and preferably own) the game - or devote the time to learning the online Vassal module. I can't include myself in those games in case I need to tweak the rules while running live, but the changes I've made are simple enough I'm hoping they don't required much amendment.

But the sheer thrill of successfully building a rocket and landing it on Mercury has hooked me. I look forward to the rest of the series.

* Writing this post, I realise I actually mean a plunge back into the world of board games. I owned Steve Jackson's Illuminati at one point and possibly the original Civilization board game and expansion which predates Sid Meier's game. And I'm not sure whether Car Wars counts as a board game.

Tuesday 17 September 2013


Kornel Kisielewicz, developer of DoomRL recently asked via twitter and the Roguelikes Reddit what people expect from a modern roguelike - and received the usual responses: UI, graphics (and even multiplayer). While an excellent user interface is a necessary but not sufficient reason to call a roguelike modern, I think he is doing a disservice by dismissing my tweeted response out of hand that roguelikes need to be more like Brogue or 868-HACK.

I only have a few minutes to expand on this idea here, but ever since the Binding of Isaac, it is my belief that a modern roguelike should be of limited length, but infinite width. The games should be short - Brogue's maps are at the upper limit of what is acceptable for me any more; but replayable, and the experience should expand through unexpected interactions arising out of a small number of meaningful items, so that no two games play alike. The game cannot have much if any in the way of pre-game character development: characters should instead be defined by the random pickups that they must choose between - both to reduce the length of time playing, and to force the player to experience a greater variety of what the game has to offer.

I don't see this as a subgenre, as Kornel suggests: I see this as the future.

Friday 6 September 2013

Tips for 868-HACK: Part One

868-HACK is a game at a tactical level about positional conflict: you can fight an infinite number of enemies provided they approach one at a time with no gaps between them, whereas two adjacent enemies will leave you with only 1 hp remaining from full health and three will kill you. The margin of survivable to fatal is razor thin, so it becomes important to understand how your positioning and your programs can help you reduce the number of enemies you must face at a time. This can roughly be divided into three phases of play: incoming transmissions, either from entering a new level or siphoning; the post-transmission melee; and surviving the large number of enemies in the later levels of the game.

Spawn control
I have lost count of the number of times I have died from siphoning a 4 alert firewall on the opening level because the resulting incoming enemies spawned in a position that killed me. In a game with permadeath, even one as short as 868-HACK, if you rely on something once a sector that is only 90% effective, then your avatar will die over the course of a single game 57% of the time. And the biggest source of randomness that will affect you over the course of a single turn is the location and type of incoming transmissions.
Ignoring programs for the moment, there are several factors you can use to influence transmissions following a firewall siphon. The most obvious one is controlling how many enemies appear with each siphon. When you don't have the resources available to control the positional game (see below), it may be worth siphoning less efficiently for credits, energy or usage of siphons, if you can siphon two close firewalls separately instead of being forced to siphon both at the same time. And since transmissions don't appear in locations you can immediately attack - the 4 cardinal directions from your avatar to the nearest firewall - it may be worth siphoning in a more open location to decrease the number of grids transmissions are permitted to appear in, or to eliminate closer grids in favour of grids further away.
A number of programs allow you to reduce or modify the nature of incoming transmissions. The calculus of how many credits to spend to eliminate transmissions is a complex one, but again you should be willing to spend more resources the more transmissions are incoming in order to reduce this to an ideal 3 transmissions or less.
In terms of cost, a good rule of thumb is that 4 energy (two pushes) or 3 credits (specific enemy counter programs) allows you to kill a single enemy in positional combat if things go wrong and you have the right program so if you can eliminate transmissions for less than this amount, you should. You should also use this calculation as rough guide for how much cash and energy you need when entering a new sector (a number of enemies spawn per sector) - again depending on which programs you have. If we take 3 as the 'safe' transmission amount, you don't need energy or credits moving to sectors 2 or 3, 4 energy or 3 credits for sector 4, up to 20 energy or 15 credits for level 8. On top of that, you'll need up to 3 times the 'tactical parity flip' cost (see below) to deal with the remaining three enemies.

Positioning is all about ensuring that no more than one enemy ends up moving next to you each turn, which you can then stun to damage and eliminate. A corollary of this is you need to ensure that you never end up being forced to move next to an enemy - which can easily happen if you don't have what Michael Brough calls a 'tactical parity flip'. The canonical example of this is the .WAIT command. In the screen shot below, I'm unable to consume a turn of time to allow the DAEMON to move closer towards me and as a result I am forced to move towards them which allows the DAEMON to attack and remove my last hit point. Tactical parity affects all enemies which are an even number of moves away from you.

While there are a number of other tactical parity flips such as PUSH and STEP, you will most often use non-program parity flips. The most common is being able to attack another enemy, often at range, which uses up a turn, but you could also siphon to use a turn. Exiting the level has the opposite effect, you move, but no enemies get a turn, and you can use this to both flip parity and increase range between you and your enemies. And enemies can be blocked by other enemies which will flip the parity of the unit being blocked - the easiest way to do this is to retreat away from both enemies which is why paradoxically the corner grids are dangerous in this game as they offer no path of retreat. This is especially noticeable when you appear on a new level and have an incoming transmission a knight's move in from an otherwise clear corner. Unless it is a virus, you will have to spend a tactical parity flip or eliminate the transmission or you will be damaged by the resulting enemy.

Retreating has one important additional function. If an enemy has the wrong parity, and you can retreat so that it is presented with a choice of two grids it can enter, it has a 50% chance of moving perpendicular to you, which may present a ranged shot opportunity. This is not always effective - glitches appear to always move onto wall grids if at all presented with the opportunity; but conversely viruses appear to always move into a ranged shot opportunity if given the choice between that and the grids directly diagonal to you.

Viruses are more complicated because they have parity on the odd numbered grids away from you (or every third grid if you move towards them on your turn), and additionally have half parity moves. This is where a virus is two grids away from you and you are unable to attack it safely such as the top most virus to the left of the daemon next to me.
With half parity, eliminating the intervening enemy allows the virus to move into the grid adjacent to you and attack you on the same turn. Half parity moves cannot be parity flipped by using WAIT, attacking another enemy or using siphon, but can be eliminated by programs that allow you to change the intervening distance by one or by exiting the level. Most importantly, half parity can be flipped by retreating one grid - which is yet another reason why you should give yourself space to retreat and not get boxed into a corner.

It is important to note that viruses cannot just move one grid unless they are blocked. In the example below the virus closest to me is in a full parity position. Until I kill the daemon, it must either move north then west or east then south - both of which are also parity positions. When the daemon is killed, it will occupy the grid next to me. Unfortunately, while fighting the daemon, and the virus to the west which is at half parity, one of the two remaining viruses ended up with a blocked move and changed to half parity and was able to damage me.
Killing fields
The large number of enemies that appear in the late game, especially on level 8, need to be avoided or eliminated. Part of the early game is identifying how you will handle levels such as this one which are almost filled with enemies: in this example I was fortunate that the exit didn't appear in the bottom right hand corner when I entered from top left, and so I was able to step across the intervening grids, pausing to siphon points. There are a number of combinations of programs which can perform the killing function - and it may be useful to siphon near the exit on the previous level and enter 8 not having cleared 7, if you have a combination of programs that benefits from overlapping enemies or a mix of enemy types.

Monday 2 September 2013

Blue pill

Michael Brough has released 868-HACK on iOS, the culmination of 5 months of development following the 7DRL it is based on, 86856527. The TL;DR is that you should buy this game: it is the best iOS roguelike (though not by much), the best iOS game released so far this year, and my GoTY, which is something I shouldn't be saying in September.

My question is, given how great a game it is, is when should we talk about it on Roguelike Radio? The TL;DR for that is in my opinion is never - or more specifically, we should have a lively hour to an hour and a half inside baseball conversation full of insight and praise for the game, and then take the hard drives the episode is recorded on out into the desert and bury them next to Jason Rohrer's game meant to be played in two thousand years. (They're digging up the old copies of E.T. far too soon).

The reason for that is far more interesting: this is a game for which a large part of the pleasures of learning to play it is prone to being spoiled, but not for the reasons of any other game I've played and that is part of what is unique about Brough's design. (Caveat: I've not played Starseed Pilgrim, for which you can read Michael Brough's thoughts on here noting that his statement 'you can get better at it. It's not about uncovering obtuse facts; it's about mastering a deep system, creatively using its quirks to your advantage, getting better at it until you're able to overcome anything that's thrown at you.' equally applies to 868-HACK).

868-HACK game is minimalist and procedurally generated, with an online leader board and score chase and score streak elements which should give it longevity, and Brough's original statement of intent was to explore progression systems in games, which it does elegantly along three axes (more if you count the variety of unlock systems in play), with more than enough ways to kill yourself through greed. The programs you acquire in game in an exquisitely balanced risk/reward mechanic are obtusely described in two to four word phrases: but this isn't because the game is trying to be deliberately difficult. Instead, think of each program as an onion, which as you peel off the layers you find new and interesting ways of using it, either alone or especially in conjunction with other programs in the game.

What can be spoiled is the ways of using these programs - all of which are discoverable, and apply logically in ways that make perfect sense post-realisation. But simply by saying a sequence of two programs you should probably try together I risk taking away the pleasure you'll get in figuring them out - either by yourself or in the community of people you play games with. The game post-discovery is still a robust set of systems - you can't break the game by telling someone something in the way you could in a narrative game, and it is probable that I could tell you an interesting interaction but the implications of what I said may not sink in until you are in a position in the game where a life or death decision depends on your understanding of how you can take advantage of the tools at your disposal.

If you're looking for a straight forward description of how the game plays, you could try a review of 868-HACK at 148 Apps (or my post on the Touch Arcade forums, or if you are into Brogue you could try my more obscure post on the Brogue forums). If you remain unconvinced, please try 86856527 which is free on Windows, and then read this somewhat spoilerific brochure for players of 86856527 which was for a long time a beautiful misdirection on what the game was about, but sadly became the top ranking web site about 868-HACK and more pedantic as a result.

Looking back at what I've written above, I'm probably over emphasizing the risk of spoilers, and under emphasizing the myriad ways in which the programs interact. Of course, to talk about that, I'd need you to also have gone down the rabbit hole of playing the game, so that I could start to tell you how X interacts with Y, or why Z is now my favourite program despite its apparent inferiority to A and prone to result in accidental avatar death. For now, you can spoil yourself in more depth on my twitter feed, and an older post where I make the cardinal sin of back seat designing the 7DRL, and wait for the day that a way of forgetting reliably exists.

Thursday 11 July 2013

UnBrogue weekly seed

In the spirit of the Brogue weekend and midweek competitions, tinyrodent on the Brogue forums has organised an UnBrogue weekly seed, of which the first is here. It is a much more relaxed affair, running the 1.1.6 release candidate of UnBrogue (which I haven't mentioned here, because I was rightly concerned about the possibility of bugs) and more about the aesthetic experience of playing rather than score, or depth or other criteria.

(And for those wondering about UnBrogue, I've got three or four more bugs to fix, then I'll be releasing the next version with a more public announcement than a post in a forum thread).

Monday 8 July 2013

Review: XCom: Enemy Unknown for iOS

Deep within the bowels of the 2K QA facility:
"You're operating on the minimum specifications... What is this madness?"
"We can't justify the revenue on the new iPad only. And who are we to prevent iPad 3 owners from enjoying the game for whole minutes at a time?"
"Aren't you worried about class actions suits?"
"These are iPad 3 owners. They put up with Apple releasing an out-of-band new iPad, they'll put up with anything."
"Very well - carry on."

Just another day in the saga of XC...rash.

Monday 10 June 2013

UnBrogue postmortem

This isn't an actual postmortem, because I've not finished with UnBrogue, but the 1.1 series of releases is coming towards a natural conclusion (with soon to be released 1.1.6 - assuming there are no further bugs requiring fixing that I can resolve in this branch) and I suspect there'll be a significant break between the 1.0/1.1 releases and 1.2 releases for reasons to be discussed.

UnBrogue started as a personal variant where I added and changed a few things that were annoying me, and then grew enough legs that it became worthwhile releasing for the 2012 Annual Roguelike Release Party (and which I deliberately kept under the radar prior to then). The main focus of the earliest release were about making plate armour and staffs of lightning bolts less of a no-brainer choice, making ogres more useful allies, and trying to increase the viability of a stealth game which I thought had potential but due to a dearth of rings of stealth in games I had been playing was something I hadn't experienced.

At a more meta level, I was curious to see whether I could incorporate some of the ideas I had been playing around after having played and fallen in love with the Binding of Isaac, a game which is particular "content-wide" in the sense that you will only encounter a small vertical slice of the possible content in the game in any one play through. Brogue has some of that width, but I wanted to see how much further and in what directions I could push it and still have a robust and interesting game.

What went right

1. Choosing a great game and code base to base it on.

Brogue is a great game of ideas to play around with, and a beautiful code base to write with. This ensured that when it came to development I was generally working at the coal face of working on new designs and ideas rather than having to worry about the back end framework. This is especially important for roguelikes which have a large number of complex systems with robust and interesting interactions; and in a hobbyist area where motivation is always a challenge, you want to maximise the amount of time you spend doing interesting things.

2. Not limiting myself to ideas that I could argue be reintroduced to the main game

This meant I could quite happily go and break the beauty of the code in search of new ideas. There is some pretty ugly additions to the code (Talismans of the Sinister Hand being the worst offence here), but I could quite happily add lots of stuff without worrying that I was adding a second (or third) set of flags to a particular data type, or that the elegance of the code was being diminished by bolting on a new way of doing things.

3. Spears and war pike redesign

The entire 1.0 branch pretty much failed to change the flavour of the game because while I added a lot of stuff, you only rarely encountered it (talismans) or found it useful (shields) - the changes to armour impact on stealth and enchantment impact on sneak attacks notwithstanding. Whereas, redesigning how spears and war pikes worked immediately made 1.1 much more interesting because you had a frequently occurring mechanic which worked significantly differently from the Brogue baseline. They were (and still are if you are on 1.1.3) a significant source of bugs, but the idea (which had to be modified prior to implementation because the original plan matched what Pender did with rapiers) is sound, makes sense as a game mechanic, and contrasts with the way other weapons work. The mace and warhammer changes helped here too.

4. Honouring the implementation of the Discoveries screen while changing the intent

The implicit contract in Brogue is that you are always given enough information as a first time player to be able to make intelligent decisions from a turn to turn basis. The Discoveries screen is a great example of this: you are told ahead of time what all the items could possibly be, which you can use as a source of making educated guesses about what specific item you're carrying. UnBrogue breaks this contract: there are staffs, wands and potions which are deliberately withheld from this screen, as well as whole classes of items (tomes, elixirs) which don't appear on it. But none of the items which are hidden from this screen can be both a) randomly found in the game and b) harmful to you (allies are fair game) except where c) staffs/wands of summoning which as a class are listed on the Discoveries screen, but which list of monsters can be summoned by these items is hidden information. Brogue went on to weaken this contract in the 1.7.x release with charms which are not listed on the Discoveries screen, but are always identified; of course, weapons and armor, and runics were never listed previously and could only be enumerated through repeat play.

5. The crafting system

I'm incredibly happy with the crafting implementation in UnBrogue which I have designed in such a way that it is possible to play 95% of games without even knowing it exists. Crafting ingredients are always useful items in themselves, because the ingredients are (almost) always other items: potions, scrolls and so on; and the method of combining them is as logical as I could make it. There are three methods of crafting in UnBrogue: a) fixed crafting locations which allow you to combine two existing items to make a new one, b) certain talismans which are only rarely available and c) potions of Winds. The crafting system also forced me to add lots of items: the vast majority of which are incredibly interesting in their own right because of the way Brogue's systems have been designed, while allowing these items to exist behind the wall of item placement - because they are not randomly placed, I could add as many as I want freely, while leaking them into the game in a process I hope feels like peeling back the torn edge of the wall paper to find a hidden treasury. I've changed this approach slightly in 1.1.4 and later, so that the majority of these items can be randomly generated, while reserving some as craft-only special creations. The only instances where the crafting locations require a non-functional ingredient allow me to use this non-functional ingredient as the bait in one of Brogue's machine rooms or one of the many rooms I added to support these.

6. Armor redesign and armor prefixes

While making stealth degrade as your armour improved made plate armour less of a no brainer, armour in UnBrogue was pretty flavourless and uninteresting, runics aside. This changed significantly in 1.1.4 in two ways: I redesigned the existing armour types to make them more distinct, including adding three leather armour variants, and dropping one intermediate armour type; and I added armour prefixes which gave various armour types new abilities which in many cases were just buffs or tweaks, or the equivalent of low strength runics but with drawbacks. I didn't want to overburden the armour identification mini-game, which is already the weakest of any identification routine, so I made armour prefixes obvious - this also meant I could add more flavour to them without affecting suspension of disbelief; and one of the leather armour variants, robes, is effectively automatically identified as being runic to make things even easier. Armour prefixes have been pretty much great from their initial introduction, bar one which is undergoing redesign, but the work I put into the leather armour variants was at risk of going to waste because so few games result in winners in leather. So I compensated by balancing them up by allowing scrolls of protect armour to buff them to the equivalent power level (give or take) of banded mail. This may have made every suit of armour too useful: but it is a risk I'm willing to take to make them more interesting.

7. Adding lots of the right stuff

1.1.4 seems to have hit the sweet spot for item generation so that there is sufficient variety for every single play through I've experienced: 1.1.6 is getting to a similar place for placement of machine rooms in the dungeon so there's enough variation from game to game (prior to this version, there's not enough different rooms early on). I'll just quickly enumerate how much stuff UnBrogue adds to the game: as of 1.1.6, I've added 12 autogenerators (flavoured blobs of terrain which gets added to the dungeon), 12 reward rooms and another 23 machine rooms (rooms which have puzzle type challenges in them) - I'm guessing all up roughly doubling the original figures, give or take, and this doesn't include modifications to 3 or 4 existing rooms - 12 monsters (of which only 2 appear as 'regular' monsters in the main game), 5 melee weapons, 9 missile weapons, 3 armours, 19 armour prefixes (new 'runic' type), 3 shields (new item category), 2 scrolls, 14 tomes (new item category), 5 potions, 21 elixirs (new item category), 7 wands or staffs of which staffs of summoning can summon 13 different monster types, 12 wand or staff runics (new runic type), 2 rings, 22 charms and 16 talismans. Having said that, other than talismans, autogenerators and reward and machine rooms, there's very little of which is truly original: I would say across all these items only marking, grappling and extinguishing darts, potions of Winds, staffs/wands of Nature, Telekinesis and Detonation and wand/staff runics bring new systems into play, and Nature and Detonation both riff on ideas which Pender originally introduced to Brogue (bloodwort plants and explosive mutations).

Next to UnAngband (where I added over 1000 monsters to vanilla Angband), these numbers pale into insignificance - but here they have far more impact. Even the humble potion of Water is incredibly useful - you can steal items from monsters, use it to make your escape or cover your scent, make a temporary bridge over lava, create a steam bath to kill something in; and more importantly, due to the finite constraint on resources that Brogue's core design entails, these actions can be life saving and even game winning. At the same time, items I added as an afterthought can become core to a play strategy: I recently almost ascended relying on a staff of Dead Man's Ear which creates a immobile and inactive monster which simply acts as a damage sponge, which more than doubled the combat capability of my single troll ally since it acted preferentially as a target while he engaged in melee (wiser players than I would have taken a direct path to the amulet of Yendor using my wand of Tunnelling instead of naively walking the long way around).

These successes are testament to the core Brogue design, but also the strengths of the roguelike genre: provided you play to those strengths as Joshua Day has written about previously. And it turns out that my central thesis: more variety is better appears to hold for the most part, even if the variety is 10 or more sets of 3 similar items with the same effect but with non-uniform activations. As it turns out, the most problematic parts of the game occur when I try to strike out further with new abilities, instead of tweak and iterate on existing systems.

And in the follow up article, I'll write about what went wrong and discuss in more detail some of the stuff I've implemented and hopefully come to some more robust conclusions.

Tuesday 4 June 2013

UnBrogue 1.1.4 and 1.1.5 released

This isn't going to feel like much of an announcement unless you have OS/X, as there are serious problems affecting the Windows and Linux build of UnBrogue at the moment that are preventing it from being updated to the latest version. However, I've released 1.1.4 and 1.1.5 in relatively quick succession and you can download the OS/X build here. For full details on what's happening see this thread on the Brogue forums - the tldr is that I'm going to be porting UnBrogue to a newer off-trunk version of Brogue to hopefully fix the above issues, but this will be some time away.

Changes for 1.1.5
- Staffs of nature charge half as quickly.
- Rewrote spoiler free changes from Brogue.
- Vault keys are rarer but vault items are always better than those found randomly.
- Add two more machine rooms.
- Fix bug where partial armor did not have a strength requirement reduction.
- Fix description of royal purple armor.
- Fix bug where regular staff and wand workshops would require a challenge to access.
- Fix charms of duplication.
- Fix (and enable) 'too boring' Brogue summoning circle room by adding paralytic gas. Paralytic gas makes everything more interesting.

Changes for 1.1.4
- Increase variety of items which can be found in the game (as opposed to made).
- Add wands, staffs of telekinesis.
- Add potions, elixirs, charms of regeneration.
- Add armor and shields of repulsion.
- Upgraded charms of winds to be charms of respiration.
- Add scimitars and cleavers which have Brogue's stats for maces and war hammers, but 1 additional strength requirement and which continue to attack enemies either clockwise or counter clockwise, randomly chosen, from your target. These may be overpowered.
- Add sickles and war scythes which are quick and can also attack up to two enemies adjacent to both you and your target.
- Knight's shields allow you to choose the target of any reflected bolts. Tower shields also block slowing and negation bolts -- these do not damage the shield.
- Remove banded mail.
- Increased chain mail's protection and strength requirement (so that it now acts like Brogue's banded mail).
- Increased scale mail's protection while making it noisier (so that it now provides protection equivalent to Brogue's chain mail but with a lower strength requirement).
- Decreased plate mail strength requirement.
- Add robes which are always runic and allowed with all talismans, cloaks which have the best stealth of any armor (including no armor), and furs which have the lowest strength requirement.
- Fabrics and leather are reinforced by scrolls of protect armor so that cloaks, furs, robes, leather armor and scale mail gain +1 to +3 protection when first protected by these scrolls.
- Added various armor prefixes to further increase armor variety -- these prefixes are immediately visible.
- Darts and javelins gain +1 to +3 enchantment when first affected by a scroll of protect weapon.
- Thrown weapons are now degraded by acid. You are not warned before throwing at the moment. Stacks of thrown weapons will restack if you end up matching the enchantment level through acid damage. (Requested by thaumato)
- Combining items can help identify either the ingredients or the resulting item depending on the identification status of the product and output.
- Add two new talismans.
- Lamias are restricted to liquids but appear in groups.
- Precise runic does not apply to bolts which only affect one monster (Requested by tinyrodent).
- Tomes of summoning do not summon bloats (Reported by tinyrodent).
- Guaranteed good charm rooms don't contain throwable charms.
- Change spelling of sabre to American English saber to be consistent with other American English spelling.
- No longer take half damage on level 1 (From 1.7.2).
- Fix dart stacking bug (From 1.7.2).
- Fix bug where level divided by water would end up with an area filled with corridors.
- Fix bug where water trap could be generated too far away from a fountain.
- Fix bug where explosive blinking staffs would cause mysterious corpse explosions (Reported by tinyrodent).
- Fix description when enchanting a cursed item.
- Fix for tomes of slaying/immunity when applied to an already enchanted item.
- Fix bug where you could naturally regenerate while in debt.
- Fix bug where acid damaged shields could block infinite blows. (Reported by Jadeite)
- Fix bug where extinguishing gas would not put out burning flying monsters.
- Fix automatic identification of talismans, elixirs, tomes.
- Fix crash caused by trying to land an impaled blinking monster twice (Reported by tinyrodent).
- Fix tomes of teleportation.
- Fix instances where enchantment is inadvertently revealed when the rune is noticed on runic armor.
- Fix backstabbing with a heavy weapon could cause zero or negative damage, and calculate fractional backstab multipliers correctly.
- Fix damage multipliers from rapier, saber lunging, spear, pike impaling so they don't get sneak attack bonus, dual wield penalty if these don't apply.

Friday 26 April 2013


Raph Koster recently sparked off a discussion about the role of formalism in game design and criticism by responding to critic and games writer Leigh Alexander in a letter. I recommend you read his response to Leigh's questions:

"when people say games need objectives in order to be ‘games’, i wonder why ‘better understanding another human’ isn’t a valid ‘objective’
games need ‘challenges’ and ‘rules’, isn’t ‘empathy’ a challenge, aren’t preconceptions of normativity a ‘rule’" -  Leigh Alexander writing on Twitter

Raph poses a number of questions himself in reply, but frames the overall mode of a game as being a conversation between designer and player; and argues that the types of art games which Leigh is defending the conversation is a monologue because the designer of these games takes away player choice. He draws such a strong response from the community he criticises because he's defending the conventional position against a more radical interpretation, but he also picks the wrong point to make and the wrong analogy to make it with. Andrew Vanden Bossche has already written about the fallacy of choice in games: in short, games are interesting because they do not give the player unlimited choice, but a selection of choices from a restricted palette. Raph's analogy of games as conversation fails for the most part because it is so rare to see a game redesigned after the wide release - although this may hold somewhat true for games with long public development cycles (Minecraft) or in limited alpha and beta releases.

I've been meaning to write about one of the more remarkable achievements in game playing I've seen for some time but haven't had the opportunity until now to do so. ggoDeye, a regular participant (and 8 time winner) in the Brogue weekend contest, and organiser until recently of the mid-week contests, recently achieved what could be described as the pinnacle of achievement of Brogue 1.7.2: a 'mastery' victory in a competition. A mastery victory is where you leave the dungeon at level 40 with all 25 lumenstones it is possible to get in the game. Short of conducts, there is no other way of beating the game more conclusively in the current version (in earlier versions it was theoretically possible to get to level 100 although no one had).

In the tradition of Brogue a maximum lumenstone victory usually means that the game has been broken in some important way, and a game balance fix will almost always be forthcoming in a future version of the game. Indeed, ggoDeye writes in the victory post of the jelly master build he used requiring almost superhuman levels of concentration to get this victory:
By D19 I had 30+ jellies and the ability to isolate and destroy dar parties. [...] I was so exhausted and frustrated that I took all of Sunday off from playing so that I wouldn’t do something stupid and blow my first real shot at a max lumenstone run in a contest. [...] Throughout this run I gained valuable insights into what I think of as jelly “herd physics.”
- Low HP allies can essentially teleport to the other side of the herd by shifting the herd’s inertia through shifting its center of mass (you). I once noticed a dar priestess move 20+ squares in a single turn as the direction of the herd reversed and higher HP jellies continued to displace her. I used this phenomenon to keep crucial allies alive when they were low on HP.
-High HP, fast moving allies can stick to the center of mass (@) better than anything else.

[...] While I have always enjoyed jelly master builds, I had not come anywhere close to fully grasping their true power and utility before last week. 1.7 has introduced bloodworts and superior ally AI and has really opened the doors on making this a reliable and predictable build option for securing max lumenstones. I’m fairly confident that I can turn just about any seed with a wand of domination and either a staff of tunneling or a charm of shattering (all before D17?) into a max lumen run now. However, I am certain that I will never be willing to do it again with a staff of tunneling. This run took me over 16 hours to pull off and I would not recommend it to anyone who wants to continue enjoying this game for the foreseeable future. This ended up being the most mind-numbing and eye-straining gaming experience of my entire life.
A quick couple of notes on the above commentary. A jelly is a monster in Brogue which doesn't inflict much damage but splits when you hit it into two jellies each with half the hit points. These new jellies do not regenerate naturally, but can recover with a source of healing such as the gas released by a pod from a bloodwort plant, or if they learn the healing spell from a dar (dark elf) priestess by consuming the corpse after gaining sufficient experience to do so. The wand of domination allows you to take control of a jelly and its children, and a jelly master build is a character who relies on having a swarm of jellies (up to 100 on a level) fighting on their behalf, and staffs of tunnelling and charms of shattering allow you to open up the dungeon by destroying walls so your allies can surround enemy monsters.

ggoDeye specifically uses the term herd physics because in Brogue there is no mechanism with which you can directly control your allies: they move simply based on the direction you move in in combination with the game AI, and knowledge of the surrounding terrain and enemy positions. Several items give you more granular control by allowing you for instance to build walls to block movement, or entrance a monster to have it move in the direction opposite to yourself, but none of these have the scalability necessary to benefit a jelly master. So in effect you are controlling tens of monsters at a time with a single 8 way movement each turn.

(Intriguingly, the 'teleportation' mechanic ggoDeye describes is known as enexto() in Nethack after the function that displaces monsters into adjacent grids as they push past each other, and is used in tool assisted speedruns of that game.)

The process ggoDeye goes through in this game is nothing like a conversation: it is more like mountain climbing, or an ultra marathon. We can appreciate ggoDeye's performance because it is on one level a pinnacle of achievement which is unlikely to be duplicated in the same way we can appreciate athletic success. But trying to find a sport analogy to fit games to is ultimately circular because sports are often games, and games can be enjoyed like sports - which means any comparison we make between the two will be clouded.

There is another performance comparison that is more appropriate than a sporting one - that of playing a piece of music. People have compared music and games before: both have groups of 'indies' and in some ways this comparison is more appropriate than games as films, but I'm suggesting here that game players rather than game designers are the actual performers in this analogy.

If we extend this idea of player as performer, what role does the game designer have? Song writer is the most obvious - but I'm going to suggest that Raph's formalist argument is about game designer as the maker of a ludic instrument; and while art (and many AAA) games take the position that a game designer is a song writer, they are in fact constructing instruments that only support one song.

(Or more facetiously, I tweeted this as "A game designer is an instrument maker who thinks they're a song writer and everyone else mistakes for a musician.")

The counter argument of course, is that the instrument may only play one song, but it is a song worth learning to sing.

And while this is mostly a metaphor, you can watch Chris Novello literally play Mario in a way that you have never seen before.

As for ggoDeye, he's chosen to play an instrument that many agree is a finely tuned work of art, and he's bent it it ways its creator only mostly intended. But as hinted in the title of this post, this piece was also a swansong, and he's moved on from playing Brogue to starting a business with his wife, leaving behind a recording of his melody and the notes he's made while playing. I wish him all the best.

Tuesday 26 March 2013


Assuming you count 7DRLs as roguelikes, I've just beaten my second roguelike ever: Michael Brough's 86856527. I suspect this is the game that Keith Burgun is trying to make with Auro - you should go play it (and ideally beat it) before reading any further as what I'm about to say involves spoilers. For the record, I got 21 points, using three programs.

I'm going to commit the cardinal sin of back seat redesigning a 7DRL - or at least part of it. The programs in the game are generally 'top tier' in the sense they are equally useful for their cost, although there are some programs which are clearly great in combination. I'm going to focus on the few programs which are 'second tier' in the sense they are missing one of either overall utility or interesting synergy: the four I feel fall into this category are ANTI_V, KILL_D, DCRPT and to a lesser extent BOMB - I'm still undecided about POLY although the suggestions below indirectly buff it.

The first three second tier abilities are all enemy specific, and are still useful in the sense that every enemy is a distinct challenge, but they don't have much synergy with anything else, and are still not powerful enough to be necessarily a win-button against their specific nemesis. The challenge of course is figuring out how to improve them while keeping close to the terse descriptions in the current game. My suggestions are ANTI_V should change to 'Damage all virus for $', KILL_D should change to 'Destroy nearest Daemon[s] for [two energy symbol squiggles]' and DCRPT should remain unchanged but end up with a buffed implementation.

Rather that using ANTI_V and KILL_D to directly credit the player, the floor grid under these affected enemies should get an additional credit or energy when the ability is used provided it hasn't already been siphoned. This allows the player to take advantage of the level entry spawns to increase the overall floor grid values, and gives POLY a purpose beyond helping destroy enemies.

DCRPT should be buffed so that while you have it active, you are given additional information about the play area. My initial thoughts were along the lines of having one block with ???? for the program/score and ? for the alert level on each level which DCRPT would reveal, until I realised that there is one other fact which is hidden which would be useful to know: the identify of spawning enemies. DCRPT should reveal what each enemy spawning is instead of the Transmission icon, giving you an extra turn to plan how to handle incoming enemy(s).

BOMB is incredibly useful given that it doesn't take time to use: but it has the downside of destroying adjacent walls which would otherwise channel enemies towards you. I'd like to see the floor exposed by bombing walls to get either energy or credits like other floor sections, to compensate for this and add a further level of strategy to bombs.

As for further program ideas - I'm sure there are plenty, but I like the sparsity of the current design. I am going to suggest one, borrowing an ability in Auro, because it seems to me that the movement abilities .WARP and .PUSH are the most useful and interesting part of the game, and to those, I'd like to add .FORK.

.FORK costs two (or three?) credits, and allows you to 'Make one move freely'. Since using a program takes no time, .FORK allows you to move without your enemies responding - but also make illegal moves such as moving towards an enemy (when you'd normally attack), move onto an enemy or wall, and move off the edge of the play area, warping from north to south or east to west edge or vice versa. Fork allows you to .DEBUG suicide in the finest Nethack tradition and it costs credits to fulfil the old adage that time is money and to try to prevent .EXCH/.SIPH+ abuse.

Wednesday 20 March 2013

John R

As the author of a widely lauded alternate history short story featuring John Riccitiello as the protagonist, I feel like I should comment on recent events. But it turns out Stephen Totilo has done the hard work for me, writing a thoughtful piece about the man, if not the company he lead.

John to me sounds like several company owners I have had the pleasure of working with - people with integrity, but also intelligence who have inspired those around them. A CEO is responsible for two things: communicating the vision of the company, and holding ultimate responsibility for its execution. You may criticise the decisions he has made, but it sounds like he has made those decisions with consistency and in view of the long term plan for EA.

It is often the case that people forget it is what someone hasn't done which is just as important as what they have done. EA has not gone bankrupt, or become worthless, the CEO has not left under a cloud or in ambiguous circumstances, the company has not become completely risk averse. People may hate EA, and by extension its CEO, because of the SimCity launch fiasco, but it is exciting to see so many people care about a game in the obscure city builder genre, as opposed to just another FPS.

For the record, I completely disagree with always on DRM and to a large extent with the software as a service model (Fuck you Google), but I can see why EA has made those choices - if not why they have failed to communicate them clearly.

Monday 18 March 2013

Early coverage

86856527, Bump (Free Indie Gam.es, Metafilter), Sunk Coast, 24 Killers

More to come. And feel free to follow the results at 7drl.org and hit up Adam Smith on twitter if you want RPS to check out your 7DRL contribution.

Sunday 17 March 2013

UnBrogue 1.1.3 released

This version is intended to primarily be a bug fix release. I'm distributing through Dropbox as the Berlios backend required to upload releases is down at the moment - Windows, OS/X.

Known issues
- Monsters will not flee through water.

Changes for 1.1.3
- Rename 'stagger' to 'hit' in bolt damage description text (Requested by tinyrodent).
- Add combat message when a fire bolt is blocked by a shield.
- Armor of burden increases armor class by one for every two strength requirement increased.
- Armor of immolation increases immolation chance at +2 or higher enchantment.
- Add more toads to wand/staff of Toads.
- Added wands/staffs of Detonation.
- Adjust power curve of spiders created by Talisman of Spiders (Requested by ggoDeye).
- Add brief note about noise level of armor in description (Suggested by Creaphis).
- Allow charms to start with up to +3 enchantment.
- Cursed weapons, armor, shields, rings no longer generated in reward rooms (From 1.7.2).
- Staffs, rings, wands identified when you enter a reward room rather than when you pick the item up (From 1.7.2).
- Ensure bolts of slowing last at least two turns (so that the status effect applies and is visible for at least a turn).
- Add missing charm descriptions.
- Items affected by a talisman of rune mastery now display their full effects.
- Your allies cannot learn healing from Dar Priestesses.
- Fix to prevent fire bolts double hitting the last target they penetrate to (Reported by tinyrodent). 
- Fix crash when impaling a blinking monster (Reported by tinyrodent).
- Fix non-runic items appearing in runic reward rooms (Reported by tinyrodent).
- Fix force, cursed weapon descriptions.
- Fix cursed armor names.
- Fix bug where stolen items altar would detect everything on level (Reported by thaumato).
- Fix bug where shattering would always shatter reflective monsters.
- Fix bug where canceling using a staff when it had no charges would destroy it.
- Fix bug where canceling using a staff would use a charge and a turn.
- Fix bug where wearing another talisman when you couldn't remove a talisman due to your inventory load out would delete it.
- Fix bug where you could equip a talisman of [spoiler] while you are wearing cursed armor.
- Fix bug where multi-bolt items would use additional turns.
- Fix a variety of typos (reported by tinyrodent).
- Fix some rune descriptions (reported by tinyrodent).
- Fix negation not negating shields (reported by ggoDeye).
- Fix bug preventing obstruction being removed by tunneling.
- Fix staffs of tunneling not tunneling the correct number of grids.
- Fix scrolls of identifying not identifying all wands and staffs.
- Fix length of displayed path when targeting range limited wands.
- Fix elixir of light.

Thursday 14 March 2013


For anyone trying to find the Three Moves Ahead episode featuring Vertex Dispenser it is episode 128, from about the 36 minute mark. (From this twitter query). Not mentioned in the show notes, so I'm mentioning it here in case anyone else is searching for this iota of information.

Also, fuck Google.

Monday 11 March 2013


Num­ber of entries for 7DRLC 2012 (last year’s chal­lenge): 100.
Num­ber of entries for 7DRLC 2013 (this year’s chal­lenge): 253 (so far). [Edit for the history books: 357 entries, at least 139 successes].
I feel like I should be handing out polystyrene cups full of water and cheering people on.

Saturday 9 March 2013


Indie Statik features a roguelike primer you could point your friends and family at to help understand the breadth of the genre. (Although by breadth, it seems to favour off-the-wall concept and tile sets).

Saturday 23 February 2013

UnBrogue 1.1.2 released

Further fixes. Windows, OS/X.

Known issues
- Monsters will not flee through water.

Changes for 1.1.2
- Ogre shields now less effective when weakened.
- Mandrakes will now follow you down stairs (Requested by tinyrodent).
- Improve some tome names to better distinguish what they do.
- Harpies are more common and always spawn in flocks.
- Made lamias slightly tougher in combat and freely move through deep water.
- Prevent talismans of witchcraft upgrading items which had already been discovered.
- Provide damaging forewarning and additional stage of obsidian collapsing into lava and prevent pathing across any stage of collapsing obsidian.
- Freshly created mandrakes take longer to sprout.
- Fix and rebalance talisman of dungeoneering.
- Fix crash impaling zombies. (Reported by requerant)
- Fix various crashes to do with item workshops that could result in item corruption.
- Fix phasing penetrating or reflecting bolts.
- Fix force bolts damaging enemies which didn't collide with anything.
- Fix mandrake bolts. (Reported by tinyrodent)
- Fix polymorphed dominated monsters resulting in perma-allegiance. (Reported by qlordz).
- Fix elixir of strength (Reported by ggoDeye).
- Fix recharge times on charm of protection (reported by ggoDeye).
- Fix a number of OOS errors when using charms and talismans (reported by ggoDeye).
- Fix a crash when escaping out of enchanting an item (reported by ggoDeye).
- Fix a bug where you could consume any item when applying a potion to darts.
- Fix bug where lamias could spawn embedded in walls.
- Fix another display bug when getting hit while shielded (reported by ggoDeye).
- Fix tome and elixir graphics being the wrong way around.
- Really fix potion and scroll experiments.

Thursday 21 February 2013

UnBrogue 1.1.1 released

As discussed on the Brogue forums, this is a quick bug fix release. Nothing serious but lots of annoying bugs fixed. Windows, OS/X.

Changes for 1.1.1
- Spears, pikes get stained with the blood of any creature they kill by impaling.
- Significantly improve the feedback of identify, enchanting effects which apply to more than one item.
- Improve correctness of spear, pike impaling to try to fix out of sync errors, reports of crashing.
- Made permanent status effects actually permanent.
- Mark monsters as permanently negated only if they have underlying racial abilities/traits which can be negated.
- Make it clear what witch hazel does.
- Add a couple of reward room entrances (one from 1.7.1).
- Add monster tweaks from 1.7.1.
- Add some post-amulet monsters to try to spice up the deep a bit more.
- Improve description and appearance of obsidian walls (reported by tinyrodent).
- Flatten power curve of staff of protection.
- Fix problems with charms, talismans destroying items when using them.
- Fix blinking, pushed monsters failing to impale themselves on an extended spear or pike if they blink or are pushed through the grid.
- Fix various reward rooms not being impregnable (now using 1.7.1 code to prevent corner clipping).
- Fix potion and scroll experiments found throughout the dungeon.
- Fix protection display glitch and logic problems on getting damaged (Reported by Creaphis).
- Fix bug where half of all charms of protection had no recharge time (Reported by tinyrodent).
- Fix bug where you could not injure your allies using throwing weapons (Reported by ggoDeye).
- Fix bug preventing gambling from working.
- Fix occasional crypt weirdness/crash.
- Fix challenging staff/wand workshops and provide more information on construction rules.

Tuesday 19 February 2013

Linux, seed scummer builds of 1.1 available

Joshua Day has made me a Linux build of UnBrogue which you can get here. And Patashu has tempted the fate of the RNG to give you a seed scummer version of UnBrogue 1.1 including a Windows compile, which you can get links to from the Brogue thread on UnBrogue.

UnBrogue 1.1 released

Many thanks to Marco Salamone and Harrison Kreimer for taking the time to test the pre-release versions of the 1.1 release. Windows, OS/X Linux (thanks to Joshua Day for compiling this and updating the Linux platform code).

Changes for 1.1
- Code base updated to Brogue 1.7.
- Some changes have been added from 1.7.1: Bloodworts, lunging with rapiers, weapons of Force, reflection is now negatable, improvement to low level charms of protection, moving around obstacles diagonally.
- The majority of Brogue 1.7.1 change will be included in the next major UnBrogue release (1.2); the diff between 1.7.0 and 1.7.1 is approximately twice that of 1.6.3 to 1.7.0, and a number of systems changed significantly (dungeon generation, monster AI) in ways that will require more time to port across.
- Unlike 1.7.1, statues cannot be moved around diagonally.
- Added sabres which attack all adjacent targets in regular combat and when lunging.
- Blinking with a rapier, sabre will perform a lunge while blinking if there is a monster in the path of the blink.
- Moving with a spear or pike extends the weapon into the next grid in the direction you are moving if it is unoccupied. Any monster entering this grid will be automatically hit for x3 times damage.
- Maces, hammers damage is halved but they knock back enemies they hit 2 grids, doing triple damage if the enemy is knocked into an obstruction.
- Talisman of madness bonus now only affects weapons and armour. (One does not simply walk into DL100).
- Spiders summoned by a talisman of spiders appear at the stairs on the current level and begin levelled up twice for each enchantment on the talisman; this does not allow them to learn new abilities.
- Fix potion of winds typo.
- Scrolls of duplication correctly duplicate keys.
- Scrolls, charms of shattering have a chance of shattering reflective monsters, based on proximity and shattering radius.
- Fix protection so that it really only lasts 20 turns.
- Golems are not tortured.
- Dragons attack all adjacent targets; horror attacks penetrate like a Brogue spear/pike.
- Armour AC is increased by 1 for all armors except leather, plate. Plate strength requirement increased by one.
- Imps, nagas, salamanders get flee near death flag.
- Nagas and salamanders rapidly heal when submerged (2 hp per turn).
- Nagas and salamanders hate each other and will always attack each other on sight, even if allied.
- Added 'h'arpies, 'l'amias and [spoiler]. Feedback on how unfair these monsters are is welcome.
- You take half damage falling into shallow water, bogs or dense foliage, or if the air below is filled with strong winds.
- Slays/immunities now apply to a group of similar monsters (dar slaying, jelly slaying) rather than individual monsters in some instances.
- Firebolt is piercing: left over damage is applied to the next monster in line of fire if the first is killed.
- Aggravate Monster temporarily aggravates all monsters in LOS: aggravated monsters attack instead of fleeing, flitting or keeping their distance.
- Throwing potions of fire immunity creates a fire extinguishing gas. Throwing potions of life creates a healing gas.
- Centaur and arrow turret attacks unaffected by negation. Dart and acid turrets are stripped of their special effects but can still attack from a distance if negated. Ogres do not lose their shields if negated.
- Captive and dominated monsters generated out of depth don't begin gaining experience until they reach their minimum depth.
- Removed rings of Accuracy, Wizardry and Alchemy.
- Added Transference as a ring again. Removed Transference runic.
- Excess hit points stolen with transference adds to protection.
- Thrown weapons are not destroyed when they hit a target, unless it is a dart or javelin with a special ability such as incendiary darts. To compensate they all appear in smaller stacks and you begin the game with only 3 darts. (Inspired by morphles' patch).
- Thrown spears and pikes penetrate through to a second target in the next grid along the aimed path; thrown axes, sabres hit all targets adjacent to the grid before the first target they would hit.
- Wand and staff types are combined, with each type randomly being a wand or staff from game to game, but a minimum of two wands and three staffs, one of which will be a direct damage staff (lightning, fire, poison, force).
- Wands/staffs of Force and Nature added. Force pushes monster backwards 1 grid per enchantment and damages them if they hit an obstruction: triple damage if the target is knocked into a wall. Nature stops and grows a plant if the bolt crosses consecutive three fertile grids of the same type - either observe what plants grow on what terrain in the dungeon, or experiment to see what you can grow - and nature wands grow wooden bridges over chasms.
- Added more monsters summoned by wands/staffs of summoning. Staffs of phantoms removed as invisible hard hitting enemies on level 1 was not fun.
- Added more talismans. Check 'D'iscoveries for names.
- Talismans now all significantly change how part of the game works so that the least interesting ones are those which require that you be hallucinating, poisoned or on fire.
- Added some new reward rooms for further mid and end game variety.
- Runic wands and staffs.

Saturday 9 February 2013

Goofing off

My daughters have pointed out there are two types of touch controlled games: natural and goofy. Natural games are where you drag the actor around the screen, goofy is where you press somewhere on the screen and the actor moves to that location. Does anyone have a recommendation for good natural games for iOs for two year olds? Everything I have is goofy.

Saturday 2 February 2013

Sil-ver lining

From this thread on the angband.oook.cz forums where Darren Grey gets into a post episode 59 discussion about Sil with the developers and fans:

Actually the variance can function a little like multiple lives systems: you can think of it not as stochastically letting you die when you deserve life, but stochastically letting you live when you deserve death. And by being memoryless, it doesn't induce the temptation to restart if you lose a life early. (It's also a little less clear about providing feedback to the player when they made a mistake, but at least ending up on low life is a clue.)
I've been reading a lot of writing about how randomness has no place in games, and while the people taking this position seem to be perfectly nice and otherwise sensible, to me it feels like getting to know someone and then finding out their favourite book is Atlas Shrugged. I have an essay about it in me somewhere, but today is not that day. Scatha's sentiment is something I can agree with.

Wednesday 9 January 2013

Honourable Mentions for Ascii Dreams Roguelike of the Year 2012

In an ever-expanding genre it seems there are too many honours to mention. This year all of the top 10 received more votes than DoomRL did when it won in 2009.

4. Dungeon Crawl Stone Soup: The loss of mountain dwarves has not put off its loyal community, as this enduring classic has received further polish and a swarm of spiders.

5. Dwarf Fortress: A big increase in Adventure Mode content has made it stand out as a compelling single-hero roguelike in its own right. Planned additions are bound to make this even more popular in future.

6. FTL: The spaceship roguelike has made a big impact in the gaming community as a whole, winning and being nominated for numerous awards. Core roguelike mechanics mixed with many novel features have proven a highly compelling combination.

7. UnReal World: The best iron age Finland survival simulator ever made! Further improvements and new players have given this elder game a vibrant lease of life in 2012.

8. DoomRL: With further updates and a beautiful new tileset from Derek Yu, Kornel's turn-based shotgunning classic remains as bloodily alluring as ever.

9. Brogue: Procedural puzzles, a new charm system, and the removal of experience points from the game have all been part of a continued refinement in an increasingly critically acclaimed game. Oryx's recent tileset may help garner it wider popularity in the new year.

10. Dungeons of Dredmor: Expansion packs and a hugely active modding scene have kept this game fresh, and solved many of the complaints of those who found the game initially frustrating, whilst adding new humour and madness in the form of violent veganism and communist powers.

A glance back at the honourable mentions from 2009 shows just how much the scene has changed in 3 short years. So a huge applaud is due to these excellent games that have proven excessively popular in the ever more active roguelike genre!

Runner Up for Ascii Dreams Roguelike of the Year 2012: ADOM

After 10 years without updates one of the greats has returned. ADOM is back.

New classes, races, items, artifacts, endings, bugfixes and rebalancing have all been part of Thomas Biskup’s flurry of activity in the late stages of 2012. This is following an expertly run crowd-funding campaign on IndieGoGo that raised an astonishing $90,169 from 1,666 loyal followers, well above the target Thomas set to resurrect ADOM. It was no wonder then that it did intensely well on the poll, coming a close second to the winning ToME. With all the many planned changes in the coming year, including NotEye integration and a new custom tileset and soundtrack, it’s hard not to imagine it doing even better next year, ensuring another exciting competition for the crown of ASCII Dreams Roguelike of the Year.

Not to be forgotten is ADOM II, formerly known as JADE. Coming in at 3rd place there is clearly still strong support for this super-sized successor to the popular classic. This year it has had significant updates, making the game fully completable and adding quests and additional races and classes. With development continuing in parallel to ADOM it will be interesting to see this expand further in future.

Winner of Ascii Dreams Roguelike of the Year 2012: T.o.M.E. 4

Last year Tales of Maj’Eyal became the first game to win Roguelike of the Year for two years running. But in 2012, despite a brush with death, DarkGod has not rested on his lauded laurels. A vast stream of updates to content, interface, web-site, balance, bug-fixing and the opening up of community-built add-ons have ensured that Tales of Maj’Eyal remains the most popular of all roguelikes yet again. Beating off competitors young and old, ToME is now ASCII Dreams Roguelike of the Year 2012.

And it doesn’t stop there, as the game has now reached the all-elusive status of version 1.0 – a prestigious and rare event for a roguelike. With its modern interface and intense emphasis on tight turn-based gameplay it has spread roguelike appeal beyond normal grounds, and has recently been described in the popular press as “the gateway game you've been waiting for”. And that could prove true as it vies to garner enough votes to be the first roguelike to break through on Steam Greenlight.

A new module-making competition also hopes to encourage further games to be developed in the flexible and powerful T-Engine on which the game is based, meaning we’re sure to see some new ToME-inspired roguelikes popping up over the next 12 months. Look out for a new episode of Roguelike Radio in the coming weeks making a return to Maj’Eyal.

Thursday 3 January 2013

Big d@ta

Regular commenter Joseph has done some analysis of the poll results. And a Korean site has a year by year break down.