## stealth-boom In this project, you will have to create an entire stealth game using Unreal Engine. ### Objectives The idea of this project is to create a little 10 minutes gameplay game with missions, stealth based gameplay and AI patrolling NPC. The basics assets you will need for this project can be found in the [Stealth-Boom.zip](https://assets.01-edu.org/Unreal-Engine-Projects/StealthBoom.zip) file. It contains the basic animations, character, enemies and props you will need for this project. ### Instructions The following aspects should be fulfilled: - Create a map where the player can walk around. - This map should contain places for the player to hide from enemies by crouching, hide behind walls, and all other props you may use to help to make a stealth game. - Buildings with at least 2 floors. - Pickable ammunition and weapons around the map. - For the player you should add: - Walk and run animations - Reload animation - Aim animation - Shoot animation - Crouch animation - the player should be able to do the above six actions while crouching - Melee attack animation - Gun sound when firing - Bullets visual impact on walls (see decals documentation) - Blood particles when hit - The game should contain a main menu where the player can: - Start the game - Adjust the general sound of the game - Change the graphics settings - When changing the resolution, a pop-up should appear in the middle of the screen asking if the player wants to keep the graphics setting he/she just applied. If `Yes` is clicked within 10 seconds, the settings are set, otherwise, if the 10 seconds delay is over or if the player click `No`, the settings go back to the old ones. - Change the mouse sensitivity - Invert mouse vertical axis - You should have at least 3 types of enemies: `Guards` (patrol around and are look for intruders), `Drones` (same as Guards but can fly), and `Cameras` (stationary and look for intruders). More enemies can be added if you want to. - Guards AI: - Guards should be able to patrol around the map; - A Guard is able to see the player, if the player crosses his field of view; - When the player enters the field of view of a Guard, the Guard enters into chase mode and must start running after the player, take cover and shooting at the player. - If the player leaves the field of view for a certain time, the Guard goes back to patrol mode. - Drones AI: - Drones should be able to patrol around the map; - A light color should determine the state of the drone (Blue for patrolling, Red for chasing the player); - Once the player crosses the drone camera, the drone light turns red and the drone enters chase mode; - When a drone is in chase mode, all the guards on the area are alerted, and should enter chase mode as well; - When the player is out of the drone sight, the drone turns back to patrol mode; - The sight radius should be inferior on the drones that on the guards. - Camera AI: - Cameras should be placed on walls; - Cameras should have the same light sign as the drone, so when the player is in the camera sight, the camera light turns red and all Guards enter in chase mode; - As the Drones, Cameras warn guards, whenever the player passes through the camera field of view; - Some Cameras should lock access of certain areas of the map (for example, close doors) when the player is detected by that camera. - Drones, Guards and Cameras should have sounds effect whenever they change from chase to patrol mode, as wel as the other way around. - All AI should be implemented using Behavior Trees except for the Camera. - The player mission is up to you, either it can be some task to fix, kill all guards without getting caught or collect documents... Whatever you choose, the player should have enemies on his way to diver him away from his objective. - When the player successfully completes his mission, a pop up should appear saying that the mission is completed. - The player has a health bar that should go down whenever the player gets shot. When the player dies, he has the choice to either quit the game, go back to the main menu or start over. - If the player starts over, the level should not be reloaded. The player should spawn back to the starting point. - When pressing `Esc` the game is set on paused and the main menu widget pops up. - The player should be able to change the game graphics setting exactly like in the main menu. - A game should not last longer than 6 minutes. After that the same choices should appear as when the player dies. > Do not forget to zip up the project compile and save everything for peer correction.