Summary: In which work resumes in the new year; fluids and crystals gain highlights; line-of-sight is implemented; some bosses are tweaked ahead of the demo; expected boss-difficulty is indicated in the demo; a combat-spell gains a bounce; some bugs and issues are addressed; and a drop in frame-rate is investigated and, I think, ameliorated.
Greetings and salutations!
And indeed, a happy new year! ^_^
This week's screenshot shows some upgrades to my crystal-shader, now including some basic lighting!
The week just past saw my return to work!
I'll confess that it took a few days for me to get back into the swing of things, I daresay--but I used that time to implement a few smaller changes that I had in mind.
Still, the week overall was a varied one, with things being done in visual, gameplay, and technical matters all:
Monday, January 15. 2024
Polished Crystals
On the visual side, in the week just past I upgraded two of my extant shaders to incorporate some basic lighting.
The first of these was the shader that I use for "wibbly fluids". (Which is, indeed, the actual internal name for the shader. It has a shader-input called "wibbliness".)
Specifically, such fluids now incorporate a highlight at their tops, and an internal highlight at their bottoms--the latter of which fades and broadens as the opacity of a given fluid is increased.
The second of these is shown in the main screenshot above: the crystal shader has likewise acquired such highlights. (Albeit that doing so proved trickier than with the fluid shader, as I recall!)
Of course, this second upgrade doesn't affect only the Crystal Creatures; here below you should see it in the mana crystals produced by one of the player's "metroidvania upgrades":
(And concomitantly I made some minor changes to the "crystal explosion" shader, to match the increased brightness-contrast of the crystals.)
Perhaps the biggest change made in the week just past arguably straddles both the visual and gameplay sides:
I have implemented a simple line-of-sight mechanic for Moons in Crystal!
This is something that I'd given thought to on previous occasions, as I recall, but never been quite sure of.
On the one hand, it would be nice to replace the extant "room cover" system, which I have long felt to be a little janky, and a little awkward to work with.
But on the other hand, I worried about whether it would suit this game, and whether it would be effective for my purposes.
And more to the point, I didn't at the time see how to go about implementing it.
But during my holiday I played a game--Caves of Lore, which I rather enjoyed--that incorporated line-of-sight. And their handling of it provided the inspiration towards how I might implement such a thing.
So with that I gave the matter further thought, and in the end decided that it might well work--and so went ahead with it!
And indeed, having done so, I do believe that I'm happy with the results. ^_^
(I would love to have soft edges to the shadows, but don't yet see how to do so...)
Here then you can see a quick demonstration of the system in action:
Turning fully to gameplay, then, in the week just past I did more work towards the new demo.
Most of this is not worth detailing here, I feel: tweaks and cleanup in the Shattered Noble boss; effects for the Thorn Guardian boss; the entrances to the individual boss-fights now have flames indicating the expected difficulty of their bosses; and bouncing the player when they use the "dash" combat-spell and hit something immovable.
I also reworked the manner in which the individual Ancient Kings enter the fray in their boss-fight:
You see, the player isn't allowed to attack them before they enter, while they sit beside the arena. As an excuse for this, I have that sitting-area slightly raised, and weapons-shots impacting the "step" thus formed.
Previously, then, I simply had the kings walk into the arena, perform an animation, produce a ring of dust, and then become open to taking damage.
This was, I fear, janky and counter-intuitive: there was a distinct period in which they were within the arena, but invulnerable--and then suddenly became vulnerable. Not to mention that their walking animation did not account for the presence of the step.
So I reworked their entrance: they now stop before the step, perform their animation, and jump down into the arena, producing a ring of dust on landing. And on landing they immediately become vulnerable.
It's not perfect, but I do think that it feels much better!
On the technical side, in the week just past I attended to a a few bugs and minor issues that I encountered.
I also investigated a frustrating drop in frame-rate. In the end, I found that the use of "textureLod" in my standard "backdrop" shader--in order to keep backdrop textures sharp--seemed to be an issue. Replacing this with the normal "texture" method, but including a LOD offset into that, seemed to help.
That then is all for this week--stay well, and thank you for reading! ^_^
The first of these was the shader that I use for "wibbly fluids". (Which is, indeed, the actual internal name for the shader. It has a shader-input called "wibbliness".)
Specifically, such fluids now incorporate a highlight at their tops, and an internal highlight at their bottoms--the latter of which fades and broadens as the opacity of a given fluid is increased.
The second of these is shown in the main screenshot above: the crystal shader has likewise acquired such highlights. (Albeit that doing so proved trickier than with the fluid shader, as I recall!)
Of course, this second upgrade doesn't affect only the Crystal Creatures; here below you should see it in the mana crystals produced by one of the player's "metroidvania upgrades":
(And concomitantly I made some minor changes to the "crystal explosion" shader, to match the increased brightness-contrast of the crystals.)
Perhaps the biggest change made in the week just past arguably straddles both the visual and gameplay sides:
I have implemented a simple line-of-sight mechanic for Moons in Crystal!
This is something that I'd given thought to on previous occasions, as I recall, but never been quite sure of.
On the one hand, it would be nice to replace the extant "room cover" system, which I have long felt to be a little janky, and a little awkward to work with.
But on the other hand, I worried about whether it would suit this game, and whether it would be effective for my purposes.
And more to the point, I didn't at the time see how to go about implementing it.
But during my holiday I played a game--Caves of Lore, which I rather enjoyed--that incorporated line-of-sight. And their handling of it provided the inspiration towards how I might implement such a thing.
So with that I gave the matter further thought, and in the end decided that it might well work--and so went ahead with it!
And indeed, having done so, I do believe that I'm happy with the results. ^_^
(I would love to have soft edges to the shadows, but don't yet see how to do so...)
Here then you can see a quick demonstration of the system in action:
Turning fully to gameplay, then, in the week just past I did more work towards the new demo.
Most of this is not worth detailing here, I feel: tweaks and cleanup in the Shattered Noble boss; effects for the Thorn Guardian boss; the entrances to the individual boss-fights now have flames indicating the expected difficulty of their bosses; and bouncing the player when they use the "dash" combat-spell and hit something immovable.
I also reworked the manner in which the individual Ancient Kings enter the fray in their boss-fight:
You see, the player isn't allowed to attack them before they enter, while they sit beside the arena. As an excuse for this, I have that sitting-area slightly raised, and weapons-shots impacting the "step" thus formed.
Previously, then, I simply had the kings walk into the arena, perform an animation, produce a ring of dust, and then become open to taking damage.
This was, I fear, janky and counter-intuitive: there was a distinct period in which they were within the arena, but invulnerable--and then suddenly became vulnerable. Not to mention that their walking animation did not account for the presence of the step.
So I reworked their entrance: they now stop before the step, perform their animation, and jump down into the arena, producing a ring of dust on landing. And on landing they immediately become vulnerable.
It's not perfect, but I do think that it feels much better!
On the technical side, in the week just past I attended to a a few bugs and minor issues that I encountered.
I also investigated a frustrating drop in frame-rate. In the end, I found that the use of "textureLod" in my standard "backdrop" shader--in order to keep backdrop textures sharp--seemed to be an issue. Replacing this with the normal "texture" method, but including a LOD offset into that, seemed to help.
That then is all for this week--stay well, and thank you for reading! ^_^
Trackbacks
Trackback specific URI for this entry
No Trackbacks