Student Teams Develop Virtual Reality Programs to Showcase Dual VR Devices
San Diego, June 23, 2017 — Qualcomm Institute research scientist Jurgen Schulze runs the institute's Immersive Visualization Laboratory. At the same time, he has been a lecturer and now an Adjunct Professor in UC San Diego's Computer Science and Engineering (CSE) department to teach computer graphics and virtual reality to computer-science students. During the spring quarter, Schulze taught Virtual Reality Technology (CSE 190), and in place of a final exam, his students were required to create a dual-user virtual reality (VR) program. To meet the dual-user requirement, each team of two students (and one student working solo) had to integrate two types of VR devices in a VR application: an Oculus Rift head-mounted display, and either a Leap Motion hand sensor, or a smartphone running a VR app.
“The goal was to teach state-of-the-art VR technology,” explained Schulze. “But by requiring that the students create their own VR applications, the project gives each student a visceral understanding of both the potential and the limitations of today’s virtual reality hardware.”
In mid-June, Schulze kicked off the CSE 190 showcase with a recap of the rules and grading, then introduced an hour of 'lightning talks', giving each two-person team approximately one minute to explain what they created and, where possible, to show video of the VR projects in action.
From the very first of 29 presentations, it was clear that students recognized that the dual-user requirement was a good fit for pitting player versus player (PvP). Only one team, however, opted to pair the Oculus Rift with an iOS smartphone device, while also integrating use of the Google Cardboard VR headset to view the smartphone images in 3D. Jiasheng Zhu and Xinghang Li's "War of Crystals" is a fighting game between crystal soldiers, each controlled by a player using a Rift headset. The students programmed the Rift’s Touch controllers to vibrate if the player hits an enemy soldier. “Toy Battle VR” by Josh Anthony and Andrew Hwang involved toy guns in the garden, while Robb Cornwell and Jesse Zhou developed “Beach Battle Bots” for the Rift and Leap Motion. It allows two players to get out their aggression on the beach without hurting each other. [Watch clip of “Beach Battle Bots” ] War is also the metaphor behind "Charge!" Developed by Hoang Tran and Nikhilesh Sankar, it’s another PvP game with players protecting their own castles, and opponents sending out units to attack it. [Watch clip from "Charge!" ]
A blend of shooting and science-fiction themes was present in four apps. In "City Apocalypse", students Hao Tu and Olujimi Olugboyega imagined a city under attack from a UFO, and the goal is to shoot down the flying object before it can destroy the metropolis. The player uses the Rift's right controller to move the gun and point to the target overhead, then pulls the right trigger to shoot (or hold the trigger down for a machine-gun effect). The second player operates the UFO using hand signals captured by the Leap Motion sensor, then using the mouse to aim and shoot missiles. "Beachhead VR" exchanges a UFO for an airplane flying over a city and a shooter with a gun aiming to destroy the plane. The Rift user controls the gun, while the other player controls the plane using hand movements to pilot it out of harm’s way. The app was developed by Yucheng Zhang and Zhuoqun Xu.
"Aliens v. Player" pits an alien mastermind (using Leap) against a sole survivor (using Rift). The Rift controllers operate dual laser pistols to shoot at the alien Daleks (half-human robots from the fictional Dr. Who universe). For a different kind of shooting game, Bailey Yee and Clark Wu created "Fishy Business." In it, players shoot "whale blasters" to destroy passing ships that are accused of killing whales in their fishing nets. (The subtitle: "Revenge of the Whales").
While war games were popular, most CSE 190 final projects opted to create sport and other traditional games remade for virtual reality. The all-female team of Angela Lin and Jessica Tran introduced "Air Hockey", with one player using the Oculus Rift, and the other hand gestures captured by the Leap sensor. In presenting their game, the students noted that the Leap interface was tiring on the arm. (On the other hand, they noted, this could make it a popular interface for anyone interested in strength training or doing more cardio.)
“Air Hockey” had 3D graphics but, like regular air hockey, it's played on a flat, two-dimensional, albeit virtual surface. A competing team, however, was more ambitious. Chen Liu and Ziqi Gan created “3D Air Hockey”. "We were inspired by 3D chess, and we transformed the essential components of Air Hockey into a true 3D version," explained Liu during the demos in CSE’s VR Lab following the formal presentations. Each Rift controller becomes a paddle, and the Leap Motion device allows the player to move around in the virtual space and change his or her viewpoint. Ultimately the goal is to get the ball into one of three goals on the far (virtual) wall, but it's not easy to do because it bounces off all the virtual walls (delineated by bounding boxes) and never stops.
Ping-Pong and Pong
The single most popular type of game developed by CSE 190 students was table tennis -- ping pong. Out of the 29 VR apps created for professor Schulze's course this spring, nearly half were based on ping pong. Among the applications: Ping Pong Simulator, Ping Pong Trainer, VR Table Tennis and VR Pong! All of the games required many of the basic tasks in developing all VR environments: creating bounding boxes, rendering textures, setting the physics of the ball, detecting points of collision, and integrating the software development kit of both the Rift and the Leap Motion device, plus background music or noise and sound effects. “Ping Pong Simulator” (by Tian Yang and Derun Gu) was designed so one player could play with the Rift, the other with Leap Motion, while in “Ping Pong Trainer” the player uses Leap and hand gestures to throw training balls to the player.
Students Marlon West and Dana Kimball designed “VR Table Tennis” in a virtual room with a simple goal: to bounce the ball onto the wall behind the other player. In the presentation, West noted that "the Oculus Rift application acts as a server, so all physics calculations are performed there and positions are transmitted to the Leap Motion application." Each player has to compete with different strengths and weaknesses: the Rift player can control the orientation of the paddle, whereas the Leap player has much wider areas in which to use the paddle
“Pong Rules!” by Jonathan Pham and Mou Sun created a VR version of the computer game Pong in 3D space -- a space designed to look like the courtyard in front of the CSE building. In it, both players use their Rift and Leap devices to control shields. The ball accelerates as the game goes on. Another app called “VR Pong!” was developed by David Ruble and Nima Ganjehloo. It’s a single-player game in which the sole player travels in a forest where he or she must use a shield and bounce projectiles to win.
In real Pong, the player had to hit the ball, but Connor Smith and Anish Kannan turned the game around, forcing the player to dodge the ball, or in this case, to dodge watermelons thrown at the players. They developed “SUPERBLOCK" from scratch using C++ and OpenGL. The Rift must dodge the watermelons, and the Leap user defends the space with both hands. The game is over when a user is hit or fails to prevent a watermelon from hitting the back “wall”. In the demo video they presented, Kannan wore the Oculus Rift headset, dodging and contorting his body nonstop, while playing with the Leap device was far less taxing for Smith. [Watch clip of “SUPERBLOCK” ]
Another application called MasterHandBall also took inspiration from Pong: Kevin Cao asked, "Have you ever wanted to play 3D Pong with some person and then never win?" Cao and Geovonni Najera came up with a game that has no win condition. The ball increases speed with every bounce, and goal walls reset the ball with random trajectories.
No-win, cooperative games were in the distinct minority among CSE 190 student developers, but they can be highly addictive anyway. Case in point: "Lightsaber Training" by Joshua Huang and Pedro Coutin-Portuondo. The VR app allows players to practice Jedi skills with virtual lightsabers, and the game never ends because it's meant to be a training program.
Students found inspiration in other games that they could adapt for use in a VR environment. “Simon VR” took its inspiration from the children's game. In VR, the players manipulate virtual buttons and interact in real time through the Oculus Rift goggles, and the opponent must replicate the same series of moves to match the pattern set by the first player. Student developers Nathan Nguyen and Justin Harris believe the app could be easily extended for use by multiple players armed with head-mounted displays. [Watch clip of "Simon VR" ]
Then there is "Catch". Unlike playing catch in real life, virtual catch has only one user pitching the ball (using hand signals via Leap) and the Rift user must catch it. Creators Andrew Han and Tianyang Li proudly pointed out that they integrated sound effects for throwing and catching, as well as cheering crowds (to reward a good catch). Christy Ye developed "Target Practice" in a similar vein. Two players compete to shoot a target within a designated time limit. The Leap user has to give keyboard commands, while the Rift user has the option to use its controllers and/or buttons.
Another form of catch is used in the offbeat app "Sandwich Maker". Students Ryan Tjio and Carmen Tin designed the cooperative app in which the Leap player throws ingredients to the Rift player, who makes a sandwich with them.
In “Snowball Fight,” the application developed by Jamie Zhang and Prasanth Abraham, both players fight against a virtual opponent, using different commands to either throw a snowball or to reload one. The Rift player can move around by changing his head position, or use the right controller to point and target where the snowball should go. The Leap player points by extending an index finger, and taps the computer's spacebar to shoot or reload -- all in the context of a beautiful Japanese dojo.
Another cooperative app, "Fruit Samurai VR" (pictured at top), was developed by Guillermo Valdez and Eric Duong. The Leap user wields a Japanese katana sword to slice fruits for points, and the Rift player tosses the fruit to be sliced. Swords are apparently hot properties in VR: Junhao Xie and Dale Tubat came up with a game called "Sword in Hands."
Talk about cooperative: "Antisocial VR" is a multiplayer application for drawing. Players share drawing in 3D, whether they're using a Rift, Leap or Leap with Google Cardboard goggles. Creators Yining Liang and Sebastian Dang figured that students who are antisocial could use the app to produce joint works of art with other shy students. [Watch clip of "Antisocial VR" ] Another student project called "Paintball Artisans" has all players painting an image on the ground. In this case, if the other player messes up your painting, you can shoot paintballs at them, or reset the canvas.
Other interesting apps included "Maze 1995", an homage to the Windows 1995 maze screensaver. In it the Rift player navigates the maze why avoiding traps (rocks) set by the Leap player.
"Hot Hands VR". Students Ty Stahnke and Garrett Brush call “Hot Hands VR” a "hot potato or ticking time bomb game", with players trapped in a box with a time bomb. The bomb bounces against walls as the countdown continues, and players gain points by either avoiding an explosion or bouncing it to another player before it explodes. [Watch clip of “Hot Hands VR” ]
Each final project accounted for 25% of a student’s grade. The project took the place of a final exam. There were also three earlier projects and a midterm. Grading the final VR projects was weighted heavily in favor of the technical quality, followed by the user interface and “sheer creativity.”