In Ctrl+S, you take control of PlayerCharacter, a self-aware video game protagonist stuck in incomplete video game. Whenever the developer saves their progress, you enter the game's code base. But there's a catch. Every time you enter the code base, you can only go so far before the game respawns you in an unfinished 3D lobby. The key to advancing further: making PlayerCharacter more complex. Increase the affection of your fellow NPCs, gather items that give you new ways to interact with the game's files, and uncover who or what is keeping the game from ever completing production.
While brainstorming ideas for this game, I got very excited by the challenge of marrying text-based interactive fiction with a roguelike's game loop.
The trick was finding a setting whose fiction would justify building something partway between a 3D game and a piece of interactive fiction. After vetting over 30 ideas against my skillset, I finally settled on making a game about an unfinished video game.
One of the "source code" sections
A 3D-realized section
I got all of my 3D assets from Unity's asset store, which meant that I had to adapt my story to pre-existing NPC models. This proved to be an exciting exercise in balancing my creative process with the demands of writing all the code for the game.
In order to write character dialogues efficiently, I made a "narrative asset list" that each character should have. This included:
A motivation that would intersect with the player's goals.
A three-part arc where each NPC would grow or change.
A fun quirk, somewhat at odds with the NPC's visual design, to pique the player's curiosity.
I found a model for a brutish-looking behemoth made of stone (see above). To play into some of the tropes his look entails, I wrote him as taciturn and aloof. However, once players raise Brall's relationship score high enough, the giant reveals that he has lost his cat inside of the game's code and asks the player to go find it.
My playtesters always reacted strongly to Brall. His indifference goaded players to interact with him more, either to spite Brall further or seek his approval. Then, when they got Brall's quest to find his cat, players were completely disarmed and very motivated to do more for this surly softy.
While playtesting, I realized players often didn't know what actions to take, because they were missing key pieces of information. I was able to add a working quest log and item tool tips, which were greatly appreciated by later playtesters.
However, as the sole developer on this project, I was constantly balancing building the game with needing to improve it. The two features described above were the two I prioritized to make sure the game was complete in time. This was an illuminating lessons for future projects: scoping for a game needs to include adding usability features as an essential element of production.
Collected item tooltip
Quest log displaying unlocked and hidden goals