Field of view is incredibly important to the immersive experience. I believe it was John Carmack who described the experience of traditional consumer hardware as (paraphrasing) 'looking at a tiny screen through two toilet paper tubes'. The rift solves this and provides an experience that wraps the entire view. The net gain for the experience is that it greatly expands the ability to suspend the users disbelief that they are not actually physically in the environment they are viewing.
Unity Game Engine
Unity game engine is a reasonably low cost, and extremely full featured, high level approach to creating 3D content. It has built in features like rigid bodies/physics and ray casting that, at least in terms of building up a similar solution from OpenGL, puts the developer (or are they now a "user"?) light years ahead of a hand rolled solution.
The rowing prototype
Sketches, prototypes, models, simulations, and demos have a huge role to play in the design process, product development, and innovation.... A large part of this type of activity stems from the fact that we get to play with what we have built. From this we gain experience that can lead to new insights. We also gain a communications tool that facilitates others in obtaining a visceral, as well as intellectual, understanding of a concept."
This quote is slightly out of context, Buxton goes on to caution that "'Show and tell' is not a legitimate form of research". (2010) I am very interested in researching the scholarship that underpins work in exergaming and immersive technology. At the same time, having never had access to this type of software and hardware up until very recently I didn't know whether there was really anything to the experience of VR. This mock-up gives me that experience.
I created a demo water scene, and animated a camera moving backwards at the speed of a rowing shell. I incorporated the OVR tracking code, and tested the experience on a CII dynamic erg, rowing for about 500m with the goggles on.
I would rate the experience as extremely promising. One of the concerns was the possibility for inducing VR sickness. It was very important for me to start with a very plain demo like the "Tuscany" demo included with the Rift dev kit, move to more interactive demos like Bouncer-VR and Ciess, and then and work up to this. Had I gone straight to a moving rowing shell going backwards through an environment, it would have made for an extremely unhappy result. I am interested to know how researchers initially expose participants to VR in order to get high quality results, and not just neophyte users first impressions of a new experience.
This demo is a little reminiscent of rowing in team boat, where the boat moves regardless of your rowing. I think adding data from the C2 performance monitor would be good, but its not as critical as I thought just in terms of having an interesting playable experience. It would be great to display that data so you can see your progress while you row, but I don't think it's as important as one would think for the avatars speed to be controlled by the erg.
One criticism I've always had of similar projects like rowPro and netAthlon is the emphasis on bringing human models into the environment. In about 1 hour of hacking (preceded by weeks of research) I got a fairly compelling game environment together in Unity. It has nice water, realistic terrain, fairly interesting trees and grass. It wouldn't be too much of a big deal to add buildings or bridges. My complaint about other simulations is that they have fairly nice game environments coupled with extremely poorly animated human models. The rowing motion is beautiful and subtle, and trying to encode that into a human avatar is a really dicey proposition.
Further work, scholarship, development
There are lots of interesting avenues for exploration, including spending more time on environments, both in terms of models and in terms of logic. It might also be fun to try to wire up some sort of simple game controller that I could mount on the erg handle... Even if that was just a single button, it would open up some possibilities for taking this from a fairly basic rowing simulator to an actual exergame.
My goal right now is to do some of the research that Buxton suggests as a requirement for actual scholarship. If you know of papers that are pivotal in Immersive Interfaces, or important for exergaming, or even papers that combine the two, please email me at email@example.com
You can download a demo app for mac here.
On further reflection, ideas for incremental improvement of the demo
A further simple enhancement would be follow a curving (and looping) course to remove the jarring discontinuity at the end of the current course. With that, and taking a large leap, you could imagine working in data from the C2 API such as you might see on the PM4. Even beyond that, you could imagine virtually coaching different workouts. For example a Mike Spracklen (olympic coach) style "powers" workout where you row 20 strokes at a low rating for a maximum power output might move the rower on this circuitous path, and have a display of stroke power versus historical (this workout, previous workouts) data, in order to encourage progress, and maximal performance.
One of the annoying things about the API development is the sort of "type on the keyboard" / "row with one hand" antics of debugging API rowing data. Probably a good future step would be to create a keyboard controlled mockup of the api that I could wire into Unity. Something that has the same Interface as the API layer, but that wouldn't require a rower to be sitting on the erg.
Buxton, B. (2010). Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann.