Archive for category: Game Design

Script Surgery

25 Mar
March 25, 2015

This post will contain a minor spoiler about the game’s plot. Don’t read if you want to be completely fresh.

In the last dev update I talked about how I was updating the narrative to have a bit more punch, a bit more personal conflict right out of the gates.

An important problem to tackle, that, but not the only plot issue I’d identified. The other, trickier problem, is moving the inciting incident to an earlier point in the narrative.

For those who aren’t familiar with script writing terminology, the inciting incident is the plot event that kicks the protagonist out of their everyday routine and forces them to grapple with the core conflict of the narrative, whether that’s saving the world or winning the heart of their love.

It’s Luke Skywalker finding Princess Leia’s message, Trinity contacting Neo, Ned Stark being called to King’s Landing. It’s Gorian’s murder and Imoen’s kidnapping in Baldur’s Gate 1 & 2.

And it’s best if you get to it fairly quickly, so as to give the story direction and movement. Wait too long to kick things off and your story feels limp and uninteresting, your audience gets restless and starts to lose focus. Like a crowd forced to wait too long for the band to come on stage.

And this, unfortunately, is what I did with System Crash. I kind of outsmarted myself (The KISS principle is something I wholeheartedly endorse but often forget to practice myself 😛 ). I had this “neat” idea that I’d write a number of smaller story arcs that seemed isolated from each other, but would eventually be revealed to be tied to the main plot arc. So that later in the game the player would go “Aha! X and Y were actually about Z!”

Which sounds, like I said, neat, but my execution was a bit flawed. I held off on starting Z, the main plot arc, until the X and Y mini-arcs were finished. Which is a lot of stuff to get through before the story really gets its main surge of energy and motivation. The smaller arcs aren’t compelling enough, by themselves, to hold attention.

The answer, of course, is to start Z, the main arc, earlier. I’ll run it concurrently with X and Y, but make sure that X and Y are completed before getting to the part where it’s revealed that they’re linked to Z.

So that’s why I’m moving the inciting incident forward. It’s really the kick-off point for the main arc, for Z.

What that has entailed is figuring out how to rearrange the pieces of story that I have into a new, more compelling configuration. I really don’t want to rewrite a lot of narrative, I just want to shuffle what I have. Luckily, since there were already a number of smaller arcs, they can be rearranged without breaking the entire structure. The change looks something like this :


System Crash Sections Sml


System Crash Sections 2 Sml

Notice how much more overlap there is in the starting bit, and how much earlier that yellow blob starts. 😉

I think this will be better. I hope so, I’m not rewriting the entire bloody thing.

Creating Juicy Explosions in Vlambeer’s Nuclear Throne

24 Mar
March 24, 2015

Arc Effect

23 Mar
March 23, 2015

An interesting piece on how the arc was the unifying visual element in the Mass Effect series.


The (Not So) Final Countdown

17 Mar
March 17, 2015


As I mentioned in a previous post, I’m busy spicing up the beginning sequence of System Crash, making sure there is an early conflict to motivate the player and drive the gameplay forward.

Making the early game interesting is important for convincing folks that it’s worth buying the demo to see what happens next. 😉

Paying Miriam the Loan Shark her money back before time runs out is the driving factor in the early narrative. But that new plot device, of you needing to pay her back in 30 days, added a complication – namely, that System Crash doesn’t track game time at all.

It would feel fairly limp, slapping the player with a big “You’ve got 30 days, go go go!” narrative and then failing to actually exert any genuine time pressure. We’ve all played games like that, right? The world is in desperate peril! But oh, you want to do 30 or 40 side quests and pick some herbs before tackling the Evil Necromancer? Sure, no problem bro, the Undead Hordes will wait patiently over here…

No, that won’t do. So I thought about adding some sort of actual time tracking mechanic, before remembering that I’ve been working on this game for over 3 years now and fuck that. So instead I (mostly) used the systems that I’ve already built, creating a simple script variable that tracks the countdown toward Miriam’s deadline, and adding a little bit of code to be able to display dynamic script vars in the objective/mission text strings.

And, to keep things simple, I’ve made it that doing a mission, any mission, ticks the counter down by 1 day. Easy to setup in the XML scripting system I’ve built, and viola, genuine time pressure.

(From this point on there will be spoilers for this early section of the game, don’t read if you want to go into System Crash completely fresh.)

But that brought up a different problem. I have intentionally designed System Crash to be fairly ‘casual’. By casual I don’t mean simple, I mean that it’s something you can play casually, here and there. Pick the game up, play for 20 minutes, unlock a new card or two, try a new deck and progress the narrative a few beats.

What I specifically don’t want is for a player to play for a while only to realize that they’ve screwed their campaign progression because of some decision they made 10 missions ago, unknowingly. I want missions to challenge players, but I don’t them to get really stuck. And that includes losing the game because they fail to gather Miriam’s money by the deadline.

So what I’ve done instead is added a little branching. You can fail that objective. In fact, you can simply refuse to pay up, even if you have the money. The game won’t stop. Instead, Miriam sends her goons after you. Wave after wave of them. And, at a certain point in the storyline, you won’t be able to progress in the main plot arc until you deal with them.

But you can deal with them. The fights aren’t very rewarding, in that they don’t drop much in the way of rewards (you may still enjoy the battle, regardless. I don’t want to make them dull). But if you beat enough of your attackers, Miriam eventually decides that this whole endeavor is proving too costly and calls off her dogs. And you can carry on playing the main arc again.

So those are your options. Either pay the money, or beat a number of optional fights. Pay some of your in-game currency, or pay with your time.

You might be asking, at this point, “well, why would I ever pay her, then?”

Well, I’m not going to actually tell you (outside this blog) that you can ignore her threats. So some people will do it just because it seems like it’s the game’s designated path. Or because they want to skip the goon fights and progress the story quicker. And for those who refuse/fail to pay, it might be kinda cool to see that the game responds to that, you don’t just hit a game over screen.

I think it’s kinda cool, personally. If I had the time and resources, I’d flesh out the rest of the campaign with interesting branching choices and long-term consequences. But, as I said, I’ve already sunk a huge amount of time into SC, so I’m holding those ideas in check for expansions/sequels/new games built using these systems. With the core tech built, expansions will focus more on doing interesting things with content and fleshing out the world/characters in System Crash.

Something I’m really looking forward to. 🙂

Sunless Sea Postmortem – Failbetter Games

05 Mar
March 5, 2015


04 Mar
March 4, 2015

Well, that’s that, then. The last of my things moved out of my old flat, spare furniture sold off, keys handed over to the landlord.

It’s a bit strange to be out of there, finally. Seven years I’d stayed in that flat, I’d long since outgrown it. But I stayed because rent was low(ish) and the shops were within walking distance so I didn’t have to drive much. A good spot for keeping my expenses reasonable while I pursued my dream of indie game development.

That didn’t quite work out, of course. Despite my careful planning, I still ran out of money before finishing my game, and I’m now back to working a day job while I finish SC after hours. But it sheltered me along one leg of my journey, that little flat, and now I’ve seen the last of it.

Strange, like I said. But good. Good to move on.

The packing up was rewarding, too. I sorted out my crap, consigning the detritus to garbage bags and hauling them off to the bins. You feel lighter after such an exercise, unclogged. And it forced me to go through my old notepads and scrap books, looking for anything worth keeping. In the process, I found my old game design notes and the little concept sketches I did, some of them kind of cool, some of them scribbles incomprehensible to anyone but myself.

I sat there, on the floor in my now furniture-devoid apartment, paging through those old, dusty notes and smiling. Remembering.

Game development can be hard, and solo game development even more so. There’s no one to motivate you but yourself, no team mates to draw emotional strength from or to share the burdens with. There have been times, working alone in that little flat while my friends buy houses and start families, where I’ve wondered whether the sacrifice was worth it. Whether I even really want to continue. Whether it matters.

Looking through those notes reminded me. No, this is where I belong. This is where my heart is, where it’s always been.


Page after page of notes and sketches and diagrams. Skill and character descriptions, city and continent maps, spider diagrams of plot brainstorming. Snippets of world lore and quest ideas, monster and building and equipment concepts. Logos and emblems. Database designs and class descriptions(the code kind).

Some of the pages I took photos of:


Much of it shoddy, my nascent skills not quite up to the task of capturing the ideas in my head. And not yet disciplined or committed enough to sit and really flesh them out. But the spirit of the endeavor was there, shining through those pages. The urge to bring my daydreams of other worlds to life.

Like I said, I’ve asked myself whether it matters to me, which is part of the larger question of what I want my life to be about, really. The answer is there, in those notebooks. Indie game developers have a variety of reasons for doing what they’re doing. Some come to game design in order to explore interesting mechanics, others for the chance to bring their art to life. Me, I’m a world builder. World building, the exploration of imaginary places and characters, is what really fires me with excitement.

That’s why I love the fantasy and sci-fi genres. That’s why I can lose an entire Friday night on some Warhammer 40k lore wiki. That’s why I don’t skip the text. Strong world building is the common factor across my favourite games, more than mechanics or genre; compelling fictional worlds that I long to lose myself in, characters that I want to spend time getting to know.

I have spent my youth enjoying and absorbing the fantastical worlds that others have built. Now I want to craft worlds of my own design. And then hand them over to other people to enjoy.

Design is communication. The skills I’ve taught myself, coding, painting, writing, those are just different tools to communicate a design. Each with its own strengths and weaknesses. Game development weaves these disciplines together, binding story, art and mechanical interaction into a whole greater than its parts, conveying living, breathing worlds as no other medium can.


I’ve saved those old design notes, filed them away fondly for when I need a boost. To remind me of where my heart lies, if I forget again.

Now, if you’ll excuse me, I have worlds to build. 😉

Crime and Punishment

03 Feb
February 3, 2015

I’ve talked about how I’ve built certain themes, certain affinities, into the cards of System Crash. Last time, I introduced the MetroSec cards, the representatives of what passes for Law and Order in the world of System Crash. Security contractors tasked with keeping the peace by the Megacorps.

This week we take a look at the Criminal Underworld.

Crime is a fact of life in the city of San Angeles. Street gangs prowl the darkened alleyways, cartels smuggle illicit cybernetics and bioware to a thriving black market, and the Yakuza launder money through their front corporations. The criminals of SanAn are dangerous enemies and powerful allies.


Criminal cards in System Crash are often stronger than comparable Agents, for their cost. But that power comes at a price. Criminal agents will frequently exact an additional cost as you bring them into play, beyond the standard Credit cost.

The question then, is whether the risk is worth the reward.

Law and Order

27 Nov
November 27, 2014

“Imagine a boot stamping on a human face . . . forever” – George Orwell, Nineteen Eighty-Four.

MetroSec Tac

I didn’t have enough money to build in different sets/colours/what have you into System Crash (For comparison, Magic: The Gathering had around 300 cards when it shipped, SC has less than 100), so I instead of hard divisions I try to create “affinities” along certain thematic elements/mechanics. Which basically boil down to cards that work well together, that synergize.

An example of this is MetroSec (Metropolitan Security Forces) cards, ie The Law. MetroSec cards are designed to buff each other, such as in the case of the Tac Squad, above, who get stronger and tougher when other Law type cards are in play. This ties into the theme of authoritarian forces that gain in strength as they gain in numbers, and squad tactics and so on. They also synergize with Mech cards, reflecting MetroSec’s use of mechanized weapon platforms to keep the peace.

As I said, the number of cards in SC isn’t as high as I would like it, but I’m hoping to flesh out each affinity group via expansion content and new cards. If there’s interest, I’ve got big plans!

Gentle Curves And Sudden Turns

20 Oct
October 20, 2014

“What is best in life, Conan?”

“To turn the tables on your foes, to devastate their careful battle plans, to hear the lamentations of their women as you snatch victory from them!”

Or something like that. 😉

One of the tricks to designing strategy game mechanics, it seems to me, is to create an interesting mix of predictability and the capacity for surprising turn arounds.

Predictability is important, even though it may sound dull and unappealing, because a player needs to be able to plan ahead, predict possible enemy moves and adjust their strategy accordingly. Complete unpredictability is not really that fun, except for a bit of a laugh now and then. If you’re actually interested in strategy, you need to be able to analyze the field of play and have some reasonable ability to predict future game states from that.

This, for me, is the solid foundation upon which more interesting mechanics are built on. It’s constructed by the careful tuning of power curves and special ability balance and suchlike. You know that in System Crash, for example, a 5 Credit card is usually going to be more powerful than a 3 Credit card. You know that if it’s turn 2, neither player is likely to be have a 5 Cred card on the board. You balance unit strengths with weaknesses or counters, etc.

But this is where the ability to surprise comes in. The game needs to offer players some way to subvert and upset expectations. To turn the game state suddenly. It needs to have wild cards that can radically alter the game state in ways that you can’t readily predict, except to the extent that you can predict that your enemy is going to try something unpredictable. 😉

It’s the sudden turns that you remember the most, those moments where you flipped the game on its head and reversed your fortunes. Luck and skill play a large part, of course, but design needs to provide the player with the tools for enacting such turns, without letting them dominate the design to the point that all ability to strategize is lost..

Designing for that balance of gentle, predictable power curves and sudden turn wild cards is far from easy. In fact, it’s incredibly complicated. Add in the challenge of building an AI that can play these tricks itself and…well, it’s a lot to juggle. I don’t know if I’ve got it right. I certainly hope so!

I take comfort in knowing that System Crash is a living game, one which I plan to expand and deepen long after that first release. And I’m excited to see where it goes!

It’s The Little Things

24 Sep
September 24, 2014

As I mentioned in a previous post, most of my development time right now is devoted to playtesting. Game balance is a complex web of mechanics, interactions and visual communication choices, and tweaking even one tiny thing can lead to all sorts of unexpected changes rippling throughout the system.

That’s why theorycrafting can only take you so far. You have to actually build the thing, test it, iterate, try out ideas and see how they feel. Often you’ll be surprised at where this process takes you, design-wise.

An example from the design of System Crash is how players start with 1 Credit (the game’s resource) in their Pool at the beginning of the game, even before they play any Credit Chits. Quite frankly, I don’t like that. It’s a design hack, a fudge factor.

You see, the problem I had was that, originally, when the player started with an empty Pool, the first round or two of a game would feel a bit boring, the player wouldn’t have much to do. There aren’t that many cards in the game in the 0-1 Credit range, and you can play at most 1 Credit Chit a round.

So the first round tended to be boring, with very few interesting decisions to be made.

My first instinct was simply to make all the cards cheaper. Simply knock 1 Credit off the price of every card in the game, and that should keep the relative balance of everything the same while allowing you to make interesting decisions quicker, right?

No, not quite.

(For the purposes of this example, we’ll assume a good resource run, so the earliest you can play an X Credit card is on turn X.)

An 8 Credit Agent discounted to 7 Credits can now be played on turn 7, as we expect. But consider playing two 4 Credit Agents. If you drop the cost of each of those Agents to 3 Credits, the earliest you can play both of them is on turn 6. That’s a 2 turn reduction, whereas the Agent originally costing 8 Credits would only get a 1 turn reduction.

You see the problem? The 1 Credit discount compounds itself across cheap combos. If previously you could have played four 2 Credit cards on turn 8, now you can play the four 1 Credit cards on turn 4! A 4 turn reduction! The balance of the whole game completely changes, with the cheaper combos getting a huge power boost.

So I went back to the drawing board. What I wanted was to keep the balance of the game as I had it, but allow the player to have a better chance of being able to do something besides play a Credit Chit card in the first turn. So…what about just giving them 1 Credit to start? Just skip past the boring first turn?

I tried it, and it worked. The fudge bothers me, it feels like an inelegant solution, but it does work. So I left it in, and try not to get too twitchy over it. 😉

So coming back to my recent playtesting, I decided to try mess with another factor, just on a whim. Currently, each player needs to score 30 Objective Points to win the match. I bumped it up to 50, just to see what that was like.

And lo and behold, I think it actually makes the game much better! What it does is extend the end-game phase of a match. Going back, the 30 OP matches feel truncated, just as you start to get your bigger cards out, the game ends.

And while 20 OP extra to chase sounds like a lot, once you start getting the big cards onto the field of play, 20 OP is something that you can score in a single round, even.

It also, oddly enough, reduces the power of the early game cards. Because you have more breathing room, losing advantage in the early game isn’t quite as much of a disadvantage. A hacker getting off some Smoke Grenades for a few rounds doesn’t leave you feeling quite so helpless, because there are a few more turns afterwards to reverse your fortunes, now. More time for you to pull out some big stompy robots and teach that hacker pest a lesson. 😉

A subtle change, but one that is, I think, for the better. But the real lesson here is that it’s important to experiment with your design, try things, tweak, iterate. The results may surprise you.