DEV Community

Cover image for Solstice Survivor
craftygreenguru
craftygreenguru

Posted on

Solstice Survivor

June Solstice Game Jam Submission

This is a submission for the June Solstice Game Jam

What I Built

Code

How I Built It

<! Architecture

Built on React 18 + Vite, with the game engine running on HTML5 Canvas layered inside React's component tree. React handles the UI overlays (HUD, menus, wave notifications) while Canvas handles all real-time game rendering — enemy movement, projectile physics, particle effects, and collision detection.

The Survival Mechanic

The 10-minute timer is the solstice arc. Each minute = roughly one hour of the actual solstice day (6am to 4pm). The background sky gradient updates in real time. At the 5-minute mark (solar noon), enemies hit peak difficulty — this is the solstice's turning point, and it's also when the game is hardest.

The Freedom Chain System

Freedom chains are the game's Juneteenth mechanic. Chained spirit allies are placed throughout the map — they glow gold and pulse. When you reach one and break the chain (right-click or E), the spirit is liberated and begins fighting alongside you. This scales — later in the game, a ring of freed spirits creates a formidable defensive formation.

Pride Power System

Six Pride orbs cycle through the visible light spectrum (ROYGBV):

🔴 Red: damage boost
🟠 Orange: fire rate
🟡 Yellow: area of effect
🟢 Green: health regen
🔵 Blue: movement speed
🟣 Violet: spirit ally buff
Each orb lasts 15 seconds. Stacking orbs creates combination effects.

Enemy Design

Shadow creatures spawn in escalating wave patterns. Early waves are slow pinwheels. Later waves introduce faster shadow darts and heavy shadow titans. The visual design uses inverted light — enemies are dark voids with faint inverse halos, making the contrast with your light-based character immediate and readable.

Prize Category

Top comments (0)