Protect the Ancient Grove. Survive all 10 levels. Save the bloodline.
Vibe Sentinel is a turn-based dungeon roguelike built for the Cursor Vibe Jam 2026. You are the last guardian of an ancient forest — fight through 10 escalating levels of shadow beasts, collect crystals, blast enemies with your Sentinel Pulse, and reach the exit star before the darkness consumes everything.
Built with Pixi.js (WebGL renderer) + vanilla JS. No frameworks, no loading screens, no login. Just play.
[▶ Play Vibe Sentinel]- https://flash-source.github.io/vibeSentinel/
No download. No account. Instant play in browser.
| Key | Action |
|---|---|
W A S D / Arrow Keys |
Move one tile. Bump into an enemy to attack. |
Q |
Sentinel Pulse — blasts all enemies within 3 tiles for 6 damage. Costs 2 💎 |
Space / Enter |
Wait — skip your turn (enemies still move) |
| Touch DPAD | Full mobile support |
- Bump combat — walk into an enemy to attack. No separate attack button.
- Turn-based — enemies move every other turn. Use that gap to reposition.
- 💎 Crystals power your Pulse ability. Pick them up, spend them wisely.
- 🧪 Potions restore 6 HP. They're rare — don't waste them.
- ⭐ Exit Star — reach it to advance to the next level.
- The entire border is a wall. There is no safe edge lane.
Every level has a unique visual theme, color-graded via Pixi.js ColorMatrixFilter, ambient weather particles, and a new enemy type introduced with a full briefing card.
| Level | Biome | New Enemy |
|---|---|---|
| 1 | 🌲 Ancient Grove | 🐺 Shadow Wolf |
| 2 | 🌫️ Twilight Thicket | 🦂 Shadow Scorpion (ranged) |
| 3 | 🔥 Volcanic Maze | 🪲 Armored Beetle |
| 4 | 🌌 Void Sanctum | 🔥 Mini Boss |
| 5 | ❄️ Crystal Caves | 🪨 Crystal Golem |
| 6 | ⬛ Shadow Realm | 🐺 Shadow Wolf (every turn) |
| 7 | 🌪️ Storm Peaks | 🦅 Storm Hawk (flies through walls) |
| 8 | 🔴 Blood Moon | 🦇 Blood Bat (heals on hit) |
| 9 | 👁️ The Abyss | 👁️ Abyssal Horror |
| 10 | 💛 Final Chamber | 👾 Final Boss (50 HP) |
Earn badges during your run — Reddit-style notifications slide in when unlocked.
| Badge | How to earn |
|---|---|
| 🌿 Grove Guardian | Complete Level 3 |
| ⭐ Halfway There | Complete Level 5 |
| ⚔️ Shadow Slayer | Complete Level 7 |
| 🏆 Vibe Sentinel | Complete all 10 levels |
| 💀 Exterminator | 30 kills in one run |
| 💎 Crystal Lord | 60 crystals in one run |
| 👻 Ghost Run | Complete a level with no damage taken |
| ⚡ Pulse Master | Use Pulse 10 times |
| 🛡️ Iron Sentinel | Reach Level 5 at full HP |
Beat all 10 levels? The Grove never rests. Endless Mode loops you back to Level 1 with enemies gaining +35% HP and +1 ATK per loop. Your high score is saved locally.
Vibe Sentinel is part of the Vibe Jam 2026 webring. When you finish (or die), portal out to the next game — your username, color, and health carry over for seamless continuity between games.
Arriving from another game via portal? You'll spawn instantly with your stats intact.
- Pixi.js v7 — WebGL 2D renderer
ColorMatrixFilter— GPU-side color grading per level (hue, saturation, brightness)BlurFilter— GPU damage flash on every hitParticleContainerpattern for ambient weather effects- Layered
Containerarchitecture (bg / tiles / emoji / pickups / entities / fx)
- Web Audio API — All sounds synthesized in-browser, zero asset dependencies
- HTML5 Canvas — Overlay particle system for UI screens
- localStorage — High score persistence
- No build step — Single
index.htmlfile, deployable anywhere
Drop your own audio files in the same folder for custom sounds:
faah.mp3 ← death sound
win.wav ← victory music
move.mp3 ← movement sound (optional)
level.wav ← level clear (optional)
If files are missing, the game falls back to Web Audio API synthesis automatically.
# Clone and deploy — it's just a static HTML file
git clone https://github.com/yourusername/vibe-sentinel
cd vibe-sentinel
No npm. No bundler. No config. One file.
vibe-sentinel/
index.html ← entire game (HTML + CSS + JS)
faah.mp3 ← death sound (optional)
win.wav ← victory music (optional)
move.mp3 ← move sound (optional)
level.wav ← level clear sound (optional)
README.md ← you are here
90%+ of the code was AI-assisted (vibe coded with Claude). Built from scratch during the jam period. No pre-existing codebase.
Jam rules satisfied:
- ✅ Required widget snippet included
- ✅ Portal system fully integrated
- ✅ No login, no loading screen, instant play
- ✅ Mobile-ready
- ✅ Pixi.js engine
Built with vibes. Deployed with love. The Grove will not fall.