Group Project
As part of this course, you will build a larger, more polished VR app! You will work in a group of 4-5 to create a 5-10 minute story, game, or simulation. This can be on any topic that your team chooses (it does not have to be serious or have any societal benefit). The only caveat is that your project must demonstrate proper VR design principles and have an area of technical merit.
Please take a look at some example projects: Marco Gillies's VR Projects and VR Masters' Projects
I am expecting our projects to be similar in scope and size.
App Type
You can develop a story, game, or simulation. Depending on which you choose, you will need to follow different requirements for your app's topic and execution:
- A story
- Must be interactive, not just scripted
- Must have multiple environments/scenes
- Why tell this story in VR as opposed to on a screen?
- Are you bringing the user into the story?
- A game
- Can be based on an existing game, or a brand new idea
- Must have multiple scenes or levels of difficulty
- What VR interactions are you leveraging?
- Do you use head motion to dodge, hands to punch, etc.
- A simulation
- Must focus on natural user input (hands/speech/etc.)
- Must have a goal(s) to achieve (the app cannot be solely "exploration")
- Recommend making the app "gamified" to help motivate users
- Why simulate this in VR?
- Is it something that is dangerous? Expensive?
- Or your own idea!
- Talk with the instructor to discuss before making the pitch
- Examples: VR meditation exercises, VR world builder app, etc.
Project Requirements
You must follow the specific requirements as listed for your given app type above (story, game, simulation). In addition, there are requirements for all projects:
- Must have a tutorial, diagram, or other built-in guidance to teach the user how to interact
- You can only help them put on the headset and hold the controllers
- Must be replayable – at the end of the experience, you must be able to reset the app or quit
- Must be suited for VR
- Your topic and execution must follow DICE principles or similar
- Must not cause significant VR sickness
- Must be PG (or mild PG-13 at most)
Design Principles
For your project, you must explicitly follow specific VR design principles or guidelines we have learned (or will learn) in class. I will ask you to report on how you avoided VR sickness, guided users, created affordances, etc.
You will be asked to describe how your application incorporates the principles learned in class to satisfy each design area. For instance, I may ask the following questions:
Immersion/Presence:
How did you immerse the user (in terms of SEMIVIP)?
Were you able to create a sense of presence?
Interaction:
What can you do in the experience?
What interaction method(s) were available to the user?
How intuitive were the interactions in your experience?
What types of affordances/signifiers did you use?
Locomotion:
What type(s) of locomotion did you use?
Why did you pick this specific locomotion method?
Perception:
How did you coordinate the user's attention?
How did you avoid VR sickness?
Optimization:
Does the app run on the headset at the full framerate?
Technical Merit
Your project must have at least one area of technical merit. What this means is that you must develop a locomotion method from scratch, implement high-quality spatial audio, utilize augmented reality, etc. I have listed a few below to choose from. You may also propose something that is not on the list, as long as it has a significant technical component and helps you learn the intricacies of VR app development.
Ideas:
- Implement a custom locomotion method from scratch
- This can be one from the locomotion vault (like redirected walking), or a brand new idea
- Create an app that uses a custom interaction method
- Implement an existing selection/manipulation method from scratch
- Utilize motion or hand gesture recognition
- Create an augmented reality app that uses the Quest 2's passthrough capabilities
- Create an app that uses the Quest 2's hand tracking (no controllers!)
- Interact with characters and game objects using a speech interface
- Implement advanced AI for non-player characters
- Such as characters that respond to the user's actions, etc.
- Build custom soundscapes and fully utilize spatial audio
- Integrate a customizable avatar for the user
- Make a networked multiplayer experience
Project Pitch
After forming a team, you will need to submit a project pitch and paper prototype. This prototype must follow the same requirements as HW 3 (except be longer in order to fill a 5-10 minute experience).
In this project pitch, you must detail what kind of app you are creating, the topic of the app, as well as how your app will fulfill some of the design principles and area of technical merit as described above.
Project pitches are due before Fall Break -- I will use the time to review them and give you feedback in case anything needs to change!
Sprints and Deliverables
We will have three two-week sprints for you to complete your project. The first sprint will begin after Fall Break. Each sprint will have different deliverables, so make sure you check them! In general, you will be required to submit a progress report/reflection and video with each sprint. I will also require short planning check-ins with me during class at the start of each sprint, in order to see what work is next and if you are stuck on anything.
You do not need to follow a Scrum process (this isn't CS 345); however, I will need to know your planned work for each sprint, the distribution of work amongst team members, the acceptance criteria (how do we know when a task is complete), and other progress.
Sprint 1 (Oct 24 - Nov 6)
You will create a functional prototype (Minimum Viable Product) of your VR app. This should be close in quality to your individual HW 4 submissions. You will give a short presentation in front of the class detailing your vision for the app and show off the current prototype. Expect to give and receive feedback on your prototypes! You are also required to submit a video showcasing your prototype, just like HW 4.
Sprint 2 (Nov 7 - Nov 17)
You will continue work and iterate on your project over the next two weeks. This will result in another minimum viable product (aka your app must be working). You are also required to conduct a user evaluation midway through the sprint (during the first week) with at least two adults who are not in the class (friends and family are fine). This will involve a short interview and questionnaires, which you will submit as part of this sprint. You will submit a progress report/reflection alongside another video recording of the current state of your app.
Sprint 3 (Nov 27 - Dec 8)
You will iterate on your project and specifically focus on polishing it for the final deliverable. You are also required to conduct another user evaluation midway through the sprint. You will submit a final project report and video before the final project showcase.
Final Project Showcase
We will not have a final exam; however, we will have a showcase during our exam slot. You are expected to come and try out everyone's VR projects. If possible, we will also have guests from the department try out your apps and leave feedback. You will receive a grade based on your participation at the showcase.
Grading
At the start of each sprint, you will plan out the work for the sprint along with acceptance criteria (simply put, how do we know a task is complete?). You will be graded based on how well you complete these tasks, as well as how well your final project executes the vision (which can change, by the way). You will receive a shared grade as a team for each deliverable.
There will also be a peer grading/feedback component where you rate and give CONSTRUCTIVE feedback on other teams' projects. I will integrate this feedback as part of your grade.
Each team member will be expected to perform a fair share of the work – I may make adjustments to an individual member’s grade if it is clear that social loafing or another issue is occurring. If you encounter any issues working as a team, please contact me ASAP!
Late Policy
No late work will be accepted for deliverables. In order for me to give you timely feedback, please make sure to submit before the deadline!