Summary: In which a level is (pretty much) finished; the fading of forest-sounds is discussed; combat animations are reworked; combat logic is polished; climbing through walls is forbidden; and experiments are made with graphical effects.
Greetings and salutations!
For this week's screenshots, the first level once again:
The week just past was a somewhat varied one! There was work on the first level, on combat, on graphical elements, and more besides!
Monday, January 15. 2018
Level Complete!
First of all, perhaps the most salient news this week is that the first level is, I believe, pretty much done! I have a few tweaks that I'll likely want to make, and I should perhaps do a complete run-through to check for issues that might have appeared during work on the level. But those aside, I believe that I have the level--in geometry, level-editing, and logic, all finalised!
Doing so in the week just past involved work on a few elements. I removed a troublesome shelf that was blocking a low gap; tweaked the tree-bark colour-texture; removed a planned collectible for which I never found a concept that I liked; and more besides!
One of these changes was that I added in "forest" sounds--the rustle of trees, sounds of twigs snapping, etc.; this was pretty much copied from the prologue.
One minor complication was the question of making it stop when moving into the tomb--let alone when exploring subterranean regions that happened to be near the edge of the surrounding woods!
In the prologue, I achieved this via a simple trigger--but in that case, I had the advantage that the entrance in question was a vertical shaft. With the gentler slope of the barrow-entrance, I wasn't happy with this.
I considered implementing a "sliding trigger" that would set the volume according to how far into it the player stood. I even started implementing this, as I recall--but in the end decided that it didn't seem worth it. (For one thing, I'm not sure that I should be adding new features like that at this point!)
In the end, I did something simpler: since the barrow is underground, I simply reduce the volume of the "forest" sounds as the player-character moves down below "ground-level". In addition to solving the issue for the barrow, this has the advantage of naturally doing the same for a small, sunken side-room to one side of the outdoor area.
With the first level (more or less) complete, I've moved on to work on the end-of-demo "cutscene". This is still a work-in-progress at the moment!
Another section of the game that saw salient work was the combat. I had received some (much appreciated!) feedback on the combat animations shown in one of my YouTube videos, and set out to improve upon said animations. (Well, and to look into why certain animations seemed to not play at all in some cases. I haven't managed to reproduce this, however!)
To that end, I've reworked a number of the player-character's animations to greater or lesser degrees. In addition, I've added a new "stunned" animation that plays when the character has been dealt a staggering blow and finished reeling backwards, but has not yet recovered.
On top of that, I made some tweaks to the combat logic. For one, I found that I could defeat one of the mummies by simply spamming attacks--which is not something that I want! Between limiting the player's ability to spam attacks and some changes to the mummy's AI, I think that I have this largely resolved.
I also made a few miscellaneous changes, including, if I'm not much mistaken, other tweaks to said AI, and a heavier stamina-penalty when stunned.
At some point during the week just past I discovered that it was possible in the prologue level to climb through a certain wall. As you may imagine, this was not a welcome discovery!
In the end, I tracked down the problem to an unexpected normal being reported by the physics engine--in short, I expected said normal to point down, and it was reported as pointing up. I've brought this up on the Panda3D forum.
However, I also decided to implement a minor change that somewhat prevents it from being an issue--in this case, at least: I've added a new ray-cast to the logic of climbing that--roughly speaking--checks whether there's an obstacle between the player and the point to which they would otherwise climb. Such as, say, the wall that was being climbed through. If there is, the climb is cancelled.
I was a little hesitant to do so, as I recall--I'm worried that there will be cases in which this will prevent a valid climb from happening--but thus far it seems to work reliably.
On the graphical side, I experimented with a few visual changes, one of which was ambient occlusion. Panda3D offers this out-of-the box, but trying it I found that it didn't seem to work well for me--possibly because of my custom shaders. I also attempted my own experimental approach using only five samples. This seemed promising, but I didn't manage to get it working properly, and I'm not sure of where I was going wrong. It's possible that it might be made to work with further development, but as things stand I've abandoned it. In any case, in both cases I wasn't happy with the performance impact.
Finally, there were a number of changes, bug-fixes, and experiments undertaken during the week just past that don't seem worth going into in detail here!
That's all for this week then--stay well, and thank you for reading! ^_^
Doing so in the week just past involved work on a few elements. I removed a troublesome shelf that was blocking a low gap; tweaked the tree-bark colour-texture; removed a planned collectible for which I never found a concept that I liked; and more besides!
One of these changes was that I added in "forest" sounds--the rustle of trees, sounds of twigs snapping, etc.; this was pretty much copied from the prologue.
One minor complication was the question of making it stop when moving into the tomb--let alone when exploring subterranean regions that happened to be near the edge of the surrounding woods!
In the prologue, I achieved this via a simple trigger--but in that case, I had the advantage that the entrance in question was a vertical shaft. With the gentler slope of the barrow-entrance, I wasn't happy with this.
I considered implementing a "sliding trigger" that would set the volume according to how far into it the player stood. I even started implementing this, as I recall--but in the end decided that it didn't seem worth it. (For one thing, I'm not sure that I should be adding new features like that at this point!)
In the end, I did something simpler: since the barrow is underground, I simply reduce the volume of the "forest" sounds as the player-character moves down below "ground-level". In addition to solving the issue for the barrow, this has the advantage of naturally doing the same for a small, sunken side-room to one side of the outdoor area.
With the first level (more or less) complete, I've moved on to work on the end-of-demo "cutscene". This is still a work-in-progress at the moment!
Another section of the game that saw salient work was the combat. I had received some (much appreciated!) feedback on the combat animations shown in one of my YouTube videos, and set out to improve upon said animations. (Well, and to look into why certain animations seemed to not play at all in some cases. I haven't managed to reproduce this, however!)
To that end, I've reworked a number of the player-character's animations to greater or lesser degrees. In addition, I've added a new "stunned" animation that plays when the character has been dealt a staggering blow and finished reeling backwards, but has not yet recovered.
On top of that, I made some tweaks to the combat logic. For one, I found that I could defeat one of the mummies by simply spamming attacks--which is not something that I want! Between limiting the player's ability to spam attacks and some changes to the mummy's AI, I think that I have this largely resolved.
I also made a few miscellaneous changes, including, if I'm not much mistaken, other tweaks to said AI, and a heavier stamina-penalty when stunned.
At some point during the week just past I discovered that it was possible in the prologue level to climb through a certain wall. As you may imagine, this was not a welcome discovery!
In the end, I tracked down the problem to an unexpected normal being reported by the physics engine--in short, I expected said normal to point down, and it was reported as pointing up. I've brought this up on the Panda3D forum.
However, I also decided to implement a minor change that somewhat prevents it from being an issue--in this case, at least: I've added a new ray-cast to the logic of climbing that--roughly speaking--checks whether there's an obstacle between the player and the point to which they would otherwise climb. Such as, say, the wall that was being climbed through. If there is, the climb is cancelled.
I was a little hesitant to do so, as I recall--I'm worried that there will be cases in which this will prevent a valid climb from happening--but thus far it seems to work reliably.
On the graphical side, I experimented with a few visual changes, one of which was ambient occlusion. Panda3D offers this out-of-the box, but trying it I found that it didn't seem to work well for me--possibly because of my custom shaders. I also attempted my own experimental approach using only five samples. This seemed promising, but I didn't manage to get it working properly, and I'm not sure of where I was going wrong. It's possible that it might be made to work with further development, but as things stand I've abandoned it. In any case, in both cases I wasn't happy with the performance impact.
Finally, there were a number of changes, bug-fixes, and experiments undertaken during the week just past that don't seem worth going into in detail here!
That's all for this week then--stay well, and thank you for reading! ^_^
Trackbacks
Trackback specific URI for this entry
No Trackbacks