• Register
Post news RSS An Exit Becomes a Teleporter

In which the effect of level five's blob-light is worked upon; a new lore-entry is written; a musical instrument receives label and description; additional responses are added to a puzzle; the "thoughts" system sees a minor extension; a convenience exit becomes a convenience teleportation; the manner of saving the selected resolution is altered; a crash in the prologue is fixed; a scaling bug is fixed; and the feature behind that scaling bug is reconsidered.

Posted by on

Greetings and salutations!

This week's screenshot shows further work on the single working crystal light in level five:

Screenshot from 2020 07 25 13 47

The week just past started off slowly but picked up somewhat, as I recall, and a decent amount was done by the end I feel:

To start with, and as shown above, I continued to work on the "blob-light" found in level five. Parts of the level's geometry now make use of the vertex-shadowing introduced in level two, in order to cut off and control the light's influence. Note the shadow on the left of the image, and the lack of effect on the upper shelves.

A few pieces of writing were done in the week just past, too:

Perhaps the largest of these pieces was the writing of a new lore entry to accompany the musical instrument found in level two. It's a fairly short entry--but longer than I'd expected!

In essence, it's a brief description and history of the instrument, from a time when Tenereth-below was not below, up to the modern day in which the player finds it.

I'm not yet sure of whether work on this entry is done; I may end up editing or rewriting further. We'll see!

Furthermore, I added a label and description for the instrument as encountered in the level.

And to level five's lower puzzle I added some new responses. These are shown when the player interacts with shelves that either never hold a relevant entry, or whose entry hasn't yet been unlocked.

Doing so called for a minor extension to the code around player-character "thoughts": There are six potential responses in the set, from which one is selected at random when the player attempts a relevant interaction. But while the localisation system already had support for selecting from a list of strings, the "thought"-system didn't. Thankfully introducing such support was fairly quick and easy, as I recall!


You may recall that in last week's blog post I mentioned an alternate, early exit that had been placed within level two. Well, inspired by some feedback on this I made some changes in the week just past:

In short, this is no longer an exit. Instead, it's an optional shortcut to the location of the exit; click on it and you end up standing before the door that leads out.

And along with this, of course, the object has a new name and description, intended to convey not only that this is a jump to the exit, but also that it's optional.

Screenshot from 2020 07 27 15 04

On the technical side, a few issues were fixed in the week just past:

To start with, I changed the way that the selected resolution is saved: said resolution is now stored as a width and height, rather than an index in the resolution list.

This means that the game should--barring something preventing it--restore the most recent resolution even if something causes the list of available resolutions to change. Furthermore, it means that I can reliably set an arbitrary, non-listed resolution (such as for testing purposes) and have it be restored as expected on startup.

I also discovered and fixed a crash in the prologue: Some of the code around the new interaction tutorials operated under the assumption that they were present. As a result, that code failed when the player indicated that they didn't want tutorials, and those tutorials were thus cleaned up.

And finally, I fixed an issue with the text-boxes that I use in cutscenes:

It had previously been reported to me that for some players, those text-boxes were displayed with a huge scale applied--so much so that the text was cut off by the edge of the window.

For quite some time I had thought that the problem lay in OS-applied UI-scaling, and, being unsure of how to approach such a matter, had left the issue to one side.

In the week just past, however, new information was provided regarding the problem. This information in turn led me to discover that the problem did not in fact lie with UI-scaling. Instead, it lay with a scaling factor that I was applying in an attempt to keep my text-boxes the same size in all window-sizes. Simply put, I had that scaling factor inverted, making the text-boxes (proportionally) bigger in bigger windows and smaller in smaller ones.

Fixing the issue was a fairly simple matter, I'm glad to say, and the feature now seems to be working as intended!


That said... it did occur to me too that perhaps this feature isn't ideal.

In windowed mode it makes some sense: regardless of window-size, cutscene text remains at a constant, hopefully-legible scale.

In fullscreen mode, however, it means that at different resolutions cutscene text will presumably change size instead--which is not what I want at all! :/

I have yet to decide what to do about this, but I'm strongly considering removing the feature. (Or perhaps having it only take effect in windowed mode.)

That then is all for this week--stay well, and thank you for reading! ^_^

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.