Monday, August 8, 2016

Machinis Ludo VIII: VR Day

August 19th, 2016 at Williams College


Machinis Ludo 8 is a day of learning about virtual reality through demos and development for invited students and staff from Williams College, NVIDIA Research, and Vicarious Visions (an Activision studio).

We'll be working in Morgan McGuire's computational graphics research laboratory at Williams College, which is supported by NVIDIA, Oculus, and Google.

Due to the practical constraints of VR development and limited space, this will be a closed jam for the specific participants who have already been invited.

Goals

  • Learn about virtual reality and VR software development
  • Gain some experience working in the Unity game engine
  • Prototype a join college-company educational and professional-development exercise
  • Prototype a simple VR experience in a small team
Budget Cuts VR game demo
Notice that "make an awesome VR demo" is not on the list of goals. We'll be developing for only six hours, and for many of us, this will be our first experience with the platform and development tools. Set your expectations low for the quality and features of the VR experience that you produce.

Your product at the end of the day isn't a program, but the new knowledge you've gained and relationships with the people you met here. Expectations should be high for these.

Preparations

  • Read this whole planning post.
  • Play around with our Unity 5.4 starter project to gain basic competence at adding event handlers and modifying the scene.
  • Email me if you prefer vegan meals or have a food allergy. We'll have vegetarian dishes at every meal.
  • Read about how to avoid motion sickness.
Solus VR game
If you're bringing a computer, then I recommend installing ahead of time:
  • Unity 5.4
  • Our VR starter project
  • Valve Steam (includes the SteamVR driver)
  • Oculus driver/"Home" (you can't complete the installation without an HMD, but at least download it)
  • Your favorite art and revision control tools
You're welcome to start development on your project before the VR Day, but keep your scope and plans appropriate to the venue. Whatever you begin should be something that you're comfortable abandoning if it turns out to not be a good fit, or think that you can wrap up in a few hours on site while incorporating ideas and code from others.

Ideas

I recommend focusing on interaction mechanics for your prototype. While all games have controls, audio, challenges, and audio, VR has unique movement and camera opportunities. How will you:
  • Enable player to traverse an environment larger than the tracked space? 
  • Provide without a screen to put a HUD along the borders of? 
  • Direct attention and prevent the player from looking through walls when they are in full control of the camera?
  • Simulate the player character's root motion due to physics?
  • Handle 3rd-person view?
  • Provide real 3D equivalents for gaming conventions such as inventory, view models?
Any one of those would be a great project to prototype, even if just to find out that an idea doesn't work.

Schedule

Arrive by 9:00am, or a little earlier if you're bringing a computer. We'll meet in two rooms, "A" and "B", which will be announced by email to the participants as soon as they are reserved.

In addition to this schedule, we'll run ad-hoc demos of various commercial VR experiences throughout the day. These will include "Henry," Vanishing Realms, the Budget Cuts demo, AudioShield, and the Vive demo suite.

Williams College

8:30am-9:30am Breakfast and planning (Room A)
  • Park in the public (and free) Walden St. lot when you arrive
  • Coffee, juice, bagels, and fruit served
  • Meet the other jammers and set up teams and plans
  • I'll help get everyone's machines set up and online during breakfast

9:30am-12:30pm First VR development session (Rooms A + B)
  • In parallel with this session, brief 10-min demos of good VR telepresence on the Vive.

Hot Tomatoes river-side picnicking
1:00pm-2:00pm Pizza picnic lunch provided
  • at the Green river. Keep cool by wading while eating the best pizza in Berkshire county! 

2:00pm-5:30pm Second VR development session

5:30pm-6:00pm Try each other's VR programs

6:00pm-6:30pm Machine breakdown and lab cleanup

6:30pm-8:00pm Wrap and Post-Mortem Party
  • Dinner provided at Sushi Thai Garden on Spring St.
  • Structured evaluation discussion of the day and VR software development.
  • What have we learned about Unity for prototyping, and VR development in general?
  • What have we learned for planning our next event? Successes and failures.


What to Bring

Dress for warm weather. We'll go outside for lunch if it isn't too hot and there's no rain. The labs are air conditioned, but rise to about 75F when full of people and computers.

Closed-top water bottle or travel mug for your favorite beverage. Open containers are banned from lab because they are dangerous when we're wearing VR headsets!

Computer ("CPU + GPU"). You don't need peripherals or an HMD, just the main case. We'll have on hand many DK2s, Google Cardboard holders (without the phones), and limited Rift and Vive virtual reality head-mounted displays. I'll also provide monitors, keyboards and mice (although you may prefer your own), ethernet cables, power cables, etc. You can probably run a DK2 off a powerful laptop with HDMI output, although a desktop computer is ideal. There are three available development machines in the lab and one demo-only machine.

Headphones (ideally with a long cord). Audio is a powerful effect in VR...as is music for programming without distraction in a big room. Plus, especially if you're using in-ear buds, you don't really want to be sharing headphones with everyone at the jam. We usually play "hacker" industrial/EDM background music in the lab at low volume to set the tone for jams, and you may want to block that out as well if you prefer Bach to The Matrix soundtrack.

Motion sickness is an occupational hazard of VR development, since while you're developing you're going to put yourself into a lot of not-quite-working environments such as spinning rooms and high-latency tracking. I'll provide ginger chews (scientifically shown to be the most effective preventative for many people), Bonine, ibuprofen, aspirin, and assorted other over-the-counter medicines. If you have a favorite or prescription remedy, bring your own.

You may want to bring a gamepad. I have four wired Xbox360 controllers and one wireless controller. That's enough for every team to have one, but if you end up designing a multiplayer experience or like to use a gamepad in the editor it would help to have a few more on hand.





No comments:

Post a Comment