Hey folks,
During March and April we've been working on:
Despite how easy it might sound, these are the things we had to take care of:
etc
So far the technical side of the shooting works, what's left is to add hit reactions. Without them it's hard to understand if it's a hit or miss.
Early iterations:


Later iterations:

We did it. And then we decided to switch to a universal animation library for all the characters, and it broke the feature completely. So we'll have to do it again.


At early stages of development it looked hilarious.

One of the biggest systems we worked on so far is the AI re-make.
We did have an AI module before via UE blackboards, that already had sight and sound detection. However, we encountered some inflexibility of the system (and bugs) that didn't allow us to implement a more complex AI behavior.
So we switched to a State Tree:


The scheme above is an NPC guard's field of vision in Kvasir, represented by colored zones and associated states:
Alerted State: Closest to the NPC is a small red zone indicating the "Alerted" state. If the player enters this zone, the NPC becomes immediately aware of the player's presence.
Investigation State: Beyond the red zone, there is a larger yellow zone that triggers the "Investigation" state when the player enters it. This state is likely less aggressive than the "Alerted" state, suggesting the NPC is suspicious but has not yet confirmed the player's presence.
Investigation Gauge: At the periphery of the NPC's vision is the green threshold, which is the trigger point for the "Investigation Gauge" to begin filling. This suggests a mechanic where the NPC becomes gradually more suspicious the longer the player stays in this area. The closer the player is to the yellow zone, the faster the Investigation Gauge fills up, increasing the risk of detection.
Visibility Impacts NPC Thresholds: factors like lighting or the player's stance (standing, sitting, running, etc.) would affect how easily the NPC notices the player.
This is how it ended looking under the hood:

Our early mockup of state visualization for enemies (when a certain state is active):

And the in-game implementation. It's pretty cool that we can now play animation on switching states - as in this case the guard let's out a small ghasp.

Another thing we did in this iteration is the guards are finally able to wake up each other (placeholder animations).

We studied player feedback on MGS and Splinter Cell AI complexity, and we're looking forward to making AIs smarter in how they react to threats, also based on their class in future iterations.

That's all for now. Stay tuned for more updates next month!