Inscryption
Inscryption is a multi-award winning metafictional, roguelike deck-building game...
Inscryption involves found footage as the player watches the experiences of a vlogger that stumbled across a computer game called Inscryption, which holds a number of strange secrets. As the player interacts with a mysterious dealer in a dark cabin, they find further secrets that expose more of the history of the fictional Inscryption.
Buy Inscryption
Inscryption is available now on:
PC
Console
My Work On This Project
Lead Programmer
Inscryption was my introduction to leading a team of programmers in an efficient way whilst ensuring that code quality remained at its highest. I feel I did this effectively, ensuring that work was distributed evenly, fairly and most importantly, in a way which played to my team member's individual strengths to ensure that the project was completed in a timely fasion whilst also ensuring maximum quality of work.
Co-ordinating with the project manager and designer, features were carefully planned out with time estimations and during times where this was not possible due to prerequisites not having been fulfilled, I took a pragmatic approach to ensure that time estimations could be given to the client as accurately as possible.
Porting
I contributed to porting the game to all supported platforms. With my work on HueyCore providing the framework for the port on all platforms, the port was completed with relative ease.
Controls
Inscryption featured basic support for controllers however it was insufficient for use on the console platforms as it still relied heavily on the use of a mouse and keyboard for many gameplay features. As such, it was my responsibility to ensure that controller support was added. This was a complex task as the game's input handling was non-standard for a Unity project and as such, required a careful hand when implemening this extra functionality.
After consolidation between the developer, publisher and our in-house designer, I followed a brief detailing the design of the controller support in order to implement a programatically robust system which was versatile enough to be reused throughout the project, adapting to the individual specification of interactable items in the game.
The meticulously designed implementation I produced resulted in exactly that - a system which was robust and reusable throughout the project, allowing developers to simply drag-and-drop a script onto any scene object and assign a binding. The appropriate glyph would then appear and when pressing the corresponding button on the controller, the interaction would occur as expected. There were a few occasions whereupon modifications to the source code for this system would be required in order to be compatible with irregular use-cases however, because the system was designed carefully, this was incredibly trivial and quick.
Networking
One of the features integral to Inscryption's gameplay is a mechanic whereupon the users platform friends are gathered and a card is created in their name. The library the game was initially using was incompatible with the console SDK's and technical requirements. As such, I assisted in the creation of a platform-agnostic RestAPI plugin using the "UnityWebRequest" type which is fully compliant across all supported platforms.
Enhanced for Console
PS5
I contributed to internal tools which integrates the features of the DualSense controller directly into Inscryption. To learn more, please read the PlayStation Blog post by Inscryption's creator, Daniel Mullins.
Switch
I created a tool which takes the DualSense vibration data and converts it into the required format used by the "HD Rumble" feature of the Nintendo Switch controllers, making supporting the feature effortless.