Friday, April 4, 2014

The project list

Right now I'm working on the book, pretty much all the time I'm not working on my day job.

But I'm still hoping to work on a number of other projects involving VR, once I have the time.

Each project is scored 1-10 on difficulty and scope, 10 being hardest / biggest.  Each project also has a low medium or high priority to indicate how likely I am to work on it given any amount of time to do so.



Software

Straight up applications written for the VR world

Content browser

My Kindle Fire devices let me browse and purchase music, videos, and books to enjoy across a wide variety of platforms.  VR is not one of those platforms.  Yet.

Scope: 7
Difficulty: 5
Priority: High

This will likely be broken down into a few sub-projects, devoted to individual components like a VR reading app and a VR movie watching app.  Integration into the Amazon ecosystem would be ideal, but might be a difficult hurdle.  On the other hand, if VR really takes off and I just happen to have a ready made starting point for making the Kindle FireVR app or device, that might not be bad for my career.

Getting a good reading experience in VR might be tricky, but I do have some ideas about that.  I might have a demo video to show soon.

Desktop replacement

An entire desktop environment built around VR.  Load legacy 2D applications into panes in 3D space.  Build new 3D native utilities for things like file management and the like.

Scope: 10
Difficulty: 3
Priority: Low

This will take forever and will never be finished, because there is so much functionality to implement.  However, no particular component of it seems likely to be super hard.  Just lots of design and implementation.

Ports

There are a few applications that could really be improved with porting...

Celestia 

Celestia is an open source 3D astronomy program.  Insufficiently VR.

Scope: 3
Difficulty: 3
Priority: High

I've started working on this.  Though building Celestia gave me a bit of trouble initially, pulling it into Github and moving it to CMake for the build system didn't take very long.  Investigation into the rendering system leads me to believe that making a VR version won't be too hard.  It already has built in support for rendering multiple views of the world.  All that's required is creating two synchronized views and adding int the distortion and matrix offsets.  Because this has the lowest overall scope and difficulty, I'd like to get it done with.  It could possibly serve as a good case study for the book.

Homeworld 

The original Homeworld game is one of my all time favorites.  I'm looking forward to the prequel game and the remastered HD version, but I still think that the original game deserves the VR treatment.

Scope: 5
Difficulty: 9
Priority: Low

Walking through this code is a gargantuan pain in the ass.  The source code I have access to was from the port to SDL (1.x).  Before I can reasonably do work on it I'll need to re-port it to SDL 2.  The entire UI needs to be not just re-written, but redesigned.  Just looking at all the hoops one has to jump through to accomplish in C what should really be done in an OO language makes my eyeballs itch.

Ahem....  by which I mean that I love the game and have nothing but respect for everyone who wrote it.  Now where did I put that de-gausser?

Demos & art projects

Some stuff I want to do, just because it seems like fun...

Iron Man HUD

There is a moment in first the Iron Man movie, when he initially puts on the Mark II and this UI comes up:


Obviously there's a lot going on in any shot of the Iron Man UI, but this specifically has some interesting stuff.  Real world topological and air traffic control data superimposed on his vision.  I've already done some work using color and depth sensing cameras attached to the Rift to give me an AR like experience.  The topography data can probably be pulled out of the ether by using the WorldWind SDK while the ATC data can be pulled FlightRadar 24.  Being able to see the surrounding environment while inside, and then going out to spot real planes and real world features I've been looking at with digital X-Ray vision just has something of a cool factor.

Scope: 4
Difficulty: 5
Priority: Medium

As long as I don't let the feature set of the UI get entirely out of hand, and learn to live with the fact that my UI isn't going to be as cool and flashy looking as something from a Hollywood FX studio, should should be doable.  Mostly the burden will be learning to use the WorldWind SDK.  The FlightRadar 24 data is pretty easy to comprehend and access programatically.

Visit the set / enter the movie

Imagine instead of watching something happen on a screen, you watched it as if you were standing right there.  Follow Indy as he gets chased by a boulder.  Stand on the bridge of the Enterprise as it's stolen from space dock.  Walk into the Tardis on earth and walk back out on Skaro.  Ride your own light-cycle through the arena as Clu tries to destroy Sam Flynn.

Scope: 10
Difficulty: 10
Priority: Low

I feel like this is tantamount to going out and doing a couple of doctorates.  It involves the creation of an entire ecosystem of shared collaborative tools for editing environments, filling in missing details, reconstructing entire 3D environments out of 2D video, to say nothing of effectively motion capturing the actors and reproducing their movements realistically.  What it all adds up to is saying "I want to replicate all of the complexity of Second Life, but with much higher visual fidelity, and rampant copyright violation."

No comments:

Post a Comment