Inspiration

We were inspired by rhythm games like guitar hero and wanted to create a music themed game in the "idle tower defense" genre - which has become one of the most popular mobile genres in recent months. We were also inspired by roguelite elements especially in regards to the upgrade economy.

What it does

Players survive waves of enemies using a combination of right-on-time attacks timed to the beat of an ever-evolving music track, using their space bar, and passive abilities that they have built up through a) in-game upgrades (valid for the round being played and b) skill tree upgrades (permanent).

How we built it

Vanilla HTML5 Canvas and the Web Audio API. There was no external engine, no framework, no libraries, and no asset files. Every sound is synthesized at runtime and every graphic is drawn on a 2D canvas, so the whole game is about 350 KB of text that runs straight from index.html with zero network requests. We authored it as ~22 source files and used a short Node script to concatenate them into that single readable file for submission.

Challenges we ran into

The hard part was adjusting the rhythm timing itself. Judging a keypress against music means keeping two clocks apart — what the scheduler is queuing and what the player is actually hearing — and correcting for ~32 ms of audio output latency, which is inaudible as a delay but very obvious as a rhythm error. Balance was the other one: raising enemy HP to make the first boss threatening moved the failure point earlier, to wave 3, because HP, spawn rate and time-to-kill are one system rather than three knobs.

Accomplishments that we're proud of

We're proud of the deep progression introduced by the skill tree, and the ease of playing created by the design that onboards players fast and gets them having fun immediately, while also triggering dopamine at the right points to keep them playing for a long time and wanting more. The game feels hypnotic to play and gets you tapping your foot along with the beat.

What we learned

That a reward paid in the wrong currency can quietly cancel a whole system; the Overcharge used to heal 15%, which made a player with good timing effectively unkillable and made the entire defensive half of the skill tree pointless. And that feedback only means something if it is scarce: knockback lived in four different abilities, so a shape being pushed told the player nothing. Cutting it back to one source (the space bar) turned it into a signal that says "you hit that on the beat."

What's next for Soundwave Arena

Many of the systems we've built already are transferrable more or less directly into the future, complete build of the game. For example the skill tree will remain, but will need to be deepened for longer (D60+) retention. We also want to deepen the "single button" mechanic with variations of it such as press and hold and double tapping. However systems such as competitive multiplayer will need to be introduced from scratch, and ways to play both synchronously and asynchronously will be developed. We are also interested in optimizing platform compatibility. Finally, we wish to spend more time on the art of the game and use it to develop lore that unravels over time. At the moment the theme of the game is clear but fairly abstract; by introducing context through artwork, such as concert halls that the player is increasingly progressing in over time, we can develop more tangible themes.

Built With

Share this project:

Updates

Submission history