Ghrystlyst

THE HORROR DECKBUILDER

Summary

Ghrystlyst is a single-player horror deckbuilder game. The player finds themself trapped in a creepy, restaurant-kitchen-like compound, where a man known only as ‘The Butcher’ commands them to assemble pelts made of various body parts and tissue in order to ensure they survive the night, for the Butcher grows hungrier day by day...

BACKGROUND

This game was developed over the course of a three-month internship meant to give me and my fellow university colleagues some hands-on experience in an indie studio. We were given a very simple description of what the game was supposed to be, as well as a few requirements for the game, but besides this we were allowed near total creative freedom. In fact, we were granted such amount of creative freedom, that the deckbuilding aspect of the game was only introduced, prototyped, and implemented towards the end of the three-month period. As such, the first week of the game’s development was quite hectic, until we all agreed on one common vision for Ghrystlyst.

Ghrystlyst’s overall gameplay and look didn’t appear in a complete vacuum. Although the game itself is quite unique, it would be disingenuous to claim that it was an idea free from influence. Our main sources of inspiration were Inscryption and Shotgun Roulette for the game’s visuals, and Dorfromantik for the tile-laying aspect of the gameplay.

My Contributions

Almost all of the game’s core mechanics, such as the playing grid, tile placement, NPC shops, among many more, as well as a large portion of the game’s overall framework (game rules and balancing, saving, etc.) were largely developed by me. Of course, I was assisted by other colleagues, as I had assisted them also, and some of the game’s more interesting features were a direct result of collaboration.

For example, up until halfway through the three-month internship, the hexagonal grid’s internal structure was simply that of a regular square grid with an offset. This was initially done for testing purposes in the beginning, but our team ended up continuing to use it, and therefore continuing to work around its shortcomings. Due to said improper structure of the grid, we had to resort to inefficient methods for finding a cell’s neighbours, such as spherecasting. This, for reasons unknown to us, only worked on the first day. When the player reaches the second day in-game, this method would completely break, and assign every single other cell in the grid as each other’s neighbours, which, needless to say, broke a lot of the game’s logic. I ended up revamping the grid out of sheer frustration, and what resulted was the game’s iconic hexagonal playing table.

This was not my only major contribution. Another point of frustration for the whole team was the amount of ‘code debt’ we’d put ourselves in because the entire game essentially ran from one script, which made it grossly inefficient and prone to bugs, very hard to read and understand, and was overall bad practice. For an entire week, I was working tirelessly to debug, untangle, and decouple not just that monolithic class, but almost every script used in the game. This ended up drastically improving performance overall, as well as making that specific class much easier to use and less cluttered. This was one of the single biggest overall changes made to the game’s code.

Contributors

Ivan (Core Gameplay Programmer)
Elie (Programmer & Level Designer)
Josh (Programmer & UI Designer)
Andreea (Artist and VFX Designer)
Justin (Programmer)
Sam Hall (Music)

Ghrystlyst’s Main Menu.

The playing table.

‘The Grinder’ - Another end-of-day event.

Day One.

‘The Seraphim’s Offering’ - One of many end-of-day events.

Get in touch with me for a full demo