... is that I need it. Everyone at some point tries to tackle a project that's too big and ends up failing. We've all been there, right? So we think to ourselves, "From now on I need to stick with smaller projects I know I can complete." And maybe you actually do finish one or two like that. But for me at least, that's not enough. I have big dreams that inspire me. Little projects don't inspire me. If I don't feel inspired I have no desire to put in the work. So yes, the trouble with inspiration is that I need it; I don't get anywhere without it.
So now I'm thinking I need medium-sized projects that build towards larger goals. The larger goals are my inspiration. The medium-sized projects are definite, tangible steps in the direction of the larger goals. The ultimate goal for me is a living, breathing world (like Dwarf Fortress) in a full 3D, destructible environment (like Minecraft.)
So here are my medium-sized project plans to get me there (and the pieces I will gain from them that are steps toward the ultimate goal).
- A 3rd-person multiplayer-only deathmatch. (model animation, physics, networking)
- A 3rd-person single-player RPG. (scripting, enhanced 3d engine, streamed content loading, AI)
- Open world single-player RPG. (procedural world-building, crafting, magic)
By this point I'll be a lot closer to the final goal and I'll be able to define the next set of goals. The other part I've been struggling with is choosing a set of APIs to develop on. I started with DirectX too many years ago to think about. My BS senior project used XNA. For a long time I've been wanting to get away from being tied to Microsoft though. I feel that eventually they'll change things too much and I'll want to abandon Windows (and I think Windows 8 may be my breaking point.) But XNA is exactly what I've been looking for! I love C# and the Visual Studio IDE. I don't like how Unity is all about setting things up in their editor and just scripting the logic.
The solution I've found is MonoGame, an open-source implementation of XNA built on Mono and OpenGL. Granted it's still pretty early in development, but I think this will be a key to my regaining productivity. I'll post back here as I progress.