**Before starting the checkoff, the student presenting the demo on their machine should have Intellij open with their project code and the BYOW main menu displayed. The student should also have a termnial open in the proj3 directory, checked out to the commit containing the code they wish to demo.
git status should be at a clean state (no changes to commit). The student should also have an on-screen keyboard displayed. **
- 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 selected commit is before the due date.
- The due date is the same as the due date for Phase 2 on Gradescope
- If the date for the selected commit 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 World Functionality (156 points total)
- The Instructor will ask the student to run their project and will check for the following features
- The world has a main menu screen with a New World, Load, and Quit option (4 points)
- The Instructor should hit “n” or “N” and check that the world prompts for a seed (4 points)
- The Instructor should type in a few random numbers and hit “s” or “S” which should immediately start the world (8 points)
- At this point the program should be running and there should be a visible world
- World has visually distinct walls and floors (8 points)
- World has hallways which are 1 or 2 tiles wide with at least 1 containing a turn in it (12 points)
- World has some number of rooms that are connected via hallways (24 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 (8 points)
- Instructor should hover over 3 different tiles and make sure their names show up somewhere on screen and that the names make sense (20 points)
- Instructor should move into a wall and make sure the player stops at the wall instead of moving into it (8 points)
- Instructor should type “:q” or “:Q” which should quit the world and close the program. Instructor should remember the world layout at this point (8 points)
- The program is now closed and we will test the load feature
- Student should run the world again after it has been closed and the main menu should appear
- Instructor should hit “l” or “L” and the world should immediately start (8 points)
- Instructor should check that the world layout is exactly as it was before closing the world (12 points)
- Instructor will run through the basic commands again (listed above) to make sure the world still works (10 points)
- Instrcutor will quit and load again and make sure that the basic commands work (12 points).
- Instructor will check that “q” or “Q” alone does not quit the game (10 points).
Randomness (84 points total)
- The Instructor should close the world 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 world 3-5 times, making sure to use a different seed each time
- The Instructor will be looking for your world’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 worlds, these worlds should not feel identical (or close to identical).
- The grading breakdown is as follows:
- 84 points: The worlds are mainly randomly, as described by the above section.
- 42 points: The world exhibits a few random elements, but generally looks the same
- 0 points: The world contains no random elements.
Ambition Points (80 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
- The Instructor will then ask the student to run
git checkout masterin the student’s local repository.