Esoteric Update #213 - Teaching Sand To Draw


Well, here we are, another update and the first day of my week off!

To start, have some lore:

Lore: The One-eyed In The Realm Of The Blind

And now, for the update itself, I had a productive week overall. As it usually goes, I can't go much into writing, but I might have something playable to test soon. I'm reluctant to make any promises, but we'll see how it goes. I want to push this out into people's hands to test for a bit since it may present another big design step for the game.

Now, to avoid making this update too short, I can present some visual progress. Last week I mentioned that there might be some way of getting image data from the engine to the display without using any intermediates; that was entirely right. So I now have a whole module in the engine that can do image processing... which, granted, was a bit of an emergent thing.

I started with just doing a proper implementation for the icons, which are now generated on the fly (the mosaic-style ones, the rest is still taken from image files). But then I realised that it might be possibly used for generating a few other things, and... yeah, it totally works. But then I also realised I could run transformations on images, and I did implement a few things to test if that's possible, and that works too...


So while the module is not feature-complete, it can do a few rather interesting things already. I'm not going to push for feature completion right now. I'm happy just knowing that, conceptually, it works, and I have a nice basis for implementing more at some later time.

Now, let me excitedly explain some of the features!

Starting with some of the more technical details, I did find myself somewhat disappointed with C#'s default support for colour models. In particular, having only a rudimentary implementation of ARBG colour. I ended up extending that implementation and also adding in an AHSV (Alpha-Hue-Saturation-Value) colour model. The point was more or less making it able to grok colour with transparency properly and manipulate it in two different ways.

Anyway, apart from the mosaic icons, we can do some gradients, which appear to have fewer banding issues than the gradients generated through CSS.


It also turned out that we can use this interesting feature of C# to generate hatch patterns. I'm still not 100% sure what exactly can be done with it, as I've not looked through the enumeration that defines different hatch patterns, but it should be useful for generating websites on the in-game Internet.


While working on some issues related to transparency, I ended up making a tessellating Bokeh pattern generator. It doesn't look 100% how I'd like Bokeh to look, but it was helpful and might still be used for some UI elements.


Finally, I figured that the whole system might also take drawing instructions and apply them to existing images; this included a way to add images to other images. In this example, we draw a Bokeh pattern and then add a rectangle to it, over which we then paint a mosaic icon.


Since I should have some more time now, I'll focus on finishing off as many of the writing tasks I have right now as I can. And I will try to keep myself away from non-narrative coding.

Get Esoteric ♥ Esoterica

Comments

Log in with itch.io to leave a comment.

Oh that sounds cool! I honestly didn’t understand most of that, but it seems to be going pretty well :3👍🏽

(+1)

I am happy with how this is going, yes. And it is rather technical.