Procedural Generation Jam – 8-17 November

September 23rd, 2014 No comments

A new game jam is on the horizon, the Procedural Generation Jam:

http://itch.io/jam/procjam

Many people are using this as an excuse to make a 7DRL. But you can make any sort of procedural game you want on the week, or concentrate your time on some procedural tools instead. I’ll be making a roguelike where procedural generation is part of the mechanics of play! Hopefully it’ll also be fun.

To kick off the ProcJam there will be a day of talks in London from developers who use procedural generation. This will include Mark Johnson of Ultima Ratio Regum, Tanya X Short of Shattered Planet, Hazel McKendrick of No Man’s Sky and me! I’ll be giving a talk about how to include the player in the procedural generation, which is something I’ve tried to do with a lot of my games. You can get free tickets to the event or watch remotely via the livestream.

I’ll be hosting an episode of Roguelike Radio in the coming weeks with a few of the speakers, talking about the purpose of the jam and why procedural generation is so cool :)

Tags:

Live on One Life Left

June 25th, 2014 Comments off

On Monday I was interviewed live on London-based radio show One Life Left about roguelikes. You can catch up with the podcast version here:

http://www.onelifeleft.com/2014/06/25/one-life-left-s10e04-222-brogue-likes/

I only had a small interview segment on the show, but hopefully I did the genre some justice. I must admit I struggled a little to answer their search for a proper definition of roguelikes since I don’t really believe in strict definitions! Got Hoplite plugged at least :)

I also talked about my short stories tying in with Elite as part of Tales from the Frontier, just released. This is alongside my writing credits for Tales of Maj’Eyal and ongoing work for Jupiter Hell. I seem to like writing for games with procedural content ;) I’m always looking for new writing opportunities so if you have any leads let me know!

Tags:

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.

7DRL Incoming: 8th to 16th March

February 24th, 2014 2 comments

It’s now less than 2 weeks to the start of the 2014 Seven Day Roguelike Challenge! This my personal highlight of the year, and I can’t bloody wait for it to start :D

This year I’ve set up mailing list for people wanting to subscribe to updates about the process. This is for developers, players, media, whoever. Just enter your e-mail address if you want to be kept up to date this year and in future years.

Also, Unity have repeated their offer of 1 month trials of Unity Pro for 7DRL entrants. E-mail me if you want a code!

As for my own plans… I’m hoping to make a complex game with a hacking theme (868-HACK being a big inspiration). You move on a hex grid, with “connected” nodes being easier to travel around, and connections are created by your movements. Enemies destroy connections and hinder your movements. You die if you get surrounded by enemies – so it’s a no HP game, with movement being key. Building on Mosaic a little bit, but I’m hoping it’ll be more tactical. Bumping into enemies will trigger special attacks against them, but which attack type is triggered depends on the direction of attack, following a “hex wheel” of assigned powers. The hex wheel rotates each turn, so you can’t keep spamming the same attack in one direction.

My biggest challenge is coming up with interesting enemies and bosses, and maybe some sort of progression system. Also a good name… Hexhack? Hacktics? I’ll think something up…

Ooh, and in other roguelike-y news be sure to register for IRDC! The International Roguelike Developers Conference is in Berlin again this year, from 9 – 11 May, hosted by the distinguished Ido Yehieli.

Self-promotion

November 30th, 2013 4 comments

I don’t like doing blatant self-promotion much, but I guess I have to do it sometimes, and right now I have a few important things on.

Firstly, Tales of Maj’Eyal is about to be released on Steam! I’ve campaigned for this for a very long time, and it is such a joy for this to finally be happening. ToME, with all its modern features, fits on Steam perfectly. Of course it will still be free and open source, but having the donator’s version on Steam will hugely help in pulling more people into hardcore roguelikes. None of this twitchy light stuff – ToME will get people into properly fiendish turn-based tactical gameplay! And of course with about a novel worth of story in the game written by me :) If you want to help promote the game (and roguelikes in general) please vote for it as Indie of the Year!

Secondly, the T-Engine modules contest has just opened. My own roguelike Mosaic is up there, and there are other fun roguelikes to try out and rate. I’d be awfully pleased if you could head over there and give some honest ratings on the games you’ve tried.

Thirdly, I’ve written a novella called The Comet’s Trail to fit in with the new release of Elite: Dangerous. It will be published in an anthology of stories alongside the game in March. Our publisher, Fantastic Books Publishing, is currently running a Kickstarter to make professional audiobook versions of several Elite books. For just £1 you get a random Elite novella, an anthology of 25 fantasy/sci-fi short stories, and some weird video updates that I’ll soon be starring in. If you’re feeling generous there are some greater rewards at higher pledge levels. £5 will guarantee you the collection I’m in, along with various extras!

In other news a cool new roguelike-focused contest has opened – the Trials of Oryx. Make a roguelike using Oryx’s excellent Ultimate Roguelike Tileset (now 50% off) and you could win a cash prize! Or just have the joy of making a cool game :)

The year is coming to an end, and it’s been quite a busy one for me, and 2014 promises many exciting new things! On the Roguelike Radio front expect a couple of treats for classic roguelikers within the next couple of weeks – episodes on ASCII and Nethack :D

Tags:

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!

Tags:

I Shouldn’t Enjoy Being This Busy

May 28th, 2013 2 comments

I should apologise to any Roguelike Radio fans that have been missing episodes of late. This is largely down to the fact that I’ve been tremendously busy lately! Also, we tried recording an episode a couple of weeks ago only to find out 80 minutes in that it was only recording my voice – I had over an hour of recording of me just rambling to myself, woo. Shame, since it was some great discussion, but we’ll repeat the episode at some point. In the meantime another episode has been recorded about the Hunger Clock in roguelikes, and once I find time to edit that I’ll get it online.

So what’s been keeping me busy I hear you not ask? Well, a few things:

  • 7DRL Reviewing. Actually, I’ve been quite poor on that front. We’re near the end of the review process, just a few more left to do, but it’s proving quite a struggle to get over this last hurdle. Volunteers are still welcome! There are way too many cool 7DRLs this year  :P
  • GameCamp. This was a games festival in London with a lot of cool talks, presentations and experimental games. As well as lending a hand in running the day I showed off Mosaic there to some interested folk – procedural music has so few people working on it that even my basic potterings gains some attention.
  • GaME13. A really cool conference held every year at Imperial College (which is where I have my day job, though in a completely unrelated field). I had the honour of presenting at the conference, and gave a speech on procedural generation. I built my own roguelike presentation for the talk – it was kinda cool.
  • Mosaic has had some further work on it so I could show it at the above events. The music in particular has been much improved over earlier versions. There’s still work to do to make it even better though. I’m in two minds over whether I should submit it to IndieCade or not.
  • Writing, but this time for a short story collection called Tales from the Frontier, an official tie-in novel with the in-development Elite: Dangerous game. I’ve also just been interviewed about this by Lave Radio, a fan-run podcast about the game.
  • Lots of social stuff, including a nice trip to Paris where I met up with DarkGod (ToME4 developer) for crepes and a weekend with an old school friend where I converted him to FTL and coached him to victory in it. My first successful conversion of someone to a roguelike! (for a certain definition of roguelike ;) ) We also discovered the really cool gaming-themed Loading Bar in Soho, with game-themed cocktails and lots of free games old and new to play. London is such a cool place to live :D

Alas the busyness is not letting up. Coming up in June are the following points of excitement:

  • Fishing Jam, which I’m tempted to take part in if I can think of a good game idea. I know of at least one person doing a roguelike fishing game for it.
  • London Game Jam, which I have a ticket for but may need to pull out from :-/
  • International Roguelike Development Conference in Poland 8-9 June! I’m very much excited for this :D I’ll be presenting on procedural music and sound, showing some of the lessons I’ve learned from Mosaic and discussing ideas for how this can be expanded.
  • Rezzed game event, which looks like it’ll have a lot of cool independent projects on show, including the procedurally generated 3D stealth game Sir, You Are Being Hunted.
  • Whatever Roguelike Radio episodes we have on
  • A bunch of other non-roguelikey stuff that’s still rather interesting and time-consuming.

This isn’t me whining by the way. Being this busy is tiring, but also very rewarding! Wish I had more time for actual game development though – I seem to talk about it much more than I put it into practise  :-/

Tags:

Screw the Berlin Interpretation!

May 14th, 2013 15 comments

In the year 2008 several men and women came together in Berlin to create the last, best definition of a roguelike. It failed…

Or at least in my view it did. The Berlin Interpretation as it became known was a set of high and low value factors for what constitutes a roguelike. These were based largely on the major roguelikes of the day. They ranged from the obvious like random content to the downright nonsense, like being set in a dungeon or using ASCII.

Let me make this really clear – adding ASCII to your game does not in any way make it more roguelike. Taking ASCII away does not make it any less roguelike. It’s absurd to place value on this beyond an aesthetic choice. It’s like saying platformers have to have pixel graphics because all the old platformers had pixel graphics. This is just one of several utterly nonsense features that the Berlin Interpretation terms roguelike.

The Interpretation comes with a disclaimer stating “The purpose of the definition is for the roguelike community to better understand what the community is studying. It is not to place constraints on developers or games.” However prefacing a definition with this line is as futile as saying “I’m not racist, but…” Of course it puts constraints on developers and games! Devs want their games to fit in, and so tweak their works to score highly on this system. Gamers want to be exclusive about their community, and so rail against anything that doesn’t fit the letter of their newfound law. This has been happening for all the years since the Interpretation was made public, and has reared its ugly head again this week in a poorly written PA Report on “What the hell is a roguelike?” The comments on the post and the related reddit thread are at least polite by internet standards, but there are still many in them that stick dunderheadedly to the idea that the Berlin Interpretation is the golden rule of what is or is not roguelike.

The problem with the Berlin Interpretation is a problem with definitions in general. Firstly, a definition is only as good as its use in general conversation. The terms “decimate” and “role-playing game” no longer hold their literal meaning, and neither does “roguelike”. Meanings and context change over time, and in the five years since the Interpretation was written there have been many changes in the roguelike scene, with novel 7DRLs and indie roguelikes stretching the genre into new and unforeseen areas. It’s out of date and out of touch with modern roguelikes. All definitions are doomed to end up like this. Those who insist on sticking to the rules are like annoying grammar pedants who spend more time arguing about English than having real social conversations. By analogy those who argue over the Berlin Interpretation aren’t playing enough modern roguelikes.

Secondly, definitions are about excluding things. They ultimately draw a line in the sand and say “if you stray beyond, you are forgotten”. This is terrible from a design point of view, as it limits creative potential. It’s awful from a community point of view because it pushes people out. The Berlin Interpretation tried to be wishy-washy with its “you don’t need every rule” but people don’t read it like that. Descriptors like “turn-based” get used as clubs to beat other games out, even games that do innovative things with the time system like FTL.

Thirdly, definitions only look at the “what” behind things, not the “why”. I’ve railed against what vs why in a similar context before. There are reasons behind the features listed on the Berlin Interpretation, and understanding the why lets you understand how they can be changed and still keep the spirit of the game. There’s a certain feel to playing a roguelike, and a reason why several of the common features work well together. That roguelike feel can be described, but it can never be reduced to a pathetic ingredients list. Trying to define the features that make a roguelike so special is akin to describing a cake’s flavour as being flour, water, butter and sugar.

So why is a game a roguelike? How does it play? Well, in my view it’s inherently replayable, capable of surprising the player on many playthroughs. It rewards cleverness and tactical thinking. It cannot simply be learnt by rote, but it can be mastered with experience. It emphasises gameplay before aesthetics, concentrating on making that replayable experience fresh and engaging on each play. It’s unforgiving, but all the more rewarding when you perform it well, offering an honest sense of achievement and satisfaction. Much of this satisfaction comes from the internal knowledge of having done well at the game itself, rather than artificially constructed rewards. [Edit: Some people are taking this as a suggested definition - it is not! It's just meant to be a more healthy way of reflecting on what makes roguelikes what they are.]

When making or playing a game think about how the design satisfies these feelings of play, and which features best contribute towards the spirit of roguelike. And screw the Berlin Interpretation, or any other list of yes and no features. These definitions are only used by pedants to silence conversation and stifle creativity and potential in the genre. We don’t need that crap! Roguelikes are an exciting genre with a huge range of still untapped potential – we need to be exploring new territories and looking for new boundaries, instead of trapping ourselves into a tight space of already knowns.

Viva la Roguelike Renaissance!

Rogues and Heroes

May 10th, 2013 5 comments

One thing I like about roguelikes is that they are not about heroes. Well, they can be, some are centred around a heroic quest, with the player eventually taking up the mantle of heroism. But whilst most may involve heroic deeds they are not in essence about the hero story that plagues so much of modern gaming.

Rogue Epyx box art - a thief seeks an amulet in a dark dungeon

The original Rogue box art from Epyx emphasises the depowered nature of the game’s protagonist.

The Hero is the chosen one, the powerful one, with some special abilities that give him (almost always a him) superiority to his foes. He goes through the game undefeated, conquering all trials before him, and eventually slays the evil dragon and rescues the princess. Or perhaps his loved one was killed and he seeks revenge against the evil sorcerer that also happens to be threatening the world. Or whatever other cheesy male power fantasy trope you want to choose. I personally hate these stories – they are boring and usually laden with misogyny.

The Rogue is different. He seeks to steal an item and escape with it. Instead of climbing a tower he descends into a dark dungeon. The creatures he defeats are not a threat to the world outside, they’re just obstacles to his end goal. Some of the creatures are too powerful to defeat and have to be evaded or run away from. The Rogue gets hungry, gets scared, gets debilitated, and most importantly gets killed. He or she is not the chosen one, oh no, for many men and women have died beforehand and more will die again.

At the heart of the roguelike story, going right back to the original Rogue, is a subversion of the typical power fantasy. Though the setting may be fantasy the player is not invited to live a fantasy lifestyle. They may have swords and sorcery, but those swords can break and that magic can fail. There is a gritty realism to how many roguelikes play, a simulation of just how a desperate thief in a monster-filled dungeon would feel. You can make mistakes and they are permanent. The game has no pity for you when you die.

Rogue C64 box art, with a muscley man wielding a homoerotic sword. In the background is a bikini-clad lady to rescue.

But Rogue’s C64 box art completely misses the point. Image NOT representative of game content!

And what’s wonderful is that communities accept this. YASDs are frequently far more interesting than YAVPs. Suggestions for game additions often come in the form of new enemies and obstacles rather than new player powers. People invent extra challenges and restrictions to play with that make the Rogue’s journey even more excruciating. Players complain when the game gets too easy.

There are some major exceptions – ADOM and Angband are all about being the hero and saving the world, and you can build supremely powerful characters in them. ToME sets the player up as a hero (albeit with uncomfortable moral quandaries), and even has a “save the girl” sidequest, complete with cheesy smooch of victory. But it’s interesting to note how often people do go back to the original “get an item and come back with it” quest of Rogue, such as in DCSS and Brogue. Or how games like Smart Kobold deliberately frame the hero as being someone motivated by greed rather than adventure. The one Roguelike I know of which specifically has a “save the royalty” main questline is PrincessRL, where you are the princess saving the prince – again a subversion of the popular fantasy tropes.

It may be part of what makes the roguelike experience alien to outside players. It’s not just the poor (or lack of) graphics, archaic interface and unforgiving difficulty. It’s also the way they strip the player of a feeling of power. They don’t pat you on the head and say you are special. This is not a simple escapist experience where you have fun being a cool wizard or warrior. In both the mechanics and the theme of the game this message is repeatedly reinforced. You are underequipped, always running out of resources, always facing enemies that are stronger than you, having to use your wits to survive. You are not a Hero – you are not here to save the day, and even your death may be pitiful and forgotten. You are a Rogue, and the dark places you walk in are fraught with danger.

So go play some Rogue!

Tags: