Thursday, July 9, 2015

Machinis Ludo VII: VR Jam

2015-08-03 9:00 am EDT - 2015-08-04 5:00 pm EDT. 
Open to everyone with prior registration. E-mail to join the jam!
Make a VR experience that is this much fun

The seventh Machinis Ludo game jam theme is: virtual reality. Given 32 hours, create a virtual reality experience. Keep your target modest--you aren't trying to make an immersive 3D game but instead a small and intense vignette of an alternative reality.

The jam will be run on the Internet, through this blog. We also have physical sites at Williams College and Stanford University where many people will gather to work together.

Our official dates are start of business on August 3 to close of business on August 4 in the Eastern US time zone. If that's inconvenient because of your time zone, feel free to shift to the equivalent hours. We try to keep everyone going at roughly the same time to build camaraderie and mutual support. However, the point of the time limit is to focus our efforts and allow ourselves to fully commit for a limited time. Some of us will simply work two normal days, others will pull an all nighter to squeeze in every last moment. But don't run yourself ragged and overcommit by expanding beyond the 32-hour limit.

As always, the rules are:
  • All application development should be during the jam. You can set up your library infrastructure and assets beforehand if you wish.
  • You own what you develop. If you're working in a multi-person team, work out the ownership ahead of time with your partners.
  • Post a short design to the blog at least 24 hours before the jam begins to this blog.
  • Post regular progress updates with screenshots during the jam to this blog.
  • Post a post-mortem at the end describing your final result. Links to binaries or web games (and source code) are encouraged but not required.
  • If you've created a VR experience by the end of the jam, then you win!
Read the older posts on this blog to see what kinds of information people post and the level of detail of designs.

Participants can use any VR platform that they wish. Many of us are using Oculus DK2 with the G3D Innovation Engine on Windows. We'll release a sample VR stub in the G3D subversion repository on CodePlex before the jam.

GearVR, a custom CAVE, a Power Wall, HTC Vive, Kinect, NVIDIA 3D Vision, and Tobii EyeX are some other options. For the purpose of this jam, a VR platform must have at least one of the following:
  • Stereo rendering
  • Eye/head/hand/body tracking
  • Position-tracked 3D audio
  • Immersive display
Note that you don't need a modern VR HMD to participate. You could create a virtual reality using a webcam and some simple tracking, an audio-only experience, or anaglyph stereo.

It is common to think of virtual reality experiences as extensions of today's first-person games. However, due to the fast, disorienting motion in those games and long distances traveled, those are likely not good experiences for today's VR technology. Instead, experiences that focus on a limited area and more deliberate action are likely to be rewarding. 

Some techniques that we know enhance the VR experience are:
  • Integrating a physical avatar for the viewer
  • Moving the avatar according to the tracked head position
  • Matching the player's pose to the avatar's (e.g., seated player for a driving game, standing player for a golf game)
  • Positional 3D audio
  • Multiple depth cues: texture (perspective), occlusion (parallax), shadows, and lighting as well as stereo and head-tracked rendering
  • Physical props: place real desks, chairs, flashlights, and other objects (or similarly-shaped proxies!) in positions matching their virtual counterparts
  • Keep objects on which the player will focus about 1m away from the viewer
  • Limit motion that is not due to the player's own body
  • Track hands and objects in the space
  • Give additional feedback beyond touch, sight, and sound: smells, wind, acceleration due to gravity
Some experiences that we've brainstormed for the jam are:
  • Reading a book on the beach
  • Watching a video on a wide-screen TV in a living room
  • Watching a video in a movie theatre
  • Playing Pac-Man in an arcade
  • Interact with a small voxel or heightfield landscape presented on a table
  • Floating through clouds
  • Third-person racing game
  • Gaze-driven interaction like SightlineVR
  • Biking on a fixed track through a scene
  • Any cool ShaderToy--if you can get it to run at 75 fps or higher!
  • A virtual computer displaying a live, interactive desktop
  • A user interface with traditional GUI elements presented on a virtual screen
  • Driving a RC car (with video passthrough from a real object on the ground)
  • Playing Tetris on a skyscraper
Several jam participants are affiliated with game-industry companies. Nothing produced in the jam is implied to be a future product of one of those companies. We're all just taking time away from our regular jobs to increase our skill sets and recharge with the rare joy of unconstrained game programming.

No comments:

Post a Comment