Overhead attack at the end of a 3 hit combo:
This weeks I implemented 2 new enemies.
The first new enemy is the Soldier Axeman. Like the Soldier Spearman, the Axeman is a variation of the Soldier that uses a battle axe with a shield. The Axeman has similar attacks to the Swordman but has slightly more health and an overhead attack that can perform at the end of a combo or while running. The Soldier Axeman can throw firebombs like other soldiers.
The second new enemy is the Silver Knight with Claymore. It is a variant of the Silver Knight. He does less damage and has less health, but has a greater attack range and performs an overhead smash attack, which if parried sends the player into stunlock. I made sure that if the player goes into stunlock the Knight can only perform a slow attack (like an Overhead) so that the player has time to perform a dodge at the last moment (the stunlock can only be cancelled by a dodge).
I also placed various enemies in the greybox level and fixed stairs inside the first tower, as the steps were too high and did not work well with the Navmesh,
There are a couple of visual bugs in the gameplay video (such as weapons staying in the air and animations getting stuck), which of course will need to be fixed. Also I need to fix the framerate, which I can no longer stay on 60 fps on my machine, it seems that there are too many enemies active at the same time in the level (I’m CPU-bound), I guess I’ll have to optimize a bit.
I am beginning to implement an NPC, which will be encountered in the game. If you save him from enemies he will give you a reward.
For the NPC for now I will use a model very similar to the soldier (except for the cloak and different weapons).
Prototyping the behavior of the AI NPC. During patrol he can fight other enemies. I’d like to add some new animations for the NPC, but for now it is ok.
I have implemented an NPC and some key features:
-
NPC Character:
I introduced a non-playable character (NPC) into the game. This addition serves multiple purposes, introducing the potential for additional interactions within the game, making it more engaging. -
Simple AI:
The AI for the NPC is intentionally kept simple. It primarily involves two main functions:- Navigating from one point to another within the game world.
- Engaging in combat when necessary.
- The simplicity of this AI design streamlines development while still achieving the desired gameplay elements.
-
Mesh and Animations for the NPC:
- Initially, I focused on setting up the NPC’s mesh and animations. I opted for a mesh design similar to that of a soldier enemy for practicality, although it presented some minor challenges.
- The NPC wields different sword and shield compared to the standard soldier enemy, signifying its enhanced strength.
- I used a moveset identical to the soldier for the time being, though it will require modification. This change is essential to make the NPC a more formidable opponent, especially if the player chooses to engage in combat.
- Implementing evasion maneuvers, such as dodges, is also on the to-do list.
-
Small Quest Involving the NPC:
- I introduced a mini-quest where the player is tasked with rescuing the NPC from a group of monsters. Once rescued, the NPC proceeds with their quest.
- I plan to incorporate dialogue or text-based interactions to provide clarity about the quest objectives and enhance the overall narrative.
-
Patrol Logic:
- The NPC is programmed with a patrol logic. It will attack enemies if it detects them within its vicinity.
- The NPC will turn hostile if the player attacks it excessively.
-
Continuous Level Design Iteration:
- I have been consistently refining the game’s level design, ensuring that it is engaging, balanced, and visually appealing.
-
Additional Traps and Enemy Placement:
- I expanded the gameplay by adding new traps, such as obstacles involving boulders, to create diverse challenges.
- I strategically positioned enemies within the game world to keep the player engaged.
I am testing the flame attack hitbox and the aim offset of the head following a target. A bit worried about tweaking the fire particle, but I will think about much further into development.
The monster sleeps until you get close enough. When it wakes up, its startup is about 10 seconds before it attacks, so player can escape (the monster’s roar should make the hazard clear).
I placed the monster in the greybox map. I made it much bigger to make it more threatening from a distance.
Positioned enemy around the corner, in the Soulslike tradition. With that I should have finished the level placement for now. I’ll have to implement some levers that open doors.
Implemented lever and logic that opens the door. I reused a couple of prototype blueprints, it was simple enough. The lever is a bit ugly, but being a prototype it will do for now.
Added cinematic that starts after used the lever to open the boss gate. So far it’s just a simple shot with the door opening, nothing spectacular but it shows to the player which door has opened (since it’s away from the player).