• Register
Post news RSS A Perplexing Puzzle

In which crystal-light appearances are worked on; a railing is made; "cutscene mode" is more-explicitly conveyed; level five's upper puzzle is implemented; audio is made for a part of that puzzle; and demo-specific screens are worked on.

Posted by on

Greetings and salutations!

This week's screenshot shows changes to the shading of the crystal lights in level five:

Screenshot from 2020 08 08 13 04 1

The week just past was a little slow, but nevertheless a number of things were done:

On the visual side, and as shown above, work continued on the crystal lights found in level five.

For one, the working light is no longer washed a near-uniform blue, flattening it and obscuring its glow. To achieve this, I rearranged things a bit such that the illuminating blob-light--the source of that blue--would no longer take effect on the crystal. Then, so that the crystal wouldn't be too dark, I added another, dimmer blob-light to more-faintly brighten the crystal, and that alone.

Furthermore, the effect of blob-lights in the crystal shaders has been tweaked, now employing vector-reflection to give a slightly more accurate highlight.

Screenshot from 2020 08 08 13 04

Screenshot from 2020 08 08 13 05

Sticking with changes to level five, I did a little bit of work on its visible geometry, too: there is now a proper railing in place of the previous stand-in.

Screenshot from 2020 08 08 13 09

On the UI and gameplay side, I added a new state to the in-game central cursor.

There are occasions in A Door to the Mists in which the game briefly enters an in-engine cutscene, generally to cover a longish action taken by the player. For example, this happens when clearing the debris-blockage in level two, with a fade to black, audio of things being moved, and a fade back in. (Don't worry, such occasions are intended to be rare!)

But it occurred to me in the week just past that this wasn't conveyed very well.

In particular, there's an "in-engine cutscene" that plays out in level five when, on the player's prompting, the player-character makes an initial skim through the lower-level books. This involves the view fading out and in a few times, on each occasion showing a different set of bookshelves, until at a certain point a lead is found and control is restored to the player.

But since the various fade-ins look much the same as ordinary gameplay, there was no clearly-indicated divide between "no, you can't move yet" and "yes, you can move now".

So in the week just past I set about to--hopefully!--better convey this state.

In short, when the game now enters "cutscene mode", the central cursor--usually a fuzzy dot--is replaced by a small scroll containing an ellipsis; once control is restored, the standard cursor is likewise restored.

cutsceneMode


The week just past also saw work on the upper-level puzzle found in level five--a bit of puzzle-design that has proven quite tricky!

You may recall that on the lower level, the player is tasked with following various references from book to book, uncovering information as they go.

On the upper level things are different: here the books and papers are historical records, ordered by date; there isn't the same referential connectivity to trace. Instead, the player is tasked with finding a specific point in history, containing information that will send them on to the next stage of the journey.

But how to implement this as a puzzle?

I went through several variations: simply giving the player the data--multiple entries per shelf--and letting them get on with it; creating an explicit binary-search puzzle; having them choose from keywords to search for, and automating the rest; jumping the player from binary-search point to binary-search point; and perhaps others that I'm forgetting besides.

All had problems: being too easy; encouraging tedious brute-forcing; relying on knowledge of binary searching; potentially disorienting the player; and so on.

In the end, I went with something simple: Each shelf is divided into four date-spans, giving a total of sixty-eight sections to potentially look at. Examining a section reports what of relevance--if anything--is found there. The player is thus tasked with determining whether a given result indicates that its point in history lies before or after the desired one (if it isn't that point itself, of course).

However, when a section is examined, I also then re-label all of the shelf-sections, showing not only their date-range but whether they fall before and after that point. This, I hope, will nudge players away from brute-forcing and towards some degree of binary search.

You can see this labelling below, albeit with the actual labels being as-yet unwritten (what you're seeing instead are the underlying text-ids):

earlyMidLate

As with the lower-level puzzle, this upper-level puzzle begins with the protagonist skimming over various documents in the above-mentioned "cutscene mode". In the week just past, then, I also added a sound to accompany this, composed of footsteps and page-turnings.

Moving away from level five, in the week just past I put in some work on two screens specific to the demo.

The first is simply the end-of-demo screen; while it existed previously, with the new demo being longer than the old it has now been moved to occur after level five.

The second is a short demo-note that stands in place of level three: with that level not yet built, this note serves to inform the player of the plot-advancement that takes place there, and to allow them to continue on. This is visually a bit sparse yet, but the functionality is there and at least a first draft of the text has been written.

And finally, a few other changes were made that don't seem worth detailing here!

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.

Related Games
Related Engines
Panda3d
Panda3d BSD