This was one of our earlier prototypes and began as an attempt to create a full game with only Oculus Rift gesture controls. From the beginning of our project we has a fascination with the idea of utilizing the Oculus in a way that would make it the only device you needed, acting as both the controller and the display. And so for this prototype we focused making a game where the only control was shaking your head around to manipulate an on screen object.
The game starts with three different colored balls in a space basketball court. To start the game you shake your head left to right. Once the game the balls will float around the space until hit by the walls of the court, then they will move around at a constant speed. You control the court’s movement with your head, as you move your head around, the court will move with it. By controlling the court you need to bounce the balls around and score baskets. However, only the ball which is the same color as the court will count as positive points. Other balls will take away points, and watch as the correct color changes every few seconds. Also, every few seconds one of several power ups will appear outside the court. Collect them to gain an advantage in the game. The game lasts 60 seconds, try to get as many points as you can.
Oculus Rift Controls:
Shake head to start or restart the game.
Move head around to control the court.
Oculus Rift Development Kit
Running the Prototype
Connect the Oculus Rift as specified in normal operation to a laptop
Take some time to adjust the lenses on the Oculus Rift so that the image on screen is as clear as possible
Most likely you will have to adjust the angle and location of your webcams to get the best effect
The project was plagued by a number of issues from the beginning. The chief of which was the lack of a decent physics engine. We found that with Unity, the engine we were working with, we had issues with mesh colliders and the rate at which Unity physics updates its collision detection. To put it plainly, we had to put a cap on the speed at which the basketballs could achieve or else they would move too fast for Unity to track them and fly out of the court. This meant that it was harder to get the basketballs bouncing around, and the user needed to really throw their head around, which in turn caused fatigue. This is why we gave the balls a constant velocity, otherwise it was too much to ask of the users. On a side note, something to consider regarding the Oculus Rift as a platform is the strain caused by playtestings. There were times during our development where we had to take time out to rest our heads or even lay to stop the discomfort. It’s something that is going to need to be addressed when developing VR games, either by shortening the hours of QA testers or perhaps by alternating their focus between VR and non-VR games.
The other major issue we ran into with Space Bball was that people did not identify with the court and wanted to control the basketballs. However, we feel this is more a matter of improperly branding our game and not indicative of an issue with purely Oculus games or gesture controls.
What went well with this prototype was that we were able to manipulate the gesture controls in a way that, despite all the problems, gave us a fun, playable game. This speaks to the flexibility of gesture based controls with the Oculus. With some work you can make the Oculus do just about anything you want.