The making of Decrypt


It's been a week since we released our latest title, Decrypt, a science-fiction horror adventure set in 2432 on an abandoned space vessel, the ISS Travan.

We spent the better part of five months working on Decrypt, and this article shares our experience, our tools, and our workflow. 


Story

Our games are primarily story-driven. Therefore, we always start a project with story development. 

We draft stories in standard screenplay format, as this is conducive to identifying the key beats and scenes that the player might experience. (We use "Fade In" https://www.fadeinpro.com/ which allows us to work on the script across platforms, but there are many other screenplay writing tools, too.)

While we developed the story, we kept in mind that narrative elements could change drastically during production. 



The Game Loop

Once we had a rough draft of the story, we explored game-play prototypes. These were simple white box levels to test core "game-loop" ideas and which gave us an opportunity to iterate over mechanics, either discarding them if they felt clumsy or refining them if they showed promise. 


With Decrypt, we knew from the start that we wanted to use written messages to tell the story, both because text-based fiction could help us provide a window into the minds of the ill-fated crew of the Travan, and also because it would suit our limited budget. That said, we wanted to use this mechanic without it feeling tacked on. We wanted to hitch it to a core progress mechanic. We formulated a twin crypto-mining and message extraction mechanic along with a flight/pursuit element. 

World Design

Once we had a few ideas in place for the core game mechanics, we began fleshing out the world. 

We first sketched out the ISS Travan's interiors using an RPG map-making tool. There are a lot of apps for map-making, some of them even free. We used Dungeon Draft, by Megasploot. (https://dungeondraft.net/) It has a library of tilesets for different genres, including sci-fi. Although it was originally designed for making pen & paper RPG maps, we found it ideal for quickly drafting out level ideas in broad strokes. 

Here's an early draft of the ship's rear section.


Although we avoided too many details at this stage, it was important for us to get a general sense of the scale of the ship and its primary areas. Mapping out the ship in this way -- creating rooms, marking potential encounters and objects of interest and lore -- also helped us develop the game's narrative pace and key events. As we roughed out the maps, we also went back and redrafted and tweaked the story to line up with any newly discovered elements.     


Level Design

The ISS Travan is a small Class-C freight ship holding ten to fifteen crew members. In the game's lore, it is an old vessel with a bleak history, so right off the bat, we wanted it to have a 'well-worn, lived-in' appearance, with scuffs and grit, while at the same time not resorting to retro-sci fi thematics. We also wanted to have a rudimentary internal layout befitting a vessel from an older era of ship design. 

Once we had the rough 2D maps in place, we began building and acquiring 3D assets. As an indie studio on a budget, we've found the Unity Asset Store to be invaluable. Getting ready-made assets saves hours of production time. However, it's also important to avoid the 'asset-flip' trap -- the use of disparate assets cobbled together -- which breaks immersion. To ensure uniformity and conformity with the world's lore, we used a combination of modeled-from-scratch assets along with purchased assets that were used as-is or customized. We used Blender (https://www.blender.org/)for modeling, and we adopted a "kit-bashing" approach, ie using modular level elements and texture packs from assets in different ways. 



Once we had an inventory of modular assets (models, textures, prefabs), we began assembling the levels. We continued to iterate over level design, focusing on lighting, mood, and strategic encounter placements, throughout the game's development cycle. Level design is a continuous process, with changes and tweaks often continuing until the final stages of production.



Music and Sound

Music and sound are crucial to great horror game experiences. Everything in a game's soundscape, from the sounds of doors opening to subtle scrapes and creaks, increases tension and contributes to effective story-telling. 

For sound effects and engineering, we used Foley libraries as well as custom-engineered sounds. For music, we opted for a minimalist soundtrack composed using libraries from Native instruments'  Kontakt. We wanted the music to be conspicuous enough to maintain a sense of dread and growing horror, while not intruding on the player's conscious experience.  (In fact, the music only kicks in at a later part of the player's journey.)

Here's a shot of the main theme being composed in Reaper (https://www.reaper.fm/), using, among other plugins,  Native Instrument's incredible Thrill library.



Putting it all together

We used Unity for developing Decrypt, along with Adventure Creator, a powerful add-on for Unity, to implement the core mechanics. (https://adventurecreator.org/ )While we wrote custom code to develop elements unique to the game such as the crypto-mining and enemy chase AI, Adventure Creator provided a lot of out-of-the-box gameplay mechanics for story-telling such as Player management, world interactions, cinematics, inventory, variable handling, save-load systems, and more. This saved development time.


Playtesting & Optimization

We started playtesting early, at first conducting the tests on family members, then later, at key points, enlisting play-testers. We provided builds and asked them to record play sessions. This allowed us to tune everything, from map readability to player locomotion, to the effectiveness of the jump scares.  

To ensure maximum immersion, we wanted the ISS Travan to be a single level so that there were no loading screens once the player boarded the ship. To achieve this, the game is constructed so that as the player moves through sections of the ship, the rest of the ship is "turned off" to preserve performance and memory. This was tricky to achieve and caused a lot of issues, but in the end, we felt it was worth it -- we've had players report to us that the game runs remarkably well even on integrated graphics cards.


The Finish Line

As we approached the end, we went into crunch mode, a seemingly unavoidable part of delivering a bug-free game, even for one as tiny as Decrypt. As we clocked in the hours, juggling day jobs and family obligations, the burn-down list of bugs and changes gradually shrank until we hit the release candidate.

But as with any creative project, the work is never truly finished. There is always a conflict and compromise between pending issues, time, specifics we'd have loved to polish further, budget, and the release date. In the end, we picked the battles we thought we could win and let go of the ones we could not. 

We hope that the lessons we've learned from developing Decrypt will help us do better in our next project. 

Thanks for reading and we hope you enjoy the game!

- T.A Thakadipuram

Get Decrypt

Buy Now$1.99 USD or more

Comments

Log in with itch.io to leave a comment.

(+1)

Excellent read.
I've never seen such a detailed development log in the history of indie games and let me say, this gave me motivation for my future projects. 
5 months is not a short period. I would say, the game feels super polished and giving it the best rating is not only fare, but I think it deserves more. From the first look, I did know that the game had unique mechanics of driving the story with the character and not make it about just randomness. I appreciate that. 
As for the test players, just a humble gesture from me to let you know, that I am free of use, anytime, even with the smaller projects, I can play, record and give honest and objective feedback, plus, 3 years of game development and 8 years of animation I think would be impressive for you as my unofficial status. 
I am truly looking forward to seeing more from your development group and good luck. 

(+1)

Thank you for your kind words and for the generous offer of your time for play-testing. We'd be delighted to have you, please follow us on Twitter (https://twitter.com/crux_games) for future beta announcements.