Greetings and salutations!
This week's screenshot comes not from the game itself, but from a work-in-progress pitch document for the game:
As you may know, the biggest news of the week just past is that the "Depictions" Demo was released! It's by no means all that was done, but it was a salient item:
As mentioned above, the new demo was released in the week just past! (And in case you missed it, here's a link to its itch page: Thaumaturge-art.itch.io )
Before doing so, however, I had a few bugs to fix; last-minute things that I discovered only shortly before release. Specifically, level five had no "entrance" object, leaving the player to spawn at the level's centre; one line of text was missing; another had a stray backslash; and the end-of-demo screen wasn't being properly cleaned up, resulting in it overlaying the main menu when exited.
All of those I fixed, I believe. And with all that done, I released the demo! ^_^
Directly after the demo I took a short holiday, about one-and-a-half days long; both rest and celebration. And I'm glad that I did: I recall that it was refreshing, and that I returned to work enthused to go on! ^_^
My first major post-demo task, then, was a piece of technical work that I'd been holding off on. Indeed, something that I'd been a little anxious about, as it had the potential to seriously break things.
It had been pointed out to me, you see, that my saving-and-loading module carried a security risk: because its implementation employed the python functions "eval" and "exec" in places, someone could potentially alter a save-file to cause the game to run arbitrary code.
This had seemed like a difficult problem to solve, and had somewhat daunted me, as I recall. Furthermore, I feared that it might invalidate extant save-files--including my level-files.
But thankfully, the more time passed, the more I discovered how much simpler the fix might be. And indeed, coming to implement it in the week just past, I found that it was actually pretty straightforward for the most part, I'm glad and grateful to say!
Furthermore, it turns out that save files weren't invalidated by the changes (with the partial exception of one file in a side-project): the new implementation happily reads the old files, and indeed, the save-files that it writes are pretty much unchanged! ^_^
With that done, I then uploaded my game-saving module to GitHub (to sit alongside my key-mapping module, and a few other things); perhaps others will find it useful, as I have. ^_^
On a similar note, I went through the the code of A Door to the Mists itself and replaced a number of "exec"/"eval" usages there, too; it likewise should be a little more secure now.
I also fixed two bugs in the post-demo section of the week just past.
The first was fairly trivial: the combat code had an oversight (originating in the switch from Python 2 to Python 3, I think) that resulted in the potential for half-integral damage. This was easily corrected, as I recall.
The second was a little more alarming: feedback on the new demo revealed that quick-loading a saved game after dying in combat resulted in a memory leak!
As it turned out, while the process of loading correctly cleaned up the combat-"world", it was missing the level-"world" that was stored in the background during combat. As a result, the level wasn't cleaned up, and so memory was leaked!
I believe that I have a fix for this in place now. I'm not as confident of it as I might like, but it seems to work!
I'm hoping to soon put out an update to the demo, carrying the above-mentioned fixes. I'm mainly waiting to settle on one remaining question, which may depend on further demo-feedback.
And finally, I began the work shown in the screenshot above. That is, I've begun working on a pitch document for A Door to the Mists, to be used in pitching to indie publishers!
This has been an endeavour that has induced some nervousness, but also some excitement!
It's still a work-in-progress; I have a few sections yet to fill out, at the least, and perhaps more polish to do. (And more pitch-preparations to make thereafter, I believe.)
The process has been greatly aided by the pitch-deck template and pitching how-to that Raw Fury--or more specifically, Johan Toresson of Raw Fury, I believe--released to the public. (You can find those documents here, I believe: Pitch Deck Template ~ How To Pitch to Raw Fury)
Given the nature of the work done in the week just past, I haven't had much to show in this post. Let me leave you, then, with the second video that was made for release with the demo--a short look at the game's new aesthetics in motion:
That then is all for this week--stay well, and thank you for reading! ^_^