Ridley Software Logo

Lunch at the bottom of the sea

Introduction

"If your simulation is trying to deal with an unrestrained, tracked humanoid you are going to lose, each and every time."

When I was very young, I read a story by Willard Price that featured a scene in which the main characters try to eat lunch while sitting at the bottom of the Pacific Ocean. They learn how difficult even simple tasks are to perform when your operating in an alien environment:

"Hal and Skink followed his example, and the process was repeated until all the sausages were gone. But there still remained the puzzling problem of how to drink a bottle of Coca-Cola ten fathoms beneath the sea.

When Dr Bake prised off the cap of his bottle a strange thing happened. Since the pressure outside was so much greater than that inside the bottle, sea water immediately entered and compressed the contents. But a little sea water did no harm, and Dr Blake pressed the mouth of the bottle to his lips.

By breathing out into the bottle he displaced the contents which thereupon flowed into his mouth. He drained the bottle. When he took it from his lips the sea water filled it with a sudden thud. Hal and Skink faithfully followed the same procedure."

I am often reminded of this recently when reviewing the current state of VR development. What a tremendous challenge we've chosen to pursue . It makes an underwater meal look very easy in comparison.

Thanks to John Carmack,. Michel Abrash, Palmer Luckey, Valve, Oculus and a great many others, I feel that we are well on our way at this point at getting where we need to go on the visual side of the equation. We've gathered the steel and forged a sword that cuts - now all that remains is to sharpen the blade.

Meanwhile many are turning their attention to attempting to give us our hands and feet in the virtual space. I'm a little less optimistic on this side of things at the moment.

Here's the simple problem: If you developed an excellent 1:1, low latency tracking system for hands, imagine how potentially unsatisfying it would be to interact with a 1x1 foot virtual cube. Your real hands, unrestrained by the rules of the virtual world cannot be kept one foot apart stay apart while clutching the sides of the box. This means that your simulated hands will:

I don't feel that any of these options hold a lot of promise, nothing that would feel particularly satisfying at any rate. You also need to resign yourself to the knowledge that the end user will purposely try to poke holes in your simulation, they won't work with you, they will pick your world apart given the chance.

If your simulation is trying to deal with an unrestrained, tracked humanoid you are going to lose, each and every time.

So, what to do?

Let's go back to the example of having lunch under the sea for a moment. Humans underwater face a number of challenges: