Browse Source

Unreal Engine Branch

content-update
OGordoo 4 years ago
parent
commit
29e9309ed6
  1. 28
      subjects/armyofone/README.md
  2. 37
      subjects/armyofone/audit/README.md
  3. 35
      subjects/firingrange/README.md
  4. 25
      subjects/firingrange/audit/README.md
  5. 40
      subjects/mousevr/README.md
  6. 31
      subjects/mousevr/audit/README.md
  7. 52
      subjects/nascaronlinealpha/README.md
  8. 47
      subjects/nascaronlinealpha/audit/README.md
  9. 44
      subjects/vehiclephysics/README.md
  10. 49
      subjects/vehiclephysics/audit/README.md
  11. 43
      subjects/widgetfactory/README.md
  12. 39
      subjects/widgetfactory/audit/README.md
  13. 60
      subjects/zombieai/README.md
  14. 43
      subjects/zombieai/audit/README.md

28
subjects/armyofone/README.md

@ -0,0 +1,28 @@
## ArmyOfOne
In this exercise, you will learn to create a complex player movement from scratch. The character you will use is Countess from the game Paragon. She's nice after you know her, just give her a chance.
### Objectives
For this project you will implement a fully playable character using what we call Animation Blueprint, Aim Offset and PlayerCharacter Blueprint.
### Instructions
Starting from an empty project, after creating a level with a floor (nothing else is really required), you should:
- create a Third Player Character Blueprint and apply the Countess mesh to it.
- give the character the ability to:
- move forward, backward, left and right using the WASD keys
- look around and change direction using the mouse
- jump using Space
- attack using the left mouse click
- create an animation blueprint file to animate the character so she can be animated while running, jumping, attacking, etc.
- implement the Aim Offset, so that when the player moves the mouse, the head of Countess follow the direction we’re looking at, in a 180-degree angle.
- separate the upper and lower body part, so that the character is able to walk and attack at the same time without any animation problems.
- make Countess lean according to the mouse direction, while running forward.
- use Animation Blendspace to organize your movements.
- use Animation Blueprint variables to handle different animation states.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.

37
subjects/armyofone/audit/README.md

@ -0,0 +1,37 @@
#### Functional
###### Can Countess move in the four directions (forward, backward, left and right) using the WASD keys?
###### Can Countess jump using the Space key?
###### Can Countess attack using the left mouse click?
###### While running, does moving the mouse left and right change the player leaning angle and direction?
###### Does the animation used for the countess in the animation blueprint are stored in a BlendSpace file?
###### Does the head of the countess follow the mouse orientation?
###### Is an Aim Offset being used to move the Countess head according to the mouse movement?
###### Can Countess attack using the blades when clicking on the left mouse button?
###### Does the Countess body blends between two animation????????
###### Are there no severe body transition when starting the attack or jumping, etc…?
###### Can you attack and move around at the same time without damaging the animations performance?
###### Does the Countess body blends between two animation (are blend nodes being used)?
###### Is the upper body and lower body being controlled as "two separate modules"?
<!-- - Caches are used in the animation blueprint to separate upper body and lower body animation correctly???? -->
###### Does the Animation Blueprint have at least three variables in order to handle the character speed, if she is in the air and attacking?
#### Bonus
###### Can Countess execute more than 3 attacks?
###### Are there at least two different Countess skins being used?

35
subjects/firingrange/README.md

@ -0,0 +1,35 @@
## FiringRange
In this exercise, you will learn to use Unreal Engine and use Blueprints to script functionalities of a basic FPS game. The theme is to reproduce a firing range. And remember weapons are allowed only inside the shooting area!!
### Instructions
The map of this project should be composed by a cube with dimensions of X = 35, Y = 40, Z = 1, simulating the floor and other cubes as walls around the floor. In the map there should be a zone where the character should be able to walk around and shoot to the targets and another zone where the player can not go, where the targets are present.
For this project you will have to create a Blueprint Class target, that will have some characteristics. The target should :
- either be moving from side to side or stationary.
- be dynamic, using the timeline node.
- use a public variable to set or unset the movement animation of the target.
- rise again after x seconds after being hit it with a projectile, , and behave like before it was hit.
Only one class of target is allowed on the whole project.
The previous mentioned projectile should:
- have a size of X = Y = Z = 0,5.
- have a speed of 10000.
The First-person template and all needed assets can be found in the Firing Range folder.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.
#### Bonus
Here are some ideas for improving the game:
- Targets with different speeds
- Textures on the walls and ground
- Add obstacles in front of the targets

25
subjects/firingrange/audit/README.md

@ -0,0 +1,25 @@
#### Functional
###### Are the map size and composition (using cubes) being respected?
###### Are the projectile size and speed being respected?
###### If you try to move the target to the target zone, is the player forbidden from trespassing to that zone by a invisible wall?
###### When you shoot a target, does the bullet go through the invisible wall?
###### Did the targets lay on the ground correctly on the floor when hit by the projectile?
###### Did the target rotate from the bottom and not from the center?
###### Is there only one class “BP_Target” is present on the project?
###### Do all the public variable have a tooltip? (Mouse over it to check if a description is set or check if the variable have a little green eye on the right)
#### Bonus
###### Does different targets have different speeds?
###### Does walls and floor have texture?
###### Are there obstacles in front of targets?

40
subjects/mousevr/README.md

@ -0,0 +1,40 @@
## MouseVR
On this one you will learn the basics of interaction using objects, learn the use of blueprint interface, learn stereoscopic sphere texturing. How, you ask? By creating a game in which you'll be in a city and will be looking for interaction points in order to travel through the map. And do not to look straight at the end of the subject.
### Objectives
You will have to create a game that uses the mouse as if it were the player head in a VR game. You will navigate through the map using the mouse, focusing in certain points in order to "teleport" to that location.
### Instructions
After creating a blank project and importing the content from the provided folder, you should focus on the following points to accomplish the previous explained features:
- Use Scene Capture to take a 360 degrees screenshot, that you’ll need later on every targeted location on the map.
- With this, you can create a new material and apply it to a sphere.
- Find a way to display the material inside and outside the sphere to create a VR world illusion.
- Create a pawn that can move his head using the mouse inside the spheres.
- In order to play the game, the player only needs to use the mouse and never the keyboard.
- Create your own interaction point to indicate where the player is heading.
- The design of the interaction point is up to you, but it should display a text underneath it, indicating where this interaction point is gonna lead the player to (burger store, metro, park, etc...)
- There should always be an interaction point visible to the player, somewhere in the world that lets the player quit, no matter where the player is in the map.
- There should be no brutal transitions in the teleportation phase.
- Use an Interface Blueprint to handle interactions: a Blur, a Focus and an Active interaction.
- Use SphereTraceByChannel node to be able to look at objects.
- Use casting with your interaction point to know which object you are looking at.
- Use interaction timer to set how many time should the player look to an interaction point, in order to travel to the next space (Like on the video example). In other words, the player should look for a while at the interaction point before getting teleported to the next scene.
- Except for the interaction point and the spheres containing the panoramic images, no 3D objects are allowed on the map.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.
### Bonus
As bonus for this project there are the following:
- Create a circle around the interaction points, that indicates when the interaction point will be triggered.
- Animate the interaction points.
- Add looping background music during the experience.
Ah, made you look.

31
subjects/mousevr/audit/README.md

@ -0,0 +1,31 @@
#### Functional
###### When you move the mouse does the "head" of the player moves accordingly?
###### Can we navigate throughout the map using interaction points?
###### Does every interaction point contain a text underneath it indicating where that interaction point is going to lead you?
###### Do all interaction points led you to the location they tell you?
###### Can we play the whole game without pressing any key on the keyboard?
###### Is a "Quit Game" interaction point always available, so that it is possible to quit the game at any point of the game?
###### No brutal teleportation visible to the player?
###### Is a sphere being used to cast instead of a single ray, in other words, did the student used a SphereTraceByChannel node?
###### Is an Interface Blueprint being used to handle the different actions on the interaction point (Blur,Focus and Active)?
###### To be able to teleport to a different scene, do you need to stare for a little at a interaction point?
###### Except for the interaction point and the spheres containing the panoramic images, is there any 3D objects on the map?
#### Bonus
###### Is a circle that indicates when the interaction point will be triggered present?
###### Is the interaction point animated?
###### Is there looping background music during the game?

52
subjects/nascaronlinealpha/README.md

@ -0,0 +1,52 @@
## NascarOnlineAlpha
In this exercise, you will create a racing online game. The player will be able to race with another player, to see who is faster. When you feel stuck remember that once, a man couldn’t work out how to fasten his seatbelt. But then it suddenly clicked!
### Objectives
You will have to create a car game using an already existing project that you will have to download.
You will learn to analyze the code and understand what the developer did before you and adapt to extend the gameplay to continue the development of the game.
### Instructions
In order to start the project, you will have to open the Epic Games Launcher, switch to the Learn tab and search for the Vehicle Game project. Once you find it and download it, you can create a new Vehicle Game project and that will be the base of your project.
As the game is done, you only will need to make the multiplayer part of it. Basically, you will have to:
- As soon as the game starts it should ask for a name to assign to the player.
- Create a main menu map where the player can choose either to Host/Join a session.
- If the player chooses to Host, the game should ask you for a server name, number of players allowed on the server, if the player wants to host via LAN or ONLINE and a host button that launches the player into a multiplayer Lobby.
- Max. number of players should be 4 and the minimum should be 2.
- If the server name is not provided, the player can not yet host the server and a warning message should appear, requesting to insert a name for the server.
- If you press the Join button, the game should display to the player, a list of available sessions he/she can join. Also a refresh button should be available to search for sessions again.
- A button with the server name in it should appear for each session found. By clicking on it, the player is directly transferred to the host lobby.
- It must be presented to the player the option to do the search for LAN sessions or ONLINE sessions.
- In the start menu, there should be also a button that enables the player to quit the game.
- In every other menu, there should be a button that allows the player to go back.
- On the host lobby, before the creator of the session starts the game, the player can drive around the map.
- A widget should pop on the screen saying “Waiting for the host to start” if you are not the host and “Click START to start” otherwise. Therefore the host of the server should have available a Start button.
- Once the game started, all players spawn on the map and the race starts after a countdown (A little delay may occur for the client but it quickly goes back to normal so don’t worry for that.)
- The first to finish the race has a text on the screen written “YOU WIN” and “YOU LOSE” for the other players.
- Once the player crosses the finish line, the player input is disabled (player can no longer move).
- Use the provided loading screen to hide all screen/player switching between maps and screens.
As for the multiplayer aspect, here are some hints that you will have to follow:
- Use the Advanced Session plugin to have more host options when creating and searching for a session.
- Use replicated Custom Events to share information.
- Use Game Instance to handle all widgets navigation.
- Use Game State and replicated variables to know who is the winner of the game. If you have more info to share for all players on the game, do it through Game State using server replication.
- Use "Has Authority" checks to know if it is the server or the client that is trying to execute an action.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.
### Bonus
As bonus for this exercise you can:
- create a restart race button when all players crossed the finish line.
- display the winner on every player screen when crossing the finish line.
- make players join a server by IP address, from another LAN network (two players connected to different networks, for example).

47
subjects/nascaronlinealpha/audit/README.md

@ -0,0 +1,47 @@
### Functional
###### Does the starter menu contains an Host, Join, and Quit button?
###### On the Host and Join menu can the player travel back to the main menu?
###### On the Host menu can the player custom the following options: server name, max player number, play mode (LAN, ONLINE)?
###### Is the maximum number of players 4 and the minimum 2?
###### If you try to host the server without a server name (input text box empty), does a warning message appears and you are forbidden to enter the server?
###### On the Join menu can you switch between searching LAN sessions and Online sessions?
###### Once the game finds a session, does a button with the session name displays on the screen?
###### Does this button allows the player to join the host session?
###### Is there a loading screen while joining the session?
###### Inside the lobby, can players see each other driving around?
###### Does a message present either to “Wait for host to launch the game” and “Click start to launch the game” depending if you're the session host or a client?
###### Is the loading screen present on both server and client when the START button is pressed by the host?
###### After the host clicks on the start button, do all players spawn on the race map?
###### Does the race starts after a countdown?
###### Does it appear, on the screen, a message indicating that the player wins or loses, when the players cross the finish line?
###### Is the player input disabled (player can not move) when the race finishes?
###### Is the Advanced Session plugin being used to create and search a session?
###### Do all widgets navigation are handled inside the GameInstance of the player?
###### Does the student used "Has Authority" to know if a custom event is called by the server or the client?
### Bonus
###### When all players crossed the line, is a restart button available?
###### When crossing the finish line does the name of the winner displays on the screen?
###### Can the players join a session by inserting an IP?

44
subjects/vehiclephysics/README.md

@ -0,0 +1,44 @@
## Vehicle Physics
In this exercise you will learn to use the heritage system to create multiple blueprints from a single blueprint file. Also, you will learn to create the vehicle gameplay from scratch using blueprints. Remember to always wear a seat belt and don't text and drive.
#### Objectives
The point of this exercise is to create three cars and be able to enter and exit them as a third person character and drive them around.
#### Instructions
The player starts the game by controlling a Third Person character and as soon he gets close to one of the doors of one the three cars present in the level, a message should appear saying to press 'E' to enter the car. As soon as the player presses 'E', the corresponding door of the corresponding car should open and the player should then control the vehicle. Once inside the vehicle the player can press 'E' again to exit the car. Once pressed, the left door of the vehicle should open and the player should appear next to the car.
As for the vehicle, these instructions will be the ones that you will have to take into consideration:
- create a blueprint named BaseCar, that will be the parent of all vehicles classes.
- BaseCar should be a fully functional and realistic vehicle, in other words, should accelerate, brake, have an handbrake, the back wheels should not turn, neither should the front wheels exceed a certain angle, etc.
- BaseCar should also have dynamic instance for the lights.
- The vehicle lights needs to simulate the real behavior of a real vehicle. When pressing the letter 'L' the front lights and the rear presence lights should turn on or off, when braking three braking lights (left, right and center) should turn on and the rear lights should turn on when reversing.
- The BaseCar blueprint should contain "Set Material" nodes to change the headlamp material in order to have the effect that the lights are turned on.
- use PhysicMaterials to simulate rain driving terrain.
- only one AnimationBlueprint can be used for this project.
- when inside the vehicle, if the 'C' key is pressed, the camera should change from third person view of the vehicle to the driver view inside the car.
- when in the camera of the driver, the player must be able to see the gears and the speed in the dashboard
There must be three models of cars on the map the character can choose from. All of them should be inherit the BaseCar class. These three models should be:
- a Peugeot 3008 year 2018 car.
- an Audi A8 year 2011 car.
- a Tesla Model 3 car.
- The Mass, Acceleration, Number of gears, Max speed, Torque Curve, etc. needs to be really close of the selected vehicle. This [website](https://www.automobile-catalog.com) could help you find what you’re looking for.
To create the map you should use the Landscape tool. Also add a track using spline roads.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.
#### Bonus
As bonus objectives you can:
- Create steam/flames particles going out from car exhaust.
- Animate the character entering and sitting in the car
- Add a button to open the doors while inside the car without exiting it

49
subjects/vehiclephysics/audit/README.md

@ -0,0 +1,49 @@
#### Functional
###### Are there at least three different car models?
###### When you walk close to a car door, does a message appear saying that to enter you need to press the 'E' key?
###### If you click 'E' next to the car door, does the door open and you start controlling the car?
###### Once inside the car, if you press 'E' again, does the character exits the car?
###### After checking the three cars blueprints, did all of them inherit the "BaseCar" class?
###### Does the vehicle feels right to drive/reacts normally while driving it?
###### Do the rear wheels have steer angle of 0.0, in other words, do not turn?
- Did the Front wheels have a steer angle between 25 and 35?
- Front wheels are not affected by handbrake?
- Is the "Suspension force offset" inside the "Vehicle Wheel" Blueprint between 5 and 15, to make the vehicle not lean too much when steering left and right?
###### Are the car wheels not blurry while driving?
###### Does the car wheels never go through the floor?
###### Do the front lights and rear presence lights turn on and off alternatively, when you press 'L'?
###### Do the brakes turn on when you are driving and hit the brake key ('S' or down key presumably)?
###### Do the rear lights turn on only while you are reversing?
###### Does the car headlamp material is modified using the "Set Material" node inside the BaseCar Blueprint to replicate the light effect on the car?
###### While inside the car, press 'C' repeatedly.
###### Did the camera switch between the third person camera on the car to the driver camera?
###### while on the driver camera, can you see the speedometer and the gear?
###### Does the map include a spline road?
#### Bonus
###### When hitting the throttle does steam/flames particles go out from car exhaust?
###### Is the character animated while entering car?
###### Can you open the doors while inside the car without exiting?

43
subjects/widgetfactory/README.md

@ -0,0 +1,43 @@
## Widget Factory
The focus of this exercise is to learn to display information, buttons, images and whatever you will need on the screen using Widgets. Kinda like those displays in Iron Man, but not really.
### Objectives
You will create a first-person style game with only directional and mouse input. The main goal is to create a pause menu where you can change the graphics settings such as resolution, resolution scale, render distance, shadow, texture quality and so on…
### Instructions
For this project you will start the game with an empty project and it is requested that you:
- Create a PlayerCharacter blueprint and give him the ability to move forward, backward, left and right. Also, use the mouse to look around.
- Create a start menu by pressing Escape.
- This Start menu should pause the game and the mouse should show up.
- The Start menu should have a minimum of 4 buttons:
- Resume, that resumes the game when clicked
- A button for each of the students in the group with their username
- Each button should link directly to each student Intra profile.
- Graphics Settings, explained afterwards
- Quit to desktop, that on release should exit the game
When the player clicks on the Graphics Settings button, another widget should appear where it contains:
- a slider that lets the player choose the percentage of the resolution scale.
- a dropdown menu where the player can choose the resolution.
- At least three different resolutions should be displayed in the dropdown
- a button at the bottom of the Widget to apply the two above resolution settings.
- a checkbox that when switched on shows the game in full screen and in windowed mode otherwise
- four choices for PostProcessQuality, ShadowQuality, TextureQuality, EffectQuality and FoliageQuality. These four choices are LOW, MEDIUM, HIGH and EPIC.
- Theses settings got to be executed with the “Execute Console Command” node.
- PostProcessAAQuality setting should have the following options as buttons: Off, 2x, 4x, 6x.
- You can use the “append (string)” node to switch between all four choices.
- A “Back” button that bring us back to the main Start menu.
- No more than 25 string variables are allowed in the Graphics Setting widget file.
While controlling the player in the game, a widget should be visible at all times. This widget should display on a corner of the screen the rounded X, Y, Z (as integers) coordinates of the player. Just make sure it doesn’t disturb the visibility of the other widgets. If you want, after opening the pause menu you can make the player position widget disappear, making it appear again when you return to the game.
On the level you should display some grass, textured objects and post process on the terrain to show the settings changes. You can find some stuff on the Resources folder.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.

39
subjects/widgetfactory/audit/README.md

@ -0,0 +1,39 @@
#### Functional
###### Does the player move correctly forward, backward, left, right?
###### Does the player rotate according to the mouse movement?
###### Can you see the coordinates of the player position on a corner?
###### As you are moving through the map, are the coordinates on the widget changing?
###### Did the Start menu popped up, when Esc is pressed?
###### Is the game on the background paused? (check on the Player blueprint if the game pause is set)
###### On the click release, did the quit button on the start menu exited the game?
###### When clicked, did the resume button on the start menu resumed the game?
###### When clicked, did the username buttons on the start menu opened the Intra profile of the correct students?
###### When clicked, did the Graphics Settings button on the start menu opened another widget with the different settings to change?
###### Does the Graphics Settings menu contain a “resolution scale” slider and a dropdown menu list with a minimum of 3 different resolutions?
###### Are the Shadow Quality, Post Process, Texture Quality, Effects Quality and Foliage Quality settings present in the Graphics Settings menu?
###### Do all previous settings contain four choices ("LOW", "MEDIUM", "HIGH" and "EPIC")
###### Did the widget fit the screen in whatever resolution the game was set on?
###### Was the 25 string variables limit respected?
#### Bonus
###### Was there a resolution confirmation button anytime when changing resolution?
###### Was the “On Release” attribute of the buttons used instead of the "On Pressed"?
###### Are the default screen resolution automatically set to get the best computer performance?

60
subjects/zombieai/README.md

@ -0,0 +1,60 @@
## ZombieAI
The goal of this exercise is to create a zombie game with a wave system similar to the Call of Duty zombie mode. Do you know what does it take to become a zombie? Dead-ication.
### Objectives
You will use the content in the Resources folder to create a zombie wave game. The player will be a character with one of the guns and zombies will be coming for him from various points in the map.
Also you will use the solution from one of the previous exercises.
### Instructions
These are some the features that the game should have:
- a Menu map where you will display 3 options:
- Start Game (Load the map and launch the game)
- Settings (Migrate your WidgetFactory project to integrate it to this one)
- Quit Game (Exits the game)
After entering the game by clicking the "Start Game" button, the game should contain:
- a widget on the screen should be visible for the player life and should also contain the wave number that the player is in.
- an enemy spawning system from a blueprint that can be placed around the world.
- zombies should never all spawn at the same time. Zombies should spawn one by one every `N` second(s)(you decide what N is).
- create the animation for the Zombie. There should be at least two animations (running and attacking). These actions have to be performed by the Behavior Tree.
- on spawn, the Zombie should detect the player location and run towards it, following the Behavior Tree that you created earlier.
- when shooting, a fire projectile has to be casted and shot from the muzzle of the rifle.
- when the Zombie is near the player, the zombie should hit the player.
- when the player is hit, his life bar should decrease.
- after 5 hits the player should die.
- the life of the player should slowly get back up, 2 seconds after the hit. If the player gets hit again, wait 2 seconds again to give him back his health.
- on zombie component hit with the projectile, the zombie should lose health when it gets hit and should not die in one shot.
- after being hit multiple times and dying, the death of the zombie has to be noticeable.
- the zombie spawning and the recovery of health should be handled by the node "Set Timer by Function Name"
- the wave system should be as simple as it sounds. When you kill a certain amount of zombies in the first round, you calculate the number of zombie you want for the second round and spawn them (You can maybe get more creative than zombiesNumber \* 2 or \* wave).
- more zombies should spawn as the waves increases.
- you have the freedom to create the map and design the level. Just be sure that the Navigation Mesh Bound covers the whole map or else you’ll have trouble with the zombie not coming for the player.
- every projectile and zombie should be destroyed when they're no more visible/alive.
- the sound from the shot and from the zombie have to be handled.
- zombie sound should be following the zombie and the distance should raise or lower the sound when the player gets closer or far.
- when you shoot, there must be heard two sounds: the shot sound and the shells of the round hitting the ground.
- when the player is dead at least two information have to be displayed on the screen:
- Number of zombies killed
- Wave the player died
- this two stats also have to be displayed when the player presses the TAB button and be hidden when the TAB button is released.
When finished, your project should look like the executable example on the folder or the “Expected Result” video.
> Don’t forget to zip up the project compile and save everything for peer correction.
### Bonus
To make the game more interesting you could:
- Implement a way of receiving power-ups/benefits when a zombie dies (like get more health, make the zombies slower, or other things).
- Make a 3D main menu.
- Implement a point system, in which every time the player kills a zombie, pass wave, etc…, the points gets higher.
- Add creepy music during the game, add sound at each new wave, etc…
- make the player have to reload the weapon, in other words, make the gun go out of ammo.

43
subjects/zombieai/audit/README.md

@ -0,0 +1,43 @@
#### Functional
###### Does the project start with a menu where you can select between "Start game", "Settings" and "Quit Game"?
###### Are the projectiles casted from the muzzle of the rifle? Check that on the gun blueprint searching by the projectile.
###### Does the zombie die after being hit multiple times with the projectile and doesn’t die in one shot?
###### Do you notice perfectly when a Zombie dies? The zombie doesn’t just disappear from the screen?
###### Is every zombie destroyed after being killed?
###### Is there no projectile kept in memory after being used?
###### Does each wave has more and more zombie?
###### Does the player dies after being hit 5 times?
###### Did the student used "Set Timer by Function Name" to spawn Zombies and restore the player life when being hit?
###### After pressing the `P` key on the viewport of the project, do you confirm that the navigation mesh bound cover the whole terrain?
###### The behavior tree contains tasks that get the player location, chase the player and attack him when the player is close?
###### When you shoot, can you hear the shot and the sound of the shell hitting the ground?
###### Can you hear the sound getting louder as he comes closer?
###### Did the student used a Sound Attenuation make the sound get louder as the zombie gets closer?
#### Bonus
###### Does the player receives any power-ups/benefits when a zombie dies?
###### Is the main menu a 3D main menu?
###### Does the game has a points system? (in which every time we kill a zombie, pass wave, etc, the points gets higher?)
###### Does the game has creepy music?
###### Is a sound played each time you move to the next wave?
###### Does the gun goes out of ammo?
Loading…
Cancel
Save