Every so often, in between running a software company, trying to keep my condo from falling apart, and keeping some semblance of what I try to call a "life," I get these pangs of inspiration.
As s developer, you know the pangs: "I totally just remembered some cool game I played back in the day," or, "Man, that was an awesome movie I just saw!"
And then I think, "That does it! I'm going to sink some time into developing something cool! A game, even!" So with the best of intentions, I crack open my IDE of choice, grab a beer and a snack, crack my knuckles, and...
A whole lotta nothing happens.
For some of us, creativity comes naturally whenever we want to call on it. For the rest of us, a flood of seemingly-good ideas comes along for a short while spurred on by momentary nostalgia, and you try to grab on to one or two of them like money falling from an airplane that was hauling millions of dollars to an offshore bank only to be intercepted by a surface-to-air missile.
And then, before you know it, said inspiration is gone, along with most of the motivation you had create something really cool with your time.
The look on your face says it all: "What the hell just happened? I'm a seasoned developer and I've played countless awesome games in my time; this shouldn't be a problem! Maybe I'll just sleep on it."
And so you sleep on it. You wake up in the morning, realize how much you need to do to keep up your life today, and that fleeting evening/weekend/whatever is gone, only to return at some undetermined later date.
The Real Issue
"The journey of a thousand miles begins with a single step."
Well that's all well and good, Mr. Tzu, but sometimes knowing how to take that single step is the hardest part, especially for the amateur game developer.
Myself, I've made a few games on my own for fun, and I know how much fun it can be to actually do it. But then I wonder, "Why haven't I made more? Beside the obvious reasons of having a demanding job, etc."
I can guarantee that nine times out of ten, the answer is one of the following:
- The thought of creating a game on my own is too daunting to see through to its completion.
- I can't decide on the type of game I want to create.
What Can I Do?
Recruit a Team
If the issue is case #1 above, unless you are an extremely talented, cross-disciplined developer, or this is 1985, odds are going it alone is going to be a very tough proposition. Your best bet? Recruit a team.
That is exactly what I did while I was looking to make a game some four or five years ago. I had just gotten familiar with Unreal Engine 3 but quickly realized that I have little artistic ability, so that ruled out cool characters, animations, backdrops and maps. So I went to a forum. I went on IRC. Which ones? Here are some to try:
After spending time on the GameDev.net forums and making some posts, I managed to find 2-3 other like-minded individuals who were looking to collaborate, including another UE3 developer and an art guy.
Contribute to an Existing Game
In a lot of cases, where you can't be bothered to tackle all of the tasks that go into developing a game (not the least of which are the story, the rules, the requirements), an excellent and very satisfying alternative is to contribute to an existing game.
This is exactly what I did not too long ago; in fact, I still do this whenever I can.
In anticipation of the then-upcoming release of the XCOM remake, I was jonesing pretty hard for some the old-school version. So I purchased it on Steam. But that only scratched the itch for a little while. I wanted to do more.
So after some googling around, I found, much to my great surprise, an open source version of XCOM. A team had gone and reverse engineered the entire game using the original assets (genius)! The OpenXcom Project was exactly what I was hoping to find. It was (is) entirely faithful to the original, even improving upon it by fixing classic bugs, adding new features, and even making it moddable!
I always wanted to write ALF in somehow.
Open source saves the day again!
How can you have your own "OpenXcom epiphany?" Here are a couple resources for you to peruse through. Each includes information and links to open source projects, both active and halted.
These communities are often fairly small and very receptive to (in fact, often grateful for) contributions, especially for bug fixes, which can be a great way to ease in to any development team.
The only caveat is that you will occasionally find communities that are very particular about how features and code are implemented. To that end, keep in mind these simple guidelines and you will do just fine:
If there is a style guide, read it. This will go a long way to ensuring your pull requests are accepted. You know how particular developers can be about their coding style, so show them you're a team player!
- Accept criticism graciously. If your first pull requests aren't accepted, don't take it personally. Politely ask why and what you can do to improve your chances of your next PR succeeding. Often times the reasons are as simple as an over-bloated PR (tip: cherry picking is your friend in git), or might just be that a project admin doesn't think the idea fits.
- Don't overcommit yourself. Biting off more than you can chew can be discouraging to both yourself and the rest of the team. If you don't have the time to implement that brand new feature request for a space-flight module, then don't commit to it. Remember, this is supposed to be for fun, but that doesn't mean the team doesn't want to see it succeed.
So there you have it! Two tried and true methods to take that first step into developing a game. For those of you who are pros at it, I salute you. For the rest of us, getting over that creative hump can sometimes be a difficult thing to do (I salute you also). Use the methods above to help you get over that hump, or at least side-step it a little bit. Over time, if you keep doing more, you might just find yourself not even hitting that bump in the road to start.
So pick a platform, pick your game type, and get going!