Esoteric Update #249 - ๐“ข๐“ฌ๐“ป๐“ฒ๐“ซ๐“ซ๐“ต๐“ฎ~


Update time. And this time nothing went wrong, I actually managed to get everything I wanted to do done and everything worked (out in the end).

So, this update is composed of two parts. Firstly, in terms of presentation, we tackled an issue we've been thinking about several times before. And that's handwriting. After all, with our diegetic documents, it's only natural that we would have handwritten ones in there as well. But this comes with two issues.

Firstly, it's the fonts. Most handwritten fonts tend to look... not very good when you examine them, and it comes down to letter clusters, especially clusters of two identical ones. The solution for this is the usage of ligatures, but most handwriting fonts lack them. Fortunately, we have managed to track down some fonts (four) that possess a ligature feature set sufficient to solve these issues and which we could use within the game's budget. (Which at this moment is nothing, because we're already stressed, working with no money is unfortunately often an issue with such things. Hopefully, at some later time, I will be able to set aside some money to donate to the creators of these fonts.)

So great, we have the font data, but that didn't really suffice. We needed to implement this functionality into the game, and you have to understand that our HTML renderers do not support the ligature font feature. This meant we needed to revise the font coding, embed the fonts, write custom ligature transducers and then implement this functionality into the sub-renderer, which is a tool used to construct some documents. Also, we included things like squiggles and ink splatter somewhere along the way.

However, I think you can't really argue with our results.


But there's a second reason why handwriting fonts can be problematic, and that's accessibility/legibility. To get around this, we decided to subtitle handwriting fonts. Now, if you were maybe one of the few people who pay attention to our Discord, you might note that we actually made two attempts at this; the first had an interface that looked very different. Unfortunately, that first attempt (using just tooltips) didn't work with some of our document generation subsystems, which render text into images to process the document further. Our second solution instead plays on the PoI system and works just fine. Here's how it looks now (the line around the text appears only when you hover over it to more clearly demonstrate what is being subtitled).


So, lots of work, good results. While working on this, we've also identified and corrected some minor issues with the layout and how some of the documents are rendered.

Secondly, there's the room representation. I did mention last time that we still had something to do with generic sub-containers inheriting descriptions from the containers they are put inside (such as, for example, the drawers in a chest of drawers having a description based on how the whole chest is described) and while initially we were going for a more straightforward approach that works on the items directly, it turned out to be a much better idea to fold the concept into the same system which lets us customise item descriptions and names (we mentioned this last time).



(Keep in mind, the drawer is an entirely generic item; it holds no specific information about itself apart from being "a drawer".)

Additionally, there were some other features we implemented or tested for room representation. One huge headache we solved is integrating features such as dropoff (moving items from your inventory into containers). Unlike our previous implementation, this is a complete, generic solution, and it has more components/moving parts than you'd expect. The point is that it works and even respects the interface convention we had set up before.

The rest of what was done comes down to very technical things, not worth talking about, but nonetheless crucial for me as the person who has to wrangle all of this together. So, let's instead ask one final question.

What next?

Doors. Yeah, we have about 95% of everything needed for functional doors, but I have to pull it together and fill in the remaining 5%. After that? IDK. Might just be designing the playtest example location, which I've been referring to as an "escape room".

Get Esoteric โ™ฅ Esoterica

Comments

Log in with itch.io to leave a comment.

This all sounds like pretty good progress, but what would the doors be for? Is it just to lock and unlock the doors to rooms?

(+1)

Lock and unlock, control pathfinding and visibility, and some minor things like listening by the door or trying to look through the keyhole.