Tom Francishttp://www.pentadact.com
I designed a PC game called Gunpoint and now I'm working on Heat Signature.Sun, 26 Jul 2015 13:21:24 +0000en-UShourly1http://wordpress.org/?v=4.2.3Vapour Trail Experimentshttp://www.pentadact.com/2015-07-26-vapour-trail-experiments/
http://www.pentadact.com/2015-07-26-vapour-trail-experiments/#commentsSun, 26 Jul 2015 13:21:24 +0000http://www.pentadact.com/?p=8070It’s Sunday, so I’m allowed to work on things that aren’t important. This started as a test for an idea I have of how to create a ‘wake’ that expands behind you, something I ultimately want to use to cut through some layers of cloud as you fly. But I accidentally made a cooler version of the existing contrail, so I tried randomly colouring it, and here we are.

]]>It’s Sunday, so I’m allowed to work on things that aren’t important. This started as a test for an idea I have of how to create a ‘wake’ that expands behind you, something I ultimately want to use to cut through some layers of cloud as you fly. But I accidentally made a cooler version of the existing contrail, so I tried randomly colouring it, and here we are.

Not sure what to do with it from here. I like everything about it except the end, it has what I call ‘fat tail’ problem: no matter how gently I tell the alpha to fade out, the final, big chunk of vapour always looks like it ends rather suddenly, like your ship just has this big fat tail following it.

I like the idea that breacher ships of different factions would have different contrail colours, though. And I think engine upgrades will probably affect this too.

Here are a million shots:

]]>http://www.pentadact.com/2015-07-26-vapour-trail-experiments/feed/11Spot The Bughttp://www.pentadact.com/2015-07-25-spot-the-bug/
http://www.pentadact.com/2015-07-25-spot-the-bug/#commentsSat, 25 Jul 2015 11:50:02 +0000http://www.pentadact.com/?p=8054My current task in Heat Signature is to tweak the airlocks so there’s room to put a closed door between you and the rest of the ship when you board. That way, you have as much time as you like to plan out your attack and wait till the guards are where you want them.

]]>My current task in Heat Signature is to tweak the airlocks so there’s room to put a closed door between you and the rest of the ship when you board. That way, you have as much time as you like to plan out your attack and wait till the guards are where you want them.

I needed the airlocks to clear 4 squares on the ship’s collision grid, to give you room to stand. But I hit a weird bug: some of them, maybe a third, did not clear. I checked the ‘clear grid’ function was executing on each of them, but still some of them ended up blocked.

I could see nothing wrong with the code no matter how hard I looked, so the only way to solve it was to look at a lot of test cases and see if I could spot what the bad ones had in common. As I said in my tutorial episode on debugging, it’s often impossible to see the problem until you get a clue about where to look. So I spawned lots of ships, checked each airlock, and screenshotted each one. And it was only looking back at the screenshots that I spotted what all the bad ones had in common – or rather, what all the good ones did.

I thought it might be fun to just put up all the shots I looked at and see if you can spot it yourself. Not the actual explanation of the bug, of course, that’s tricky without seeing all my source code, but I was just looking for any commonality at all. And in case you think I’m Tom Sawyering you into solving it for me, I have no compunction about just asking for help when I really am stuck. This one was kind of fun to figure out, for a certain definition of fun.

Here are all the bad ones. The grid thing is showing what bits of the ship are solid, and these are ‘bad’ because the part I’m standing in is all red – I’m stuck. None of the debug text is relevant.

And here are all the good ones – the area I’m standing in is green, I’m free to move.

So there’s something all the bad ones have in common and something all the good ones have in common, and it’s evident in these shots. Comment if you spot it!

Update! People have got it! Both here and on Twitter, in fact I think most people who took a stab either got it or got something close enough. Kudos to Pompolic for the first correct solution I saw. I’ll detail what was going on below, but hide it until you click to reveal the solution, for anyone who still wants to try it for themselves.

Solution!

As many spotted, all the good ones are indented from the outer edge of the ship. It’s not as clear from the bad ones in isolation, but the real problem they share is that they’re all on the very outermost module of the ship. This is a problem because the collision grid only covers the smallest rectangle the ship’s modules fit into, so the protruding part of the airlock is outside the grid entirely. My collision grid visualiser doesn’t seem to have a problem with that, but the ‘clear grid’ function REALLY does. Not only does it not clear the cells that are outside the grid, it also fails to clear the cells that ARE. It doesn’t crash but essentially gives up.

Fixing this is a scarily big job, and it’s something I’ve attempted before. What we need is for the collision grid to leave some room around the ship. But this is awkward because the way the collision grid is generated depends on using the module and objects’ ship-wise co-ordinates to figure out where on the collision grid they lie. If we add extra space to the collision grid, all those references would be wrong by the size of the border. We could add an offset in the collision grid generator, but then we also have to add that same offset EVERYWHERE we EVER reference collision, including for things like line of sight checks. Nightmare.

We could make the collision grid generate correctly automatically if we changed the ship’s module grid to add empty modules all around the ship. But we have to decide whether to mess with the loops that generate the ship: right now they go from row 0 to ModulesLong, and column 0 to ModulesWide. Should we keep that the same but add new module spaces outside of those values? That’s tempting, but now every modules ‘row’ and ‘column’ variable is technically wrong, and won’t relate to its ‘fore’ and ‘starboard’ co-ordinates in ways that I’ve relied on all over the place.

So in the end I did change those loops – they now go from ModuleBorder to (ModulesLong – ModuleBorder), etc. It seems messy at first, and lots of littel variables did need adjusting to account for this, but crucially all of that was in the ship generation scripts. After a few crashes and weird, asymmetrical ships:

My third set of tweaks finally fixed it, and seemingly nothing else needs changing. That’s a huge deal, I think both the other routes to solving this would have had me still fixing little exceptions and unforeseen consequences months down the line.

Thanks for indulging me!

]]>http://www.pentadact.com/2015-07-25-spot-the-bug/feed/7Eurogamer Play Heat Signaturehttp://www.pentadact.com/2015-07-22-eurogamer-play-heat-signature/
http://www.pentadact.com/2015-07-22-eurogamer-play-heat-signature/#commentsWed, 22 Jul 2015 17:35:41 +0000http://www.pentadact.com/?p=8052I let Eurogamer play Heat Signature and sat in the back seat to passive-aggressively criticise! It went great!

This is both a slightly better looking build than the last trailer, and a longer vid – shows the whole disrupt/isolate/capture cycle.

I used to be press! Now I’m a developer. So I’m showing them my game, and trying to figure out if what I’m showing is exciting. Here’s what that’s like. I would like it known that I really am saying ‘Alec’ when I refer to Alec but it sounds a bit like Alex because of a mouth thing. A similar mouth thing to when I appear to say ‘intereted’ right after.

I used to be press! Now I’m a developer. So I’m showing them my game, and trying to figure out if what I’m showing is exciting. Here’s what that’s like. I would like it known that I really am saying ‘Alec’ when I refer to Alec but it sounds a bit like Alex because of a mouth thing. A similar mouth thing to when I appear to say ‘intereted’ right after.

]]>http://www.pentadact.com/2015-07-21-what-its-like-showing-heat-signature-to-the-press/feed/1Writing vs Programminghttp://www.pentadact.com/2015-07-21-writing-vs-programming/
http://www.pentadact.com/2015-07-21-writing-vs-programming/#commentsTue, 21 Jul 2015 14:40:02 +0000http://www.pentadact.com/?p=8048Writing is like having a conversation with someone who can’t reply until you’ve finished.

Programming is like having a conversation with a robot who screams at you if you pause in the wrong place, electrocutes you if you change your mind, and explodes if you ever use the future tense.

]]>Writing is like having a conversation with someone who can’t reply until you’ve finished.

Programming is like having a conversation with a robot who screams at you if you pause in the wrong place, electrocutes you if you change your mind, and explodes if you ever use the future tense.

]]>http://www.pentadact.com/2015-07-21-writing-vs-programming/feed/2Let Me Show You How To Make A Game With No Experiencehttp://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/
http://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/#commentsThu, 09 Jul 2015 17:12:32 +0000http://www.pentadact.com/?p=8041After 7 months, 25 episodes, and about 16 hours of total running time, my tutorial series is complete! I talk you through making a game, from writing your first line of code, to releasing and selling it. It’s aimed at absolute beginners, it only uses free software, the tutorial itself is free, ad-free, the game we made is free, and it’s in fairly digestible 45-minute episodes.

]]>After 7 months, 25 episodes, and about 16 hours of total running time, my tutorial series is complete! I talk you through making a game, from writing your first line of code, to releasing and selling it. It’s aimed at absolute beginners, it only uses free software, the tutorial itself is free, ad-free, the game we made is free, and it’s in fairly digestible 45-minute episodes.

]]>http://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/feed/1Back Up Your Stuffhttp://www.pentadact.com/2015-07-03-back-up-your-stuff/
http://www.pentadact.com/2015-07-03-back-up-your-stuff/#commentsFri, 03 Jul 2015 20:21:42 +0000http://www.pentadact.com/?p=8035My Twitter-friend Chelsea may have lost a truly heartbreaking amount of work when a powercut somehow wiped her hard drive. She and probably anyone following the awful saga have resolved to be more zealous about backing stuff up online, so I thought I’d do a post about what I use and what I think of it.

]]>My Twitter-friend Chelsea may have lost a truly heartbreaking amount of work when a powercut somehow wiped her hard drive. She and probably anyone following the awful saga have resolved to be more zealous about backing stuff up online, so I thought I’d do a post about what I use and what I think of it.

Dropbox

Dropbox runs in your system tray and keeps everything in your ‘Dropbox’ folder synced, both to their servers and to any other computer you install it on. Since I use a desktop and a laptop regularly, right away that gives me one remote and two local copies of all my most important stuff. I use my Dropbox folder as a ‘My Documents’, generally: it’s all things I’ve created and would hate to lose: docs, photos, and my game.

I pay $100 a year for 1TB of space, plus $40 a year for an add-on that gives unlimited version history: every version of everything I’ve ever put in there is stored forever, even if I delete or over-write it.

Limitations:

It’s not good for syncing stuff that needs to stay in the folder it’s in, like a savegame folder. There’s a third party hack to trick it into doing that, but ‘third party hack’ and ‘my most precious data’ don’t really feel like good partners.

If you regularly dump huge amounts of stuff in there, it’s a little irritating that you can’t change the order in which things are backed up. One 2GB file has changed? It’ll keep trying to upload that and not back up any of the new changes to smaller files until it’s done. Hasn’t been a problem for me since I first set it up.

If you regularly delete thousands of files (I do!), it’s bizarre that it takes as long to upload or download that change as it would if you’d added that many files.

You can get your iPhone to back up your photos to it, but they’ve recently split that functionality off into a separate app called Carousel, which is fucking horrible. It only syncs if you run it, then access your photos while it’s running.

It’s not good for backing up Unity games. Unity seems to lock certain files in a way that prevents Dropbox from backing them up, and as mentioned earlier, it’ll keep trying that same file forever, ignoring all other changes in the meantime.

The version history thing is reassuring, but if I ever lost or over-wrote a folder of thousands of files, I can’t see a way to batch-restore them – you have to click on each file individually and select the version you want to roll it back to. For my game, that’d probably take longer than re-making it.

CrashPlan

CrashPlan runs in your system tray and automatically backs up a number of folders you’ve told it to, encrypted, to any and all locations you select. I use it for absolutely everything I value outside of Dropbox – and Dropbox itself, just to be sure.

The free version will back up to a local or external hard drive, or even to a friend’s computer, so you can do a kind of back-up swap (it’s encrypted).

I pay $60 a year to back up to their servers. There’s no space limit, and I’m using over 300 gigabytes – it took a week to get it all up there when I first installed. Now it just runs silently in the background and I never notice it. It’ll back up all changes right away if you like, or you can tell it to only do it when the computer’s idle.

Limitations:

As far as I know you can’t use it for passively keeping stuff in sync across multiple computers.

I thought it didn’t have versioning but it turns out it does. Gosh, unless you really need syncing you should use this instead of Dropbox.

Version Control

Version control is a truly vital concept that has unfortunately been implemented by madmen. It’s basically “keep every version of my project (usually online)” but with the ability to ‘branch’ out from a version and then merge those changes back in later, which is particularly useful for teams.

I use GitHub for my Unity projects, following this guide, but I find Git itself baffling and mad, even after taking real pains to learn it. More than once it’s told me I’m not allowed to save my work, and must over-write it with the outdated online copy, and I have to go crying to Twitter to find someone who can tell me what buttons to press to let me actually save. I’ve never actually lost work to it, so I’ll keep soldiering on, but I have a hard time claiming this is a sane way to back up your stuff if you work alone.

Limitations:

Fucking mad.

Game Maker Studio has a different version control system built in, Subversion. I tried setting it up once, using a test project, and tested deleting something and rolling back to the old version. I could not, the thing was gone forever. That concludes the past, present and future of my relationship with Subversion for Game Maker.

I also made a short montage of all the ways I fucked this video up in previous takes:

]]>http://www.pentadact.com/2015-06-29-new-heat-signature-video-galaxies-suction-and-wrench-throwing/feed/7What Works And Why: Nonlinear Storytelling In Her Storyhttp://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/
http://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/#commentsSat, 27 Jun 2015 17:37:58 +0000http://www.pentadact.com/?p=8012What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.

]]>What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.

Spoiler-free

The Game: Her Story

You play someone who’s been given access to a database of video clips, all of the same woman being interviewed by the police about the disappearance of her husband. You can only find the clips by searching for words or phrases you think might be in their transcripts, and you only get to see the first five results of that search. The clips are extremely short – most are about 20 seconds – but there are hundreds. The more you watch and discover, the better an idea you get of what to search for, and slowly you piece together the truth of what happened.

What Works: Nonlinear Storytelling

You’re free to search for anything you like, and the game cannot hide or lock off any clips that mention that term. The only restriction is that five-clip limit, and that’s sorted in chronological order, so it also can’t cheat by keeping a particular clip out of the top five artificially. That means it’s entirely possible to find the deepest secrets of the story with your first search.

But that’s not what happened for me, or anyone else I’ve talked to. In fact, it seems to almost always play out like a brilliantly paced thriller: mysterious hints leading to confusing contradictions, leading to revelations, then to further curiosities, then to even bigger revelations.

It was about an hour before I felt I had a handle on what happened, and an hour later it was all turned on its head. By then I was so fascinated that I spent another hour scouring for more, fleshing out the details, and investigating side-leads. I expect it would be two more to find everything.

Why:

Having to type in search terms means the way you explore and discover the plot is driven by your own intelligence. You can search for general terms if you’re stumped, but more often something she says will spark an idea in your head, you type it in, and see what you get.

When an idea like that fills the results box with 5 undiscovered clips, you get to feel what it’s like to make a breakthrough in a murder case – to solve something with a flash of inspiration. And because nothing in Her Story is straightforward, there’s a delight to delving into that fresh treasure trove of new information – new questions as much as new answers.

Letting the player potentially find any part of your story in any order is a counter-intuitive idea for an entirely story-driven game.

Without that five clip limit, I don’t think it would work – a generic search would become a playlist of all the videos.

Without the search results being in chronological order, I don’t think it would work – you could keep trying different generic words until the juicy stuff came up by chance.

And with a simpler plot, I don’t think it would work – the ‘truth’ of Her Story’s plot is so elaborate and complex that even watching the game’s most revealing clip would only give you one piece of the puzzle.

That last point is what really made it special, for me. I took 700+ words of notes while playing, meticulously organised by date of interview, and repeatedly had to revise or correct assumptions I’d made about the meaning of earlier clips.

My first big revelation was a substantial clip that seemed to describe the whole crux of the thing, and sent me on a frenzied series of searches to investigate its most remarkable info. An hour later, after discovering much more, I went back and watched that clip again to check something. As I did, everything about it flipped round. Almost every word changed meaning, mysterious references clicked into new facts, and previously vague motives suddenly became frighteningly clear. It was the same clip that had told me what happened, but only with a headful of new information did it also tell me why.

What To Learn:

Search is a great interface for natural language input

It’s interesting to compare Her Story to a text adventure: you do type in text, freely, in the hope of getting a pre-written response back. And like a text-adventure, a lot of what you type does not have a response. But here that system is never frustrating, because the logic of what will and won’t get a response is made clear to you, there’s a natural reason for it, and that lets it become the game.

The implicit promise of a text adventure is “Type whatever you want to do, I’ll tell you if it works!” But if you’re not conversant in the standard commands, what you type will more often fail because the game doesn’t understand it or doesn’t have a response ready.

The promise of Her Story is “Type what you think she might have said, I’ll show you if she said it.” When nothing comes back, it’s because you failed at that job.

The interface, the thing that limits what you can and can’t do, is natural: it matches the limitations your character in this world also faces. And so the challenge of overcoming it feels like a game, rather than a frustration.

If you split a sufficiently complex plot into sufficiently small pieces, it works out of order

Plenty of stories work out of order, but they had to be pre-written that way. Her Story doesn’t know the order you’ll discover it in, yet it seems to almost always work as a well-paced thriller. Because as in my example, even a crucial piece of information, in isolation, doesn’t tell you everything you want to know.

It’s worth noting, though, that Her Story’s delivery system does influence the order, by sorting results chronologically. If what you search for has more than 5 results, the 5 you get will be the earliest of those, which tend to be less revealing than later clips.

If you can tell something out of order, let the player drive the order

If every clip in Her Story was an audio log littered randomly around BioShock, it would lose part of its appeal. What made the game exciting was driving that discovery process with my own insights. They didn’t always work, and often I found something I wasn’t looking for, but I was still driving the process and sometimes hitting the jackpot, and that’s what made it so engrossing.

I don’t know what the ‘littered around BioShock’ equivalent of that is yet, but that’s what I’m thinking about now.

]]>http://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/feed/5Tiny Designhttp://www.pentadact.com/2015-06-05-tiny-design/
http://www.pentadact.com/2015-06-05-tiny-design/#commentsFri, 05 Jun 2015 22:32:17 +0000http://www.pentadact.com/?p=7987Tiny Design is a good blog about tiny design choices and why they were (probably) made. A lot of them are things you might not consciously notice, which made me think that there may be others you still haven’t consciously noticed. So here’s one you might not have noticed in Gunpoint! Unless you followed its development, because I tweeted about it 5 years ago.

]]>Tiny Design is a good blog about tiny design choices and why they were (probably) made. A lot of them are things you might not consciously notice, which made me think that there may be others you still haven’t consciously noticed. So here’s one you might not have noticed in Gunpoint! Unless you followed its development, because I tweeted about it 5 years ago.

In Gunpoint, you click and hold the mouse to charge a jump, move the mouse to adjust the predicted arc of where you’ll go, and release the button to launch yourself. The further away you move the mouse, the stronger the jump. But when I watched people play, they’d often click quite close to the character and never discover their full jump strength potential.

I thought about adding a ring showing how far to move the mouse from your character to reach maximum jump strength, or a gauge to show how much of your maximum strength you were using. But in the end I found a way to do it without adding any new visual elements:

However far away the cursor is when you start holding the button, that becomes the game’s new standard cursor distance for a maximum strength jump. So whatever the player’s expecting, the game’s maths silently recalibrates to match it. It changes again every time you click, so you don’t need to be consistent. And you can still do a smaller jump by moving the mouse closer after you’ve started holding it.

From what I saw of people playing after that change, it worked: everyone still had different ideas of how far away to click, but now they all resulted in the same range of power and control.

]]>http://www.pentadact.com/2015-06-05-tiny-design/feed/1Thoughts On Neon Structhttp://www.pentadact.com/2015-05-29-thoughts-on-neon-struct/
http://www.pentadact.com/2015-05-29-thoughts-on-neon-struct/#commentsFri, 29 May 2015 16:36:11 +0000http://www.pentadact.com/?p=7985In the new podcast I discuss what I thought of Neon Struct, a retro first-person stealth game by Eldritch creator David Pittman, with very conscious nods to Deus Ex and Thief. Here is the part where I do that!

]]>In the new podcast I discuss what I thought of Neon Struct, a retro first-person stealth game by Eldritch creator David Pittman, with very conscious nods to Deus Ex and Thief. Here is the part where I do that!

I didn’t like it at first but then I did. A few people have asked if I’ll do a Let’s Play: I tried, but as you’ll hear, level 1 did not go well and took a very long time, so I stopped. Steve Gaynor’s playthrough here is much how mine went: we both tried the same thing and had the same problems.

]]>http://www.pentadact.com/2015-05-29-thoughts-on-neon-struct/feed/1Thoughts On Invisible Inc And GalCiv 3http://www.pentadact.com/2015-05-22-thoughts-on-invisible-inc-and-galciv-3/
http://www.pentadact.com/2015-05-22-thoughts-on-invisible-inc-and-galciv-3/#commentsFri, 22 May 2015 15:53:53 +0000http://www.pentadact.com/?p=7976Both these games are out now, and I’ve played them both, and I say what I think of them both on the new Crate & Crowbar podcast! This embed starts when Tom Senior and I trading Invisible Inc tales (his voice first), then I get to the ridiculous way I handled the GalCiv 3 tutorial at 1:00:05.

]]>Both these games are out now, and I’ve played them both, and I say what I think of them both on the new Crate & Crowbar podcast! This embed starts when Tom Senior and I trading Invisible Inc tales (his voice first), then I get to the ridiculous way I handled the GalCiv 3 tutorial at 1:00:05.

Here is a video blog about that, and how I’m changing how I think about working on it.

]]>

Here is a video blog about that, and how I’m changing how I think about working on it.

]]>http://www.pentadact.com/2015-05-19-why-im-letting-heat-signature-get-bigger/feed/16My Idea For An ‘Unconventional Weapon’ Gamehttp://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/
http://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/#commentsSun, 17 May 2015 14:26:52 +0000http://www.pentadact.com/?p=7907I was ill for a few weeks recently, and Ludum Dare happened during it. As usual I wanted the challenge of thinking up an idea to fit the theme, but couldn’t spare the two days to actually make something. The theme was ‘an unconventional weapon’, so I wrote up an idea but didn’t get around to publishing it at the time. Here it is!

]]>I was ill for a few weeks recently, and Ludum Dare happened during it. As usual I wanted the challenge of thinking up an idea to fit the theme, but couldn’t spare the two days to actually make something. The theme was ‘an unconventional weapon’, so I wrote up an idea but didn’t get around to publishing it at the time. Here it is!

The Switch

Your character and one other are slave labourers in a big, dilapidated factory of extremely dangerous machines. In a short, wordless intro:

Scene 1

A machine malfunctions and cuts your arm off

The guards ignore you

Your partner loses it and attacks a guard

The guard beats them

You try to help but collapse

You’re both overpowered dragged away

Your partner grabs something from the production line just as we fade to black

Scene 2

The guard drags you both, throws you into a chamber with blackened walls

Your stump is bandaged in a shirt but still bleeding

Just before your cell door closes, your partner throws something into your cell that clatters on the floor.

Your partner is thrown into a similar chamber opposite

When the guard walks away, there’s a small green light stuck to him

Faintly visible gas floods your partner’s cell with a hiss

It suddenly ignites in dazzling orange flame, then fades: nothing is left

When you pick up the object you get a prompt: “Right mouse: Switch”

The same gas floods into your cell

If you flick the switch, you and the guard instantly switch places: he’s incinerated and you’re free

If you don’t it is a short game

The Game

The Switch is a slim metal cylinder with a simple lever switch on the end. It now has something attached to the bottom: the Tag, a thin disc with the feel of a fridge magnet.

Left click throws the Tag. It sticks to whatever it hits, but the Switch only works if it’s stuck to a human: the things it switches need to be similar in mass and composition. It’s light enough that they won’t feel anything if they didn’t see you throw it, and you don’t have to be nearby or in line of sight to press Right mouse and switch places with them.

Once the tag is thrown, Left clicking again teleports it back to you without switching.

So it’s a stealth puzzle game about quietly tagging enemies, then purposefully throwing or trapping yourself into fatal hazards and switching at the last minute. The factory is a complete deathtrap: you’ll stand under smashing pistons, throw yourself into grinding gears, jump onto rusty sawblades, lock yourself in trash compactors, drop onto conveyor belts too fast to run against, walk off sheer drops, and dive onto safety railings have decayed into javelins of rust. The idea is invert the idea of avoiding death, and to make you feel a little of what you’re about to inflict: that physical wince just before you die of something unsettlingly physical in a videogame, like a long fall or heavy object.

Your task is to escape, obviously, and along the way you’ll mostly be using the Switch to get guards out of your way. In some situations, though, guards can also double as ‘lives': tag one before attempting to navigate a tricky part of the factory, and if you slip and fail you can Switch to put him in your place and get another go. In those situations and others, killing isn’t strictly necessary, and if you’re trying to minimise it you’ll have to decide whether you want to set up that murderous contingency plan in case it comes to it.

Obviously there are thematic similarities with The Swapper, but both the tech and usage are different: that game was about cloning yourself, the Switch is just a teleporter. It’s about doing horribly suicidal and reckless things to yourself and using your unconventional weapon to transfer the consequences to others. Which is also why it needs a nasty intro and a persistent reminder of your desperate circumstances.

Previously: I came up with ideas for 8 previous game jams, 3 of which I actually made – Scanno Domini, Jake and the Infinite Jerkbots, and Floating Point. You can read about them all and play those three by browsing the game jams tag here.

]]>http://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/feed/5A Day’s Experimentation With Heat Signature’s Nebula Generationhttp://www.pentadact.com/2015-04-30-a-days-experimentation-with-heat-signatures-galaxy-generation/
http://www.pentadact.com/2015-04-30-a-days-experimentation-with-heat-signatures-galaxy-generation/#commentsThu, 30 Apr 2015 17:45:01 +0000http://www.pentadact.com/?p=7911John recently did some new sprites for us to construct nebulae out of, and I couldn’t help tinkering with the way we randomly generate your galaxy to make use of them. The ‘galaxy’ is what I call the entire game world, and a single clump of gas clouds within that is a ‘region’. I started with generating a single region from these sprites, combining two colours, then tried generating a bunch of those to make a galaxy. The latter part turns out to look awful if you use more than a couple of colours, so for now they each have a definite theme.

]]>John recently did some new sprites for us to construct nebulae out of, and I couldn’t help tinkering with the way we randomly generate your galaxy to make use of them. The ‘galaxy’ is what I call the entire game world, and a single clump of gas clouds within that is a ‘region’. I started with generating a single region from these sprites, combining two colours, then tried generating a bunch of those to make a galaxy. The latter part turns out to look awful if you use more than a couple of colours, so for now they each have a definite theme.

The green blob in some of these is your ship’s heat signature: it’s visible at any zoom so that you know where you are on the map. At some point I decided to let you turn this off for screenshots. The faint white dot is the cursor.

]]>http://www.pentadact.com/2015-04-30-a-days-experimentation-with-heat-signatures-galaxy-generation/feed/7Galactic Zoom In Heat Signaturehttp://www.pentadact.com/2015-04-12-galactic-zoom-in-heat-signature/
http://www.pentadact.com/2015-04-12-galactic-zoom-in-heat-signature/#commentsSun, 12 Apr 2015 15:57:44 +0000http://www.pentadact.com/?p=7895Heat Signature’s universe has been infinite since day 2 or 3, but until now you’ve only been able to see a meager 35,000 x 35,000 pixels of it at once. I knew at some point I wanted to let you see an overview of the part of space you’re in, a collection of vast gas clouds that I think is going to be called The Grove. But I wasn’t sure if this would have be a map mode or if we could zoom smoothly from one to the other. I’m still not sure if the latter is viable performance-wise, or even if it’s the right way to go, and the galaxy is ugly at the moment, but for what it’s worth I made it and here it is:

]]>Heat Signature’s universe has been infinite since day 2 or 3, but until now you’ve only been able to see a meager 35,000 x 35,000 pixels of it at once. I knew at some point I wanted to let you see an overview of the part of space you’re in, a collection of vast gas clouds that I think is going to be called The Grove. But I wasn’t sure if this would have be a map mode or if we could zoom smoothly from one to the other. I’m still not sure if the latter is viable performance-wise, or even if it’s the right way to go, and the galaxy is ugly at the moment, but for what it’s worth I made it and here it is:

I tweeted about how I approached this as I went, here are those tweets:

]]>http://www.pentadact.com/2015-04-12-galactic-zoom-in-heat-signature/feed/7Thoughts On The First Deus Ex: Mankind Divided Trailerhttp://www.pentadact.com/2015-04-09-thoughts-on-the-first-deus-ex-mankind-divided-trailer/
http://www.pentadact.com/2015-04-09-thoughts-on-the-first-deus-ex-mankind-divided-trailer/#commentsThu, 09 Apr 2015 16:08:04 +0000http://www.pentadact.com/?p=7890There’s a new Deus Ex game coming, and there’s a trailer for it! It was all we could talk about last night on the podcast, until we’d covered it and moved on (about 32 minutes) to talk about other things. Listen to know my, and their, thoughts!

]]>There’s a new Deus Ex game coming, and there’s a trailer for it! It was all we could talk about last night on the podcast, until we’d covered it and moved on (about 32 minutes) to talk about other things. Listen to know my, and their, thoughts!

Many of you have been asking how the story of Heat Signature follows on from Gunpoint. We can now explain.

]]>

Many of you have been asking how the story of Heat Signature follows on from Gunpoint. We can now explain.

]]>http://www.pentadact.com/2015-04-01-from-gunpoint-to-heat-signature-a-narrative-journey/feed/4Thoughts About Praise And Confidence At GDC And Rezzedhttp://www.pentadact.com/2015-03-16-thoughts-about-praise-and-confidence-at-gdc-and-rezzed/
http://www.pentadact.com/2015-03-16-thoughts-about-praise-and-confidence-at-gdc-and-rezzed/#commentsMon, 16 Mar 2015 19:48:45 +0000http://www.pentadact.com/?p=7858I’ve just got back from sixteen days of travelling: first to the Game Developers’ Conference in San Francisco, then to the indie game show Rezzed in London. I was showing Heat Signature to the press at GDC and to the public at Rezzed, but events like these are also huge meetups for a bunch of geographically separated friends – and people who are very likely to become that. So it’s been more pleasure than business, and the evenings have been as hectic as the days.

]]>I’ve just got back from sixteen days of travelling: first to the Game Developers’ Conference in San Francisco, then to the indie game show Rezzed in London. I was showing Heat Signature to the press at GDC and to the public at Rezzed, but events like these are also huge meetups for a bunch of geographically separated friends – and people who are very likely to become that. So it’s been more pleasure than business, and the evenings have been as hectic as the days.

It’s been fantastic. GDC has been the highlight of my year in each of the three years I’ve been. This was my first Rezzed, but it was much like the brilliant EGX with better food, more people I knew, and no queues for the bathroom.

For most of the year I like my peaceful, productive life at home, but for these few weeks I love switching into the opposite mode, and getting all the benefits of that in rapid succession. That’s why I’ve been chaining these events together: preparing and organising is the only part I don’t like, so any time I can do two for the price of one is great.

That introvert/extrovert flip is also a big jolt to the system, combined with a massive influx of fresh perspectives from a diverse crowd of smart people, combined with a deluge of raw feedback and reactions to the current state of my game, combined with a big break from my usual working schedule, combined with lots of new sights and sounds and games and experiences and inspiration.

I might do a separate post about what I learned about Heat Signature from the reaction it got, but in this one I’ll just boil down two things this trip clarified about life and people and events like these.

This was in my room at the hostel.

Acceptance is like armour

The way confidence and success feed off each other is deeply unfair. “Have confidence!” “Believe in yourself!” and “Fake it till you make it!” are all bits of advice that can work for some people in some situations. But a lot of the time, you might as well be saying “Have gills!” “Believe you have gills!” “Fake having gills until you have gills!”

People say those things because confidence, unlike gills, can quickly lead to the kind of success or approval that gives you more. That’s the part I became familiar with on this trip: the more people heap disproportionate praise on Gunpoint, the easier it gets to talk to people – even the ones who aren’t praising it and have no idea what it is. That acceptance gives you one point of armour, and you can take that armour into any situation you like.

Once you get one point of acceptance-armour, it’s not that scary to talk to someone who might hit you with rejection. You know it doesn’t mean you’re worthless, because you have this piece of acceptance that says you’re not. And of course, most of the people you were scared of talking to actually have no intention of doing that, so they usually give you another point of acceptance-armour and then you can talk to basically anyone. But when you have zero, that fear is so much harder to shake.

I don’t have One Weird Trick for breaking out of that state, because I stumbled out of it largely by luck, and my brain is so self-defeating that it sometimes tries to crawl back in there if I go too long without even more of that luck. But I can tell you what I did try to maximise my chances of getting off the confidence floor.

Your brain is great at remembering criticism and great and forgetting praise, so I tried to reverse that bias. I wrote down anything nice anyone said about my work in a sort of Praise File, to refer back to when I was losing faith. I didn’t keep a file of criticisms, and as hard as it tries, the brain can’t remember those forever.

So was this.

Praise feels different in real life

Getting ten positive internet comments about your thing is radically different to having ten different people come up to you and say they loved it. The first feels good, but the second is extraordinary – it’s the moment the most childish part of your brain is dreaming of while you’re fretting over all the little dilemmas and struggles you had making it.

“Maybe if I just get through this and do it right, there’ll be… like… some kind of party? And everyone will tell me how great I am? And there’s cake?” That’s dumb, that brain-part is an idiot. But if you’re lucky enough that your thing catches on, and you go to these events, that can actually happen.

I was going to say “except for the cake”, but then I remembered that on the last day of Rezzed someone actually did produce a giant box of cupcakes and gave me one. This is ridiculous.

Bear this in mind if you ever get a nice comment on the internet. Try to imagine someone coming up to you and saying it in real life, how nice that is, and how many more people must be feeling the same thing without explicitly saying it.

That’s it, thanks so much to everyone who made this a fantastic trip. Here are some more pics from it:

From the plane, on approach to SFO.

Chinese New Year parade in San Francisco.

Bananas Foster is/are a hell of a thing.

Old Fashioneds (Olds Fashioned?) at the Hog & Rocks, a discovery of my friends at Asymmetric.

Introversion improvise a way to adjust the projector in our room at Rezzed.

Gunpoint/Heat Signature artist John Roberts supervises our booth while I nip out for lunch.

]]>http://www.pentadact.com/2015-02-24-detpacks/feed/24The Cost Of Simplifying Conversations In Videogameshttp://www.pentadact.com/2015-02-14-the-cost-of-simplifying-conversations-in-videogames/
http://www.pentadact.com/2015-02-14-the-cost-of-simplifying-conversations-in-videogames/#commentsSat, 14 Feb 2015 17:06:42 +0000http://www.pentadact.com/?p=7839I was really entertained and inspired by this piece of satire, linked in an article by Chris Hecker, linked by Varanas on the Crate and Crowbar forums.

I started thinking out loud about it on Twitter, but didn’t want to swamp your timeline with it, so I’ll paste what I said so far and continue it here:

Made me realise how many judgements and assumptions we make in saying “Violence is easy to simulate.”

We mean that when you simplify violence into something that is easy to simulate, the fidelity you lose isn’t stuff we care about.

Whereas when we simplify social relationships between people to the same extent, the things we lose seem like a big deal, and the simplification feels crude.

One simplification we’ve learned to accept is a finite list of response options to dialogue. That makes conversations ‘easy’ to simulate, and allows for some authorial intent in defining the character you play, at the cost of some freedom for you as the player. Eg. “I want to tell the Illusive Man to fuck off!” vs “Commander Shepard wouldn’t do that in this situation.”

How much freedom you lose, and how much authorial intent is imposed, is largely up to the developer. Most err on the extreme side of authorial control – myself included. In Gunpoint, only a few dialogue choices in the whole game take you down a meaningfully different path. Most get you a specific response, so that the conversation reads well, then immediately return you to the same state you would be in regardless of what you said. How do I make that not seem odd? I just never give you the option to say something that *would* dramatically alter the course of the conversation.

How far can you go in the other direction? How ‘free’ can a dialogue tree get? There’s always going to be a limit on how much ‘stuff’ you can produce, so a limit to how many options you can account for and offer to the player. Branching gets expensive fast: giving the player four options for their first line only requires writing eight lines – four options and four responses. Giving them four options for the line that leads on from there means writing another 32. The next one takes 128. The one after that takes another 512. And after you’ve written those 680 lines of dialogue, you have an 8-line conversation.

So, that’s why people don’t do that. That’s especially why people making voice-acted games don’t do that. And that’s why sometimes when you say something in a BioWare game, the character’s response sounds a lot like it was written primarily as a reply to one of the things you could have said but didn’t.

So there are a bunch of tricks to make people’s choices loop back to the same point or sound like they made a difference when they didn’t, including defining enough about who they are in this world that you get to restrict them to a certain course of action.

But giving people lots of options is only the most naive, brute-force solution to allowing them more freedom. I said that simplifying the real-world concept of a conversation down to a dialogue tree ‘costs’ us some freedom we care about. In a way that restricting us to effectively only shooting someone in the ‘head’ or the ‘body’ doesn’t. So the challenge in making dialogue trees better isn’t necessarily just ‘reduce the loss of freedom’, it’s ‘reduce the loss of freedoms we care about’.

One freedom we almost always lose in dialogue trees is the option to just bark something nonsensical or offensive and refuse to participate, but that’s not one many people really, strongly desire in game after game. It might be nice to do it once, but ultimately it’s the freedom to not play the game that has been made for you, and you already have that.

So I’m wondering if there’s a way to focus your option-creating efforts on the options players will most want, so that the freedoms they’re losing are the ones they care least about exploring. Obviously ‘good writing’ gets you some of the way there, but that’s not a slider we can vary freely. ‘Testing’ helps too, and that at least is something we can just decide to do more of. But there’s a limit: it’s tough to observe players on a large scale, particularly with meagre resources.

So wouldn’t it be cool if, at the bottom of every dialogue tree in a game, you had a box called something like “What I wish I could say here:” As a player, any time you’re not happy with your options, you write something in there and it’s sent to the developer. It doesn’t help you personally, right now, but the dev can see “Boy, a lot of people really wish they could tell the Illusive Man to get fucked when he essentially recruits you into his terrorist organisation purely by having a spaceship that looks like your favourite spaceship.” Or “Wow, seems like people think they should be able to contact this Alliance Navy they’re an officer of, and who would sure like to know they’re alive now, and could totally solve all the current problems pressuring you into joining a terrorist faction.” Or “Jesus, seems like Tom is really bitter about this one particular non-choice in Mass Effect 2 even though we did an otherwise peerless job in blending an authored character with meaningful player choice over the course of a vast trilogy.”

If I do story in Heat Signature, I won’t do this – it’s better for a game that’s really ‘about’ the story or choices. What I am planning, though, is to write several short, self-contained stories rather than one over-arching one. As you can see from the maths, branching stories get exponentially more expensive the longer they are, so short ones are super efficient and don’t need to compromise so much on player freedom. And you can still have them feed into each other in a few binary, easily accountable ways – though I don’t know how far down that route I’ll go.

]]>http://www.pentadact.com/2015-02-14-the-cost-of-simplifying-conversations-in-videogames/feed/17First Steps In Skyrimhttp://www.pentadact.com/2015-01-31-first-steps-in-skyrim/
http://www.pentadact.com/2015-01-31-first-steps-in-skyrim/#commentsSat, 31 Jan 2015 20:37:59 +0000http://www.pentadact.com/?p=7834One cool thing about having been a games journalist is that there’s a detailed public record of some of your favourite personal gaming experiences. I came across my write-up of the first time I played Skyrim, at a preview event, and re-read the whole thing. I’d forgotten what exactly happened, and reading the story of my adventure like this actually captured more of its magic than just firing up the game again. The game no longer has what I got from it that day, but the story does.

]]>One cool thing about having been a games journalist is that there’s a detailed public record of some of your favourite personal gaming experiences. I came across my write-up of the first time I played Skyrim, at a preview event, and re-read the whole thing. I’d forgotten what exactly happened, and reading the story of my adventure like this actually captured more of its magic than just firing up the game again. The game no longer has what I got from it that day, but the story does.

I’d forgotten how amazing the first 10-20 hours with an Elder Scrolls game are. Such a sense of adventure, freedom, a beautiful country to explore, a personal journey where the little stories you encounter get tangled up in the systems of the world as they react to your reckless decisions. Waiting for a storm to pass. Holing up in a shack for the night. Finding something amazing.

That build skipped the intro, and I start by turning 180 in an attempt to explore off the beaten track – it’s funny to realise the walled-off town I ‘discover’ up the hill was Helgen.

]]>http://www.pentadact.com/2015-01-31-first-steps-in-skyrim/feed/1How To Find An Object’s DrawGUI Co-ordinates In Game Maker Studio With A Rotated Viewhttp://www.pentadact.com/2015-01-27-help-me-with-a-trigonometry-problem-for-heat-signature/
http://www.pentadact.com/2015-01-27-help-me-with-a-trigonometry-problem-for-heat-signature/#commentsTue, 27 Jan 2015 15:34:07 +0000http://www.pentadact.com/?p=7820Update: This was originally a post to ask for help, but now that we’ve solved the problem I’m posting the solution for anyone who needs it, and changing the title to make it more searchable. It’s a function that lets you find where an object appears on-screen, so that you can use the DrawGUI event to draw interface elements over it or annotate it, useful for tutorials. Original post follows, updates and working script at the end!

]]>Update: This was originally a post to ask for help, but now that we’ve solved the problem I’m posting the solution for anyone who needs it, and changing the title to make it more searchable. It’s a function that lets you find where an object appears on-screen, so that you can use the DrawGUI event to draw interface elements over it or annotate it, useful for tutorials. Original post follows, updates and working script at the end!

I have a maths problem in Heat Signature that I can’t quite get my head around, so if you’re into trigonometry, read on and see if you can help me! I think I know all the rules I need to solve this, but I can never quite reframe the problem into something I recognise.

In Game Maker, everything the player can see on the screen at one time is called ‘the view’. The whole game world is called ‘the room’. In my game, the view moves around the room and also rotates, to follow the action. In the diagram, the whole image is the room, and the rotated black rectangle is the view: what the player sees.

What I’m trying to do is find rx and ry: an object’s x and y co-ordinates relative to the screen, at its current position and rotation. I have every other piece of information:

x and y, the co-ordinates of the object, relative to the upper left corner of the room.

vx and vy, the co-ordinates of the top left corner of the view

theta, the rotation of the view, measured in degrees from horizontal, going anti-clockwise.

So, how do I combine those things to find rx and ry?

My usual method is to bash my head against these problems for a day or two, drawing endless diagrams and running tests and simulations in code. But lately I’ve realised how quickly some problems can be solved by just checking in with someone who already knows or finds it easy, so I’m trying that! Any help much appreciated.

Update: Thanks for all the suggestions so far! It’s possible that my diagram implies some assumptions I didn’t intend. To be clear:

y and vy are not the same, it’s just coincidence that they’re close here. No values mentioned are the same, related, or constrained by each other.

theta can range from 0 to 360, meaning the whole view could be upside down relative to the room.

vx and vy are the ‘top left’ of the view when it’s at theta 0. It rotates around that point as theta increases, meaning it could end up not being the top left. I am mistaken about this! See below.

The object can be completely outside the view, we still want to know rx and ry even if they’re negative or larger than the view size.

To illustrate the full shittiness of the problem, here’s another diagram this also has to solve:

Update 2: The plot thickens! The reason nothing has worked for me so far is that I have misunderstood how the view rotates. vx and vy do stay the same as it rotates, BUT the rectangle itself rotates around its center! So for most angles, vx,vy is well outside the screen area! Bizarre! We still need rx,ry relative to what the player will see as the top left of the screen.

Of your many clever and much appreciated suggestions, the two I’ve had most success understanding and implementing are, roughly:

These both work at view_angle[0] = 0, but drift in a circular way when the view is rotated, because it’s not rotating around the point I thought it was. The point it’s rotating around must be something like:
view_xview[0] + (view_wview[0]/2)
view_yview[0] + (view_hview[0]/2)
But we still need co-ord relative to ‘the top left of the screen’, which is something I no longer even have a variable name for.

Now that I know this I might have a way of figuring it out, will update if I do so.

Update 3: Got it! For anyone who needs it, here’s a rotation-proof function to find an object’s position in screen co-ordinates, for us in the Game Maker Studio’s DrawGUI function so you can draw HUD elements over it and annotate it and stuff. Now accounts for zoom too!

]]>I made chocolates for my family again at Christmas. Here’s what I did!

Melt some dark chocolate!

Mix with almond milk to make ganache – my sister and her partner are vegan, so I make them all vegan for simplicity.

Put nice stuff in the ganache. I did one with maple syrup and pecan chunks, one with cinnamon and orange cranberries, and one with vanilla and dried cherries.

Freeze ganache! It’s too soft to chocolate-coat at room temp, so I chill it overnight and cut it up the next day.

Coated in regular chocolate, so they won’t be sticky at room temp. Wouldn’t it have been great if I’d thought to put pecans on each one when they were molten?

Fuck it, I’m gluing the pecans on.

And cranberries for the cranberry ones.

And… some fruit thingies for the cherry ones. Dried cherries look too similar to dried cranberries.

Dusted with cinnamon.

Need something to put them in. If only we’d taken the precaution of drinking a lot of whisky on the Crate and Crowbar this year. Oh wait!

I can only make one pot out of each case because the lid part is kind of important.

The different one is dried apricots stuffed with things like dried strawberries or blueberries or nuts – for my 2-year-old niece, they’re keeping her off chocolate at first.

I did have one box that was basically perfect for this, so I put all the least misshapen ones in it and gave that one to my gran.

Packed!

Labelled!

Niece review: “Yummy!”

]]>http://www.pentadact.com/2015-01-14-christmas-chocolate-workshop-2014/feed/2Video Tutorial: Make A Game With No Experiencehttp://www.pentadact.com/2015-01-09-video-tutorial-make-a-game-with-no-experience/
http://www.pentadact.com/2015-01-09-video-tutorial-make-a-game-with-no-experience/#commentsFri, 09 Jan 2015 17:24:40 +0000http://www.pentadact.com/?p=7788I’m doing a series of video tutorials to show you how to make your first game, using the free version of Game Maker: Studio. I’m doing about 1-2 hours a week, aimed at absolute beginners with no experience with writing code. I’m not a good programmer myself, so we keep things as simple, quick and easy as possible, cutting all sorts of corners that would make real programmers who work in teams cringe. But, that’s basically how I made Gunpoint, and that worked well enough, so here goes!

]]>I’m doing a series of video tutorials to show you how to make your first game, using the free version of Game Maker: Studio. I’m doing about 1-2 hours a week, aimed at absolute beginners with no experience with writing code. I’m not a good programmer myself, so we keep things as simple, quick and easy as possible, cutting all sorts of corners that would make real programmers who work in teams cringe. But, that’s basically how I made Gunpoint, and that worked well enough, so here goes!

At time of posting the first week of episodes is up – three parts, totalling about an hour and a half. I’m also giving people leeway to experiment with what they’ve learnt, and if they like, they can send in what they’ve created and I can see which bits might fit into the project.

]]>http://www.pentadact.com/2015-01-09-video-tutorial-make-a-game-with-no-experience/feed/11Thoughts On Dragon Age: Inquisitionhttp://www.pentadact.com/2015-01-09-thoughts-on-dragon-age-inquisition/
http://www.pentadact.com/2015-01-09-thoughts-on-dragon-age-inquisition/#commentsFri, 09 Jan 2015 11:28:49 +0000http://www.pentadact.com/?p=7784We discuss DA:I on the latest Crate and Crowbar podcast, and since it’s also up on YouTube, I can embed specific bits. The Invisible Inc chat at the start overlaps a lot with my post here, so let’s skip straight to Dragon Age, which I played for about 30-40 hours over the break.

]]>We discuss DA:I on the latest Crate and Crowbar podcast, and since it’s also up on YouTube, I can embed specific bits. The Invisible Inc chat at the start overlaps a lot with my post here, so let’s skip straight to Dragon Age, which I played for about 30-40 hours over the break.

I have thoughts on why the combat still feels murky after all this time, my experience switching from Casual to Hard, my lesbian Inquisitor trying to seduce the only two straight women in Thedas, the difference between this and Mass Effect, and the one great thing that’s the same.

As before it’s Tom Senior you hear first, I’m the one who pipes up at 44m55s.

]]>http://www.pentadact.com/2015-01-09-thoughts-on-dragon-age-inquisition/feed/3What Works And Why: Invisible Inchttp://www.pentadact.com/2014-12-29-what-works-and-why-invisible-inc/
http://www.pentadact.com/2014-12-29-what-works-and-why-invisible-inc/#commentsMon, 29 Dec 2014 00:48:11 +0000http://www.pentadact.com/?p=7755What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.

]]>What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.

What is it?

A turn-based stealth game with randomly generated levels and no savegames. You have two secret agents with different special abilities, and you choose from offices of varying difficulties and rewards to break into and steal money, equipment and abilities. You break in by carefully peering round corners and doors, ambushing unwitting guards with your tazers, and hacking security devices from a special vision mode.

If you want a better idea of how it plays, I recorded myself going through one mission, and talked through my thinking and how the game works.

What works and why?

Turn-Based Stealth

As in XCOM, there are lots of interesting considerations to precisely where you should move each team member each turn. But instead of optimising accuracy percentages, you’re trying to avoid being seen at all – and usually succeeding. This makes it feel much cleaner and more satisfying than turn-based gunfights, but no less tense or eventful. Being directly seen is a rare, crisis-level event, but lots can happen between ‘perfect stealth’ and ‘caught at gunpoint’.

The edge of a guard’s vision will cause you to be ‘noticed’, causing the guard to come closer on his next turn. Being seen by a camera will raise the alarm level and bring guards running, but not fail or damage you. Your tazer only knocks guards out temporarily, and needs time to recharge, leaving you vulnerable. These tensions and trade-offs are what you’re worrying about on a moment-to-moment basis.

It says something that the last horrifying, gasp-out-loud moment I had in Invisible Inc was when one of my agents shot and killed someone. I’d set them in overwatch to hopefully take out a drone, but a human guard walked in front of them. I was distraught at a) wasting my only shot on a guard who could have been tazed, and b) raising the alarm level by tripping his heatbeat sensor. Not at the loss of life, obvs.

Hard Intel

I think every stealth game I like gives you an unrealistic intel advantage. Deus Ex makes your enemies short sighted. Human Revolution lets you switch to third person to see round corners. Far Cry 4 lets you tag people to see them through walls. I decided to go all the way in Gunpoint and let you see everything at all times.

Invisible Inc’s is subtle but extremely powerful. You can only see areas your agents and hacked cameras can see, but: you can see if those areas are being watched. The vision of enemies, even enemies you don’t know about, shows up as if it were bright red light. That doesn’t always tell you exactly where these unknown enemies are, but it gives you perfect, reliable, hard-and-fast intel about the most crucial thing you could want to know: if I move there, will I be seen? Having that intel, and being able to rely on it, makes Invisible Inc a game of strategy rather than one of guesswork and risk management.

Failure Spectrum

When you can fail at what you’re trying to do but still carry on playing, I call that a ‘failure spectrum': there’s a spectrum of possible outcomes, and screw-ups can move you towards the failure end and recoveries can (sometimes) move you back up towards success. In Invisible Inc, there are a few different failure spectrums that you could break down something like this:

Equipment:

Leave with all of the money and equipment in the level without losing any

Leave with more money and equipment than you spent

Leave with some of your money and equipment left

Lose it all somehow?!

Evasion:

Get what you want without being noticed

Get noticed, but not directly seen

Get seen, but slip away before anyone is hurt

Someone gets knocked out but not injured

Someone gets injured but the other agent revives them

Someone gets injured and you can’t revive them, but you drag them to the exit (thanks, Skeed in the comments!)

Someone gets injured and you have to leave them behind, losing them forever

The whole team gets injured and therefore everyone dies, game over

Style:

Get what you want without killing anyone

Get what you want without hurting anyone

Get what you want without using the ‘Rewind’ function

How much you care about each of those things is subjective in some cases, but together they form a huge range of possible outcomes. Every encounter and decision you make as you play is moving you up or down on that spectrum, so you care about them all.

A big failure spectrum is good because a lot of the most emotionally powerful moments in a game happen on the cusp of failure. If you were this close to being seen, your escape is exhilarating. But if that failure is ‘game over’, spending a lot of time close to the failure threshold means a lot of ‘game over’ interruptions. Each one ends your investment in this current run and asks you to build it up all over again in the next.

If the failure isn’t game over, it’s still nail-biting when you come close to it, but when you do fail it doesn’t end the game and kill your immersion. Instead the challenge switches to one about recovering from your screw-up, which can be tense and exciting in itself. Each level of a failure spectrum ultimately means the game can make you spend more of your time at that exhilarating cusp of failure without introducing frustrating interruptions.

Systems Interplay

This one’s harder to define precisely because the best moments it creates are always unique to the situation. But basically I mean: all these cool systems link into each other, so that problems in one can be solved with another.

My favourite example is when I was trying to ambush a guard with triple power armour. One layer of armour means you need a weapon with one level of piercing to harm them. Triple means you need three. I have none. But power armour is a device, and devices can be hacked.

I spent three turns using my Parasite program to break down each layer of his power armour, and one more getting Deckard in position to take him out. At last he’s in range, so I have him run out of cover, stand directly behind the guard, and- nothing. The tazer icon is disabled. I check the guard’s info: 1 layer of armour. It must have regenerated.

This is bad. I used all of Deckard’s movement points to get him right up to the unsuspecting guard, so now he’s stranded there. The guard is facing a wall, he will absolutely turn around on his turn. And Deckard’s cloaking device is nowhere near being ready again. I have the hacking power to put another parasite on his armour, but it wouldn’t eat through even one layer until the start of our next turn, by which point it would be too late. I don’t have any other hacking tools, not even the basic Lockpick that breaks 1 firewall.

But hang on – didn’t I see that for sale? We’re on this mission to buy new hacking upgrades, and my other agent Internationale reached the terminal last turn – she found nothing good we could afford. The Lockpick isn’t good, really, but right now it would be a life saver. And if we sold one of my less useful hacking programs, I think we could afford it.

Internationale is miles from the terminal, but if she sprints full pelt, she could just make it to the console this turn – alerting everyone on the way. She sprints, everyone hears the footsteps, but she makes it. Selling our Hunter tool gets us enough for the Lockpick, and she buys it. I switch to hacking mode, use the Lockpick on the guard’s power armour, and it shuts down. At last, Deckard’s tazer icon lights up, and I click it.

Grab, zap, whomp – he’s down.

That was the guard AI, feeding into the item system, feeding into the penetration system, feeding into the hacking system, feeding into the shopping system, feeding into the noise and movement system.

On another level, I might have been able to have Internationale buy her own cloaking unit and sneak up to the guard with a Mark II Buster Chip to over-ride his armour by hand.

Or if she’d been Xu, he could use an EMP fist-needle to reboot it.

Or Internationale could have Buster Chipped a drone with a penetrating gun mount to just blow through it.

Or if the Safe Alarm Daemon had been active, she could have intentionally opened a safe to trip one and cause the guard to investigate that next instead of turning around.

I’ve even heard of someone intentionally knocking out their own agent for two turns just because guards don’t notice prone bodies: if I’d had a flash grenade, I could have KO’d Deckard myself to save him.

More Info

It’s in Early Access at the moment. Obviously I like it already, but I would pretty much always advise waiting until the developer calls a game done – I’m only playing now because I need to judge it for the IGF.

Not least because of fucking cocking shit like this shitting shit:

Oh. Heads up, 'Abort Mission' in Invisible Inc doesn't mean that so much as 'kill all agents on the spot and end campaign'.

]]>http://www.pentadact.com/2014-12-29-what-works-and-why-invisible-inc/feed/6Thoughts On Far Cry 4http://www.pentadact.com/2014-12-08-thoughts-on-far-cry-4/
http://www.pentadact.com/2014-12-08-thoughts-on-far-cry-4/#commentsMon, 08 Dec 2014 13:28:29 +0000http://www.pentadact.com/?p=7740If you’ve been following my many Far Cry 4 videos over on YouTube you already have an idea of what I love about it, but if you’re interested, here’s the bit of the latest Crate & Crowbar podcast where we compare our impressions. I’m not the first Tom who speaks, I’m the one saying “I think it got off to a pretty shaky start”.

]]>If you’ve been following my many Far Cry 4 videos over on YouTube you already have an idea of what I love about it, but if you’re interested, here’s the bit of the latest Crate & Crowbar podcast where we compare our impressions. I’m not the first Tom who speaks, I’m the one saying “I think it got off to a pretty shaky start”.

Don’t let me forget that I plan to do a ‘How to fix Far Cry 4′ type post at some point, too.

]]>http://www.pentadact.com/2014-12-08-thoughts-on-far-cry-4/feed/0Podcast Tips: Nick Frost On WTFhttp://www.pentadact.com/2014-12-07-podcast-tips-nick-frost-on-wtf/
http://www.pentadact.com/2014-12-07-podcast-tips-nick-frost-on-wtf/#commentsSun, 07 Dec 2014 14:24:20 +0000http://www.pentadact.com/?p=7735Sometimes I’ll recommend you a particularly great episode of a podcast I listen to. Feel free to recommend your own in the comments! I probably don’t have to tell you that Serial is great.

“I was nervous to meet him. He was this stand-up comedian, and I was the funniest waiter at Chiquitos. We circled each other all night, until finally we were outside on a roof together, and we just did impressions at each other, for hours. It was like the duelling banjos.”

Edit: as with any interview podcast, skip the intro until you hear the guest. It’s like 14 fucking minutes here.

]]>http://www.pentadact.com/2014-12-07-podcast-tips-nick-frost-on-wtf/feed/3Heat Signature, One Year Laterhttp://www.pentadact.com/2014-12-01-heat-signature-one-year-later/
http://www.pentadact.com/2014-12-01-heat-signature-one-year-later/#commentsMon, 01 Dec 2014 20:16:17 +0000http://www.pentadact.com/?p=7727I started making Heat Signature on December the 1st, 2013. I know this because I released the first video of it two days later.

]]>I started making Heat Signature on December the 1st, 2013. I know this because I released the first video of it two days later.

One year on, and the latest video shows how far it’s come.

But I have to keep reminding myself it hasn’t been a year of work yet. When I started it, I was still torn between this and another project, a heist game using grappling hooks. In the year since I started Heat Signature, I have also:

Worked for about two months on that grappling hook heist game. The last two dev log videos I made for that show what I did on it in that time.

I’m listing all this mostly for myself, because I’m always haunted by this feeling that I’m not being productive enough, that I should have done more. When I write it all down, though, it seems like a lot.

I intentionally let myself wander a bit after Gunpoint, since that had taken three years of sustained focus to finish. And Heat Signature itself is actually the result of that: I let myself get distracted from the heist game to try it out, and it turned into something both cooler and easier to make.

When I started working on it properly, I had a time frame in mind. But right away, it started to stress me out. The scope would change or my ETAs for individual features would be off, and I’d start to feel like I was failing even though nothing had gone wrong. So now I don’t even have an internal release date, it’s just a thing I’ll work on as efficiently as possible, at least until it feels ready, and then until I feel like moving on. I’m having a great time doing that, so I’m not going to let anything spoil it.

]]>http://www.pentadact.com/2014-12-01-heat-signature-one-year-later/feed/15New Heat Signature Trailer Shows Art, Music, Wrenches And Gunshttp://www.pentadact.com/2014-11-19-new-heat-signature-trailer-shows-art-music-wrenches-and-guns/
http://www.pentadact.com/2014-11-19-new-heat-signature-trailer-shows-art-music-wrenches-and-guns/#commentsWed, 19 Nov 2014 18:11:06 +0000http://www.pentadact.com/?p=7722
]]>
]]>http://www.pentadact.com/2014-11-19-new-heat-signature-trailer-shows-art-music-wrenches-and-guns/feed/15Heat Signature Screenshotshttp://www.pentadact.com/2014-11-06-heat-signature-screenshots/
http://www.pentadact.com/2014-11-06-heat-signature-screenshots/#commentsThu, 06 Nov 2014 09:47:25 +0000http://www.pentadact.com/?p=7677Here’s what Heat Signature looks like these days! The new art is by the multi-talented John Roberts, who also did art for our last game, Gunpoint. Next week I’ll put up a trailer to show all this in action. For those who haven’t seen it moving yet, there’s no break between inside and out: you zoom smoothly from the scale of these interior shots to the big-scale space battles.

]]>Here’s what Heat Signature looks like these days! The new art is by the multi-talented John Roberts, who also did art for our last game, Gunpoint. Next week I’ll put up a trailer to show all this in action. For those who haven’t seen it moving yet, there’s no break between inside and out: you zoom smoothly from the scale of these interior shots to the big-scale space battles.

When I have new shots in future, I’ll add them on this page and take down any outdated ones. Everyone has permission to use these shots in any articles or videos, print or online, as long as you make it clear what game they’re from.

]]>http://www.pentadact.com/2014-11-06-heat-signature-screenshots/feed/15Heat Signature Trailershttp://www.pentadact.com/2014-11-05-heat-signature-trailers/
http://www.pentadact.com/2014-11-05-heat-signature-trailers/#commentsWed, 05 Nov 2014 10:43:16 +0000http://www.pentadact.com/?p=7675I think if I embed a YouTube playlist, I can make this post always show the latest Heat Signature trailer even when I change it in future.

]]>I think if I embed a YouTube playlist, I can make this post always show the latest Heat Signature trailer even when I change it in future.

]]>http://www.pentadact.com/2014-11-05-heat-signature-trailers/feed/5Our Super Game Jam Episode Is Outhttp://www.pentadact.com/2014-10-23-our-super-game-jam-episode-is-out/
http://www.pentadact.com/2014-10-23-our-super-game-jam-episode-is-out/#commentsThu, 23 Oct 2014 21:43:02 +0000http://www.pentadact.com/?p=7640Super Game Jam is a documentary series on Steam that films two developers per episode, working together to make a game in 48 hours. It’s discounted to $15 for the whole series right now, which is 5 half-hour episodes, the 5 games that were made in them, and a bunch of extra scenes and music from Kozilek and Doseone.

]]>Super Game Jam is a documentary series on Steam that films two developers per episode, working together to make a game in 48 hours. It’s discounted to $15 for the whole series right now, which is 5 half-hour episodes, the 5 games that were made in them, and a bunch of extra scenes and music from Kozilek and Doseone.

Episode 5 just came out tonight, and it’s me and artist/designer Liselore Goedhart making SimAntics: Realistic Anteater Simulator. We were given the theme of ‘Simulation’ by previous jammers Cactus and Grapefrukt, and told not to make SimAnt. So we simulated an anteater instead.

You can grab it from Steam here, where there’s also a trailer. Stills below, and thoughts on the episode at the end!

My first stab at generating ant tunnels, and letting the mouse steer a tongue down them.

Lizzy draws on paper and then traces over photos of her sketches in Illustrator with a mouse.

I was super nervous to watch this back, because I didn’t see it at all until it was publicly released on Steam. And watching yourself on video is always hard. But it wasn’t as painful as I thought! Mostly I just laugh a lot, which gives the accurate impression that the whole thing was just a lot of fun.

In some of the earlier episodes of the series, I sometimes struggled to get an idea of what the game was from the episode itself. Blossom, for example, turned out to have way more elements and ideas than I’d guessed from what Dominik and Christoffer were talking about as they made it.

Watching ours back, I feel like it gives a fairly good idea of what we’re making? But then I know everything about what we were making, so I can’t really judge. If you get it, I’d be interested to hear if it was followable.

Update: we don’t have a trailer for the game, but here’s a short clip of me playing in single-player just to give you an idea of what it looks like moving.

Third-person open world action and stealth game, with Assassin’s Creed free-running and Arkham Asylum combat. You’re in Mordor, it’s full of orc-like Uruks, and for reasons that were probably explained in all the cut-scenes I skipped, you have to use them to get to the Black Dark Lord Hand – who I gather is a ruffian.

Third-person open world action and stealth game, with Assassin’s Creed free-running and Arkham Asylum combat. You’re in Mordor, it’s full of orc-like Uruks, and for reasons that were probably explained in all the cut-scenes I skipped, you have to use them to get to the Black Dark Lord Hand – who I gather is a ruffian.

What Works?

A menu of minibosses called Sauron’s Army. They’re Uruk captains with randomly generated looks, names, strengths and weaknesses. You select one from the lineup, interrogate lesser Uruks to find out which of your many modes of attack they’re weak to, then track them down in the open world and decide how to go about taking them out.

Why?

Well, that’s cool for starters. It’s cool having to find a source who’ll have information on your target, extracting that from them in a telepathic way that looks frightening but does not appear to be harmful, memorising these secret weaknesses, hunting your mark through the open world, and looking for a way to combine what you know with their situation. Weak to explosions, but nothing flammable around. Weak to stealth, but can I get past his lackeys? Maybe if I distract them over there…

In most cases, this secret info lets you take them out swiftly. And having intel inform your strategy and pay off so decisively in a non-scripted scenario makes this more satisfying than any of my kills in Assassin’s Creed.

But Sauron’s Army gets much more interesting when, in the second half of the game, you upgrade your telepathy to a sort of mind-control. The result seems to be that they see you as their Warchief: they don’t attack you, but nor do they attack their fellow Uruks unless you order them to. And they even mutter about looking for ‘the ranger’ – you.

With low-ranking Uruks this is just a cooler version of every game’s ‘Charm’ spell: it’s permanent, and they work like sleeper agents, waiting for your go-word when you’ve covertly turned enough of a stronghold’s guards to take it over.

But when you flip a captain in Sauron’s Army, you’re essentially becoming part of it. Now you have commanders. They’ll raise their own armies, they’ll fight with other captains, and they’ll try to become Warchiefs. You can step in at any time and send them after a particular target, and whether you micromanage them or not, you can show up to each of the important events in their lives to make sure they go well.

My man Blorg the Poet has been captured by a bigger captain and is about to be executed. The bigger captain is vulnerable to ranged. A spectral arrow whizzes from the bushes and thuds into his cranium.

His men run, Blorg runs, all the other prisoners run. Blorg is promoted into the power vacuum.

In the first half of the game you study their weaknesses, in the second, you suddenly care about their strengths. Not because they matter that much, but because these are your guys. I find myself selecting them for their quirks, cultivating an Uruk sub-faction of freaks and weirdos. Blorg speaks in rhyme. Glabkuk has a claw for a hand. Ukbuk just has a really fancy red-feather headdress I like. This is my team.

All this links into the dynamic, unpredictable business of the captain encounters themselves, which can sometimes run into each other as your fights lurch around Mordor. The first time I faced Ukbuk, I lost control of the situation. I’d stealth-flipped most of his henchmen to make the fight swing my way, but then one of my own captains blundered into the fracas and joined in.

Ukbuk was already weak enough for me to turn him, but I was caught up fighting his remaining loyal subjects as my captain closed in to finish him off. I’d never much liked the guy, so I did the only thing I could to save Ukbuk and his fancy headdress: Dispatch. This detonates the heads of all my mind-controlled soldiers, captain included, rather dramatically ending the fight.

Their bodies dropped, I finished off Ukbuk’s henchmen, and… he killed me. Or rather, he downed me. You get one last chance to come back from the brink of death by completing a quicktime event. But I’d just upgraded that ability to also kill my assailant if I succeed. Saving myself would kill Ukbuk. In easily one of the dumbest things I’ve done for a hat in a videogame, I let myself die.

Ukbuk got promoted for that. But that just made him a more valuable asset when I eventually turned him to my side.

So that’s what’s cool about it. The game has just added a screenshot composition tool that’s so good I almost wish I still worked in magazines. It really shows off how characterful and distinctive the Uruks are – they’re all generated by the same system, footsoldiers and captains alike. Not least because any of the former can be promoted to the latter for killing you.

Here are some other shots I took tonight:

]]>http://www.pentadact.com/2014-10-18-what-works-and-why-saurons-army/feed/10Help Me Learn Finite State Machines For Guard AI In Heat Signaturehttp://www.pentadact.com/2014-10-09-help-me-learn-finite-state-machines-for-guard-ai-in-heat-signature/
http://www.pentadact.com/2014-10-09-help-me-learn-finite-state-machines-for-guard-ai-in-heat-signature/#commentsThu, 09 Oct 2014 20:09:03 +0000http://www.pentadact.com/?p=7569I have long known that ‘Finite State Machines’ are a thing I should be using, but when I try to read up on them, the explanations are either hopelessly vague or incredibly specific to a language and situation I don’t understand.

]]>I have long known that ‘Finite State Machines’ are a thing I should be using, but when I try to read up on them, the explanations are either hopelessly vague or incredibly specific to a language and situation I don’t understand.

I whined to Mike Cook about this, and he said something to the effect of, “When you read up about Finite State Machines, it sounds like they’re this one specific agreed-upon thing, but every time you talk to an actual programmer about them you’ll get a different version of what they are.”

But! I am determined to try them in Heat Signature, and I have just reached that point where there’s enough AI an animation stuff going on that I need some kind of system to manage it. So I’m going to explain how I plan to use one, and if you’re a programmer, perhaps you can warn me of any problems I’m making for myself.

If you’re not, or if you’re learning, maybe you’ll get something out of how hopelessly I’ve failed at this so far.

How I Did It In Gunpoint

Guards did have a ‘State’ variable in Gunpoint, which I’d set to things like ‘Patrolling’ or ‘Preparing to fire’. But every time I wanted to change state, I’d have to check against all the possible states that should ignore this change. That was a pain, because every time I added a new state, lots of code in lots of different places needed to change.

Example: When a guard sees the player, he should go into the ‘Preparing to fire’ state. Oh, unless State = “Dead”. Then later, when I added a separate “Unconscious” state, I’d have to find all the places I made an exception for “Dead” and also add one for “Unconscious”.

I tried to alleviate this by having extra variables for broader concepts like “Mobility” – if the guard can’t move, I don’t care if it’s because he’s dead or unconscious or held down by the player, he shouldn’t run to investigate noises.

The problem was that I had to remember to add “Mobility = false” to all the different places that might set a guard’s state to “Dead” or “Unconscious”. And the more properties like that I added, the messier it got.

What I’m Planning For Heat Signature

Clearly, the problem boiled down to “Given our current state, can we change to new state X?” There will always be special case exceptions to that, so my attempt to boil things down into broader concepts like ‘Mobility’ would never be a full solution by itself. So I think for each state, there will have to be a list of states we can’t change to from there.

What would be helpful, though, was if there was only one such list for each state. Only one place in the code where we define those exceptions. It’ll still need maintaining and updating as the possible states and transitions change, but just the once. Then it would be much easier to maintain and the complexity wouldn’t increase when we called it from more and more different places in the code.

It could also set any useful broader variables like ‘Mobility’, and as long as it’s the only bit of code that ever changes state, we can be sure that those will always be set consistently for any given state we’re changing to. Every time we change to Dead, for example, it’ll always be this piece of code that runs it, so if it says ‘Mobility = false’, there’s no way we can ever die with our Mobility flag on, something our grandparents warned us against.

So specifically, I’m thinking of a function that says something like this:

ChangeEnemyState(NewState)

//See if we should change state

if State = “Sitting” {

//No exceptions, always change regardless of new state
State = NewState

Does that make sense? Any problems I’m going to run into? Is that a Finite State Machine?

Edit: Thanks everyone! I have a much better idea of how they’re meant to work now. Lots of different implementations suggested, so I’ll pick the bits that make the most sense to me and that I already know how to do in Game Maker Language.

]]>http://www.pentadact.com/2014-10-09-help-me-learn-finite-state-machines-for-guard-ai-in-heat-signature/feed/47Showing Heat Signature At Fantastic Arcade And EGXhttp://www.pentadact.com/2014-10-01-showing-heat-signature-at-fantastic-arcade-and-egx/
http://www.pentadact.com/2014-10-01-showing-heat-signature-at-fantastic-arcade-and-egx/#commentsWed, 01 Oct 2014 21:01:08 +0000http://www.pentadact.com/?p=7532I’ve been away the last two weeks, showing Heat Signature first at Fantastic Arcade in Austin, then at EGX in London. I’ll show you what that all looked like below, but first I’ll embed my EGX talk so you can play that and look at the photos during the boring bits. From about 5 minutes in, you can see Heat Signature with some of the new art and music.

]]>I’ve been away the last two weeks, showing Heat Signature first at Fantastic Arcade in Austin, then at EGX in London. I’ll show you what that all looked like below, but first I’ll embed my EGX talk so you can play that and look at the photos during the boring bits. From about 5 minutes in, you can see Heat Signature with some of the new art and music.

First night in Austin, met up with fellow Brit and Sokobond co-creator Alan Hazelden for a drink at CU29, appropriately named for the atomic number of copper (Sokobond is about atoms). This is a ‘Mexican Coffee’, which involves setting fire to orange peel. It was goddamn great.

This was the rather different setup for my rather similar presentation at Fantastic Arcade, in a bar. This trip was my first time doing something on stage with no preparation or script, in a randomised game, so it was nice to do it in a more relaxed atmosphere at Fantastic before going up in front of a larger and more captive audience at EGX. Pic by Brandon Boyer.

Typically if the screen is indistinguishably white they’re playing SimAntics, and if it’s indistinguishably black they’re playing Heat Signature.

Half of Fantastic Arcade happens in an Alamo Drafthouse theatre, where they bring food and drink to your seat. Me and a new friend who works at Blizzard drank boozy milkshakes and watched the N++ tournament, which is one of the best spectator sports.

Robin Arnott and Alexander Bruce play SimAntics, the game Liselore Goedhart and I made for the Super Game Jam. Our SGJ episode was meant to screen in the giant theatre, but unfortunately wasn’t ready in time.

Luftrauser’s composer and Life on a Mountain creator Jukio Kallio and I. Jukio and I worked with Natalie Hanke on Distance.

Jukio DJ’ing the Fantastic Arcade closing party as Kozilek, with Fernando Ramallo on visuals.

Instead of rushing back to get home for 1 day before having to go to EGX, I stayed in Austin to watch the new Ghibli film (pretty good) and The Stranger (awful), and join some friends for a trip to the Salt Lick (pictured), which had sent at least one of them into surgery previously.

Bacon and maple donut at Gourdoughs, a thing I was determined to try before leaving Austin. It was soft and crispy and a massive mistake.

EGX.

I patched Heat Signature while I watched people play, trying to address usability issues quickly enough to see whether my fixes worked on the next players. I made 12 versions in 4 days, and the game improved hugely.

I think I’ll do this at events any time I can, rather than standing around and explaining my game to onlookers as I did at PAX. It’s less sociable, but much easier on the legs and voicebox, and so satisfying and energising to get so much work done – then to see its value immediately.

Sneakily taken by Pip while I nervously watch Heat Signature being played in not the exact way I would play it – always scary.

Now that I’m back, there’s lots of boring business stuff to catch up on, including officially forming our team. But then there’s the wonderful job of revising my priorities and ideas for the game’s grand plan based on the truckload of new self-awareness I’ve gained from watching people play and talking to them about what works.

The response was hugely positive, but the blanks in the current prototype are not the type a new player can fill in for themselves. With Gunpoint, it was “This, but more levels.” Heat Signature’s already infinitely big, so it’ll increase in definition and systemic richness rather than in size. That’s something I could inject in any of a million places, so the current build doesn’t definitively show where it’s going. But the upside of that breadth is that I can also adapt my focus as I learn more about where the most exciting possibilities are.

As ever, join the mailing list if you want to be involved in testing when we do that, or just to be told when it’s out.

]]>http://www.pentadact.com/2014-10-01-showing-heat-signature-at-fantastic-arcade-and-egx/feed/16Introducing The Heat Signature Teamhttp://www.pentadact.com/2014-09-18-introducing-the-heat-signature-team/
http://www.pentadact.com/2014-09-18-introducing-the-heat-signature-team/#commentsThu, 18 Sep 2014 13:51:38 +0000http://www.pentadact.com/?p=7519Last month I made a new video of my ugly prototype for Heat Signature and put out an open call for artists and composers who might wanna work on it. When I did the same thing for my first game Gunpoint, around 30 artists and 40 composers applied. For Heat Signature, 81 artists and 232 composers applied. This was extraordinary and flattering, then daunting, then impossible, then exciting once I finally had my decision, then absolutely horrible when I had to tell everyone I hadn’t picked. You don’t really know how many ‘313 people’ is until you have to say no to 310 of them.

]]>Last month I made a new video of my ugly prototype for Heat Signature and put out an open call for artists and composers who might wanna work on it. When I did the same thing for my first game Gunpoint, around 30 artists and 40 composers applied. For Heat Signature, 81 artists and 232 composers applied. This was extraordinary and flattering, then daunting, then impossible, then exciting once I finally had my decision, then absolutely horrible when I had to tell everyone I hadn’t picked. You don’t really know how many ‘313 people’ is until you have to say no to 310 of them.

My deep, deep thanks to the amazingly talented people who applied, it meant a huge amount to me that people of your calibre were interested in my thing.

Here’s who I picked:

Alex Burnett, composer

I said if composers wanted to make a sample piece for Heat Signature, they could have a go at both the peaceful music that will play as you fly around space, and the tense music that will play once you’re inside an enemy ship. Alex did a fantastic job of both, but his peaceful track in particular is just divine. Testing it in-game, as some of the first art started to make space look beautiful, it just perfectly matched the feeling of awe and serenity I wanted that experience to have.

Ivan Semidolin, composer

Ivan didn’t try to match the sample tracks I posted, which I mentioned was an option. His full-length track captures a mood I didn’t know I wanted. It uses industrial sounds that evoke the workings of this large machine you’re aboard, and has this unusual rolling, clicking beat I can’t get enough of. In-game, lots of great ‘tension’ samples made me feel like I was in a dangerous place – Ivan’s made me feel like a dangerous person.

John Roberts, artist

Several artists’ samples made me say “Wow” out loud, but I think John’s was the first that made me say “Holy shit!” Did we make the game already? I appear to be looking at several screenshots of a rich, meticulously detailed, satisfyingly chunky, gorgeous and completely finished Heat Signature. How does this already exist?

Apart from the crispness and vividness of the thing, what I especially love is the sense of solidity in the interior shot: I feel like I know how heavy these walls are, what the worn floor would feel like to touch. And it’s full of clever game-savvy touches: all the interactive things are picked out in white, and boundaries between solid and empty space are stressed by hazard lines painted on the floor.

Sharp observers might recognise John’s name: he was also responsible for the best art sample I got for Gunpoint, and therefore became Gunpoint’s main artist. Heat Signature’s style is radically different, but apparently he’s just incredible at everything. Several other people I’ve worked with before also applied for these positions, and I didn’t give them any particular advantage for that. But I also didn’t exclude them: the point of the open submission process isn’t to avoid previous collaborators, it’s just to make sure that if I do work with them, it’s because they’re the absolute best fit for this particular game.

It was tough getting there, but I think that’s what we’ve got, and it’s really exciting to see it take shape. Obviously it’s early days, but if you come and play it at Fantastic Arcade in Austin this week (free), or EGX in London next week, you’ll be able to see how some of this stuff is already working in-game.

When’s it out? Dunno! But if you’re on the mailing list I’ll tell you once it is.

Can I test? At some point! Again, I’ll tell the mailing list when there’s a way to do that. I only use it for major stuff like that.

]]>http://www.pentadact.com/2014-09-18-introducing-the-heat-signature-team/feed/35Gunpoint Is In The New Humble Indie Bundle!http://www.pentadact.com/2014-09-09-gunpoint-is-in-the-new-humble-indie-bundle/
http://www.pentadact.com/2014-09-09-gunpoint-is-in-the-new-humble-indie-bundle/#commentsTue, 09 Sep 2014 18:00:37 +0000http://www.pentadact.com/?p=7510I’m drunk to announce that Gunpoint is in the Humble Indie Bundle 12! Best of all, you get it no matter what you pay. No! Best of all is what else you get if your generosity stretches to the princely sum of ten dollars:

]]>I’m drunk to announce that Gunpoint is in the Humble Indie Bundle 12! Best of all, you get it no matter what you pay. No! Best of all is what else you get if your generosity stretches to the princely sum of ten dollars:

Gunpoint, I just said that

Gone fucking Home

Papers fucking Please

Prison fucking Architect!

Luftrausers!

Hammerwatch!

SteamWorld Dig!

What!

What is not a game, this is just an alarming selection of stuff. And for the first time ever, there’s also a $65 special edition that comes with a load of physical goods like:

This has been in the works for a loooooooong time, and it’s only thanks to the hard work of the guys at Abstraction that we have Mac and Linux versions of Gunpoint to make us eligible to be in one. I’m particularly delighted to be in this one, with such extraordinary company (two BAFTA winners!), because the biggest upside for me is the sheer number of people who’ll hopefully get to try our game. And when Gunpoint is nowhere near the headliner, lots of those will be people who might never have tried it otherwise.

]]>http://www.pentadact.com/2014-09-09-gunpoint-is-in-the-new-humble-indie-bundle/feed/25Update On Heat Signature Applicationshttp://www.pentadact.com/2014-09-09-update-on-heat-signature-applications/
http://www.pentadact.com/2014-09-09-update-on-heat-signature-applications/#commentsTue, 09 Sep 2014 10:19:42 +0000http://www.pentadact.com/?p=7507Just a quick update to say I am still going through the Heat Signature applications. Sorry it’s taking a while – if you didn’t see on Twitter, I got 81 applications for the artist position and 232 for composer. So I am endlessly listening to and re-listening to samples, rigging up makeshift dynamic music systems in-game to see what kind of things work, burying myself in reams of notes, and making impossible choices. Pretty soon I should be able to let applicants know individually where we’re at, and a while after that I’ll be able to announce a decision. The standard of submissions is amazing – the final game is going to be a thing of beauty.

]]>Just a quick update to say I am still going through the Heat Signature applications. Sorry it’s taking a while – if you didn’t see on Twitter, I got 81 applications for the artist position and 232 for composer. So I am endlessly listening to and re-listening to samples, rigging up makeshift dynamic music systems in-game to see what kind of things work, burying myself in reams of notes, and making impossible choices. Pretty soon I should be able to let applicants know individually where we’re at, and a while after that I’ll be able to announce a decision. The standard of submissions is amazing – the final game is going to be a thing of beauty.
]]>http://www.pentadact.com/2014-09-09-update-on-heat-signature-applications/feed/2Heat Signature Playable At EGX And Fantastic Arcadehttp://www.pentadact.com/2014-08-22-heat-signature-playable-at-egx-and-fantastic-arcade/
http://www.pentadact.com/2014-08-22-heat-signature-playable-at-egx-and-fantastic-arcade/#commentsFri, 22 Aug 2014 19:15:51 +0000http://www.pentadact.com/?p=7461Heat Signature will be playable at two different events next month, in the UK and the US!

I’ll be at both events to talk you through it and answer any questions with “I don’t know,” “No,” or “We’ll see.” I’ll also be doing some form of presentation at each, probably involving playing the game myself and explaining my plans.

Earlier this year I also made a game with artist and designer Liselore Goedhart, in which two players steer the tongues of anteaters and battle each other like disgusting slithery light-cycles as they compete for ants. That’s SimAntics: Realistic Anteater Simulator, and it will also be playable at Fantastic Arcade!

And for EGX, I commissioned my friend and graphic designer Natalie Hanke (who I worked with on Distance) to create this spectacularly pink poster!

Old post:

The fine folks at Abstraction have finally got Gunpoint working well enough on OSX and Linux that we’re ready for you guys to give it a try and see what breaks.

If you already own Gunpoint, right-click it in your Steam list and go to Properties. Under the ‘Betas’ tab, choose ‘maclinuxbeta’ and ‘OK’. The game should update.

If you don’t already own the game but would like to help test it on Mac or Linux, add yourself to this mailing list: if I can, I’ll get some time-limited beta keys to let you guys in too.

If you find any problems, post in the Mac or Linux support forums to tell us about them! Tell us as much as you can about your system, what you were doing, and what happened.

Caution! The Mac and Linux versions are in beta, so I don’t recommend buying the game yet if that’s what you’ll be playing on!

To make sure everyone has the latest fixes, the beta is Steam-only. When they’re ready, the Mac and Linux versions will of course be available DRM-free for people who bought here or on the Humble Store. And buying it from anywhere at any time on any of these three platforms means you own it on all three.

]]>http://www.pentadact.com/2014-08-18-gunpoint-mac-and-linux-ready-for-testing/feed/12It’s Time I Did Something About This ‘Gunpoint Ripoff’http://www.pentadact.com/2014-08-12-its-time-i-did-something-about-this-gunpoint-ripoff/
http://www.pentadact.com/2014-08-12-its-time-i-did-something-about-this-gunpoint-ripoff/#commentsTue, 12 Aug 2014 17:21:57 +0000http://www.pentadact.com/?p=7436Someone named Tomasz Waclawek is making a side-scrolling stealth game, with mouse-controlled jumping, set in office blocks with smashable windows, and which he himself describes as a “Gunpoint ripoff”. The game is called Ronin, and it’s time I did something about it. Specifically, it’s time I did a Let’s Play about it, because it’s really fucking cool.

]]>Someone named Tomasz Waclawek is making a side-scrolling stealth game, with mouse-controlled jumping, set in office blocks with smashable windows, and which he himself describes as a “Gunpoint ripoff”. The game is called Ronin, and it’s time I did something about it. Specifically, it’s time I did a Let’s Play about it, because it’s really fucking cool.

It’s clearly not a Gunpoint ripoff, because the core mechanics are so different. A lot of what it does copy is superficial, and that stuff doesn’t matter. But the jump is pretty central, and if that was directly taken from Gunpoint, I’m delighted. I wouldn’t want anyone to reuse Gunpoint’s artwork or music, but the ideas in it are absolutely there for the taking. Every non-standard thing about it, from the jumping controls to the saving system, I did because I wanted more games to be that way. If there’s actually a case where Gunpoint caused more games to work this way, that’s a huge thrill for me.

Update: Tomasz says “This is most disappointing. I tried really hard to make a Gunpoint clone and he says its not like Gunpoint. I really don’t know what I’ve done wrong:(“

The feud continues.

]]>http://www.pentadact.com/2014-08-12-its-time-i-did-something-about-this-gunpoint-ripoff/feed/12What I’m Working On And What I’ve Donehttp://www.pentadact.com/2014-08-09-what-im-working-on-and-what-ive-done/
http://www.pentadact.com/2014-08-09-what-im-working-on-and-what-ive-done/#commentsSat, 09 Aug 2014 12:46:55 +0000http://www.pentadact.com/?p=7379This is a list of games I’ve worked on or am working on and the things people usually ask me about them. I plan to keep it up to date, so if you spot anything that’s no longer true please let me know!

]]>This is a list of games I’ve worked on or am working on and the things people usually ask me about them. I plan to keep it up to date, so if you spot anything that’s no longer true please let me know!

Current: Heat Signature

A space game where you can actually go inside the spaceships and beat up the crew and steal things and get shot.

Paused: Civ-Style Experiment

I thought it was a shame that Civ: Beyond Earth didn’t change the very messy and complicated formula Civ has built up over the years. So I decided to spend all the time I would be playing Civ on making my own Civ-style game, to see if some of my theories about how it could be simplified work out. Taking it off my plate for now, might come back to it the next time I’m annoyed about complexity in 4x games.

Paused: The Grappling Hook Game

A game about a team of thieves using grappling hooks to help each other break into banks, hotels, casinos. Took a long time to get rope physics right as a Unity novice, ultimately decided Heat Signature was more viable with my skills at the time – and just as exciting.

Role: designer, programmerMade in: UnityProspects: might get back to it after Heat Signature, if it still excites me thenMore info:dev log videos

Floating Point

A peaceful game about maintaining speed and grace by swinging yourself around randomly generated spaces with a rope. Built in three weeks from the rope physics I developed for the Grappling Hook Game.

Game Jam Games

I’ve made three or four smaller games for other game jams, and written up ideas for a bunch more. You can see all that on the Game Jams tag.

]]>http://www.pentadact.com/2014-08-09-what-im-working-on-and-what-ive-done/feed/9The Formula For An Episode Of Murder, She Wrotehttp://www.pentadact.com/2014-08-08-the-formula-for-an-episode-of-murder-she-wrote/
http://www.pentadact.com/2014-08-08-the-formula-for-an-episode-of-murder-she-wrote/#commentsFri, 08 Aug 2014 16:10:51 +0000http://www.pentadact.com/?p=7343My life has changed in many ways since working for my own company, but perhaps the biggest is that I can now watch Murder, She Wrote over breakfast and/or lunch. This is great, but it’s also ingrained the show’s weirdly specific formula in my brain, and now I feel I must write it down. The following is how about 70% of its episodes go – the exceptions are kind of nuts.

]]>My life has changed in many ways since working for my own company, but perhaps the biggest is that I can now watch Murder, She Wrote over breakfast and/or lunch. This is great, but it’s also ingrained the show’s weirdly specific formula in my brain, and now I feel I must write it down. The following is how about 70% of its episodes go – the exceptions are kind of nuts.

Office, day

NEEDLESSLY DICKISH BUSINESSMAN:
Your company is garbage, Desperate! Once I buy it despite hating it, I will change everything you like about it!

DESPERATE BUSINESSMAN:
Go to hell, Needlessly! The merger’s off!

NEEDLESSLY DICKISH BUSINESSMAN:
Without me your company is nothing (but I still want to acquire it)!

DESPERATE BUSINESSMAN:
That’s for me to tearfully acknowledge later and for you to shut up!

DESPERATE BUSINESSMAN:
I don’t have a CHOICE except the one you just mentioned!!

Car, day

JESSICA:
I’m so glad you invited me to Place Where You Live.

JESSICA’S LOVELY FRIEND:
It’s so lovely to see you Jessica! How is your book tour going?

JESSICA:
Very well, thank you. I am a literary titan known to over 75% of humanity and my work is to everyone’s taste.

JESSICA’S LOVELY FRIEND:
That’s great. I just hope you don’t get wrapped up in the FLASHPOINT OF LOCAL TENSIONS going on while you’re here.

JESSICA:
(Raises quizzical eyebrow)

Apartment, day

HANDSOME YOUNG MAN WHO WORKS FOR SOMEONE BUT IS OTHERWISE NOT REALLY INVOLVED:
I love you PRETTY YOUNG WOMAN WHO IS RELATED TO SOMEONE.

PRETTY YOUNG WOMAN WHO IS RELATED TO SOMEONE BUT OTHERWISE NOT REALLY INVOLVED:
Oh, but it’s no use HANDSOME YOUNG MAN WHO WORKS FOR SOMEONE! In some obtuse way this business merger makes our love impossible!

HANDSOME YOUNG MAN WHO WORKS FOR SOMEONE BUT IS OTHERWISE NOT REALLY INVOLVED:
This is weird but accurate.

Docks, night

SHADY CONTACT:
I got the stuff, where’s the money?

DESPERATE BUSINESSMAN:
I didn’t think this through.

SHADY CONTACT:
Hey, you’d BETTER have my money!

DESPERATE BUSINESSMAN:
I didn’t think this through.

SHADY CONTACT:
You messed with the wrong Shady Contact, Desperate! I will definitely and literally kill you! Not a figure of speech! If you’re murdered soon, it was me! You hear that, witnesses who heard the victim arguing with someone around this time?

Docks, day

POLICE IDIOT:
Looks like an open-and-shut case, Mrs F. Witnesses heard Shady Contact threatening to kill him, and as a police officer I don’t like to look for further evidence or consider any other possibilities.

JESSICA:
I’m not so sure, Idiot! Can you get me his phone records?

POLICE IDIOT:
OK, for some reason it’s fine for me to share that private data. But I’m telling you Mrs F, this time you’re wrong. I know I have a 0% success rate and you solve all of the 22 murders that happen near you every year, but

Office, day

NEEDLESSLY DICKISH BUSINESSMAN:
With Desperate out of the way, this merger will definitely go through! Yes, I had a motive to kill him alright.

IRRELEVANT CHARACTER WHO LOOKS CONFUSINGLY FAMILIAR:
I reply, but say nothing of substance and never become relevant to the plot, although I look enough like someone who is that you’re no longer completely sure of what’s happening.

Lovely house, day

JESSICA’S LOVELY FRIEND:
What’s that?

JESSICA:
Hm? Oh, just Desperate’s phone records from the night he died. Do you know, he didn’t make a single call to his wife that night? Don’t you think that’s odd?

JESSICA’S LOVELY FRIEND:
I like you but no.

JESSICA:
All the same, I’m going to keep looking through these records.

JESSICA’S LOVELY FRIEND:
Well, this isn’t at all the right context for this phrase, but a rolling stone gathers no moss.

JESSICA:
Moss… that’s it!

JESSICA’S LOVELY FRIEND:
That’s what?

JESSICA:
The missing piece of the puzzle!

JESSICA’S LOVELY FRIEND:
What puzzle?

JESSICA:
The puzzle of who killed Desperate Businessman!

JESSICA’S LOVELY FRIEND:
It’s getting weird that you won’t just tell me what you know.

JESSICA:
I have to get to the police station immediately! (leaves)

JESSICA’S LOVELY FRIEND:
Jessica, for fuck’s sake!

Docks, night

SOMEONE’S WIFE, YOU FORGET WHOSE is rummaging through a bin at the crime scene.

JESSICA:
Looking for this? (She holds up an earring)

SOMEONE’S WIFE, YOU FORGET WHOSE:
Jessica! No, I was just… I thought I heard a dog, in the bin.

JESSICA:
I’m afraid it’s over, Someone’s Wife. You killed Desperate for basically the same mundane, practical reason as one of the male suspects, but you didn’t get much screen time so it still seems like a surprise. I found your earring at the crime scene, and when I give it to the police I’m sure they’ll prove it was yours.

SOMEONE’S WIFE, YOU FORGET WHOSE:
Not if I happen to have a gun on me and draw it now, honestly planning to kill an old lady over some fairly flimsy evidence but for some reason wanting to warn her first!

POLICE IDIOT:
(Emerging from the shadows) Drop it, Someone’s Wife!

SOMEONE’S WIFE, YOU FORGET WHOSE:
Oh for God’s sake. Why do you let her do these things as a weird piece of theatre?

POLICE IDIOT:
Her chain of evidence is always hopelessly weak, so we just have to hope you’ll either kill her or confess.

JESSICA:
It’s true. I have no reason to mention this beyond simple smarm now, but I never found any earring.

SOMEONE’S WIFE, YOU FORGET WHOSE:
Then how?!

JESSICA:
Oh, it was quite simple, really. The moss. When I saw you at the funeral earlier, the camera focused weirdly on a piece of moss on your shoe. I happened to remember that this moss only grows in one place in the world, the crime scene, and it only sticks to murderers.

But I had to wait for someone to mention the word ‘moss’ in a different context before I made this trivial extra step as if it was a moment of serendipitous inspiration, which for some reason is how we want crimes to be solved.

SOMEONE’S WIFE, YOU FORGET WHOSE:
I regret stepping in the murder moss.

Always an elevator for some reason, day

HANDSOME YOUNG MAN WHO WORKS FOR SOMEONE:
Jessica, we wanted you to be the first to know: we’ve set a date!

JESSICA:
Oh, that’s wonderful!

PRETTY YOUNG WOMAN WHO IS RELATED TO SOMEONE:
I hope you’ll come to the ceremony!

JESSICA:
Oh, I wouldn’t miss it for the world. Just so long as you don’t expect ALL of your guests to survive!

(All laugh)

JESSICA:
Hundreds of people have died around me.

(Freeze frame)

]]>http://www.pentadact.com/2014-08-08-the-formula-for-an-episode-of-murder-she-wrote/feed/29Heat Signature Needs An Artist And A Composerhttp://www.pentadact.com/2014-08-07-heat-signature-needs-an-artist-and-a-composer/
http://www.pentadact.com/2014-08-07-heat-signature-needs-an-artist-and-a-composer/#commentsThu, 07 Aug 2014 17:01:40 +0000http://www.pentadact.com/?p=7207I've now made enough of Heat Signature to be fairly sure of what it is, which means a) here's a new trailer!

And b) I'm ready to start looking for an artist and a composer to work with!

]]>I've now made enough of Heat Signature to be fairly sure of what it is, which means a) here's a new trailer!

And b) I'm ready to start looking for an artist and a composer to work with!

Update: the deadline has passed and applications are now closed! We got a lot! More as I sort through them.

I'd like to do it the same way I did for Gunpoint, with Open Submissions. That means anyone can send in a sample of what they can do, and I'll pick the best artist and the best composer based on that. In this post I'll explain loads about what we're looking for, but the highlights are:

You can see what the game is really about in the trailer above, and I'm adding lots more systems to make on-board stuff more intricate and full of interesting possibilities. But for the purposes of this post, I'll try to give a bit more context.

It'll be set in a region of space prohibitively far from any planets, hidden from long range sensors by colourful vapour clouds, and dotted with dozens of space stations. Being so remote, cults, corporations and gangs fight freely over control of these stations, and form uneasy alliances to get what they need to survive. In the game, you'll hopefully be able to zoom out and see a sort of galaxy map of all these stations and who owns them.

Each time you start the game, you're playing as a different person - their location and the faction they belong to might even be chosen at random. They take on missions like the ones in the video to harm other factions, help their own survive, or in some cases maybe just for money. The galaxy is persistent, so anything you do achieve will change it for your future lives. I have plans for how that works, but I won't go into them too much till I've had time to try them out.

Death is permanent, though as you'll see in the video, there are ways to avoid it. If you want to stop playing or try a new character but haven't died yet, you'll be able to let your current character rest at a station until you want to play as them again. There will probably be some manner of written stories that you can stumble across out in space, but again, I won't go into my plans for that too much until I've had a chance to see what works well in this context.

It gives first-timers a chance, breaking the old Catch-22 of "You need experience to get work, and you need work to get experience"

I can find the person whose talents best suit this game in particular

It means I don't have to restrict my game ideas to ones that suit the skills of a pre-existing team

It means I'm always working with people who are excited about this particular game

Gunpoint's main artist John had never done pixel art before. The other, Fabian, was a game design student. All six of us had other jobs or responsibilities. But it's hard to imagine that game looking or sounding better.

I've also been on the submitter side of it, for short stories, and it gave me the opportunity to get my first piece of fiction published without any connections in that world.

If you want to apply, all I need to see is a sample of your work that would be appropriate for this game.

It's fine to send in something you made for something else. Bear in mind I'm not a clever man, though, so if it's very different I might have a hard time guessing how good you'd be for the style Heat Sig needs.

If you do make a sample, don't spend too long on it. We had 34 artists apply to work on Gunpoint, so 32 of them did not end up working on it. Personally, I only apply to an open submissions thing if I want to make the thing for fun anyway.

Don't do anything until you've read all of this post! There are specific requirements.

Tell me how long your sample took you. Be honest, obviously - I'm not prioritising speed, I'm just checking viability.

If people are up for it, I could do a post showing off the best submissions - let me know in your e-mail if you'd be OK to be included in that. Fine if you'd rather keep it private.

As you'll see in the video, your time in Heat Signature is split about half and half between flying through space and sneaking through the corridors of spaceships. You usually only spend 30 seconds to a minute in each mode, sometimes even less, so we can't have the music change every time you dock. But the tension in the game does vary wildly, from serene space travel, to fleeing a missile lock, to hiding in a corner and praying a guard won't turn round, to sudden outbursts of lethal violence.

I'm open to suggestions as to how to handle this, but my current thinking is that each track could have two layers:

A serene, beautiful layer that we ramp up as you spend time jetting around peacefully or in empty ships, then fade out when there's danger.

A tense layer that we ramp up when you're in danger, whether that's in space or inside a ship, then we fade this out once the danger is passed.

And that would be one track. The tracks themselves could be tied to regions of space, or we could just shuffle them.

I had some luck in Floating Point with writing an algorithm that controlled music volume according to a constantly changing level of 'coolness' of your performance. I found that it feels good for music to be responding to what you're doing, but the change has to be more gradual than the variable it's responding to, or it's jarring and annoying. I could easily track a danger variable in Heat Signature and have individual music layer volumes respond to a smoothed out version of that.

For peaceful music, I love slow, expansive stuff that conjours the majesty of space. Like this:

As a general track, which could probably be taken in a 'tense' or a 'peaceful' direction, I like this one from the EVE soundtrack:

If you're making a sample:

If you're able to have a go at both 'tension' and 'peaceful' music, that'd be great.

You don't have to include the transition or try to get them to work together at this stage.

No need to make a whole track, 30s to 1m of each would be plenty, or whatever you feel you need.

If you want to try something completely different to what I'm suggesting, go ahead!

If you want to try scoring an actual part of the video above, feel free - you have my permission to edit and distribute that video however you like for this purpose, as long as it's clear where it came from.

Everything in Heat Signature will get rotated and stretched by Game Maker as it spins through space and we zoom in and out. There's some built-in anti-aliasing to this, so any per-pixel crispness will get blurred (it's possible to disable this, but then rotating and scaling mess up fine detail even more). With apologies to John Roberts, this is what it would look like if we tried to use Conway's sprite from Gunpoint as the player's ship in Heat Signature:

That is a screenshot. I actually did this.

All this means is: avoid intentionally jagged diagonals or anything where the placement and clarity of individual pixels is critical.

Beyond that, the only styles I'm pretty sure I don't want are 'comical' or 'abstract'.

Heat Signature is set in a region of space dominated by colourful gas clouds. These are huge, you'd never see a whole one on screen, so in practice it's more like each region of space will have a different background colour. I'd like some regions of darkness, but as you'll see from the reference pics below I mostly want space to be colourful.

I might have a 'burn colour' for these gas clouds, also randomly selected, that would flare up around your ship when you're hot. So if you're thrusting through a green cloud, you might see the gas you're cutting through burning red. You know that bit in the Voyager titles?

Here are some pictures of space that I find exciting. Sorry that only some of them are credited, my sources for the others were imgur links with no attribution or info.

A strong colour, usually fading into another or into darkness. Not sure how we do this, maybe when you're in a gas-cloud-region it's a blank background colour, and when you're moving between them we use a giant gradient sprite that passes slowly until you're fully in the different colour.

Some kind of texture or patterning, sometimes like cloud, can be very faint. We could do this with a tiled sprite we layer over transparently.

Bright pinprick stars. I think these'll need to be individual sprites that we move and place in code, as they are right now. They're not actual stars, since those wouldn't parallax noticeably, so we'll say they're space stations.

As ever, open to totally different approaches if you have something you think will work. For a sample, I don't need to know what the individual layers are, I'm only interested in the overall look.

A ship module is currently 256x256 pixels - you can stray from that, but not too drastically. Anything solid needs to have dimensions that are multiples of 32: that's how big one unit is on the collision grid. That means the thinnest wall has to be 32 thick, and a person should fit inside a 32x32 square. Currently, interior rooms are 6 units across and doorways and corridors are 2 units wide. Click this for a full-size guide:

Ships are made of square modules, as you've hopefully noticed, and the sprites for these are light greyscale, then the game colours them with the ship's randomly chosen colour. The way that mask works is that pure white in the sprite becomes the colour of the mask, so overall the sprite gets darker, and the luminance of the mask colour is the max luminance of what you see (i.e. white is impossible). What we can do, though, is layer another sprite on top of that that's independent of the ship's colour, for any glowing lights or features that should be the same on all ships.

The different modules a ship might have are:

Standard: no functional significance, so can look plain from the outside. Could be identical to each other, doesn't matter if they're not, as long as they don't look like they 'do' something.

Missile turret: gun part turns to track whatever it's shooting at.

Thruster: thruster part turns away from the direction the ship's travelling, emits a visible thrust whose length is proportional to acceleration.

Bridge: the most crucial module - if it's destroyed, the ship is effectively brain dead. On larger ships, it's set one module back from the front, to protect it. Needs to really stand out from the other modules even zoomed out, because it's life or death whether this module is still intact.

The modules that do stuff will obviously have the controls or workings inside: a seated gunner for Turret modules, a fuel canister plugged into some apparatus for a Thruster module.

I'd like the rest of the rooms to give a sense of the ship as a real place where people live. Some of these ships will be fighters, others transports, others scouting vessels, but almost all of them will be designed for people to spend more than a day on. So the Standard modules might contain:

Beds

Mess hall

Food garden

Space bathrooms

Armoury

Cargo storage

However! They also need to be massively reusable. Every bit of art will be reused hundreds of times on different ships, so if there's a plate on the floor and some food spilled next to it, it's gonna look odd to keep seeing that exact same mess in different places.

Depending on time, it might be nice to have an alternate set of these to distinguish between old, functional rustbuckets and shinier, more expensive new ships. Not vital though.

I don't know much about what these will be like yet, but I'm happy for them to be mostly made out of ship modules. They won't be bustling with people, but we might want a few civvies sitting at cafes or bars.

You'll be playing a different person each time you start a new game, so it'd be cool to be able to cobble different-looking characters together from component parts. But I don't know a) how much work that is, b) how much variety you can show at this scale from this perspective. Interested in your thoughts and ideas.

As a guide to the game's scale in pixels, here's the current player sprite:

We can vary a little from that.

Animations will include:

Sneaking quickly

Pouncing on an enemy at short range and knocking them out

Sitting in a seat using controls

Shooting a rifle

Walking while aiming (in independent directions)

Getting non-fatally shot

Remote-controlling your ship

Adrift in space, unconscious

Adrift in space, shooting your gun

Adrift in space, remote controlling your ship

Carrying a body

Carrying a fuel barrel

All the rifle-related animations but with a pistol (held in both hands)

Cut-off for applications will be 23:59.59 UK time on the 22nd of August. From there, it might take me till sometime in September to figure out who to go with for both positions.

I'd like to get all the art and music in the space of about four months after that. That's not when the game will be done, it's just when I'd like that side of things in good shape.

As always with games, though, any part of it could run much longer than expected. I'll be paying you for however long it takes. If there's anything in your future that'll mean "I have to stop working on it by then", let me know when you apply - it may not be a dealbreaker.

You're probably not in Bath, England, which is fine. We'll communicate mainly by e-mail, so that any feedback/guidance is there for you to refer to, and I have time to articulate what we need as clearly as I can. If you also wanna Skype sometimes I'm up for that.

I will definitely ask you for changes to your work, regularly. Absolutely nothing to do with talent. If Leonardo da Vinci submitted the Mona Lisa, I'd say "Sorry, but for gameplay reasons the smile needs to be readable on low detail settings at wide zoom levels or players might mistake her for hostile. Can you make it a bit more pronounced?"

Even if you're better than him, and a telepath, I will still be asking for changes. If you're at all precious about your work or don't like being told what to do, don't apply. I need to be able to ask for this stuff without feeling like I'm asking for favours, or the game will suffer.

You need a bank account I can send money to from England (don't know of any exceptions to this, I currently pay to US, Chile and the Netherlands)

You must be the full legal owner of the work you supply - if you're under employment or contract with anyone else, check they don't own work you do in off hours. Many do. If they do, you can often get an exemption by asking, but obviously we'd need that in writing direct from your employer before engaging you. It's fine if you'd like to wait to see if you're selected before asking, but do mention it in your submission.

How to submit:
Alas, it is too late! As mentioned at the top, the deadline has now passed.

]]>http://www.pentadact.com/2014-08-07-heat-signature-needs-an-artist-and-a-composer/feed/34Improving Heat Signature’s Randomly Generated Ships, Inside And Outhttp://www.pentadact.com/2014-07-19-improving-heat-signatures-randomly-generated-ships-inside-and-out/
http://www.pentadact.com/2014-07-19-improving-heat-signatures-randomly-generated-ships-inside-and-out/#commentsSat, 19 Jul 2014 12:23:55 +0000http://www.pentadact.com/?p=7264I started making Heat Signature mainly to figure out if the mechanics would be as fun as they seemed in my head, so I built all its systems in the cheapest, fastest, simplest possible way. That worked – it’s now got to the point where I’m laughing out loud at something ridiculous happening most times I play.

]]>I started making Heat Signature mainly to figure out if the mechanics would be as fun as they seemed in my head, so I built all its systems in the cheapest, fastest, simplest possible way. That worked – it’s now got to the point where I’m laughing out loud at something ridiculous happening most times I play.

But the slapdash way I built it has the following problems:

All collision checks, including guards checking whether they can see the player, are being done on a per-pixel basis. That means the game slows down a lot if there are many guards.

When things on a ship move or are created, they don’t have a good way of making sure they end up fixed in the right position on the ship, leading to lots of very tricky to diagnose bugs where airlocks appear in the wrong place and won’t let you inside.

The Rewrite

All of these systems need a total rewrite, and I know how to make each one massively faster and more reliable now that I’ve had some experience with how they’ll be used. I’ve been working with the bad code for so long that I’m actually really excited to rip this awful shit out and make it all clean, fast and efficient.

A good way to get motivated about the boring task of redoing code is to just keep working with the bad code until you want to die.

But I’m also aware that this means it will look like exactly the same game until I finish all three rewrites, which might be a while. So while I’m at it, I’m making some of the more superficial tweaks I’ve been planning, just to make the game feel fresh on the outside too. And the first of these are tweaks to the way ships randomly generate their interior floorplans.

The Old Floor Plan Generator

If there’s a row behind this one, one module in this row has a door leading to it

If a module has exactly two doors and they’re in a straight line, it’s a corridor. Otherwise, it’s a room.

That generates interiors that look like this:

I was pretty pleased with this! From only three rules, it makes sure every module is used, every corridor leads to a room, and there’s a path from every module to every other, but it’s usually not trivial. Despite being simple, the pattern didn’t seem to be obvious – to me or others. I posted a shot on Twitter and asked people to figure out the rules – no-one got them right.

Its main shortcomings were:

There are a lot of rooms, as opposed to corridors. Rooms obfuscate connections: it’s harder to see at a glance which ones are connected and which are blocked, which can make the layout visually boring even when it’s mechanically interesting.

It’s usually not mechanically interesting either. The fact that there’s only one logical route between any two rooms will probably be too boring and restrictive once we have more of the on-board game elements in, like sealed doors and hacking.

The New Floor Plan Generator

So I made a few tweaks, and the new system generates stuff like this:

How much you get out of this image might depend on how much you care about corridors, but I am fascinated by it. It’s so much more intricate, organic and complex than the rules I added seemed – I look at it and think “Wait, I didn’t tell you how to do that!” But evidently I did. Again, I think it has good Rule Stealth: the rules are right there on display, but I don’t think you’d guess what they were, right? If you want to try, do so before clicking this:

As before, if there’s a row behind this one, one module is selected to have a door leading back to it.

But now, every other module has a chance to have a back-door too.

As we’re building this row, if we’re placing a back-door and one already exists, there’s a chance we won’t connect this room to what we’ve already built of this row.

If a module has only one door, or it contains a ship system, it’s a room. Otherwise, it’s a corridor.

I halved the corridor sprite so we can have corners, T-junctions and crossroads as well as the straight corridors and rooms from before, while still building everything from only two sprites.

The Interesting Bit

The bits that surprise me are bits like this:

How did it know to build a corridor branching off from a lengthwise passageway to lead to this out-of-the-way room?! My algorithm builds the ship one lateral row at a time, and each one has no idea what was in the last one. This makes it look like whoever built the ship planned ahead to make sure there was a corridor leading to this otherwise isolated room.

The Explanation

I get it, of course: three modules in a row all decided to make a door to the previous row, which meant all of them could block themselves off from each other laterally. And in the row it made afterwards, the middle module failed the chance to create a door leading back, so the room behind it was left with only one connection. And being a dead end, it became a room rather than a corridor.

The fact that it’s reachable is not luck, it’s a result of some logic I intentionally put into rule 3: we’re only allowed to block ourselves off from the rest of the row if we know the rest of the row also has a back-door. That way we can still get to them by going back one row.

But what if there’s a lateral block there too? Well, they’ll only create one if they, too, have doors on either side of the block leading backwards. What about the row behind that? Same rule, all the way to the very back row of the ship, which will never create a lateral block because it’ll never have two back-doors – it won’t have any.

Imaginary Intentions

But it’s so interesting how much intentionality I can read in to the result of these rules. It looks so much like they isolated this room for a reason, and built that corner corridor to lead to it. And that adds meaning and character to whatever we put there.

Once the room types are in, that might end up being a cargo hold with a locked door and valuable loot in it. Clearly, it’s isolated by these thick sturdy walls for security reasons.

But random is random, so it could just as easily end up being living quarters. Now the isolation looks like privacy: maybe they don’t want to be kept up by ship noises. Or it could be a bathroom, and they don’t want sound to travel for other reasons.

That’s why this new system fascinates me. It seems to create intentionality out of algorithms, and the more stuff I put into the game for it to combine with, the more unexpected combinations will come out.

]]>http://www.pentadact.com/2014-07-19-improving-heat-signatures-randomly-generated-ships-inside-and-out/feed/13Heat Signature Development Time-Lapse: 5 Months In 2 Minuteshttp://www.pentadact.com/2014-06-24-heat-signature-development-time-lapse-5-months-in-2-minutes/
http://www.pentadact.com/2014-06-24-heat-signature-development-time-lapse-5-months-in-2-minutes/#commentsTue, 24 Jun 2014 17:58:38 +0000http://www.pentadact.com/?p=7190The reason it’s been a while since I last showed off my space stealth game, Heat Signature, is that I want to use the next video to put out a call for artists and musicians to hire. So it needs to show enough new stuff that the press might cover it, people might share it, and it might get seen by more people.

]]>The reason it’s been a while since I last showed off my space stealth game, Heat Signature, is that I want to use the next video to put out a call for artists and musicians to hire. So it needs to show enough new stuff that the press might cover it, people might share it, and it might get seen by more people.

Don’t apply for either of those jobs yet, though! The other thing I need to do before then is nail down enough of the game’s underlying tech to be sure of precisely what kind of art and music it needs. The way it’s coded right now is rather glitchy, so now I have to investigate whether it’s the fixable kind of glitchy, or the “Fuck this and try a different method entirely” kind of glitchy.

Time lapse

So I’m not going to show much of its current state, but I did put together a time-lapse of everything I’ve done so far: Heat Signature’s five month development in 2 minutes.

The jetpack thing you see early on there felt horrible, made your character feel more like a vehicle. The boarding drill was a technical nightmare I never got working, and would have broken most of the infiltration game design anyway. In general, stuff I cut made the game worse.

Here’s what stuck!

New things since that last video

Ships now have individual turrets and thrusters you can hijack or destroy.

You can hijack the cockpit to take control of the ship, fly it around, start fights with others.

Christ, did I not even have modular destruction in that video? Modular destruction! Missiles destroy any module they hit.

If blowing up a room on a ship splits the ship, the fragments spin off independently. This caused insane complications with ship IDs and contents that I don’t want to talk about.

Sexy hot vapour trails on your ship. Trail thickness and brightness proportional to thrust when it was made, fades smoothly over time.

Loot! Find bits that upgrade your ships thrusters and cool rate.

Missions! Actually that’s the main thing I want to talk about, so I’ll break out of this list.

Rethinking missions

Previously, the idea for Heat Signature would be that you would start the game with a single target to hunt down and eliminate, however you like. But, as I discussed in a dev log video, the business of actually searching for your target was inherently unfun. I replaced it with a system where you get progressively closer to finding them almost regardless of what you did, which was better, but weird.

Now I’m thinking that you’ll choose a class at the start, then be given a series of shorter missions of that type, forever. Assassins will be assigned to kill specific crewmembers on specific ships. Thieves to steal particular bits of tech from particular ships. Interceptors neutralise hostile ships. Exfiltrators capture and retrieve their targets alive. And you do as many of these missions as you can without dying.

I have the beginnings of that working: randomly generated assassinations and thefts that feel cool to pull off. But I haven’t entirely settled on whether the game will have permadeath or autosaves: I hope permadeath, but certain frustrations need to be solved design-wise before I can do that without causing bad situations.

As you can see, the “Who are you and what are you trying to do?” part of Heat Signature changes a lot, even as the game mechanics stay roughly the same. So these are just my latest thoughts, we’ll see what I settle on by the time I come to make the next proper demonstration video. It’ll be a while though, lots of basic tech stuff to redo first.

]]>http://www.pentadact.com/2014-06-24-heat-signature-development-time-lapse-5-months-in-2-minutes/feed/6Gunpoint Patch: New Engine, Steam Workshop, And Morehttp://www.pentadact.com/2014-06-17-gunpoint-patch-new-engine-steam-workshop-and-more/
http://www.pentadact.com/2014-06-17-gunpoint-patch-new-engine-steam-workshop-and-more/#commentsTue, 17 Jun 2014 16:42:13 +0000http://www.pentadact.com/?p=7178Our big Gunpoint patch has just gone live on Steam! It converts Gunpoint to a whole new engine and adds Steam Workshop, so you can see all the awesome new missions people have been making in the level editor. They are nuts. We’ll make a version of this update available for non-Steam users as well, but obviously Steam Workshop support only works in Steam. Here are the major changes:

]]>Our big Gunpoint patch has just gone live on Steam! It converts Gunpoint to a whole new engine and adds Steam Workshop, so you can see all the awesome new missions people have been making in the level editor. They are nuts. We’ll make a version of this update available for non-Steam users as well, but obviously Steam Workshop support only works in Steam. Here are the major changes:

New engine, implemented by Abstraction Games. Should fix many technical issues and make the game run faster for everyone, and it’ll enable us to develop Mac and Linux versions next.

Steam Workshop added, for browsing and sharing user-made levels. Yes, we listened to the 1,779 post petition you guys started even after we’d already announced we would do it.

Option to turn off swearing. Up to you whether this makes “Grow a ####ing #### and shove it up your ###” kid-safe.

Reconfigurable keyboard controls.

Vertical sync option. I didn’t know we needed this, but the folks at Abstraction added it and now the animation is at least 23% more beautiful.

Level editor. The level editor has been in there since launch, but some people still ask for one so I’m just going to keep announcing I’ve added it until everyone knows it’s there.

You can now place multiple elevators in a level without it crashing. That’s more than I could do when I was making the game, so I expect your levels to be at least twice as good as mine.

If you have any technical troubles with the new version, you can still use the old one by going to Properties > Betas and selecting ‘oldversion’. Post your issue on the forums too, so we can fix it.

It’s also 75% off for 48 hours! That’ll end 10am Pacific Time on 19/06/2014. That discount applies to all editions, too, so you can upgrade for $2.50 or £1.50. And we reduced the UK and EU prices from the Steam defaults to better match their USD equivalents.

]]>http://www.pentadact.com/2014-06-17-gunpoint-patch-new-engine-steam-workshop-and-more/feed/9Floating Point Passes 70,000 Playershttp://www.pentadact.com/2014-06-12-floating-point-passes-70000-players/
http://www.pentadact.com/2014-06-12-floating-point-passes-70000-players/#commentsThu, 12 Jun 2014 16:57:57 +0000http://www.pentadact.com/?p=7168As of today, 70,163 people own Floating Point, the free game about grappling hooks I released last Friday. 31,700 of those got it on day 1, and the count is now growing steadily at around 3,000 new players a day.

This is pretty amazing. I didn’t contact any press about it, and the only promotion I did was the long and rambly videos I’ve been posting here, if you can call them that. Being free, unsurprisingly, makes a big difference. More interesting stats:

71% of Floating Point players own Gunpoint, 22% own the Exclusive ($30) Edition.

203 people have reviewed it, 198 of them positively.

After the US (15k) and the UK (6k), Russia and Poland have the most players with 5k each – all other countries are under 3k.

The average play session is 12 minutes, which is about how long I usually play for too.

The 22,000 players Steam has sampled to get play-time stats have, between them, spent more than a year playing.

If the other 48,000 have played similarly, that’d be more then four years of play time.