top of page

Snake Pit

Role: Game Designer, Developer

Solo Project

“Captivating and very addictive retro arcade experience” -Free Game Planet

A 1970s arcade-style action game. Dash across a deadly snake pit, collect treasure and get a high score! I made Snake Pit to see what it might be like to design a game under classic arcade game constraints.

Design Challenges

Feel like a 1970s Arcade Classic

Make an engaging game without elaborate sounds, effects or colour.

Gameplay Tutorial

Teach the player while they play.

Scaling Difficulty & Flow

Scale difficulty so that players can find their flow.


Feel like a 1970s Arcade Classic

Make an engaging game without elaborate sounds, effects or colour.

Before development, I studied popular black and white arcade games from the 1970s to see how they addressed this challenge. It was incredible to see how these games have stood the test of time!

From this research, I found design practices that played a part in the success of these games. By leveraging the design language of arcade classics, I was able to make Snake Pit feel like a game from the 1970s.

Reduce the Possibility Space

By using only a few simple controls and mechanics, many arcade games are easy to learn how to play in a short period of time. For this reason, Snake Pit builds on only two controls: Strafing and dashing.

Direct Players with Feedback

Arcade classics use clear, immediate feedback like points, sound effects and particles to define the consequences of players’ actions. To do this with Snake Pit, I used the same types of feedback and confirmed their clarity to players in post-test interviews.

Gameplay Tutorial

Teach the player while they play.

The mechanics and rules of Snake Pit are introduced in gameplay alone so that players can learn at their own pace. The following are some practices I used that I’ve found help deliver an effective gameplay tutorial.

Teach in a Controlled Environment

No extraneous game elements are present at the game’s start so the player can focus while they learn the dash mechanic.

Draw Focus and Prompt

To prompt the player to use the dash mechanic for the first time, I placed a gem at the center of the screen as a focal point. With their attention drawn, players tend to try controls that will let them reach the gem.

On a keyboard, the spacebar, ‘S’ key and down arrow key can all be used to dash. Players can use the control scheme that they find intuitive.

Success! The player dashes to the gem and feedback celebrates their action. From this point forward, testers dashed between walls as intended.

Demonstrate Behaviour

I found that new testers who watched gameplay before their first session were faster to find their flow. To capitalize on this, I added a video of gameplay in the background of the title screen. This way, anybody who picks up Snake Pit for the first time can learn from a quick demonstration before they play.

Scaling Difficulty & Flow

Scale difficulty so that players can find their flow.

While designing the difficulty curve, I aimed to replicate the sensation of flow outlined by Jesse Schell in
The Art of Game Design.

Flow channel graph from The Art of Game Design by Jesse Schell.

To put the player into a flow state, a game needs to remain continuously challenging. The following are some practices that helped me deliver a continuously challenging experience while keeping the player engaged.

Testing and Tuning

I aimed to make hazards predictable but challenging to avoid. To achieve this, I gathered feedback from dozens of play tests that I used to tune hazards’ behaviours, speeds, shapes and sizes. Tests included observation, player surveys and post-test interviews.

Adaptive Difficulty

To ensure each player could find their flow, I designed an adaptive difficulty system that scales based on the player’s score. Hazards are added each time the player reaches a new point threshold. Score increases at the rate that the player demonstrates their skills, so the adaptive system responds by ramping up difficulty at the same rate.

Tense, Release, Repeat

Finally, to add some extra interest to Snake Pit’s flow, I wanted to design a system that would have players alternate between states of tension and release. To do this, I added a health point reward for every 100 points that the player earns. Testers described feeling tense at low health and at ease when they recovered health.


Test early and often. Play testing Snake Pit with as many people as I could, as often as I could was critical to my process while finding solutions to each of the game’s design challenges.

Keep it in scope.  Designing under classic arcade game constraints, while challenging, helped reduce the scope of the project. Committing to a lean scope allowed me to focus on fine details and polish while finishing the game in a short time span.

Embrace constraints. While researching, I was able to find design techniques that played to the strengths of the project’s constraints. By embracing constraints, I explored a direction I might not have otherwise.

Tools Used


Pyxel Edit


Visual Studio / C#


Adobe Photoshop

Adobe Premiere

bottom of page