Homework Assignment 4: Final Project
For this assignment you can obtain 100 points, plus up to 10 points for extra credit.
This homework assignment is due on Thursday, March 21st at 3:00pm.
The project is designed to be a team project for two people.
The goal of this project is to create a 3D VR application for the Oculus Rift with either the Touch controllers or the Leap Motion. The following rules apply:
- The application cannot be based on any of the previous homework projects.
- The application cannot use input devices other than Touch or Leap. Specifically, it cannot use keyboard or mouse.
- Important: your application is not allowed to use:
- the A/B/X/Y buttons on the Touch controllers.
- the joysticks on the Touch controllers for the movement of the user/player.
- Each team (regardless of number of members) has to implement at least 6 skill points worth of technical features, based on the list below.
Technical Features and Skill Points:
- Selection: 1 skill point (+1 for non-standard methods, i.e., NOT ray-casting or virtual hand)
- Manipulation: 1 skill point
- Wayfinding: 1 skill point
- Travel: 1 skill point (+1 for non-standard methods, i.e., NOT teleport, steering by head/controller direction, etc.)
- System Control (e.g., menu): 1 skill point (need to have at least 2 different types of widgets, such as action/toggle button, dial/slider, choice list, sub-menu, etc.)
- Symbolic Input (e.g., text or number input) with at least 10 symbols: 1 skill point (+1 if done with voice recognition - needs to have 80% recognition rate or better)
- Spatial Audio: 1 skill point (all spatialized sounds need to have a visual representation)
- Multi-User: 2 skill points. Link up two computers to allow two users to collaborate in VR. Each user needs to be visible in VR for the other user as an avatar (minimum: head and hands).
We may extend this list throughout the duration of the project.
We may allow skill points for other things on a case by case basis with prior instructor approval.
You are allowed to use Unity, Unreal, Lumberyard, OpenGL/C++ for the implementation. While the use of asset stores is allowed for textures and 3D models, any other use of assets from the asset store requires permission from an instructor.
You are welcome to use the TA/tutors' office hours to brainstorm ideas with them, as well as for help during your work on the project, like for the other homework projects.
Here is last year's Youtube playlist of the final projects, to serve as inspiration.
Your final project score consists of three parts:
- Documentation (10 points)
- Presentation (90 points)
- Extra Credit (10 points)
Documentation (10 Points)
You need to create a blog to report on the progress you're making on your project. You need to make at least two blog entries to get the full score. The first is due on Monday, March 11th at 11:59pm, the second is due on Monday, March 18th at 11:59pm. You also need to make a short video clip of your application, and reference it in your blog, as well as add it to the final presentations Youtube play list (for which the link will be on Piazza) by 3pm on presentation day.
The first blog entry needs to contain (at a minimum) the following pieces of information:
- The name of your project.
- The names of your team members.
- A short description of the project.
- Which technical features you are planning on implementing.
- What you are planning on spending your creative efforts on.
- One or more screen shots of your application.
In week 2 you need to write about the progress you made, and mention any changes you have made to your project or team. You also need to post at least one new screen shot.
The video is due on presentation day and should be no longer than 2 minutes. You don't need to use editing software, but you should use software to capture your screen to a video file. Screen recording software, such as the Open Broadcaster Software, is available free of charge for Windows and Mac, on the Mac you can use QuickTime. Audio is optional. Embed or link to the video from your blog.
You are free to create the blog on any web based blog site, such as Blogger or WordPress. You should use the same blog each time and just add new blog entries. You are free to add more entries than the required ones.
The points are distributed like this:
- Blog entry #1: 3 points
- Blog entry #2: 3 points
- Video: 4 points
The Application (90 Points)
The final project has to be presented during our final exam slot on Thursday, March 21st starting at 3pm in CSE 1242. The agenda for presentation day will be:
- 3-4pm: video screening in room 1242
- 4-5pm: group A science-fair style demos in B210
- 5-6pm: group B science-fair style demos in B210
The points for your project are based on the demonstration, and will be distributed as follows:
- Technical quality: 60% (10% per skill point)
- UI Usability: 25%
- Creativity: 15%
The scores will be determined by the course staff. You need to let a course staff member try your application so that we can determine the UI usability score. Creativity will be subjectively graded by the course staff.
Extra Credit (10 Points)
We want to reward projects that go beyond what we ask for, or are especially innovative. Areas we will particularly consider for extra credit are:
- UI widget design
- UI concept
- interaction concepts
- overall aesthetics
- entertainment value
Please contact the course staff with ideas for other things you think should qualify for extra credit.
Even without prior conversations with the course staff, we may give you extra credit for your project.