So now that I got a Vive Pre there were no more excuses.
Once I got over the initial binge of trying out the other devs' available demos (SO AWESOME) it was time to get down to business.
The first thing I did was decide that it was too hard to automatically detect when the user was intending to RIP as opposed to simply moving around their room-scale space, at least in the short term. What I did find though, is that gripping the grip buttons on the controllers while running (holding them like a baton) was surprisingly natural feeling and actually gave good use to those buttons. Being able to define intent to RIP made it much more reliable.
Since I'm more programmer than artist, I threw it into the scene from Unity's Tanks! tutorial to spruce it up a bit and sent it off to some other friendly VR devs. I got their feedback and felt like I was starting to be on to something.
At this point you were still running in the direction that you were looking, which isn't the way humans work, so the new goal was to decouple head movement from body movement.
My first semi-successful approach at that was done by finding the mid-point of the two hands, casting a ray from the HMD directly through that point, and heading in that direction. This was much better, because you could look around while running, but if you moved your head side to side, that end point of the ray would pivot it on the previously defined mid-point so you would run in a zig-zag and you basically felt like you were drunk.
I tried a few more approaches that didn't work much better and eventually called it a night, only to immediately come up with an idea upon getting to bed.
Thinking about it now, it seems obvious.
Using the head movement for measuring running always made sense, but having it tied to direction was only out of necessity when it was the only means of input. Having it tied to your hands didn't really work either though because you can move those things all over while running. If your head doesn't determine direction and your hands don't determine direction, what does?
I had discussed with others the idea of strapping my controllers to my feet and doing something that way and it could likely work, but I was thinking if you are trying to run in place, your feet are going to be shuffling around everywhere, so trying to reliably use their direction for tracking likely wouldn't work, which is when it hit me.
Your hips always point the way you are running, because that's how legs work. After an excruciating two days of day job and life stuff I was finally able to implement it. Doing so was actually easier than I anticipated all because of the beauty of positional tracking.
Basically, my thinking was that someday (hopefully soon) we will be able to have additional trackers from Valve, whether that's pucks or something else, so that's what I would emulate. Since all I had for trackers at the moment were my controllers I configured it so that the direction of the trigger on the left controller indicates the direction you are going to be travelling. I securely mounted it front and center on my waist and we were ready to run.
Now, I wish I could say I made this up, but as I was working on this I was listening to a Spotify radio station based on my Linguistics playlist and the song Que Sera by Wax Tailor came on. I had hit the Unity play button and right as I was situating the HMD, out my speakers flows
I started running and it had worked. Not perfect, but it felt great.