easter-egg-quest
v1.0.29
Published
A hidden Easter-themed narrative mini-game overlay for any website
Downloads
3,512
Maintainers
Readme
🥚 Easter Egg Quest
Something is hiding on your website. Your visitors don't know it yet.
One line of code — and your page holds a secret. A poetic journey disguised as ordinary text. Three riddles. Three eggs. One question: will they notice?
No buttons. No banners. No hints. Just a quiet invitation woven into the fabric of your page.
Those who find it will never look at your website the same way again.
Installation
One line (CDN)
<script src="https://unpkg.com/easter-egg-quest/dist/easter-egg-quest.umd.js"></script>Nothing else needed. The script activates itself after your page loads.
npm / yarn
npm install easter-egg-questimport { EasterEggQuest } from 'easter-egg-quest';
EasterEggQuest.init();What happens next?
That's for your visitors to discover.
We'll only say this: the experience has three chapters, each asking something different. Something about stillness. Something about motion. Something about the space between.
The whole thing takes a few minutes. At the end, each person gets a unique result — a portrait of how they moved through the unknown.
Configuration
Everything works out of the box. But if you want control:
EasterEggQuest.init({
callbacks: {
onComplete: (score) => {
// The visitor finished the quest
},
},
stageDurations: {
stillnessMs: 20000,
motionMs: 20000,
rhythmCycles: 6,
},
renderer: 'auto', // 'auto' | '3d' | '2d'
accessibility: {
reducedMotion: 'auto',
disableHiddenEntry: false,
},
hiddenEntry: {
selector: undefined,
excludeSelectors: [],
},
narrative: {
// Your own words for any chapter
},
});API
EasterEggQuest.init(config?) // Awaken the quest
EasterEggQuest.pause() // Freeze time
EasterEggQuest.resume() // Let it breathe again
EasterEggQuest.destroy() // Erase all tracesSafe by design
- Your layout stays untouched — everything floats above
- Styles are sealed in Shadow DOM — no collisions
- Dangerous buttons (Buy, Delete, Submit) are never used as entry points
destroy()leaves your page exactly as it was
Compatibility
Chrome · Edge · Firefox · Safari · Mobile
Falls back gracefully without WebGL.
License
MIT
