KiTS is a tactical deckbuilder follow-up to 2021’s Fights in Tight Spaces, which adds all-new party, quest, interaction and inventory systems. Joining the team in July 2024 as a Designer, I was directly responsible for most of the production pipeline for narrative content alongside a number of other duties.
The story side of this is a lot of fun, and you get some cool moments where you get to navigate conversations that can not only lead to different rewards, but also potentially side quests to undertake as well.
The Sixth Axis – 9/10
It means that you get to feel like an actual character, and not just someone playing a deck-building game. It’s a nice touch of character that goes a long way, and makes the losses hit a little bit harder too.

Responsibilities
- Iterative design of core narrative systems
- Producing and maintaining technical specifications for designs
- Writing, editing, and implementing narrative and quest content
- Debugging quest content in proprietary scripting tools
- Objective and reward design
- Coordinating and implementing localisation in I2
Writing Sample – The Turncoat Knight (Encounter)
=== turncoat_knight ===VAR helpknight = false{ - archetype() == "Fighter" or archetype() == "Swordsman": #player_1 Another one? I'll run you through with my sword! - archetype() == "Hunter" or archetype() == "Rogue": #player_1 Another one? I needed some target practice! - archetype() == "Sorcerer" or archetype() == "Warlock" or archetype() == "Cleric": #player_1 Another one? I was looking for an opportunity to test my new powers! - else: #player_1 Another one? I needed a work out!} #npc_1 Wait. I'm not with them. #player_1 Then who are you with? #npc_1 All I know is that one day everything was normal and the next day we're at war. Don't you find that odd? Don't you want to know why? You hear voices approaching. #npc_1 You have to help me, play along, I'll make it worth your while. * Agree #player_1 Fine. Just don't get in my way. ~helpknight = true ~AcceptQuest() ->DONE * Refuse #player_1 Trusting a panicky armoured goon doesn't seem like a good idea. #npc_1 Then you leave me no choice but to kill you. ~AcceptQuest() ->DONE === turncoat_knight_outro ==={helpknight == true:You stride over the armoured bodies and nudge the fallen turncoat. #player_1 You can get up, they're all gone. Between gasps of air, he props himself up and fixes you with a glare. #npc_1 You certainly made that convincing. #player_1 You're alive aren't you? Now, are you going to tell me what's going on? #npc_1 Ah, of course! The truth! That's what they wanted from me. They know that I know what they think only they know, but they don't know that I know that they know that I know. #player_1 ... and what do you know? #npc_1 Weren't you listening?! You are not prepared to know. You must be prepared in case they come for you. I must leave, thank you for your assisstance! ~AddCard("emergency_move") Confused, you watch as the turncoat slips away into a side street. ->DONE-else: You stride over the armoured bodies and search the fallen turncoat. Among his belongings you find illegible scrawlings ranting about the end of the world, and a pouch with some coins in. ~AddMoney(20)->DONE}