Released at Inércia 2025, our new demo “HeXenium” took 3rd place in the Combined Demo Competition - and serves as the official invitation for Xenium 2026.
This time we moved away from particle-driven visuals and focused instead on reflections, lighting interplay, and a clean, TV-studio aesthetic.
HeXenium is all about timing, atmosphere, and a polished broadcast feel - yet still rendered entirely in real time.
As always, everything runs live in Python using Panda3D, with custom GLSL shaders, a multi-pass rendering pipeline, and tight sync with Dan’s soundtrack.
No baked animation, no pre-rendered footage - just code on the GPU.
I’m curious, if I may: For text and models, do you employ external assets (i.e. fonts and model-files), or is all of that stuff procedurally-generated, .kkrieger-style?
Most of these are previously prepared assets as for demos in general there are no space limitations. Farbrausch (the creators of .kkrieger) are known for size-coding that’s why their stuff largely procedurally generated.
For some reason, I thought that demos generally were size-limited! But perhaps that was just the demos of yesteryear… (Or perhaps I was just mistaken.)
There are different categories. In general there are demos and intros. Demos are size-unlimited. Intros are size-limited with subcategories spanning from 8 bytes (sic!) up to 256 kilobytes, but the most popular categories are currently 256 bytes, 4 kilobytes, 8 kilobytes and 64 kilobytes.
As Panda3D core libraries can occupy several megabytes themselves, I’m targeting only the size-unlimited demo category.