Summary:
In which a lot of little things are done, including: textures are updated and added; as too are sounds; the player-light shaders are tinkered with; level two's exit is near-complete; a script merges windows; the window-merging script causes trouble; and some work is done on Panda3D's particles.
Greetings and salutations!
For this week's screenshot, some touch-ups to the look of level two:
The week just past was another of those in which I worked on many little things, with no single central thrust to them:
To start with, aesthetic work for level two continued:
A few new textures were added, including versions of the "grey wood" and "sandstone" texturing that lacked the grooves that describe planks or blocks.
With appropriate wood-textures made, I also re-exported the ladder model so that it used them, along with some touch-ups to the model itself.
Perhaps more saliently, I significantly reworked the block-edges in my "sandstone block" textures: I felt that the previous attempt was a little
too uneven, and so remade the edges, but a little straighter this time. (The results are shown above.)
I also tinkered with the player-light shaders a little. In the end, the only change that I kept was an increase to the strength of the normal-quantisation.
As to level two itself, I began implementing the exit to the level--a piece of design that had been troubling me up until the week just past. Now it's a leap from a box placed on a low rooftop into an open window; then down a ladder to find something bigger to stand on (the bigger thing hasn't yet been added); up through a broken floor; and then finally up the outside of the building (likely using the bigger thing a second time) to reach the hole by which the player originally entered.
I also removed some of the static windows that should be left open for traversal.
At one point in the level there is a cache of books hidden behind a stone plate. This had been implemented before I created the stone-block textures, and so didn't match up with them. Thus, I adjusted the plate, the gap behind, and the logical objects involved to be aligned to the textures in question.
One problem that I've been facing is that I haven't wanted to export the level due to the number of scene-nodes that the various separate windows add. Conversely, I've been hesitant to merge the windows until I had a good idea of which I would be keeping, and which I would be replacing.
In the week just past, an idea came to me that largely solves this issue: I wrote a script to seek out the various windows (and their frames and attached parts), and then automatically merge them in a somewhat-appropriate manner. It takes a little time to run, but it seems to work well, I believe!
(I am still left with quite a few nodes even so, I'm afraid; this is something that I may want to look into at some point.)
There was a complication during the development of this script: When I ran it, it would run... and keep running... and continue to run. I think that I recall it even locking up the computer while it worked. Until, at long last... it would crash Blender.
Eventually I realised what was (presumably) happening: The windows all share a single mesh. Thus, as successive groups of windows were merged, they gained the vertices of previous groups, and so the windows accumulated, and accumulated further. Thus each merging likely became more taxing, and each merged result became a heavier load for the system--until at last Blender keeled over under the strain.
The fix was fairly simple: as part of the process, the script now copies each window's mesh, making it unique. Thus the windows don't accumulate, and the script completes successfully!
I also did a little sound-work in the week just past, focussing on the noises made while climbing. I added some new sounds for catching onto climbable geometry (and implemented logic for their playing), tweaked some old "climbing" sounds, and removed a few sounds that I didn't like.
At the end of the week, I spent a little time on something not (directly) related to A Door to the Mists: One thing that annoys me about Panda3D's particle system is that it doesn't explicitly support the emission of singular "bursts" of particles--imagine a ring of dust being sent out when a character lands, or sparks bursting from a wall when hit by bullets.
I had already put in a feature request for this, but I decided to take a shot at it myself. In the end, my solution was fairly simple, and seems to work. I've provided a patch of the changes to the Panda3D devs, and am awaiting feedback.
And once again, there were things done that don't seem worth mentioning here.
That then is all for this week--stay well, and thank you for reading! ^_^