Cryptic spren done, Lightweaving is done (ish)


Update since a couple weeks ago: I have now, officially, finished up the Cryptic! Or at least the aesthetic for them.

Alt ZZ Celia

Meet the non-binary Cryptic I’m calling Z.Z Celia, non-binary because while designing them I had a fairly hard time ascribing a concrete sense of human identity to this jumble of math.

What do the Zs mean?
Each one also means Z.Z Celia, making the name a recursive acronym.

Alt Mandelbrot equation

And the name is based off the Mandelbrot fractal, which was used in their shader equation.
The Z’s together represent the first part of the equation, and Celia is just a name that shares the same letter as the constant C in the equation.

So, the mathematically gifted of you might have noticed: Hey, the spren in the screenshot above isn’t the Mandelbrot set fractal, it’s a Julia set Fractal!
Kudos if you spotted that off my blurry screenshot somehow. Z.Z Celia is rendered using the Julia set fractal, not the Mandelbrot because the Julia set fractal can be animated in a way that doesn’t increase computation cost as it runs, unlike a Mandelbrot zoom that gets more complex with higher zooms (Also, Julia sets tend to look more tendril-ly)

And I say rendered because the spren in-game is not a gif, it’s a custom fractal shader that generates the Julia set procedurally.

Is it efficient?
Hell no, the performance is magnitudes worse than displaying a gif.

Is it better looking?
Probably not, using animation frames would let us use higher definition images for cheaper.

But is it accurate to the books to do it like this?
Yup and that’s the one single benefit. This animation might be single-handedly tanking the performance of the game by itself, but Z.Z Celia is an entity of pure math, just like a real Cryptic.

What else, what else…

Alt Illumination Dummy

Illumination prototype is coming along well. Currently, the Lightweaving dummy (left) is rendered live based on what pose the player is in when the player creates the dummy, just like a real Lightweaving.

The real player (right) then becomes invisible, currently represented by the slight transparency.

The dummy has its own hurtbox and health bar, but since I have not figured out how I’ll do the enemies yet, I can’t use the dummy to ‘draw aggro’ like I intend it to. Similarly, the invisibility isn’t helping our Surgebinder hide from anything, since there’s nothing to hide from.

Anyway, for some TODOs:
  • When the enemies are implemented, make them target the dummy and not the player. Maybe, even turn the player to a different layer.
  • Add stormlight wisp particle effects when creating the Lightweaving (pending the general necessity to add real art to all my stuff).
  • Do some more writing for ZZ.

Until next time, keep creating.