🌊 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.
Log in or sign up for Devpost to join the conversation.