🌊 Inspiration

We wanted to create a game that feels instantly satisfying but still rewards skill. Inspired by classic arcade shooters and elemental combat, we imagined a world where fire and water constantly clash. The idea was simple: instead of shooting everything, players must identify fire sources and strike them precisely to break and control the surrounding water. This creates a moment-to-moment decision loop that feels intense, readable, and addictive—perfect for short, replayable sessions on Snapchat.

🎮 What it does

Ocean Clash is a 2D, camera-off, touch-based arcade shooter. Players aim and shoot at fire targets that appear within dynamic water formations. Destroying fire causes the water to shatter, clear, or react in chain effects.

Touch to aim and shoot

Hold to activate bullet-time for precision shots

Score is based on survival time and accuracy

Difficulty ramps up with faster targets and denser water patterns

All UI, effects, and gameplay feedback are rendered in real time for a smooth, responsive experience.

🛠️ How we built it

The game is built entirely in Snapchat Lens Studio using JavaScript and optimized for the 2D Games category:

Canvas API for all rendering: player core, fire targets, water shards, HUD, score, overlays, and game states

Sprite Manager for efficient pooling and reuse of fire and water shard sprites

Touch Events for shooting, bullet-time activation, and retry flow

Modular gameplay scripts:

GameManager.js – game state, scoring, difficulty scaling

ShardSpawner.js – fire target and water structure generation

ShardMovement.js – motion logic and speed scaling

TimeController.js – bullet-time and visual time-shift effects

Collision.js – fire hit detection and water break logic

The lens runs camera-off at a stable 60 FPS and follows Snap’s publishing and performance guidelines.

⚔️ Challenges we ran into

Designing a shooting system that feels precise using only touch input

Managing many on-screen elements without frame drops

Making water destruction feel impactful without overwhelming the screen

Balancing bullet-time so it feels powerful but not exploitable

Each challenge required careful tuning of time scaling, sprite pooling, and visual clarity.

🏆 Accomplishments that we’re proud of

A fully camera-off game that feels native to Snapchat

Smooth 60 FPS performance using only Canvas rendering

Clear visual language: players instantly understand what to shoot

Highly replayable gameplay with a strong “one more try” loop

Clean, modular code structure ready for expansion

📚 What we learned

Small, focused mechanics can outperform complex systems

Canvas API offers incredible flexibility when optimized correctly

Touch-based shooters require strong visual cues and feedback

Performance and clarity matter more than raw visual complexity

Building Ocean Clash reinforced the importance of polish, iteration, and player readability.

🚀 What’s next for Ocean Clash

New elemental interactions (ice, steam, electric water)

Combo systems and score multipliers

Daily challenges and skill-based leaderboards

Visual themes and difficulty modes

Expanded chain-reaction mechanics for advanced players

Ocean Clash is designed as a foundation for a scalable arcade experience, and this is only the beginning.

Share this project:

Updates