Post news Report RSS The Hiding of Text

In which the game's text is hidden; some lore is added; the target-points of conversation-tails are made more reliable; the demo may be a few weeks away; and the side-game's tile-editor continues progressing.

Posted by on

Greetings and salutations!

This week's screenshot shows a conversation-tail now pointing more-closely towards the character's mouth--and some slightly-broken text... ^^;

Screenshot from 2019 07 15 20 15

The week just past was a bit of a slow one, I fear. Still, some things did get done:

As you may be aware, A Door to the Mists contains a fair bit of text.

With the thought of perhaps seeing localisation at some stage, that text isn't wrapped up into the game's executable when the latter is built. Instead, it remains unchanged in its folder, copied to sit alongside that executable. Thus a localisation can simply be dropped in beside the English-text, and should be automatically detected.

However, this means that a user, casually browsing through the game's directory, might encounter the full text of the game laid out in plain sight. This is especially a concern with regards to lore-entries, which are intended to be uncovered during play.

I would thus prefer that the game's text were hidden. But I also take the view that if users really want to get to the text, then they likely will do so eventually. And indeed, if they want such spoilers, I'm not hugely opposed to their finding them. Thus I don't require that the text be kept terribly secure--just removed from obvious view.

The solution that I've chosen, then--with thanks to Panda-dev rdb for the suggestion--is to employ Panda3D's "multifile" system.

In short, a "multifile" is a little like a zip-archive--or more accurately, a Linux-style "tarball": it's a single file in which can be bundled up multiple files--and indeed, a whole directory hierarchy. Panda can then "mount" such a file in its "virtual file system", which allows the contents of the multifile to be accessed as though they were ordinary files and directories in the file-system. It even allows one to dynamically-import Python-files from multifiles!

I have the basics of using this implemented--it's actually pretty straightforward, as it turns out. As you can see above, it's not yet working in all cases, but I suspect that it will prove fairly uncomplicated when I start looking into those.

Sticking with text, in the week just past I also added a new bit of lore to be discovered in level two. Where the other two entries found there are short stories, this is instead a brief piece of world-building and atmosphere.

This new lore is currently attached to a pre-existing skeletal hand, located in a large, rubble-filled area. That hand, however, was previously rather out of the way--even I sometimes had to hunt around a bit to find it. So I've moved it to a (hopefully) more-visible position.

While the lore-entry itself is written, I believe, the page-image for it is a work-in-progress, and its icon has yet to be made.

(I also spent some time on another lore-entry, but decided that I wasn't happy with it.)

Still somewhat text-related is the matter shown in the screenshot above. As it turned out, the tails of my conversation text-boxes were rather inconsistent in the location to which they pointed.

In short, it seems that their implementation hadn't taken into account the possibility that different character-models might have different origin-points. And as it happens, the models of at least two of my speaking-characters did so differ.

The solution that I enacted was fairly straightforward, I think. In short, I now vertically offset the target-point by the top-value of the character-model's bounding-box, minus a little bit. It's not perfect, but it seems to work well enough! ^_^

And along the way, I implemented a variety of other little changes and fixes that don't seem worth detailing here.

As to the demo, I believe that a new bug-fix version of Panda3D is expected to be released at some point within the next few weeks, so I'm tempted to wait for that before building and releasing the demo. It has a few things that might be handy to have, I think! I haven't yet settled firmly on so waiting, however.

And finally, my little "wandering visual novel" side-project continues; bit by bit work on the tile-editor is progressing. For two things, it now has a layout-viewer, showing a project's Locations and Areas (the former (containing the latter) being collapsible), and work is underway on saving and loading.

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

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: