Boss Rush
Boss Rush
Boss Rush is the first bullet-hell game I developed independently. I used JavaScript and Microsoft MakeCode Arcade to build its mechanics, pixel art, animation effects, and supporting systems. The first version took about a week to complete, and I continued adding bosses, attack combinations, interface features, and performance improvements afterward.
Successive boss battles form the core of the game. Each boss has a signature attack, while other attacks combine randomized main patterns and sub-patterns. The shield can block bullets or be thrown to damage enemies. Custom Boss mode lets players combine bosses and adjust their encounter settings.
You can play v1.0.17 below and explore the combat design, animations, original pixel art, and rendering optimizations.

Play Boss Rush - v1.0.17
Keyboard controls: Z = controller A; X = controller B. Boss Rush was designed around console-style buttons, while the browser simulator maps those buttons to keyboard keys.
Boss Combat Design
Randomized Patterns and Signature Attacks
I developed a pool of main patterns and smaller sub-patterns that are randomly assigned when a boss spawns. Each boss has its own signature attack, allowing repeat encounters to vary while retaining a distinct combat identity.

LASER's regular attack sends shifting laser-projectile patterns across the arena. Players must read their trajectories and find openings while moving.

Boss Ultimates and Enraged Phases
Bosses enter the enraged phase below 30% HP, upgrading their attacks. DANMAKU specializes in dense rotating projectiles, while WALL changes the speed and reverses the direction of its ultimate attack during the enraged phase. Version 1.0.17 reduced DANMAKU's ultimate density and rotation speed while strengthening WALL's and RUSH's enraged attacks.
The summoning ultimate introduces additional enemies, turning a single-boss fight into a multi-target encounter where players must manage movement, projectiles, and summoned threats at once.

RUSH's ultimate attack re-targets the player and changes its charge direction each time it exits the screen.

LASER's enraged ultimate creates a dense attack built from large laser orbs. The renderer automatically fills the visible gaps between adjacent orbs, removing rough seams at their edges and making the overall effect appear continuous rather than segmented.
HYBRID DUCK can buff other bosses. Its protective orb combines with RUSH's and WALL's attacks to create more complex multi-boss patterns.
Shield: Defense and Offense
The shield can block projectiles and be thrown to damage enemies, inspired by Danmaku Death.
Pixel Art from Game Source
I created a consistent pixel-art language for the player, bosses, and projectiles. These sprites are extracted from the game source.
![]()
Development and Systems
Procedural Visual Effects
Most special effects are generated procedurally, using mathematical calculations for shapes, movement, and animation. I hand-drew key player orientations and derived others with mirroring and rotation to avoid jagged pixel-art frames and trails caused by real-time rotation.
Bullet rendering performance
I wrote a custom bullet renderer to avoid the per-projectile overhead of MakeCode's native Sprite pipeline. In a performance comparison, it drew 4,282 bullets at 45 FPS; the native Sprite approach drew 1,531 bullets at 17 FPS. Despite rendering more bullets, the custom approach achieved about 2.6 times the frame rate.

I draw visible bullets onto a shared screen-sized surface, avoiding a separate Sprite rendering cost for each projectile. I also concentrate precise collision checks around the player and shield. In another stress test, the game managed over 15,000 projectiles in total, most of them off-screen, while running at approximately 25 FPS.

Course connection: I discovered MakeCode Arcade through my introduction to game development course and created the initial version of Boss Rush independently before the group project began. The game also appears on the course page.
