June Development Log - The Beginning of Flying Enemies, Paladin Weapons
June Development Log
This will probably be a light development log, as it was a busy month outside of game work. The Ice Caves region is looking a lot better so my focus has pivoted more into developing gameplay aspects that feel as though they're lacking. It would be excessive to detail all of the separate little changes I've made so I just want to write about the flashier things in this dev log.
Flying Enemies On The Way
One issue I have with the way Aetherdale plays at the moment is enemy variety. There's a lot of stuff on the ground, and that's it. There's a very limited number of directions you can be attacked from, and yet there's so much space above the player at any given point. If something were floating around, attacking the player from the air, it would instantly make the game more dangerous and therefore engaging.
The closest thing I had to a flying enemy before was the Runewasp - a boss that hovered above the ground. Runewasp wasn't really a "flying" enemy though - it was just a regular enemy with its model pushed a few feet up off the ground. It's navigation was still based on a Navmesh - a map generated over the existing geometry of a level, that tells enemies where they can walk.
Here is a level (left) and the corresponding Navmesh highlighted in blue (right):
Most enemies, Runewasp included, can only move in that blue region. The capability to depart from the ground at any given point, and fly through the air to a different point, is simply not something that the standard enemy model can do. Typically, the solution for flying enemies would be to implement what's called "A*" pathfinding, which is an algorithm commonly used for navigating through 3D space. This isn't entirely out of the question at some future point, but the most popular package that provides this capability is $80. I don't want to spend that at the moment, and since I'm not a mathematician, a different solution is needed.
Introducing the second, flight-only navmesh. Flying enemies use a separate navmesh elevated off of the ground. They track their horizontal position on that navmesh but don't necessarily stay glued to it like a regular enemy would - while navigating the flight navmesh, they are also running separate calculations to figure out the ideal height they should be at, and moving up or down to get to it. There's a lot to do still to get flying enemies feeling intelligent, but they are working in a minimal capacity which is a good start.
Paladin Weapons
One of my goals last month was to add more wraith weapon variety, and this continued into June. Revitalizing a pretty boring weapon draft I made a while ago, I added the Paladin Spear and Sword. These weapons are used by specialized human warriors on the front lines of the war against the Ithindar. Every few seconds they charge up golden energy around them, at which point they can send out a blast of light energy.
Normally one-handed swords block, and spears can be thrown - these functionalities are overridden in the Paladin weapons, to increase decision making and loadout diversity, with minimal impact to the complexity of the input scheme.
| The Paladin Sword and Spear |
| The Paladin Sword after just launching its special attack ahead of a wraith. |
Risk of Rain 2's Runald's/Kjaro's Band items were a heavy inspiration for the ring-like pattern for these effects. In general, circular shapes are a key aesthetic principle of the Paladin Order, signified by the circular/ringlike metalworking in their weapons. TBD whether the Paladin Order makes it into the game in any greater capacity, or gets lost in the ever-increasing backlog.
Closing
At risk of sounding like a broken record, I will get Aetherdale ready for online/multiplayer playtesting eventually. There's one elusive bug with joining other players' games that prevents me going all-in on that at the moment, and testing it has not been easy. I believe I'm slowly getting closer to understanding it, but my focus has been on additional content.
Thanks for reading, see you in the next dev log.
Comments
Post a Comment