There was a period in my life where the plan was to be a game designer. I would get my foot in the industry through a writing position, and try to move into design eventually. Eventually, though, plans changed. A lot of it had to do with burning out on video games, becoming sick of unimaginative sequels dominating the industry. Some years later, though, independent games have started to spark my interest in games again, and I've actually started having fun playing them again. But the big thing that's gotten me excited... is the Occulus Rift. I desperately want to be able to develop games for it.
So the plan is to become a hobbyist developer, grow my skills over a period of several years, and get to the point where I can contribute to a wide variety of areas of development, and use leverage that into being able to assemble a small team to work on an immersive, lo-fi, personality-heavy VR project on the Occulus Rift, or whatever is the best version of that sort of technology available by the time I'm ready.
This is where I need help. I can find the information I need okay--if I KNOW I need to learn DirectX, then I just need to find a consensus good DirectX book. But is it DirectX, or OpenGL? And then there's the problem of learning "programming"--there are so many different subjects under that very general umbrella, most of which I know little about, so what's relevant to learn? What isn't?
With that in mind, here are my current strengths:
I am a strong creative writer, having worked on novels, plays, poems, and short stories. I am very confident I can put together a strong story with interesting, well-written characters.
I have a background in music and composition. I can put together music for my game without much trouble.
I have written design documents in the past.
I have dabbled in programming, and learned concepts about object-oriented programming, as well as basic syntax for C++, C#, Python, and maybe one other. I find it pretty intuitive stuff.
Here are my weaknesses:
I cannot draw. At all. I will need to work with an artist.
I've dabbled with programming, but being generous, I'm intermediate level at best. This is my primary growth area.
I've wrestled with design concepts before, but I have never faced the restrictions of actual limitations of implementation, or ensuring that my designs were fully detailed enough to be implementation-ready in every area.
I know music, but I have no idea what's actually involved in sound engineering. Not sure if this is something that I should learn or look for support from someone else.
So what I'd like to do is grow in my ability to program to the point where I can at least contribute to a 3D project for the Occulus Rift in the area of programming, as well as use my skills in music, design and writing. What I think I'd like to do is work on a series of increasingly difficult projects. Here's what I'm thinking so far:
I would like to start by creating a text adventure game using Quest, which takes away most the necessities of programming such a thing. This would allow me to do it as a one-person project, plan out a design completely, and implement it.
After that, I'm thinking of working on a graphic adventure game. I feel this would keep things fairly simple from a programming perspective, be in a genre I enjoy playing, allow me to stay within 2D, which should be easier to create, and be a smooth transition from the design of the previous project. But if I'm going to do that, what do I do it with? Do I use an existing engine? Would it be be better to build the engine from scratch (though that sounds... tedious)?
After that, I'm not sure. I'm wondering if it would make sense to do these projects within Unity, since that seems to be compatible with Occulus, seems well-supported, and would allow me to develop in both 2D and 3D. But even if that's the case, what exactly should I be learning there?
I realize this is a pretty long post, but if you've read this far, I appreciate you caring long enough to get to the end. I would appreciate your insight, because I really do want to do this, understand that there are no short-cuts, and that ultimately, I want to contribute something creative and beautiful to the world. Thank you very much, in advance.