Inspiration

Beat Power began with a question: what if a tower defence strategy did more than react to music—what if the player’s defence actually created it?

That idea developed into a neon, 1980s-inspired strategy game in which every Module attacks according to a shared rhythm clock. As the player builds a stronger defence, Hi-Hat, Snare, Bass, and Synth Modules add their own patterns to the soundtrack. Tactical progress and musical progress become the same thing.

What it does

Beat Power is a portrait-format, single-player rhythm tower defence game built for short, readable strategy sessions.

Enemies travel along a fixed neon path towards the music core. The player spends Energy on four types of defence Module, each with its own cost, range, firing pattern, sound, and tactical role:

  • Hi-Hat: fast, dependable direct fire
  • Snare: laser attacks with splash damage
  • Bass: slower area pulses for dense groups
  • Synth: control shots that slow enemies

Every Module fires only when its pattern aligns with the global eight-step beat. Players can upgrade Modules, recycle them for a partial refund, or use Nudge to shift a selected Module’s firing pattern one beat later.

Waves begin automatically after a beat-synchronised count-in and escalate endlessly. Enemy numbers, durability, speed, spawn tempo, and archetype mix continue to increase until the core reaches zero health. Each run tracks score, enemies absorbed, current wave, and the player’s locally saved best wave.

How we built it

Beat Power was developed as an offline-first browser game using readable HTML, CSS, and JavaScript.

The 3D playfield, path, Modules, enemies, lighting, particles, attack effects, and camera-facing health bars are rendered with a locally stored version of Three.js. Sound is generated at runtime with the Web Audio API, allowing Module attacks, interface feedback, and the beat clock to remain synchronised without external audio or network calls.

The project was developed iteratively with Codex. Each session focused on a specific part of the experience, including the original playable loop, conversion to 3D, combat readability, rhythm timing, onboarding, balancing, mobile interface refinement, offline packaging, and competition compliance.

The final package places index.html at its root, keeps the project’s own code readable and unminified, and stores the third-party Three.js library and licence inside the local vendor folder.

Challenges we ran into

One of the first challenges was balance. The earliest version was technically playable, but its starting resources and tower values left the player without a meaningful decision after the first wave. Adjusting starting Energy, core health, rewards, and the Hi-Hat’s opening strength created room for different early strategies.

Moving from a flat Canvas presentation to Three.js introduced another challenge. The first module-based version worked through a local server but failed when opened directly from disk because the browser blocked local module imports. Switching to a pinned, locally stored global build of Three.js allowed the game to run offline by opening index.html directly.

The compact portrait interface also required repeated refinement. Selection details, placement choices, upgrades, Nudge, recycling, and wave information all needed to remain legible without covering the playfield. Consolidating these controls into two contextual rows preserved both tactical information and visibility.

Finally, rhythm feedback had to be useful rather than merely decorative. Module animations, attack effects, firing markers, sound, and the wave count-in were aligned with the same global clock so players can both hear and see the consequences of changing a Module’s phase.

Accomplishments that we're proud of

The strongest result is that Beat Power’s theme and strategy are driven by the same system. Building a better defence also produces a fuller musical arrangement.

Other accomplishments include:

  • A complete endless survival loop with replay and best-wave tracking
  • Four visually, musically, and tactically distinct Modules
  • A meaningful rhythm-phase mechanic through Nudge
  • Readable 3D combat effects, health feedback, range previews, and status indicators
  • Escalation based on enemy composition, speed, durability, count, and spawn tempo
  • Contextual onboarding that teaches the game without adding a permanent tutorial panel
  • A portrait interface that remains compact during active play
  • A fully offline submission with no CDN links or network requests

What we learned

The most important lesson was that a strong theme works best when it changes player decisions. Rhythm is not simply presentation in Beat Power: attack timing affects coverage, missed opportunities, and how different Modules work together.

We also learned that visual complexity only helps when it communicates gameplay. Range rings, attack shapes, health bars, firing markers, and slow effects contributed more to the experience than additional decorative geometry would have.

Finally, short strategy games need an immediately readable opening economy. Players should be able to create a small musical arrangement at the beginning while still having meaningful choices after the first wave.

What's next for Beat Power

A full version would expand Beat Power with multiple neon stages, new paths, additional instruments, enemy formations, elite encounters, rhythm modifiers, difficulty modes, unlockable musical styles, and deeper score challenges.

The goal would remain the same: preserve short, self-contained strategic runs in which every tactical decision changes both the defence and the track.

Share this project:

Updates