🕉️ MOKSHA — DevLog v0.0.8
"जो भीतर है, वही बाहर दिखेगा।"
Release: v0.0.8 — Visual Clarity + Engine Refactor + Prarabdha Mechanic
Date: July 2026
Developer: @weirdcodesofficial
Play: weirdcodes.itch.io/moksha
Support: ko-fi.com/weirdcodes
🌱 क्या है MOKSHA?
MOKSHA एक browser-based HTML5 Canvas game है जो Sanatan Shastra और Karmic philosophy पर आधारित है। यह कोई simple platformer नहीं — यह एक आत्मिक यात्रा है जहाँ player की हर action का कर्म-फल होता है।
नाम जपो, माया से बचो, समर्पण करो — और मोक्ष पाओ।
🔧 v0.0.5–v0.0.8 में क्या हुआ?
यह release एक बड़े refactor और कई gameplay improvements का परिणाम है। v0.0.4 monolithic index.html था — अब यह एक पूरा modular ES6 architecture है।
⚙️ Engine Refactor — Mixin Pattern
सबसे बड़ा change था engine.js को तोड़ना। एक 1000+ line file को 4 focused modules में split किया:
engine.js → Slim orchestrator (core loop, state)
karma.js → KarmaMixin (Vedic logic, maya, actions)
physics.js → PhysicsMixin (glow-rings, particles, pools)
state.js → StateMixin (HUD, alerts, animations)
Composition pattern use किया — हर Mixin engine instance को this से access करता है। इससे circular dependencies से बचाव हुआ और zero breaking changes हुए।
Object.assign(KarmaEngine.prototype, PhysicsMixin, KarmaMixin, StateMixin);
यह decision शुरू में डरावना लगा — लेकिन जैसे वेदान्त में कहते हैं, "विभाजन में भी एकता" — सब modules मिलकर एक KarmaEngine बनाते हैं।
📜 प्रारब्ध Timer Mechanic
यह v0.0.8 का सबसे philosophically important feature है।
शास्त्र-आधार: "प्रारब्धं भुज्यते एव" — प्रारब्ध कर्म को भोगना ही पड़ता है, उससे बचा नहीं जा सकता।
Game में:
- पुनर्जन्म पर संचित कर्म → प्रारब्ध बनता है
- प्रारब्ध timer countdown करता है (10s per unit)
- Timer active होने पर
samayadecay ×1.15 तेज़ होती है - 10 नाम active हों तो भोग-गति 2× हो जाती है
-
MAX_PRARABDHA = 15cap — game unplayable नहीं होगा - प्रारब्ध unit घटने पर purple explosion +
बंधन-मुक्तsound
यह mechanic player को encourage करता है कि वो नाम-जाप जारी रखे — यंत्र-विद्या नहीं, भक्ति-मार्ग।
🔔 Canvas Alert Queue System
पुराना DOM-based alertBox element हटाया। अब Canvas पर slide-in alert cards हैं:
- Top-right position — gameplay से अलग
- 4 categories: achievement 🟢, guidance 🟠, warning 🔴, info 🔵
- Smooth animation: 80px right से slide-in, fade-in/fade-out
- Max 3 alerts stack — overflow पर oldest हटे
- Depth fade: नीचे वाले cards slightly dim
साथ में Contextual alerts भी add हुए:
-
samaya < 200→ "समय समाप्त होने वाला है" -
samaya < 100→ context-aware नाम-समर्पण guidance - पहली चेतना-जागृति → achievement card
- Samarpita milestones (10/25/50) → achievements
- Chakravaata nearby → शंख guidance
- Drishti blocked → ज्योति guidance
🎨 Visual Clarity Improvements
Gameplay में बहुत clutter था। इसे systematically fix किया:
Timer Pills — punyaTimer और prarabdhaTimer अब player के ऊपर pill background के साथ दिखते हैं। दोनों active हों तो side-by-side।
Floating Text Stagger — MIN_Y_GAP = 22px enforce किया। Multiple events एक साथ आएं तो texts overlap नहीं होंगे। X jitter भी ±10 → ±28px किया।
Chain/Orbit Separation — prarabdha heavy chain की globalAlpha = 0.72 और Y position +8px shift। orbit rings का extraGlow cap 28px maximum।
notifyText Banner — पुराना abrupt full-screen black overlay गया। अब centered pill (340×56px) है जो smoothly fade-in/out होती है।
👁️ चेतना-जागृति → कर्म-रक्षा
गीता 4.37: "ज्ञानाग्निः सर्वकर्माणि भस्मसात् कुरुते"
जब samarpita ≥ 50 पूरा होता है और चेतना जागती है — अब isKarmaImmune = true हो जाता है। माया का कर्म-प्रभाव शून्य। पुनर्जन्म में भी यह carry होती है।
यह शास्त्र-संगत है — जागृत आत्मा पर कर्म-बंधन नहीं लगता।
🐛 Bug Fixes
-
bandhanaMuktaaudio key typo fix (manifest mismatch) - Per-second alert flooding बंद — unit-change पर ही alert
- Naam jaapa duplicate alert fix
- DOM
alertBox→ canvastriggerAlert()(gamepad, tab-switch) -
ctx.roundRect()polyfill — older browser support - Reincarnation पर
isNaamaJaapa,_prevSamaya200reset
📊 Stats
| Metric | v0.0.4 | v0.0.8 |
|---|---|---|
| Architecture | Monolithic | ES6 Modules |
| Source files | 1 (index.html) | 7 src files |
| Alert system | DOM single string | Canvas queue (3 cards) |
| prarabdha | No timer | Bhog timer + penalty |
| Browser support | Chrome 99+ | Chrome 80+ (polyfill) |
🛣️ आगे क्या?
✅ v0.0.9 — Prarabdha refinements (done)
⬜ v0.1.0 — Pankhudi directional mechanics
v0.1.0 पहला major gameplay overhaul होगा — pankhudi की active direction से power shoot, maya pull, और indriya pull drive होंगे।
🙏 समर्पण
यह game एक solo project है — code, design, audio, philosophy — सब कुछ अकेले।
अगर यह journey अच्छी लगी तो:
ॐ नमः शिवाय 🕉️
Moksha
Top comments (0)