Before starting the checkoff, the student should have Intellij open with their project code
- The Instructor will first check that the code open in Intellij is opened from their local repo.
- Then the Instructor will check the local Git history to see if it matches the Github history, and to make sure the latest commit is before the due date.
- The due date is the same as the due date for Phase 2 on Gradescope
- If the commit date is late, the student receives a 50% point deduction on the lab demo checkoff grade.
- Each requirement can either be evaluated as full points, half points, or zero points
Basic Game Functionality (39 points total)
- The Instructor will ask the student to run their project and will check for the following features
- Game has a main menu screen with a New Game, Load, and Quit option (1 point)
- The Instructor should hit “n” and check that the game prompts for a seed (1 point)
- The Instructor should type in a few random numbers and hit “s” which should immediately start the game (2 points)
- At this point the game should be running and there should be a visible world
- World has visually distinct walls and floors (2 points)
- World has hallways which are 1 or 2 tiles wide with at least 1 containing a turn in it (3 points)
- World has some number of rooms that are connected via hallways (6 points)
- The Instructor will now try the basic commands that should be available during gameplay
- Instructor should hit WASD randomly and check the player movement is consistent with the key pressed (2 points)
- Instructor should hover 3 different tiles and make sure their names show up somewhere on screen and the names make sense (5 points)
- Instructor should move into a wall and make sure the player stops at the wall instead of moving into it (2 points)
- Instructor should type “:q” which should quit the game and close the program. Instructor should remember world layout at this point (2 points)
- The program is now closed and we will test the load feature
- Student should run the game again after it has been closed and the main menu should appear
- Instructor should hit “l” and the game should immediately start (2 points)
- Instructor should check that the world layout is exactly as it was before closing the game (6 points)
- Instructor will run through the basic commands again (listed above) to make sure the game still works (5 points)
Randomness (21 points total)
- The Instructor should close the game again and will begin testing to see if worlds are randomly generated.
- The student should explain to the Instructor where they are making use of randomness and make mention of any pieces of their world which is consistent across all seeds
- Instructor should check that the use of randomness does not lead to a severe limitation on the variety of worlds (ie. randomly choosing a world layout from a finite set of worlds)
- The Instructor should open the game 3-5 times, making sure to use a different seed each time
- The Instructor will be looking for your game’s ability to generate variety in both world structure and player experience while exploring that world. What this means is when two different seeds are used to generate new games, these games should not feel identical (or close to identical).
- The grading breakdown is as follows:
- 21 points: The worlds are mainly randomly, as described by the above section.
- 10.5 points: The world exhibits a few random elements, but generally looks the same
- 0 points: The world contains no random elements.
Ambition Points (20 points max)
- The student should state and demonstrate the features that are in the Ambition category
- In the space below, the Instructor should write in the features the student successfully demonstrated and their point values based on the spec
- The list of possible ambition points can be found here