Photon Swarm
Started as a test of how many entities a browser canvas could handle at 60fps. It kept growing: four zones with territory control, boss archetypes, meta-progression, and touch controls on mobile.

Info
About this project
I started this to learn Entity-Component-System architecture, with one concrete goal: 1000+ entities at 60fps in the browser. It grew into a complete arena roguelike. Four faction-contested zones, boss archetypes with phase transitions, an upgrade shop, blessings and curses, and ascension-based meta-progression. Playable end to end on desktop and mobile.
- Custom ECS engine built from scratch: all game objects are entity IDs whose behavior is composed from typed components at runtime
- Meta-progression with legendary upgrades, blessings, and curses that carry across runs via an ascension save system
- Faction standing system that tracks your relationship with each of the four AI factions across a run
- Boss content: per-archetype ability loadouts, unique animated sprites, and telegraphed arena shockwaves
- Varied enemy mechanics: split-on-death spawns, minion summoning, heal-aura Sentinels, and teleport blinks
- Mobile touch controls: dual virtual joysticks for move and aim, plus dash, parry, and burst buttons
- Accessibility pass: screen-reader announcements via aria-live and a colorblind palette option
- Winnable: clear the Zone 4 Deep Core boss and the run ends in victory, with end-screen stats and ascension unlock


