Are you thinking about building a game for the Rift? Great news. Welcome aboard.
VR game development is in its infancy and you can make a difference. I think the primary thing that is going to hold back mainstream VR is lack of great software titles, not the hardware.
Where to start:
If you are getting into VR because it sounds interesting, that may not be enough. You need an idea to carry you forward. Something small but cool enough to keep your interest. I recommend reading a book on VR such as ready player one or snow crash. Then think about some of your favorite movies/books searching for something you'd love to experience in VR.
What tools do I need:
You will need 4 tools to build a game from scratch.
1. game engine: this is what accepts player input and manages their view
2. 3D editor: you will build all your 3D objects here
3. image editor: use this to build the textures that are displayed on your objects
4. sound editor: use this to crop sounds and music, add effects and convert them to work with your engine
1. UDK/UE4 (Unreal Development Kit)
> cost : $19/month, plus 5% of gross revenue resulting from any commercial products built using UE4
> How to tweak UE4 for Rift development: http://oculusdrifter.blogspot.com/2014/06/fixing-ue-defaults-for-oculus-rift.html
> cost : $75/mo or $1500
> cost : free
4. Coding directly against the Oculus API (Oculus SDK)
> cost : free
> cost : free
2. 3D studio max
> cost : $195/mo or $3675
3. Autodesk Maya
> cost : $600/yr or $3454
> $50/mo (or get an older version cs6 for $700)
3. Paint.net (windows)
4. Pixelmator (OSX)
> free for non commercial use, $60 for commercial use
3. Adobe Audition $19/mo (or get older version cs6 for $350)
Demos built with each engine:
I recommend you download a few games built with each engine to get a feel for which feels better for you.
You can try a ton of games here:
rollercoaster demo : http://www.mtbs3d.com/phpbb/viewtopic.php?f=140&t=17157
my game: http://oculusdrifter.blogspot.com/2014/05/ready-player-one-stacks-game-download.html
Tuscany : https://share.oculusvr.com/app/oculus-tuscany-demo
Kite & Lightning : http://blog.kiteandlightning.la/new-oculus-experience-kl-station/
Best Practices Guide:
Oculus has spent a lot of time researching VR development and has created a Best Practice Guide. This is a work in progress with lots of information. I think it all boils down to: don't break immersion and make sure your game is fast. Either of these will result in the user losing their sense of presence and possibly making them ill:
Stem Dev Days:
Steam Dev Days talks are highly recommended to get you psych'd about VR development:
What VR Could, Should, and Almost Certainly Will Be within Two Years
Michael Abrash (Valve)
Porting games to Virtual Reality
Palmer Luckey (Oculus VR)
Wild West of VR - Discovering the Rules of Oculus Rift Development
Devin Reimer (Owlchemy Labs), Alex Schwartz (Owlchemy Labs)
Getting a Dev Kit:
I think it goes without saying that you need to buy a development kit:
IMHO, $350 is a small price to pay to have this technology. If you can't wait, you can pick up the older dev kit off ebay, probably pretty cheap.
If you have one on order, don't let that stop you from getting started. I often find myself in venues where I don't have my VR headset for days and I can still use that time to model and polish my game.
What do I use?
I think everybody is different. There is no perfect solution. Your background, finances and areas of interest will drive your tool selections.
This is what I use:
UDK3. I will switch UE4 once I finish my current game. I don't want to deal with refactoring anything. I chose UDK because it was used to make some of my favorite games. It was also cheap.
3D Editor :
Blender. Although I could afford the Autodesk products I wanted to give Blender a shot. After 10 months of using it I have become very comfortable with it. You must approach learning blender seriously as if it was a college course. Memorize the keystrokes and use them daily.
Photoshop. This is the odd duck of my tool selection. I do semi-professional photography and I already owned CS3. That doesn't mean other tools will work just as well. It is just what I'm used to.
I found wavepad and it has worked well for cropping, fading in/out and saving into a format that works with UDK. It sounds like Audacity may be a better pick. I will need to try that in the future.
What are the first steps?
I recommend building a simple 3D object, importing it into your game engine and walking around it via the rift. This includes texture mapping onto the 3D object. If you can do that you are well on your way to making whatever you want.
Adding more to this:
This is just the start. There is a lot to add. Just shoot me a line or add comments on what I should add. I have tried to keep it non biased but I am only familiar with certain toolsets.