Archive for the ‘Game Release’ Category

The Trapped Heart 1.1 released (with inevitable bugfixes)

March 24th, 2016 Comments off

Well 7DRLs and bugs seem to inevitably go together… The Trapped Heart is no exception, though in this case there was only really one significant bug affecting level generation. Unfortunately it was pretty serious, preventing connectivity in some levels. Thankfully it is now fixed!

Based on some initial feedback I’ve also updated some descriptions in the game and tried to make some of the mechanics a little clearer (making the chain lightning attacks act more simply in the process). I’ve added more feedback and descriptions for the player through hover-over details on the player character and tips on death based on how you played! I’ve also tried to decrease the system load for the shield effects on critters.

Download for Win/OSX/Linux through

One thing that has become clear watching videos of people playing the game is that I vastly underestimate the difficulty of my games :P People are dying repeatedly to the first boss, which to me is a complete doddle to beat. Of course that’s because I know the mechanics inside out… I held myself back at numerous points in development from making things more challenging, and now I see that I should have been making things easier! Or clearer at least, which I have now done.

Full change list for v1.1:

* New: Dungeon name announced on entry
* New: Particle effect to show when slowed
* New: Tooltip on player to show current abilities and status
* New: Pause upon death to make death situation clearer
* New: Tips on death based on gameplay
* Bugfix: All levels now assured to be connected
* Bugfix: Various typos and poor descriptions corrected
* Gameplay: Changed arcing to attack a wider range of targets
* Gameplay: Changed earthquake to be more symmetrical
* Gameplay: Tweaked Bro-Knight summons
* UI: Changed text colours to be more readable
* UI: Updated help text to make clearer
* UI: Changed descriptions of air magic to be more consistent
* UI: Changed shield appearance to be more symmetrical
* UI: Tweaked title screen image
* Performance: Reduce particle count on shields


7DRL Success: The Trapped Heart

March 14th, 2016 Comments off

Released! The Trapped Heart is a hex-based roguelike where enemies have directional shields. You need to arrange attacks from the right directions to do damage. Download from (ignore the price request):

I didn’t get all I wanted done this week, and the artist I had on board didn’t manage to make any enemy sprites (hence my shoddy artwork in the game). But I had a lot of fun designing the mechanics and interesting enemies and bosses to fit with the mechanics.

The Trapped Heart gameplay

The big piece missing is the story, which is there in parts but lacks the detail I was after. In particular the game doesn’t achieve my objective of having an Undertale-inspired multi-layered story that plays out across numerous runs. Oh well, here are some more pictures:

The Trapped Heart roguelike gameplay

Fighting a giant slug in the swamp

The Trapped Heart

Some cave critters

Knights of Undying Friendship

The Knights of Undying Friendship! Alas, without the many dialogue permutations I had hoped to include

7DRL Complete: FireTail

March 16th, 2015 Comments off
FireTail gameplay

The fire spirit facing off against the Queen of Ice

In FireTail you play the last spirit of fire, battling against unending legions of ice, and ultimately against the dreaded Queen of Ice. You can download for Windows, Mac and Linux through

And wow, what a week! It started with recovering from an ear operation, and on Friday my computer decided to explode. I managed to break the T-Engine in new and interesting ways, but thankfully the angelic DarkGod came to the rescue and sorted out my weird bugs. What’s been a big highlight this year is getting such a polished looking game, in no small part thanks to the wonderful work of Oryx, providing me with custom tiles for the enemies and terrain.

Some interesting features of the game:

  • You leave a trail of fire as you walk. The number of neighbouring fire tiles determines what powers you enact.
  • You have free movement on fire squares, making the fire tail of important tactical advantage.
  • Progression is based on the fire tail – when you level up you assign skills to the lengths of the tail, changing what skills are triggered when you’re surrounded by x fire tiles. The higher the number the more effective the skill, but the harder it is to get into a position to use them.
  • You die if you get surrounded in ice terrain or ice enemies. Positioning and freedom of movement is vital in combat.
  • 7 levels, 6 interesting bosses, and a bunch of enemies all with their own powers.

I’ll do a video showing off some bits of the game when I get a chance. For now please download, enjoy, and give feedback!

DataQueen – 7DRL Success

March 23rd, 2014 6 comments
DataQueen screenshot

Destroy the gridbugs, protect the data!

Last week I completed DataQueen, my 4th successful 7DRL. It’s a hex-based roguelike with a number of unique mechanics that makes it very tight and tactical without ever feeling too overwhelming. The feedback I’ve received has been immensely positive, so I may work on polishing this more (and have had the generous offer of someone drawing a tileset for the game). You can download the game here:

[Edit: Note there’s currently a little bug when you first run it that might make the game hang. If you restart the bug disappears forever. Yes, I’m confused too…]

The big concept I wanted to try in the game was from the board game Hive, where you only die if you get surrounded. This seemed like a cool idea to port to roguelikes! So enemies can’t attack you directly, and movement is very important.

DataQueen combat screenshot

You can set up several attacks to trigger at once.

At the same time you have a wheel of special abilities called the “hex wheel”. For each hex direction you move in you have a special attack that hits in that direction. You can gain new hexes and place them on the wheel as the game progresses. This gives a range of tactical options all tied to just the movement keys. Every turn the wheel spins, meaning you have to plan moves and positioning if you want to chain attacks together. The abilities have all been designed to combine in interesting ways, encouraging the player to make multi-turn attacks.

Movement itself is made more interesting by giving you free movement on green grids. This lets you reposition yourself for different attack directions very easily. Moving onto blue grids converts them to to green, but enemies will do the opposite, quickly eating up your useful tactical space. This cuts across all the mechanics in the game and adds a lot of tactical depth. To progress you need to connect pink grids up with green grids, so the war with enemies is mostly one of terrain (and not dying).

DataQueen upgrades screenshot

Upgrades! The UI artwork was done by daftigod.

The base enemies all have unique abilities which can challenge the player. Most enemies die in one hit, but they can be a huge problem in mass numbers. Each level there is a boss, and each of these requires special tactics to overcome. It makes for a challenging game that hopefully never feels unfair.

I’ll be doing a developer Let’s Play video of it soon, talking about some of the design choices and how the game operates. For now you can hear me discuss the game a bit on the latest episode of Roguelike Radio, alongside discussion of lots of other cool 7DRLs! Let me know if you have any comments about the game, and anything you’d like to see changed – feedback is hugely appreciated.

New game: Monetizing Children

July 8th, 2013 Comments off
Monetizing Children title screen

Monetize them all!

I’ve just completed a game for the 2013 Molyjam, called Monetizing Children. Download for Windows / OSX / Linux. Made with Shaz Yousaf (writing and music) and Freddie Fosh (art).

The Molyjam involves making some kinda weird games based on quotes from Molyneux or Molydeux. I strongly wanted to make a game with the title “Monetizing Children” after reading the amazing posts of Ramin Shokrizade, and managed to find a quote that reasonably fit.

The game involves playing as a freemium game company. Wander near kids to make them addicted, them bump into them to inflict “fun pain”, taking money in the process. They can get lured away by real life, but raising your stats helps prevent that. There are a few other subtleties in both the presentation and the gameplay elements… One non-subtle but amazing thing is the fantastic theme tune Shaz wrote – well worth checking out the game just for that.

Darren Grey and Peter Molyneux

Me chatting with Peter Molyneux about monetisation (we disagreed a lot!)

But is it a roguelike? Well, that’s the fun question. It’s turn-based, grid-based, has procedural levels, permadeath, bump to interact, resource management, single hero, progression system and even a hunger clock. But it doesn’t feel a lot like a roguelike ultimately, especially since you don’t directly kill things. Just goes to show that following the Berlin Interpretation to the letter doesn’t exactly make a roguelike. Still, it has some shared features, and is interesting as a game in its own right.

Anatomy of a Procedural Music Engine

June 15th, 2013 Comments off

At IRDC last week I gave a presentation on the procedural music in Mosaic, and it’s about time I put it online. I’ve also updated the game itself a bit, with WAY better sounding music and some enhancement of the player powers. You can find the latest versions here:

Here are the slides from the presentation itself (pdf, 1.68MB). But they won’t make much sense on their own, so here’s some notes to support it:

  1. Introductory slide with the @ symbol / treble clef combo that was at the heart of Mosaic.
  2. Proteus was an influence with its procedural music. In particular it made me want to make a game that was beautiful.
  3. Tonematrix was another big influence, a sequencer you can play in your browser. The grid and the on/off switches made me immediately think of a roguelike where you move around the space and control it. Hence Mosaic!
  4. So I had this idea of music based on the grid, and the player wandering about, and it fused with a bunch of others ideas about creativity and procedural art, and so Mosaic was born! I spent most of the week on the look and the mechanics, but come the last day I knew the time for music was near…
  5. …But I didn’t know anything about music. So, with about 7 hours left before the end of my 7DRL week I went to Twitter and asked the important question – how the feck do I make music?!
  6. Michael Brough, magical indie dev extraordinaire, responded in good fashion with a hint towards the “pentatonic scale”.
  7. To Wikipedia! Except none of this musical terminology makes sense…
  8. Some further reading down the page and I’m still confused, but I pick out a string of notes – ACDEG. I think right, I’ll try these notes out!
  9. But first I tried a bunch of piano notes and shoved them into the complete game engine, copying Tonematrix pretty exactly.
  10. Er, it worked, but it didn’t sound fantastic. The notes didn’t go well together, it all sounded messy. Tried a bit more with xylophone and harp, and there was some improvement. So, new idea, how about a whole orchestra?
  11. Firstly I got a load of notes from the Sonatina Symphonic Orchestra – a really great resource! Creative Commons notes for almost all instruments – here’s the torrent file.
  12. Next I looked up Pachelbel’s Canon in D.  Y’see it wasn’t an entirely new idea, I’d thought before that an ultra cool thing to do would be the Canon in D procedurally. This was a more advanced idea than just a Tonematrix clone, and now was the time to try it out. The actual music terminology was beyond me, but I looked at the note sequence and saw how they moved in wavy lines. So, right, wavy lines, lots of notes – can’t be that hard, right?!
  13. I assigned instruments to different lines of Mosaic, with the trombones as enemies. There’s a deliberate set up to this – harp and bass are at the top and bottom as these tend to get turned on a lot. The brass notes for enemies are deliberately distinct from the strings from the grid. This isn’t just random, it’s procedural!
  14. And wow, just wow, it sounds good! I was amazed, truly amazed, that with bugger all knowledge I had quickly managed to cobble together something that worked and sounded pretty decent. I got different feedback on this, mind – some people said it sounded fantastic, others that it was utterly awful. Turns out it depends very much on how you play, which is in itself a cool feature!
  15. Now the code, which is beautifully simple. This has been reorganised since 7DRL week but is basically the same in function. Every 0.25 seconds a tonal_shift is set – which way the notes should go. This is balanced towards small shifts, but can have a whole 5-note shift on the pentatonic scale (so a whole octave). The code looks along the current column, and on each tile if level = 1 (meaning a coloured tile) then it plays the corresponding note for that tile – self:playNote(i,1) (the 1 just means volume = 100%). It does the same checking for enemies and plays trombone notes if present – playNote(11,1). The pulse references are just for graphical effects to show notes being played. The playNote() function, not shown, decides whether that instrument follows the tonal_shift or goes its own direction, and does some admin-type stuff on pitch changes to meet the pentatonic scale – this is much better now than on the original much more note-limited 7DRL.
  16. Since the 7DRL week I’ve had lots of ideas for procedural music tied to gameplay. Sounds that are based on the environment and your interactions and events in the game. Sounds that are altered in a number of ways based on the numbers in the game. Roguelikes are especially suited for this, as using plain mp3s gets really repetitive. There’s a lot of potential here! I hope to explore this more in future.
  17. Lastly, some advice I’ve received from various sources, and a few things I found out myself – especially the last point. Music really is a deep rabbit-hole to dive down. If possible avoid this and fake things as best you can!

I wrapped up by then playing a bit of Mosaic live, which seemed to go down well enough.

I hope some of this is of interest and helpful to others! Was a lot of fun, and it’s still cool to muck about with. Rogue Rage in particular has a lot of potential for application of procedural music. Have a go yourself – it may seem intimidating, but it’s very cool when you get it working!


Mosaic 1.1.1 – massive performance improvement

April 1st, 2013 Comments off

So it turns out there was a memory and CPU leak in Mosaic that was slowing things down for many people.  Well, I’m happy to announce that I’ve now tracked down the problem and thoroughly fixed it.  I’ve done some testing and this is definitely sorted now – hurrah!  Download links:

The game is otherwise unchanged from the last release.  In fact the difference is about 10 lines of code.  The wonderful and frightening things about code is how minor changes can have sweeping effects…  Anyway, have fun mosaicing!

Tags: ,

Mosaic bugfix / balance update

March 25th, 2013 5 comments

I’ve had lots of really nice feedback on Mosaic, but I’ve also had a few bugs and issues pointed out to me. In particular the L sequences weren’t behaving intuitively, there was some buggy behaviour from the Rs and everyone found the Es almost impossible to defeat (I rather liked them – oh well). So I’ve done a bit of a fix-up, and you can now grab version 1.1:

Here’s the full changelog for this version:

  • A few typos fixed and help text updated
  • Removed Big L move (^^>>)
  • Added Corner move (^v><) – much more intuitive and always triggers
  • Es now bounce off edges
  • Ds approach the edges more closely
  • As only move in cardinal directions
  • Ns only move in diagonal directions
  • Gs now move every 10 turns (was 16)
  • Some bugs in R movement and tile wiping fixed
  • Rs can now attack the player, but only when rushing from diagonals
  • Rs now move every 4 turns (was 5)
  • Rebalanced enemy spawn rate – they appear earlier and generation slows down more when there are more of them
  • Tweaked the music generator
  • Less high pitch noises on the strings
  • More note variety on some instruments
  • Less repeating of the same notes
  • Added violas (a typo was preventing them from playing before)

Now this is all low-hanging fruit, the sort of thing that’s pretty standard to have to sort out post-7DRL.  There are maybe some other changes I’d like to make, new ideas that have only come to me after release. And there’s also the temptation to do some serious work on the music engine, to try and make it sound a lot better. That could be a real rabbit hole to get into though… Considering the time invested I’m happy with what’s there, and I’m not sure I have the time or the skill to do much better. Still, there may be a more meaty update to Mosaic in future. For now please enjoy this latest update and let me know how it feels in terms of balance and fun – if there are changes you’d like made then let me know!

Tags: ,

Mosaic, a roguelike about creativity

March 17th, 2013 7 comments

I present to you, Mosaic:

Mosaic is a roguelike in which your movements change the map, laying down colourful mosaic tiles wherever you go, and producing dynamic music based on your play. If you trace out an outline then it fills in the whole area with tiles. This is the only way to kill enemies. It’s also rather pretty!

Mosaic tiles

Pretty colours!

Some notable features of the game:

  • 4-way movement is the only input
  • Chained sequences of moves can trigger special moves
  • 1HP system, but actually not easy to die unless playing very sloppily
  • Map altering as you play
  • Procedural music generated based on the map layout and tile positions
  • Enemies all have individual movement patterns, with some being more threatening than others

Try it out! Have fun! This is honestly the best thing I’ve ever made (IMHO :P)

Edit: And here’s a Youtube video showing some gameplay and the music –

Edit2: And UberHunter has covered it on the start of his epic journey to Let’s Play all 7DRLs:

Tags: ,

F*** This Jam – or how I sold out

November 22nd, 2012 Comments off

I feel dirty and ashamed  :(  But I should have expected as much when I delved into the darkest corners of my mind for “Fuck This Jam”.  The premise: make a game in a week in a genre you hate.  Well, I despise action RPGs, those boring clicky grindfests which are bland and repetitive and decisionless.  In general I’m not big on real-time games, and I’m a big fan of ASCII roguelikes.  So the objective was clear: make a fast-paced real-time graphical action RPG that involves a lot of clicking.  It ended up being about jam:

NSFW I guess?  So yeah, I feel kinda ashamed.  I will say though that it’s actually got some good gameplay when turn-based.  And the jam drawings came out really nicely (I took some pointers from our recent eps about graphics on Roguelike Radio). But importantly I learned a whole bunch of things whilst making it, which is always the plus point about game jams.

Anyway, if you like action RPGs you should check it out!  It’s frantic, light-hearted and some may even call it fun. If it weren’t for the title it would be pretty child-friendly too  ;)