Devlog: From Vanilla JS Prototype to PixiJS – Breathing New Life into Decay
Hey everyone, Pan Krok here. It's been a quiet stretch since I dropped the initial prototype of A Treatise on Decay on itch.io back in last days. If you haven't checked it out yet, it's this raw, unsettling HTML5 experiment where you wake up as a Relic in a breathing void – a forgotten thing doomed to unravel. No heroes, no power-ups, just the slow grind of endurance against a world that literally wants to unmake you. Every step adds Burden, every interaction scars your soul, and "progress" means carving pieces of yourself away to keep going. It's minimalist horror at its core, all about that creeping inevitability of the end.
The prototype was built in vanilla JavaScript – quick and dirty, perfect for jamming out the core loop and getting that oppressive atmosphere across in a browser tab. It worked for what it was: a proof-of-concept that let folks poke at the mechanics, feel the weight of sacrifice (like gouging out an eye to glimpse hidden auras), and stare into the Echo of Suffering. But as I started sketching out the full vision – deeper layers of Effacement rituals, more dynamic world wounds that pulse and shift, artifacts that tempt with fleeting boons at soul-shattering costs – it became clear the JS setup was creaking under the strain. Rendering those subtle, breathing animations? Handling particle effects for decay trails without tanking framerates? Scaling up the procedural void generation? Nah, it was time for an upgrade.
The Big Shift: Entering the PixiJS Realm
So, this week marks the start of the engine migration. I'm porting the whole thing over to PixiJS, that battle-tested 2D rendering powerhouse. Why Pixi? Simple: it's lightweight, WebGL-accelerated out of the box, and screams "yes" for the kind of ethereal, particle-heavy visuals I have in mind. The prototype's canvas fiddling felt like wrestling a ghost; Pixi lets me focus on decay instead of debugging draw calls.
Here's a quick rundown of what I've tackled so far:
- Core Rendering Pipeline: Swapped out the raw Canvas2D context for Pixi’s Sprite and Container systems. The void's "breathing" background – that subtle, undulating haze – now uses Pixi’s Filters and DisplacementMaps. It pulses way smoother, with less aliasing on those low-res, gritty textures that evoke ancient stone crumbling into ether.
- Relic Mechanics Overhaul: Movement and Burden are now tied into Pixi’s Ticker for frame-independent updates. Standing still to repay the debt? It triggers a gentle tween on the sprite's scale, making your Relic feel heavier, more... weighed down. Interacting with world wounds now spawns dynamic ParticleContainers for the soul-stain effects – think wispy, ink-like tendrils that linger and corrupt your HUD in real-time.
- Sacrifice System Prototype: Early tests on the self-mutilation rituals. Gouging an eye? That's a quick mask applied to the viewport, revealing aura overlays via Pixi’s Graphics layers. Shattering your will? A global shader tweak to ignore Burden slowdowns, but it adds screen-wide vignette and distortion to amp up the desperation. It's visceral already, and we're just scratching the surface.
Challenges? Oh yeah. Pixi’s got a learning curve if you're coming from zero-engine land – asset loading hit a snag when I tried batching my placeholder sprites, and integrating the procedural generation meant rewriting some noise functions to play nice with Pixi’s coordinate system.
Looking Ahead: The Road to Full Unmaking
This migration is step one in beefing up A Treatise on Decay for a proper release. Next up: Fleshing out the artifact system with interactive hotspots that demand those high-cost choices (stop time? Sure, but watch your form erode twice as fast). Then, audio integration – eerie, subsonic drones that swell with your Burden, maybe using Howler.js on top of Pixi. And of course, expanding the finale: that dual-seal confrontation with nothingness, where sacrificing at the Altar isn't just a cutscene – it's a branching ritual tree of echoes and self-confrontation.
No ETA yet; life's a void, and all that. But if you're into games that make you feel the entropy, keep an eye on the itch page. Play the prototype if you haven't – it's free, it's HTML5, and it'll give you that itch to see where this Relic's decay leads.
Feedback? Hit me up in the comments. What's one sacrifice you'd make to endure a little longer?
Until the unmaking, Pan Krok

Leave a comment
Log in with itch.io to leave a comment.