Inspiration

The inspiration for Keystorm came from a desire to merge two seemingly disparate game genres: the rhythmic, reflex-based gameplay of titles like Guitar Hero and the intense, obstacle-dodging challenge of endless runners like Flappy Bird. We wanted to create an experience that was more than just a simple reaction test. The idea was to make the player "dance" with their fingers, creating a unique connection between the player's input and the character's ability to navigate the world. We were also inspired by the physical game Twister, where players must hold specific positions, and we translated that into holding down specific keys to "contort" the player character through complex barriers.

What it does

Keystorm is a fast-paced, 2D side-scrolling game where the player controls a shape-shifting entity trying to survive an onslaught of ever-more-complex obstacles. Unlike traditional endless runners where you simply jump or duck, in Keystorm, each obstacle has a corresponding set of keys that must be held down simultaneously for the player to pass through it. For example, to pass through a green, circular gate, the player might need to hold down 'A' and 'S'. A blue, square gate might require holding 'J', 'K', and 'L'. Releasing the keys too early results in a collision and ends the run. The game gets progressively faster, and the key combinations become more intricate, demanding focus, dexterity, and a bit of "finger gymnastics."

How we built it

Keystorm was built using a combination of modern web technologies, making it accessible directly through a browser with no installation required, in our case NextJS and Phaser.JS deployed to Netflify

Challenges we ran into

One of the biggest challenges was game balancing. Initially, the difficulty ramped up too quickly, making the game frustrating for new players. We spent a significant amount of time tweaking the algorithm that generates the obstacles and their corresponding key patterns to create a smoother difficulty curve. Another hurdle was ensuring that the controls were perfectly responsive. Any input lag would be fatal to the gameplay experience, so we had to optimize our game loop and event listeners to ensure near-instantaneous feedback from the player's key presses. We also had to design the key combinations carefully to avoid physically awkward or impossible hand positions.

Accomplishments that we're proud of

We are incredibly proud of the core game mechanic itself. The idea of holding key combinations to navigate obstacles feels fresh and engaging, and watching players get into a "flow state" as they master the controls is extremely rewarding.

What we learned

How to efficiently craft prompts, for such projects.

What's next for KeyStorm

Leaderboard, tweaking the game logic.

Built With

  • nextjs
  • phaserjs
Share this project:

Updates