This is my Artificial intelligence assignment. it is due 25 july at midnight. the instructions are provided in the outline pdf and the code is in the second file and thanks
GAME3001 – Artificial Intelligence Page 1 of 6 GAME3001 - Artificial Intelligence Assignment 3 *** Due July 25th by Midnight *** Assignment: Decision Making For this assignment, you may work alone or with a partner (for a total group of size of up to 3 members). Mandatory Criteria In this assignment, some criteria are marked as Mandatory which means each criterion marked as such must be completed, or you will receive a mark of 0 for the assignment. This is to ensure that students learn the most important aspects of the assignment. Project Setup You must use the Template provided on Blackboard as a base. Start Scene (5 points) - Mandatory ● Your assignment must include a Start Scene. ● Add Text (Labels) to the Start Scene that includes your name and student ID. This must be a text object converted from a string and not an image source. ● Add a Button to the Start Scene. When the “Start Button” is clicked, the Start Scene will transition to the Play Scene. GAME3001 – Artificial Intelligence Page 2 of 6 Play Scene (18 points) - Mandatory The Play Scene will demonstrate decision making. ● You must include a Node class as discussed in class. ● You must create a collection of Node Pointers to enable iteration across all Nodes. This could be a STL Vector, List, or other structure. ● Ensure you select an appropriate Actor sprite. This could be a spaceship, a car, an animated character or other appropriate vehicle or avatar. The Actor will be able to move in any direction by responding to key presses (e.g., WASD) or by using the Left-stick on the gamepad and face in the direction of the mouse pointer or by using the Right-Stick on the gamepad. ● Create an interesting map that is overlayed on top of the Nodes. This can be a bit creative. Ensure the map includes obstacles (mountains, walls, debris, etc.) that are impassable. You may use a Tile Map Set or simply draw your map tiles individually. ● Your Play Scene must include appropriate background music. Ensure that the volume is set to a reasonable level. ● Add simple Sound FX for various actions and / or triggers in the Play Scene. This may include but is not limited to: the Actor moving across the map, firing a bullet, getting hit, etc. Requirements This assignment will set up all the key elements that will be re-used in assignment 4. These include, Line Of Sight, Detection Radius, Player Movement, Enemy Movement and others. Debug View (10 points) When the user presses the H Key, your program will toggle into the Debug View which will display the Line Of Sight (LOS) Rays, Detection Radius, Collider Boundaries, and Node points. Debug Keys (2 points) The user will be able to activate certain effects by pressing various keys. When the K key is pressed, the Base Enemy will take damage. When the P key is pressed the Base Enemy’s movement will be toggled between idle and patrol. GAME3001 – Artificial Intelligence Page 3 of 6 Player Animations and Sound FX (5 points) The user will trigger various animations and sound effects for the player: ● An idle animation when no Input is triggered ● A movement animation and related sound effect when key presses (WASD) or gamepad input is triggered ● A close-combat animation and related sound effect when the left mouse button is pressed or the lower face button on the gamepad is pressed ● A projectile firing animation and related sound effect when the right mouse button is pressed or the right face button on the gamepad is pressed. All animation states and sound effects should be demonstrated during the game for full marks. Player Combat Capabilities (8 points) The player can engage in both close-combat (melee) and ranged combat (shooting). For close combat, the player must be within an appropriate range and be facing the enemy in order to register a hit. For ranged combat, the player will fire an appropriate “fire-and-forget” projectile in the direction they are facing. The player’s orientation is set to follow the position of the mouse pointer or moving the Right-Stick on the gamepad. Player Health Bar (3 points) Your player must include a Health Bar object that displays the health status of the player in real-time. This could be a solid bar or a series of symbols. Game Status (4 points) Your Play Scene will include a progression bar, score label or other control that will display how many enemies are still active in the scene and how many have been eliminated. Obstacles (4 points) Your Play Scene will include at least 4 obstacles that will stop the player and the enemies from passing through them. These obstacles must be solid and impassable. The obstacles will also block enemy LOS. However, they will not block enemy Detection Radius. Base Enemy Setup (10 points) - Mandatory Your game will include a Base Enemy Class. The Base Enemy object will move (patrol) along a predetermined path of Nodes around the map. The Base Enemy Game Object will have a health property which will be displayed in a Health Bar (similar to the player’s health bar). When the Enemy Game object is hit the Health Bar will display the correct value. GAME3001 – Artificial Intelligence Page 4 of 6 Base Enemy Animations and Sound FX (5 points) - Mandatory The Base Enemy will include several animations and sound effects: ● An idle animation when stopped ● A movement animation and related sound effect when moving ● A damage animation and related sound effect when taking damage ● A death animation and related sound effect when killed. All animation states and sound effects should be demonstrated during the game for full marks. Base Enemy Line Of Sight (LOS) (10 points) - Mandatory Each Base Enemy will need to calculate and keep track of whether or not they have LOS with the player. You will need to account for any obstacles that may block LOS in the calculation. The result can be stored in a bool in an instance property on the Enemy. Base Enemy Detection Radius (DR) (3 points) - Mandatory Set up a simple algorithm that determines if the player is within each enemy’s detection radius, which can be a range of your choosing. Like the LOS check, it can be stored as a Boolean and it will be used for the next assignment. Use Git and GitHub for source control (3 points) You will use git and GitHub as a source control system to track changes to your application. Each member of the team will be required to push substantial changes to the GitHub repository. Any feature or bug should be tracked as a commit. Your GitHub repo should be appropriately named. Submission (10 points) - Mandatory Remove garbage files from the hidden .vs folder (leave only the .suo file). Create a .zip archive (please do not use rar) of your project and rename it to the following convention: GAME3001_A3_LastnameFirstname.zip Include a valid link to your GitHub repo for this assignment. Create a Short Video presentation with your favourite screen capture and streaming tool (OBS Recommended) and upload it to Blackboard. You must also include a short PowerPoint (or Google Slides) Slide Deck that includes a single slide to start your video. The first (and only) Slide of your Slide Deck must include a current image of you (no avatars allowed) that is displayed appropriately on the page. You must also GAME3001 – Artificial Intelligence Page 5 of 6 include your Full Name, Student ID, the Course Code, Course Name, and your Assignment information. You will demonstrate your app’s Screens in the IDE. Your UI must be clearly visible You will describe the code for your app and any special algorithms used Sound for your Video must at an appropriate level so that your voice may be clearly heard. Your Screen should be clearly visible. Your Short Video should run no more than 5 minutes. IMPORTANT NOTE: Any submission without a video that meets the above requirements WILL NOT be accepted. Penalties This section lists submission violations and their deduction penalty. They are: ● Late submission penalty: -10% of assignment total per day late ● Instructor provided code is allowed, however using external code could result in a mark of zero for the entire assignment. Assignment Weight: 10% of course grade Mark Breakdown Each task and the marks associated are listed below. A rubric may be provided on Blackboard if a detailed breakdown of each mark is not provided here. Task Marks Description Start Scene* 5 Includes appropriate Label(s) - 3 Includes a Button that instantiates the Play Scene - 2 Play Scene* 18 Implement the Node Class - 3 Implement a Node Collection (a container of Nodes) - 3 Actor Sprite can move in any direction with keyboard and gamepad