Sep 17 2014


Yet another day’s just passed where I’ve been too busy working on CQ2 to write about it, and it’s been forever since the last update! So here goes – a super quick update about everything that’s going on.

  • The Android build is currently running through the process at Kongregate. As soon as they’re happy to announce a release date for Google Play I’ll pass it on.
  • While it’s been in this process, I’ve taken the opportunity to add swipe controls as an option. This will be in the Android launch and will be in the 1.04 update for iOS going live about the same time. It should make the game much better on bigger phones and tablets.

In the meantime, I’ve been working on the big 1.1 update. Here’s a quick peek at the new class, the Alchemist:

The Alchemist introduces the game’s first crafting mechanic! They’re eccentric potions experts, a bit flaky in a fight but capable of making usable items from scratch and combining poor items into better ones.

And yes, they’re a bit steampunk. :)

Not only can the Alchemist make and refine items, they also get an extra item pocket… and in this update, everyone can carry up to two identical items per slot, so six slots means up to twelve items. Knowing when to use an item and when to ditch it matters more than ever here – it’s the rapid production and use of special one-shot items that makes the Alchemist a formidable adventurer.

I’ll do a full class update soon. Until then, I’m getting back to work on this and the Endless Mode so I can get them to you ASAP!

Aug 20 2014


Hi all! Another mini patch has gone up on Kongregate today, introducing two big new features. Scavengers will now fight back (and drop cool gear!), and there are a few strange chests scattered around containing some strangely powerful things…

This update is pretty much tidying up loose ends and laying the groundwork for 1.1, which I’ll be putting together over the next month and writing about here – to the extent I can avoid spoilers! I’m hoping Legendary items will add a bit more confusion and mystery to the game now that it’s so well documented.  There are several in the game now and I’ll absolutely be adding more. :)

This week I’m finalising the Android release with the publisher. I’ll be submitting an iOS update to 1.04 shortly as well (which will likely take a week or two to filter through iTunes).

1.04 patch notes below.



  • Thief now starts with an additional Sleep Powder


  • Increased minimum damage of all Axes
  • Added a selection of super-rare Legendary Items
  • Legendary Items come from special chests, which are more common on higher difficulties
  • Added a new spell dropped by Scavengers


  • Scavengers will now fight you


  • Added two new Scavenger-related Achievements
Aug 13 2014


This post’s a fairly abstract look under the hood of one of the changes I’m making to CQ2 for 1.04.


CQ2 is big. Running through all the acts with all the classes is a 20+ hour job, never mind trying different builds and approaches. Getting all the achievements has taken people 200 hours of play time. Our QA consultant estimated recently it would take at least half that time with each new build to make sure everything’s working. It’s no longer possible for me to comprehensively try out changes to the game simply by playing it – not if I want to make a big change that affects lots of stuff and release an update a few days later.

So when I want to mess around with major systems, I do a lot of spreadsheet simulation.

(Mild spoilers ahead.)

The experience scaling in CQ2 has troubled me for a long time. Every XP level takes twice the experience of the previous. Since you normally gain about one XP level per area and enemies tend to show up in two- to three-area blocks, a tough enemy that gives you half an XP level when you first encounter it might only give you 5% ten minutes later. Now, that’s mostly fine! Unlike many games with experience systems, CQ2 has super-tight progression; you can’t wonder into the wrong area. I can fill every area with level-appropriate enemies and adjust their XP accordingly. Until now, that’s what I’ve been doing.

There are just a few minor problems. The first is that XP bonuses and penalties are almost irrelevant, since even halving your XP or doubling it only shifts your final level by one. The second is that the “charge on XP” skills in the game, like Heal and Enslave, become incredibly volatile due to the wild swings in XP between enemies and whenever you level up. You can out-level the enemies nearby with just a few big kills, and then your XP gain drops to practically zero.

So I’m making it better!

Continue reading »

Jul 28 2014


The Android build is overrunning a touch. The good news is that we’re down to the last few bugs so it’ll be ready to ship any week now. x_x

Here’s what I’ll be doing once it’s out:

  1. A quick 1.04 patch to the Flash and iOS versions. Not sure what it’ll add on the Flash side yet; maybe I’ll make Scavengers fight back! The iOS version will bring the new content over from 1.01 through 1.03, add rumble support and hopefully fix a long-standing issue with iOS 5 (if I can get my hands on a phone!). I estimate this will come through in mid-August.
  2. Patch 1.1, which will add an endless mode and a new character class. I’m aiming to finish this by the end of September for Flash, iOS and Android.
  3. The desktop version! Goodness knows I’ve had to push this back far enough, but I’d really like to get the endless mode in before putting this up. I can’t be sure yet how long it’ll take to set up a nice desktop version and hook it into Steam, but given it’s already running okay in Flash, let’s say end of October. This will be for Windows, Mac and Linux.
  4. After that, I’ll work on content updates. How far I go with this depends on how well the new versions and updates sell, but, I’m planning to add some more items and a few more character classes at least.

The last year’s been a bit of a slog, to be honest. Getting the iOS and Android versions running and feeling nice took way longer than I expected. Joke’s on me – it’s the first time I’d done any mobile development and I really thought it’d be quick :)

Jun 24 2014


Hey everybody! This patch has a few balance changes and a couple new features. The biggest is “Glide”, a new skill you can find that replaces “Haste” and allows you to leap and glide over some obstacles. A close second is a consumable that lets you see a little more about how the game works. I hope you’ll enjoy exploring them both!

The patch is up on Kongregate. The game also has official badges there now, including an Impossible badge for hitting 120k score. Have fun getting this one!

The next patch will be delayed a bit while I wrap up work on the Android build. Here’s the good news: once the Android version’s out I’ll be able to spend some time working on new content, like perks, a unique “endless” mode and maybe even new characters. :)


  • Clicks on consumables during spell casting will now be ignored
  • Spells will no longer spawn on top of exits
  • Fixed some glitches in boss cutscenes (especially Act 1′s)


  • You will now gain more Morale from gold and kills on higher difficulties (+10% on Hard, +25% on Suicide)
  • The awareness boost enemies get when wounded has been reduced
  • Some abilities that move enemies can now drop them into lethal pits or lava (where available)


  • “Haste”: replaced with new skill “Glide”
  • “Reveal Area”: now reveals nearby treasure as well as walls and obstructions
  • “Smite”: renamed to “Vital Strike”, reduced bleed effect durations
  • Wizard’s “Ice Blast”: reduced cooldown, reduced strength of freezing effect
  • Pugilist’s “Sweep”: slightly increased stun duration
  • Paladin’s “Judgement”: reduced cooldown
  • Thief’s “Speed Runner” perk: replaced with “Airstrike” (now grants “Glide” instead of “Haste”)


  • Added two new consumable items to discover, “Tome” and “Spyglass”
Jun 04 2014


I’m working away on the Android build. It’s running on my Galaxy S now, the UI issues are mostly cleared up, so it’s getting there! I’m starting work on the API integration – leaderboards and so forth.

Still, I’m trying to stick to the habit of updating the game every two weeks with fixes and at least something new. So I put aside a couple days and made Patch 1.02!

The main changes are another round of improvements to the Thief, a new skill to find in the world, two new weapons, and some overdue fixes to the Act 3 boss fight.

As before, the updated version is now live on Kongregate.

iOS players: sorry for the wait! I can’t push a build to iOS without testing it thoroughly, which with a game like this takes longer than I’ve spent making either 1.01 or 1.02. For now, these little Flash updates and the feedback I get from them are helping to make sure the next iOS update will be a good one.


  • Fixed a number of AI issues in Act 3 boss fight where allies and enemies were often failing to attack or cast spells.
  • Fixed bug where game could sometimes lose some progress towards streak achievements when closed and re-opened.
  • Fixed bug where consecrated Stealth/Heavy weapons were losing their weapon type and gaining extra stat points instead.
  • Flash version now ignores first mouse click when regaining focus.
  • Fixed a rare bug that could cause the game to crash between levels.
  • Main menu now shows achievement rank number.
  • Updated Achievements screen to make room for additional achievements in future.


  • Added new skill “Smite”.
  • “Sleep” effect updated. Enemies that are asleep can no longer block. Instead, hitting sleeping enemies will wake them up faster.
  • Pugilist “Sweep” skill tweaked to balance changes to sleep effect.
  • Thief: Increased base Defense by 1.
  • Thief perk “Speed Runner”: increased bonus to +3 faith.
  • Thief perk “Bosh”: increased length of daze effect.


  • Added two new Stealth weapons.
  • Moved Stiletto later and rebalanced accordingly.


  • Fixed bug where Act 3 boss, Shiurath, did not have a ranged damage spell.


May 19 2014


There were a few odd bugs in the launch Flash version so I figured I’d do an update to patch them out. Then I spent the weekend putting in a few new things to make it bit more interesting :D

The main stuff here is that I’ve added two weapon classes (Stealth and Heavy) with unique bonuses, made Polymorph more interesting, and buffed some weak builds for the Fighter, Wizard and Thief.

The updated version is now live on Kongregate.


  • Fixed extremely rare bug where levels 1-2, 1-3 or 3-6 could generate without an exit. Saved games blocked by this bug should automatically regenerate the level or skip to the next on load.
  • Fixed broken spell targeting cursor. Cursor now shows viable targets and area-of-effect.
  • Keyboard target cycling (default: tab) no longer targets distant enemies for “Uppercut”, “Headbutt”, “Leech”.
  • Fixed bug where Thief’s “Flash Bomb” could become permanently unusable.
  • Locked cupboards in 1-7 can now be opened from the inside.
  • Fixed bug where Teleport Away could break your progress in 1-7.
  • Pugilist’s dodging can no longer move on top of doors.
  • Magic Mirrors and summons no longer drop gear for Fighter’s “I’ll Make It Fit” perk.
  • Cause of death fixed when burning to death in a fire.


  • “vs atk/def” baselines in popups now increase as you progress through areas.
  • Added a text notification when you clear an area of enemies.


  • Polymorph now preserves health percentage, is less likely to return the same monster type, and occasionally generates surprises.
  • Fighter “Intimidate”: increased effect duration.
  • Fighter “Charge” now guarantees a hit on impact.
  • Thief “Dash”: reduced cooldown.
  • Wizard “Leech”: slightly increased damage.
  • Wizard now starts with a hidden base level of Spell Damage, improving Fireball and Ice Blast.


  • Added two special weapon classes with bonuses for specific uses; “Stealth” weapons have a larger sneak attack multiplier, “Heavy” weapons have a larger critical damage multiplier.
  • When you find equipment, it’s now more likely to be a weapon.
  • Added a new midgame Stealth weapon.
  • Added a new consumable item.


Feb 05 2014


There’s a monster in Dungeon Keeper that never appears in the summon lists. It’s a monster that’s been around a while and I think I’ve finally figured out what it means to me and how I want to guard against it.

Etruscan pottery. Photograph by Wolfgang Sauber

As the legend goes, Hercules was set many tasks to atone for his sins. The second was to slay the Lernean hydra, a nine-headed creature whose breath was lethal poison and bile so putrescent that wounds it touched would never heal.

Worst of all, cutting off any of this monster’s heads would cause two more to grow. It was immortal. Continue reading »

Jan 02 2014


Okay! Devlog update! What the hell am I up to?

I’m currently trying to beat the game into shape so it can go out on iOS. This means doing a lot of iPhone/iPad specific stuff, fixing a lot of bugs and solving some dull technical problems as quickly as possible.

Like loading screens.

The iPhone 4′s kinda slow. Loading times can be a bit long! A bit too long for the screen just going black to be OK.

Adding an animated loading screen over the loading process would have been easy if I had access to threads or coroutines or could manually update the screen, but HaXe+OpenFL doesn’t have do of this because Flash doesn’t do it. Without any of the above I’ve had to restructure all my level initialisation/loading code, slicing it up into tiny tiny bits until every single bit can run inside a few milliseconds. It’s been a bit like breaking a rock up into sand using only a pickaxe.

I’ve also been doing this in a hurry and without tidying as I go! Which means a whole bunch of my code now looks like this:

I am a bad person.

Just another little thing that probably no-one’s gonna notice and which takes longer than it probably should. They all add up. :D