Kick Your Game Development Up A Notch With Subversion, Trac, and Harvest
When you're writing a game it's easy to lose track of your time, ideas, and the fun of it all. You've gotta figure out your goals, sketch out your ideas, build prototypes, iterate, and take feedback on a project. I know you've all got those legal pads with the next great game scribbled down on them. Time to think like a project manager and get that stuff done.
If you don't have source control: you need it. Spend a day and figure out how to check out and check in and it'll save you from yourself. Ever accidentally crunch an FLA and lost everything? Do you have 5 tilde's in front of filenames? "Final-final_final" look familiar? I'm talking about my favorite setup here - Subversion. Of course on Windows all you need is TortoiseSVN and a copy of the (free) Svn Book to get you started.
When you've got Subversion rolling you might be feeling saucy and want to keep track of your changes, set milestones, make to-do lists, and keep a project wiki (so you don't lose any of those midnight bright ideas). My favorite package for this is Trac. Trac is a great package and is a little tricky to set up but thankfully there are people like Hosted Projects who can roll you out the whole setup in minutes. You could also look at some options like a VM appliance you can roll out on your machine like vmTrac.
Now you can save your code, keep track of versions, fill out your task-list (and not forget that cool feature you thought of), and set milestones for yourself. It might seem like a hassle to set up a project so rigidly but you'd be surpised what you can get done when you get out of your own way. It's great to sit down and know exactly what needs to get done on your project. Or, in the future of your game career, when you're working with a client you'll have all the tools you need to estimate out projects and keep them up to date on your progress.
Take World of Goo for instance. It wasn't built in a day. They had to make versions of it, play with it, take feedback from their friends and testers, and act on that feedback. You think they kept it all on sticky notes?
Thanks to great new resources a lot of indie game developers are finding projects and teams to collaborate with. You want to really blow them away? Why not keep track of your hours. Not only will it help you figure out how well you perform but it will knock their socks off, too. A great place to track your hours is at Harvest. If you get in the habit of tracking your own hours you'll have a much better idea of the time you're actually spending and it will make you a much better team contributor.
When you've got all these skills in place you've got a real foundation to become part of the larger developer community no matter what kind of code you write. And for game programmers I'd love to see everyone step up and take their code to the next level.



