6 Reasons to Use Source Control for Your Game
March 30th, 2015
By Peter Robinson
Indie game developers are not always the most organized people. Many start as hobbyists and become more serious as time wears on. If that’s the boat you’re in, then you probably didn’t think about source control when you started writing your game. You might not even know what it is! Here’s a handful of reasons to check it out.
1. It puts your code in the cloud.
Nothing is more devastating than spending a year or two on a game only to have your hard disk die and all that code disappear! Perhaps the most important aspect of source control is that it is remote. You could set it up to work locally, but then you’d lose the benefit of having your code stored safe and sound in the cloud. Of course you don’t have to use source control to back up your code. There’s an endless list of services and devices that back up the contents of your computer. So what’s the advantage of source control? Keep reading.
2. It saves your history.
We’re not just talking about a general history of what you did. It saves things down the line of code. A good source control program will let you see what code you changed and when you changed it. It will let you figure out when you introduced bugs or when a new feature was added. You might be thinking that you already know when you did those things. Good point. But what if you add another programmer to the project?
3. It let’s you play nice with others.
With just two programmers, a single project can become unmanageable without source control. In fact, I can assume that if you’re not using source control then you’re probably working on your game alone. The truth is that multiple programmers tend to bump into each other when working on the same project. The need to keep things sorted out is why source control was created. If you ever hope to get some help on your project, you need to start using source control.
4. It let’s you try out new ideas.
This has been one of the nicest features of source control for us. If we want to try something new with Pirate Code we can always create a new branch and test out the idea. This keeps potentially dangerous changes isolated so that we can quickly switch back to the original code if things don’t work out. We can also make changes that take a long time and still do monthly updates by using different branches, which is something we’re relying on more and more these days.
5. It’s easy to set up.
Seriously. In most cases it takes under an hour to get up and running – including time spent learning to do the basics. If you’ve absolutely never used source control then it might take longer but it still is easy compared to creating your game. Also, depending on the service you use, source control is free! I said it. Now you don’t have an excuse.
6. It comes with extras.
Most source control services out there do more than just source control. We use Bitbucket which includes a very nice ticketing system and a sleek desktop application. We’ve also used Github and Unfuddle, both of which have more than just source control in their list of features. Unfuddle in particular is good for game projects that need a solution to manage the project entirely. No doubt there’s a hundred other good options out there as well but that should get you started.
Hopefully I’ve convinced you to spend a little time looking into source control. If you already use source control, let us know in the comments what you use. Thanks for reading!