Press Ctrl - Design Diary


Press Ctrl - Design Diary was originally featured on my game design blog.

Press Ctrl - Design Diary

In this post I will share my experience participating in GMTKJam 2020 and making Press Ctrl, a mind-bending puzzler where your avatar controls another avatar via an in-game keyboard.

The keynote for the event happened on Friday, 10 PM Israel time. The theme for this year's event was Out of Control, which made me immediately regret starting an out of control game just three days earlier. I went to sleep and woke up Saturday morning, ready for two consecutive days of work.

The idea came to me after a frustrating 2-hour brainstorm session. I came up with a few ideas that didn't feel like they had legs, the main one being a platformer/puzzler game where you control a character via keyboard input, but lose the keys the moment you stop holding them down. After blueprinting some levels in my notebook with this idea in mind, I quickly realized that it was not going to go too far. Then I drew a stick figure standing on an arrow key, moving another stick figure.

And thus the game came to be

My gamejam timeline went something like this:

Day 1: Create the core mechanic > Add layers one by one > Testing > Realize that layer 4 is probably the right place to stop > Create Art and animations > Find free Sound Effects online > Add a win condition and complete the gameplay loop.

Day 2: Level design brainstorm > Add Esc button mechanism > Create promotional art > Start creating new levels > Realize that my code is spaghetti > Almost have a meltdown > Debug like hell > Finish the three levels > upload the game 4 hours and 23 minutes before the deadline.

Decisions, decisions

There were quite a few decisions that I made during the jam that I thought might be interesting to discuss.

Design

Limiting the game to three levels. While playtesting the game I kept reminding myself that people are going to have much harder time with it than I do, and they are going to experience it once, so it can't be too long. I scrapped a level where the keys would spawn in random positions, which I believe was the right call. At the beginning of the jam I was even thinking to make it into a bullet hell. Understanding that the core mechanic is good enough on its own was an important realization.

Limiting each level to 4 layers. This was a very important decision for me, as I had enough pixels to go one more layer in. After some playtesting I discovered that the 4th layer was the most I was willing to let players deal with, as it was difficult even for me.

Insisting on coherence. Artistically, it was extremely important for me to have the simulation within the game be as coherent as possible. I wanted to keep the internal logic consistent, so if a character presses the escape button, its screen will close - just as the game will close if you press the escape key on your keyboard. There were a few moments during the development that I debated on how certain behaviors should work and I think it contributes a lot to the aesthetics and purity of the game.

Simple Communication. I wanted the game to communicate its ideas with minimum intervention. The large beating "Ctrl" animation that appears at the beginning of each level, as well as the game title are a part of that. The game also serves as a tutorial to itself. The deeper you go in any given level, the less pixels I have to convey the different buttons. Making all 4 levels have the exact same layouts helps players orientate despite the limited information.

Production

Finishing the game early. This decision wasn't actually mine. I had to finish earlier because I was teaching during the evening (I teach artists Unity in my local gamedev community MakeGamesJLM). This meant that I had a much stricter deadline, which helped me to stay focused during the day. I stopped working a little before 6 PM.

Taking breaks. I took short breaks and left my computer to walk around the house, think about the next step, and let off some steam. This was the first jam that I participated in on my own and I had to keep myself focused to be able to complete all of my tasks.

Messy code. It's hard developing not knowing exactly what your game is going to be. I made a few tactical mistakes that costed me in some frustration and time, mainly not keeping my code and assets organized and failing to refactor when I had to. I struggled to determine exactly how much emphasis to put on redesigning my code, as time was very limited. Adding the Esc button mechanism was especially nerve wracking. The longer I kept pushing, the more cumbersome my process became. Thankfully I managed to release the game bug-free (haven't had any complains with more than 5k downloads), so this may have been the right call after all.

Conclusions

All in all, this was a deeply empowering, educational experience. I'm happy that so many people got to try the game, even if some of them haven't finished it. I got some amazing feedback from players about how to improve the game even further.

You can download the game for free on itch.io. This is the GMTKJam submission.

Appeared in this article

For further playing:

Files

Press Ctrl Jam Version - windows.zip 18 MB
Jul 12, 2020

Get Press Ctrl

Buy Now$1.99 USD or more

Comments

Log in with itch.io to leave a comment.

Thanks for that devlog! It's always nice to know a little more about why a game ended up looking that way instead  of another.