Categories
Gaming

The Trinity Code – campaign structure

In my urban horror ttrpg The Trinity Code, the concept of the campaign came first.

The game is set in the modern ‘real’ world, albeit with the same tone of heightened magical realism and covert conspiracies that the likes of John Wick and The X-Files have.

And whilst the genre may be horror, it doesn’t feature vampires, werewolves and aliens … instead the threat comes from The Nameless, a series of demonic foes inspired by real-world religion and mythology.

The main conceit of the game/campaign is that players are recent recruits into Trinity Division, a secret organisation that has discovered signs and portents that hint at ‘The Truth‘ — that the world as we know it will end in a horrific apocalypse in precisely a year’s time.

And so the campaign structure was born. One year. 12 months. Four seasons…

The campaign book will consist of around 32 missions, grouped into ‘seasons’ of eight apiece. Some missions will be available to the agents at the outset of a season; others will reveal themselves as ’emerging threats’ as the season progresses.

Some missions will focus on thwarting the plans of The Nameless. Some missions will involve uncovering The Truth. Other missions will involve going up against rival factions and organisations that may (or may not…) have a vested interest in seeing Trinity Division fail.

Many missions, many choices … and limited time. Not enough time to tackle all the missions of a season before the next one begins.

The meta-concept of the campaign arc is that players must decide which missions to tackle, based on their successes and failures, random world events, and their management of Trinity Division colleagues and departments in ‘off screen’ missions.

A complex task. A juggling act. A constantly ticking clock.

And, as a game/scenario developer, a bit of a challenge to pull off.

But hey, I’m about a quarter of the way through it and I like a challenge…

Tick tock …

Leave a Reply

Your email address will not be published. Required fields are marked *