Tasks Undertaken
Implemented Two Melee Weapons
- Added two distinct melee knives:
   - One with detailed collision and cutting in the body.
   - Another with simple overlap (may clip through objects).
- Repositioned objects and weapons.

Introduced Two AI NPCs
- Added two different AI characters:
   - One follows the spotted player using a simple blueprint.
   - Another follows the spotted player using a behavior tree.
- Fixed a bug where the behavior tree AI was not pursuing the player.
- Enhanced the clarity and flow of blueprints.

Added Attack Functionality to Behavior Tree
- Integrated an attack mechanism into the behavior tree, initiating an attack when the player is in
  range. This functionality is currently under the "chase player" task and will be moved to its
  dedicated task.
- Created a separate attack task in the behavior tree, including a temporary animation montage for

Organized Folders and Renamed Level
Renamed the level and organized related folders.

Implemented AI Capability to Lose the Player
Added an option for AI to lose the player after a specified duration. This duration is adjustable in the inspector for each individual AI. A 'Should Follow Player' boolean, added for testing purposes, enables or disables the follow behavior.

Enhanced Enemy AI Hearing
Enabled the enemy AI to hear sounds made by the player. The AI will walk to the sound's origin, wait briefly, and then resume roaming. Organized the blueprint for enemy sound AI and removed the old AI system, opting to use only the behavior tree.

Improved AI Behavior with Look-Around Mechanism
Implemented a mechanism for the AI to look around while investigating a sound. The AI will walk to the sound, wait if not interrupted, and continue roaming. If the player is spotted during this time, the AI will follow and attack when in range.

Imported Model and Animation from Mixamo
Imported a model and Gangnam Style animation from Mixamo, requiring manual making a retargeter for re-rigging to work with the Unreal Mannequin. Cleaned up AI blueprints and the level.

Fixed Following Bug and Setup Look-Around
Resolved a bug causing the AI to enter the roaming state when losing sight of the player during its attack animation. Introduced a boolean setup to control the AI's states and set up the AI head to look at the player.

Improved Enemy AI Behavior and Imported Animations
Imported new animations, added a look-around feature while investigating sound, cleaned AI blueprints, and included inspector values for AI.

Imported and Set New Project Logo
Imported and assigned the new company logo as the project logo.

Fixed Bug in Enemy AI and Baked Lighting
Fixed a bug where the AI would continue following the player even after losing sight. Solution: Set observer aborts to self (fixes attack animation playing and roaming).
Double Diamond
During the discovery phase, I systematically explored various aspects of the project, such as the implementation of a distinct melee weapon (Figure 1) and the introduction of AI characters with different behavior mechanisms. This exploration aimed to gain a comprehensive understanding of the project's dynamics, identifying areas that needed attention and improvement.

Building on the insights gained from discovery, I transitioned into the definition phase. Clear objectives were set to enhance AI capabilities, refine player interactions, and organize the project structure. This phase involved tasks such as adding attack functionality to the behavior tree (Figure 2), improving AI behavior, and introducing features like AI losing the player (Figure 3). The focus was on creating a blueprint that would guide the subsequent development efforts.

The development phase saw the implementation of the defined solutions. This involved systematic tasks, including organizing folders, renaming levels, improving enemy AI behavior, integrating new animations and retarget them from the Mixamo skeleton to the Unreal skeleton (Figure 4). Each task was approached with precision, ensuring alignment with the predefined objectives and contributing to the overall development of the project.

In the delivery phase, the outcomes of the development efforts were presented. This included the addition of new weapons, AI characters, and improvements in behavior. The project's folders and levels were organized, and features like AI losing the player and enhanced AI hearing were successfully implemented.
Last week, I started with the development of an enemy AI. It took me a while to understand the AI Perception class, but after a lot of trial and error, I was able to come up with something nice. The sources I used this week can be found below.

- Tycho Tuitert: General feedback, discussions, and help when I didn't understand something.

- How to make the enemy roam around: https://youtu.be/Mi7r0LqUmOE?si=fxC-_8E7p2gfLhj3
- How to make an IK rig retargeter: https://youtu.be/N7WdyAeeDrw?si=5QpOW8R0GyHKFJkJ
Reflections and Learning
The third week of development was filled with new exiting tasks. I was very motivated to work on the enemy AI. I always wanted to make one. I hope I can expand the structure I now made into something bigger and add various enemy variations. I will probably learn a lot more about AI and class inheritance, so I don't know if this structure is going to stay.
The longer I work with Unreal, the more I start to like it! There are sometimes things that I find stupid or don't understand. But that is something that comes with the learning phase. I am looking forward to next week!

Figure 1 - The two dagger with different targets

Figure 2 - Behavior tree of the enemy AI

Figure 3 - Enemy AI in practice

Figure 4 - Retargeter for Mixamo to Unreal

Other projects