C++代写-FIT2096-Assignment 3
时间:2021-05-19
FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 1 | 6 FIT2096 Assignment 3 2021 Game Project (20%) Due: Week 12, Friday 28th of May , 11:55 pm Platform: Unreal Engine 4 Task In this assignment you will use the Unreal game engine to create a basic game where a player must navigate through a level while avoiding Enemies. The Enemies navigate through game level using waypoint navigation. Figure 1 Level Layout Design Submission Requirements 1. A readme document, submitted to Moodle, with a link to your GitLab repository, link to the demonstration video, outlining how to play the game, what works and what doesn’t work, and any extra features you have included. 2. Demonstration video (uploaded to Git or unlisted YouTube) The Implementation: Game Balancing: you must provide a way to easily experiment with variables such as enemy attributes, bullet damage, shooting frequency and bullet speed etc. to help you balance the game and make it a reasonably enjoyable experience (i.e. No ‘magic numbers’). These values must be editable from the editor and not require changing any C++ code or blueprint script. FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 2 | 6 Specifications Game Project Use the 1st person game project. Game Level/Map The game level will be made from a simple plane scaled to the required size with a suitable tiled Material applied. Obstacles (simple mesh Shapes) will be placed throughout the level. See Figure 1 Level Layout Design for an example of how your game level could be laid out. NOTE: The level layout in the diagram is an example only. You should not copy its layout for your own level, rather you should use your own creativity for your level and agent paths. Camera The assignment will use the 1st person camera for the player. The Player Character The player must spawn into the level and navigate their way through the map to the Player Goal. If the player is killed by an Enemy before reaching the Player Goal, they must respawn back at the Player Start. • Coding o The core functionality must be coded in C++. Variables can be exposed as a Blueprint class. • Player attributes o The player has a Health attribute which defaults to 100 at the start of the game o If the player’s health falls to 0 the player dies and is respawned at the Player Start • The player has a stun gun which shoots projectiles. • If a projectile hits an Enemy it becomes stunned for a short time and takes some damage • (You can build on the existing player weapon from the First Person Template to create this functionality) Pickups There are Pickups throughout the level that the player can use. • Coding o The core functionality must be coded in C++. Variables can be exposed as a Blueprint class. • Pickup model o Use any of the 3D Models provided in the Unreal Starter Content • Pickup Placement: pickups can be placed in the level as actors (no code required) • The player needs to collide with the Pickup to activate it • Types of Pickup: o Speed – increases the player’s speed for a limited time o Health – increases the player’s health if it is below the maximum value o Shield – provides a shield to the player which absorbs an amount of damage for a limited time FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 3 | 6 Enemies The enemies will patrol the game level from their spawn point and follow a predefined path. Their objective is to prevent the player from reaching their goal. • Coding o The core functionality must be coded in C++. Variables can be exposed as a Blueprint class. • Enemy model o Use any of the 3D Models provided in the Unreal Starter Content • Waypoint Navigation o Your enemies must use a set of waypoints to navigate their way within the game level. Each waypoint contains a location (x,y,z) in the game level. o Waypoints will be hard coded and stored in an array. o You will have at least 3 paths your Enemies can patrol in the level o Your paths should form a loop that your agents can follow repeatedly • Spawning o Enemies should spawn randomly at the start of one of the waypoint paths. o You will need to specify the enemy spawn rate and number • Enemy Material o The material applied to the Enemy will reflect how much health it has o As the enemy takes damage the colour will change until its health reaches zero and is destroyed o (You will need to do some of your own research on how to do this!) • The different types of Enemies you will create are: 1. Radius effect  These types of Enemies do damage to the player within a given radius.  You will need to specify: • The radius of effect • Minimum and maximum damage • Times per second damage is dealt to enemies 2. Bullet Shooter  These types of Enemies will lock onto the player if they come in range  Once locked on the enemy rotates to always face the player while engaged.  The Enemy must shoot at the player until they are killed or move out of range.  Bullets should be represented by the a suitable model from the Unreal Starter Content  A random element must be included making bullet accuracy from 70% - 80%  You will need to test for a collision between the bullet and enemy  When a bullet hits an enemy it must do a range of damage between a minimum and maximum value  You must have a variable that sets rate of fire for the Enemy which can be easily changed in the editor. • Speed, Size, Hit Points o For each type of Enemy (Radius & Bullet shooter) you must have two different sizes of enemies denoted by different colours. FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 4 | 6 o Larger enemies are stronger with a high number of hit points, but move slower, while smaller enemies are faster but have fewer hit points. If you get time you can experiment with your balancing your game by changing these attributes. Game Audio and Particle Effects You will add simple sounds and particle effects (from the Starter Content) for the following: • Bullets firing and hitting a target • Explosions when enemies are destroyed • Enemies spawning HUD A heads-up display (HUD) displaying the following information: • Hit points of the Player • A timer displaying how long the game has been running • Number enemies destroyed Game Menus and Screens Your application must implement the following controls: • A Start Screen, Pause Screen and End Screen displayed at the appropriate times in the game and providing basic functionality o Start Screen  Text displaying your Name and Student number  A “New Game” button that starts a new game o Pause Screen  A “Resume” button that resumes the game  An “Exit” button that takes the player back to the Start Screen o End Screen  Appears when the game is over  Displays game stats  A “Replay” button which starts a new game  An “Exit” button which takes the player back to the Start Screen • ‘p’ – Pause o Pauses the game and displays the “Pause Screen” FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 5 | 6 UE4 Gameplay Framework & Classes Your game must use the correct Unreal Engine gameplay classes such as: Game Mode, Game State, Actors, UObjects etc. Additional Functionality (20%) The final part of this assignment requires you to add some additional functionality of your own choosing. You MUST discuss your proposed functionality and get approval from your tutor by the end of week 11. NOTE: A penalty will be applied if you fail to get approval from your tutor. Examples of additional functionality may include but are not limited to: • Experimentation with custom materials. • Exploration of procedural content and level generation. • Random placement of Pickups • Enhanced gameplay elements such as o a difficulty and level-up system, o in-game currency with purchasing, o and the ability to save high scores. • Anything else you can think of! Personal exploration of concepts not formally taught in this unit are welcome. FIT2096 Assignment 3 2021_v1.0.docx 9/05/2019 10:06 AM P a g e 6 | 6 Marking Rubric Functionality – 60% N P C D HD Player Character Player Character is set up and works correctly (2) Shooting freezes and deals damage to enemies (8) Pickups Pickups work correctly (10) Enemies At least 3 paths your Enemies can patrol in the level (5) Material change colour reflects the health of the enemy (5) Does the Radius effect work as specified? (5) Does the Bullet Shooter work as specified? (10) Game Audio and Particles Are the game audio and particles implemented for all required events? (5) HUD & Game Menu Has the HUD been implemented (5) Adheres to the Model-View-Controller pattern (5) Additional Functionality – 20% N P C D HD Is there additional functionality? (20) Code Quality – 20% N P C D HD Does the code exhibit good object-oriented design and use of Gameplay Framework classes? (10) Is the readability and style of the code to a high standard? Are appropriate comments included throughout? (10)


























































































































































































































学霸联盟


essay、essay代写