Search Unity

Creating depth in a small setting: Betrayal at Club Low

May 22, 2023 in Games | 11 min. read
Betrayal at Club Low artwork with logo | Hero image
Betrayal at Club Low artwork with logo | Hero image

Is this article helpful for you?

Thank you for your feedback!

Cosmo D’s journey from jazz musician to game designer is a testament to his creativity. He used his experience with music production software to transition into game development using visual scripting, creating eccentric experiences like Off-Peak (2015) and The Norwood Suite (2017).

In his latest game, Betrayal at Club Low – winner of this year’s Seumas McNally Grand Prize and Nuovo Award at the Independent Games Festival (IGF) Awards – Cosmo D incorporates board game mechanics and randomization to create an immersive, strategic experience that builds on his previous work.

Still from gameplay in Betrayal at Club Low: A view outside the eponymous Club Low
A view outside the eponymous Club Low

Arriving on the scene

Before he started making games and teaching game design at the NYU Game Center, Cosmo D (real name Greg Heffernan) made a living as a professional cellist in New York City, doing international tours and commercial composition work. His interest in games began emerging as his musical career began to stabilize, and a creative practice in music mutated into a creative practice in game design.

“All of this was about 10 years ago. The modern board game renaissance was dawning, [podcast] Shut Up & Sit Down was starting [its] video series, NYU Game Center was emerging as a force, and Kill Screen magazine was doing events in New York,” he says. “I wanted to respond to all of that, and that’s what set me on this new path.”

He began building up a body of work, releasing games like Saturn V (2014), Off-Peak, The Norwood Suite, and Tales from Off-Peak City Vol. 1 (2020), which are all set in the same dystopian analog of NYC and draw inspiration from its art and music scene.

Five minutes of gameplay from Betrayal at Club Low

Designing games in C#

In Betrayal at Club Low, the player is an agent disguised as a pizza delivery man trying to infiltrate the eponymous Club Low to rescue fellow agent Gemini Jay. The core gameplay involves progressively unlocking areas and dialogue trees through a dice roll mechanic as you try to bluff your way through the club and reach your end goal. Other mechanics like conditions (negative or positive, depending on your success or failures in dice rolls) or the pizza system (bonuses you can select) either help or hinder the player throughout.

It’s an intricate and engaging system that Cosmo D conducted with ScriptableObjects for the player’s actions and related conditions, which are then connected together using UnityEvents and static actions.

There is a wide variety of quests and characters that the player needs to interact with in Betrayal at Club Low. With the systems for the core gameplay mechanics in place, Cosmo D needed a way to tie it all together and orchestrate the related quests and character states in the dialogue. For that, he used visual scripting.

“I used [Visual Scripting] for the states of the quests – like if the guard likes you, or you wrestle the guard and he’s wounded, those were different states. The endings were a really complicated matrix of states, and that was all [Visual Scripting],” he says. “I liked using it because it’s built in for Unity now. So I was like, I’m going to use the thing that Unity provides that they’re supporting, and it worked for my purposes. It worked well.”

Editor view showing states for Club Low’s security guard
Editor view showing states for Club Low’s security guard

Establishing a viewpoint

Betrayal at Club Low is a commentary on surveillance culture. All of the game’s camera angles are meant to evoke the watchful eye of CCTV cameras. Editor tools like Cinemachine and Timeline were essential for bringing this vision to life.

“The way that I placed the cameras, you would imagine that’s where a security camera would be placed, and you’re just tweening between them,” Cosmo D explains. “Everything is Cinemachine. Out of the box, it didn’t do what I wanted totally – I really had to dial it in, but it ultimately got there.”

Timeline helped Cosmo D create cutscenes. “Specific events where people would walk from place to place, most of the game’s endings, camera fadeouts, anything that involved a sequence or a cutscene – that was all Timeline.”

Timeline was also helpful for sound direction. “I actually mapped out Club Low’s DJ set in Timeline. I created two separate audio tracks, and randomly placed the music along them,” he notes. “There'd be a track of six songs and another track of six songs, which would fade into each other and were randomly chosen every playthrough. So, in a way, I was creating a random playlist every time using Timeline.”

Making the world feel bigger

Betrayal at Club Low’s setting is physically small but rich in detail. The main setting where the bulk of the gameplay takes place – Club Low – is primarily just one scene. Cosmo D likens it to a gameboard: small enough to fit on a table, but representative of a much larger environment.

“I was coming in with an advantage of already having set this game in a bigger world – this was a continuation of the setting I’d been building up in my previous games,” he says. “I thought of my game basically like a board game map in 3D space – a tight, little space that’s dense and packed with things.”

The first quest in the game is for the player to sneak into Club Low, which can be accomplished in a wide variety of ways. Cosmo D describes the setting as a “swiss cheese”-style environment that forces the player to think creatively about finding a path forward.

“I drew inspiration from games like Hitman, which do this at incredible scale and scope,” he explains. “I wanted to create something similar, where there’s many ways in, many ways out, and a lot of density to slow the player down: traps, obstacles, stairways, characters to interact with, and so on.”

Club Low as seen in the Editor
Club Low as seen in the Editor

Randomizing for replayability

With every game, Cosmo D tries something new. Betrayal at Club Low references his interest in tabletop gaming by adding randomization and dice-rolling mechanics to the exploratory gameplay.

Player progression

When the player performs certain actions – sweet-talking a bouncer or taking over as a DJ – they’re prompted to roll dice to determine the degree of failure or success. This adds an element of strategy, since players must decide when to roll and when to hold back. Dice can also be upgraded as a form of player progression. Each die represents a different skill (cooking, deception, music, observation, physique, wisdom, and wit) and can be upgraded to improve the player’s chances at rolling high during interactions specific to that skill.

Level design

Board game-style randomization also factors into Betrayal at Club Low’s level design to create a more engaging player experience. Discoverable power-ups, found in green bins littered throughout the world, are shuffled on each playthrough, forcing players to think strategically about how they’ll use the items to progress.

“Seeing things recombined, remixed, reshuffled every playthrough – that’s all drawing from board game design. That’s what I was reaching for. It helped justify the multiple endings, and kept the experience fresh,” explains Cosmo D. “My game’s a roguelike in the sense that you know the turf, but you constantly have to think about it in new ways. This deepens the player’s relationship to the space, too."

Betrayal at Club Low’s dice menu
Betrayal at Club Low’s dice menu

Finding new audiences

Introducing randomization didn’t just help Cosmo D sharpen his skills as a game developer by trying something new – it allowed him to invite new players into his world. “For folks who’ve known what I’ve been doing since Off-Peak, it’s been in the mix for a while, but Club Low’s gameplay shift felt like a turning point,” he says. “People who had supported me up to that point were up for the ride, and people who were fans of RPGs or following the IGF Awards saw it pop up on their radar for the first time.”

Winning the Grand Prize has generated a lot of interest in Cosmo D’s portfolio, and he’s excited for more people to discover his work. “I didn’t just creep onto the scene like a mist,” he says. “I’ve been working on this steady cumulation of games for a while now, growing my audience and focusing on consistency – consistency in what I was doing, finding my voice, my tone, and the types of gameplay I wanted to explore.”

By incorporating board game influences and randomization into Betrayal at Club Low, Cosmo D has crafted an immersive, replayable, and offbeat experience that truly stands out.

Betrayal at Club Low is available now. Continue to follow Cosmo D’s journey on Twitter or Discord, and check out more blogs from Unity developers here. Submit our Made with Unity form if you’d like to work with us to spotlight your game to the Unity community.

May 22, 2023 in Games | 11 min. read

Is this article helpful for you?

Thank you for your feedback!

Join a discussion on our Forums
Related Posts