Grading and Taking it Further
Grading Specifications
To receive a grade of B, you must have the following:
TiledBGComponent
correctly loads the CSV file inLoadTileCSV
and draws the tiles (with the correct calculated rectangles) inDraw
- Link can walk with the WASD keys. Multiple WASD key presses has Link in one of the pressed directions. The correct walking animation plays based on the direction, and the correct standing animation plays when not moving. The camera centers on and follows Link around as he walks
- The
Collider
,Soldier
, andBush
are created from the CSV. Link can’t walk throughCollider
s, and you can at least see theSoldier
/Bush
es even if they do not do anything. - The A* algorithm is implemented in
PathFinder::CalculatePath
. (We should be able to minimally confirm that the path is calculated correctly for every soldier.) - Soldiers follow their patrol path and when they reach the end of it, reverse their path and continue forever. Soldiers play the correct animation when they walk. All soldiers are visible in the level (the full
Objects.csv
file which contains several soldiers). - Link swings his sword in the correct direction on leading edge of the spacebar.
EnemyComponent
supports hit points and taking damage. Link cannot walk through enemies and can deal damage to them using theSword
collision. Soldiers die in two hits and the bushes in one. - The
OnDamage
andOnDeath
callbacks are implemented inEnemyComponent
, and minimally used to trigger the soldier “stun” and the bush clearing the path node. - The
Effect
class is implemented as specified and used for the bush death, soldier damage, and soldier death as appropriate. Link sword swing and damage sound effect plays as expected."MusicStart.ogg"
plays initially and then after it finishes,"MusicLoop.ogg"
plays looping forever.
Keep in mind that for an A, you will also want to check for warnings on your GitHub actions, and make sure you are writing good quality code. We will do a code review and let you know what changes we think you should make, and you will have an opportunity to apply those changes to improve your grade during the regrade period.
For a C, you need to complete at least half (4/8) specs.
Taking it Further!! (Optional)
Here are some ideas on things you could add to this lab. As a reminder, doing this will have no impact on your lab grade. You do not need to implement any of these to get an A. Similarly, you could implement these and not get an A if you have other issues! Adding anything extra is purely “for fun” and for your own personal education and enjoyment.
- There are quite a few additional images in
Assets/HUD
that you can use to show a HUD including the current health as well as the number of rupees Link has - You could make it so when bushes die, sometimes they randomly spawn a rupee that Link can pick up. There is a basic rupee animation in
"Assets/Rupee"
and a pickup sound in"Assets/Sounds/Rupee.wav"
- You could make it so Link takes damage if he runs into the front of an enemy. You could use the HUD to display the hearts as you take damage. Then, make it so sometimes killing an enemy or a bush spawns a heart that you can pick up to regain some health. The images for the heart are in
"Assets/Heart"
and a pickup sound in"Rupee.wav"
- Add a secret passage that you can trigger by pushing something and play the
"Secret.wav"
sound when it happens