Summary:
In which a level is worked on; an enemy's projectiles are given a new appearance; a tool's UI is updated; some enemy AIs are given logic for handling walls; projectiles also deal better with walls; lighting is altered; and a miscellany of minor changes is made.
Greetings and salutations!
This week's screenshot shows an update in the shots fired by Kobold enemies:
The week just past was an interesting one, I feel, centred around level-building and radiating out from it:
At the start of the week, as I recall, I had in mind the goal of working on the demo-level that shows standard enemies, and of completing it.
And indeed, I did start on this! I added wall-colliders--in some places using the old "wall-lines" system; I set up some line-of-sight geometry; and I set in place a draft of the level's lighting.
But I will confess that I was distracted from that work!
First--and as shown above--I reworked the appearance of the bolts that are fired by Kobolds.
Where previously these were shown as simple flying circles, now they use dedicated models that describe in full their sinusoidal paths. To these models is applied a texture, which is then moved along the geometry to thus give the impression of the bolt flying down the path.
And I'm fairly happy with the result thus achieved!
I mentioned above that I set in place a draft the level's lighting. Well, in doing so, I once more encountered a minor nuisance: that my lighting editor had various unlabelled controls, the purposes of which I didn't always remember.
So, finally getting sick of this, I set about labelling those controls, and furthermore tweaked their layout.
I also mentioned above that I added wall-colliders to the enemy-level. This, naturally, constrained the enemies placed within. And in doing so it revealed some issues with their AIs.
Specifically, three enemies--the Centipedes, the Bandits, and the Avatars of Vitality--had issues when encountering walls during their various movements. And so, for each, I implemented some simple logic by which to respond to such events.
Furthermore, I found that the Helicopter Seed Plants--which are found along walls--had their seed-projectiles immediately "impact" the walls at their backs, preventing those seeds from flying free.
Now, this touched on an issue that I'd previously encountered with the player's projectiles, as I recall: that certain attacks could potentially "hit" a wall immediately on spawning, even if they were directed away from the wall. It was something that I had in mind to look at in the future, I think.
But with the issue breaking an enemy, I decided to look at it sooner.
What I did was fairly simple: in essence, when a projectile collides with a wall, the game now compares the projectile's movement-direction to the wall's normal-vector, thus determining whether the projectile is moving "towards" the wall. The game then only registers a collision against the projectile if said projectile is indeed found to be moving "towards" the wall.
And thankfully this seems to work well!
On the visual side, in the week just past I conducted further experimentation with lighting.
But this time, I think that I have something that is indeed an improvement!
You see, in working on a cave within the enemy-level, I once again found myself dissatisfied with the way that the lighting system handled wall-sides: they were darkened in a fixed manner, and didn't much respond to lights, even the light of the player moving up against them.
So I reworked things to produce a more-dynamic form of lighting. Finding that I liked the results, I furthermore ported the new lighting into the other shaders that are commonly used for environments!
And lastly, in the week just past I made a few minor changes that don't seem worth detailing here: an increase to the damage dealt--and thus healing taken--by basic Mummies; a bug-fix to the Echoes of Necrourgy; and a bit more flexibility added to the appearance of the line-of-sight system.
That then is all for this week--stay well, and thank you for reading! ^_^