I've been making Candlelight, including conceptualization and letting it rattle around in my skull, for about eight and a half months now. I'm ridiculously proud of how far it's come in that time, and I'm really excited for where it's going next. Still, I sometimes find that I wish I'd done things a little differently at the outset and over the course of this project, and I thought I'd collect some of them in case somebody else is just starting out.
-Start Small. I love Candlelight, really I do, and though I wouldn't trade it for anything, I sometimes wish I'd picked something on a more confined scale to start with - simple art, simple sound, simple gameplay, and small, something I could have finished in a month. In addition to being a game designer, I'm also a writer, and I found that when I first undertook National Novel Writing Month, I couldn't actually tie off the package; the piece I was writing expanded to nearly 100,000 words, and was still a ways from completion when I left it. Writing some 5-10 page short stories helped me get a sense of sufficiency, of knowing when a story was done; trying something more ambitious after that, an 80-page novella, I found I had a better sense of pacing, of how much I could do in a given timeframe, of how to set a narrative arc. With games, the same principle applies, more so if you're trying to sell your game; people will be more likely to take an interest in your project if you've got something finished they can look at.
-Test your ideas before counting on them too much. This is something I need to keep in mind now, as well. At the beginning of the project, before we'd even done much coding, I had a really complicated picture of how our game would be when it was done - what the gameplay would be like, some of what the art would be like, how the story would play out - and not really much evidence that any of that would work in a game, apart from my gut feeling. The most rewarding, and the most informative, use of our time has been getting our mechanic into any playable form and seeing how people receive it. Initially, that was a little green cube and a little blue cube that people could move around, with little clip art for switches and red rectangles for gates that disappeared when you flipped the switch. Time I spent coming up with game concepts that were still way in the future might have been better spent coming up with an idea I could implement now, and figuring out the best way to do that.
-Being bad at something is a terrible reason not to do it. I get annoyed when people are naturally good at things. It's frustrating to spend a lot of time and energy on learning a skill, only to see other people who have never tried it step in and perform it better than you. The thing is, this doesn't happen that often. Most people who are good at something are good at it because they've done it, or things like it. Sure, maybe at the Olympic level all the athletes have inherent physical attributes that make them well-suited to their sport of choice, but the major reason they're good at it is because they spend ALL OF THEIR TIME on it. And below that level, any natural advantage someone may have over you can be overcome by investing more time in it. Jesse Schell, in his book The Art of Game Design*, talks about their being two kinds of talent: little talent (innate or natural ability), and big talent (overwhelming devotion to becoming better). I didn't start making a video game until I overcame the fear of doing it badly. When I started doing it, it turned out that I wasn't very good at making a video game - because it's complicated as hell, and I'd never done it before. I'm still very unpracticed, but it was only when I got over my fear of being bad at it that I started getting better. That's the only way you ever improve. So if you think you can't do something well, try it anyway. You'll work it out, and get better in the process.
-Make friends. My first real attempt at reaching out to the indie community, especially here in Boston, came with this blog, and I'm really a little sad it didn't come sooner. Particularly if your game is something you're only doing part-time or in your free time, it can be really hard to find motivation to work on it when it's just crammed in among so many other things you have to do. Surrounding yourself with people who are working through the same issues can be really inspiring - you'll have a lot in common, and seeing what others accomplish with similar hurdles and hangups can help you overcome your own troubles. Obviously you don't want to ever be completely buried in one social group alone - but at least in Boston, there's a really supportive community for indie game devs, and even if you can't find any in your town you can reach out online pretty easily through Twitter or other social media. Find a way to find people who know what you're going through, and have gotten through it themselves. Knowing other people have done it is one thing; meeting them and putting a human face on that, realizing that they're people with quirks and hobbies and spouses and jobs too, can be incredibly comforting.
Hopefully this is at least useful to some people starting out. I know it's pretty general advice, but even so, I wish I'd found it a little earlier. If you'd like me to elaborate on any point, let me know! And other game devs, if there's anything you wish you'd known going in that you'd like to share, post in the comments - the more, the better!
*honorary mention: Go read The Art of Game Design immediately. It is the best book on game design. If you disagree, you should tell me which book you prefer so I can read that one also.