A3 Demo Rubric
We reserve the right to make changes to this rubric.
-
Download the student submission from CMS. We must grade CMS submissions, not codebases that students have worked on since their submission, in order to be fair to all teams.
-
[40 points] Run
make play
on the submission. If the game engine fails to compile and launch, the submission loses 40 points. No exceptions will be made to that. -
But, next, if the team knows that there is a small fix they can make (for example, deleting a stray character, or commenting out a line, or replacing the implementation of a function simply with raising
Failure
), they may do so. Then you may proceed with grading the demo, and they can continue to get the rest of the points. We are doing this only because the assignment involves in-person grading. In future autograded assignments, we will return to the model in which submissions must passmake check
or receive minimal (usually zero) points.
Deductions
-
If you discover that any objects (as in “verbs” vs. “objects” in player commands, not as in Java objects) are hard coded instead of data driven, deduct a flat 10 points from the scope in which they were required. For example, hard-coded rooms would result in a deduction of 10 points from the Satisfactory score, and hard-coded items would result in an additional deduction of 10 points from the Good score.
-
For any of the rubric items below, you might encounter a situation in which the team has only partially implemented the functionality, or the implementation is buggy. In that case, use the following deduction scheme:
-
-25% of the points: it’s a minor quirk. Something noticeably goes wrong, but the player can continue playing the game without having to restart, and it doesn’t affect whether the player can win the game by accumulating all the points.
-
-50% of the points: it’s a moderate bug. The game continues, but gameplay becomes significantly diminished in quality. Perhaps parts of the map become unvisitable, or the game becomes unwinnable.
-
-75% of the points: it’s a show stopper. The game crashes or becomes unplayable.
-
Satisfactory
-
[3 points] Ask the team to load their main sample adventure and to demonstrate that the “go” command works: attempting to go through an existing exit succeeds.
-
[2 points] Attempting to go through a non-existing exit fails with a helpful error message from the engine.
-
[5 points] Each room can be worth a different number of points in the adventure file.
-
[5 points] After moving around through some rooms in the sample adventure, the “score” command seems to work correctly.
-
[3 points] The main sample adventure has at least 5 rooms, and you can successfully move through them.
-
[2 points] The secondary adventure file exists, and you can load and play it.
Good
-
[5 points] Each item in the adventure file can be worth a different number of points.
-
[5 points] It is possible to move items between rooms.
-
[5 points] The player’s score depends upon which room each item is located within.
-
[3 points] There is a winning condition, and the engine notifies the player when they achieve it.
-
[2 points] The main sample adventure has at least 3 items.
Excellent
-
If the team happens to have implemented all three augmentations, then before proceeding, ask them to pick two to be evaluated.
-
[20 points] One of the three augmentations has been implemented. It involves the game adapting to the actions of the player in a way that depends upon the game state. The sample adventures demonstrate the augmentation. More specifically:
-
Doors, locks, and keys:
-
[10 points] Exits can be blocked by doors, which can be unlocked with keys.
-
[5 points] Door state (locked vs. unlocked) persists.
-
[5 points] Each door can have its own key.
-
-
Dynamic descriptions:
-
[10 points] The items in a room can change its description.
-
[5 points] The items in the adventurer’s inventory can change the room’s description.
-
[5 points] Whether the adventurer has visited the room before can change the room’s description.
-
-
NPCs:
-
[10 points] There are verbs that can be used to say phrases to NPCs, and the NPCs can respond to different phrases in different ways.
-
[5 points] NPCs have some state and adapt the conversation based on what phrases the adventurer has said in the past.
-
[5 points] It is possible for the adventurer to get items from NPCs by saying the right phrase(s).
-
-
-
[5 bonus points] A second of the three augmentations has been implemented. Grade both augmentations on the 20 point rubric above, then take the lower-scoring augmentation score, divide by 4, and make that the number of bonus points. Potentially a team could earn 105 out of 100 points on this rubric.
Coding Standards
The “small fix” rubric does not apply to these. The submission must pass these standards out-of-the-box, just as downloaded from CMS.
-
If the submission does not pass its own
make test
, it automatically receives a -1 for Testing. -
If the submission cannot build its documentation with
make docs
, it automatically receives a -1 for Documentation.