Thursday, April 23, 2015

Why Plastic SCM works so well with game development

BetaDwarf is in the business of making games, and today I'd like to go over one of the tools that we use that allows us to keep track of our code and assets in our projects, Plastic SCM. Version control systems are an integral part of game or any software development process. They allow many users to work on the same project at the same time, with minimal conflicts. There are many options available for version control in the world and it can be hard to figure out which is the best to use.

Before we picked up Plastic SCM we were using a private git system, with the freely available software SourceTree. While git is a great version control system for text files (code files), it struggles greatly with binary files, such as models or textures. While using git our project was around 25 GB, and a full download of the project from git could easily take a few hours. Aside from issues with handling binary, managing a private git repository often proved painful, with many hours of troubleshooting when the repository became corrupt, for one reason or another. We also had numerous stability and usability issues with SourceTree.

A screenshot of the Plastic SCM branch explorer, here you can see our latest patch branch.

When the problems with git finally became too much we started to look elsewhere for version control systems, thankfully we stumbled over Plastic SCM. We have found Plastic to be extremely user friendly, fast and stable. The user interface for Plastic SCM is fantastic and it is much more user friendly and feature extensive than SourceTree was. Updates from an empty repository takes half an hour or so for our over 40 GB project. While I would often fight with git for hours in a day when problems arose, Plastic has more or less run without server interaction for over 8 months. Plastic is also very good at merging conflicting changes between team members, we mainly use this for text files and the three way merge supported by Plastic has been rather good to us. Plastics branching system is great, and works very similar to git, so we were right at home with the system with minimal introduction.

A screenshot of the Plastic SCM recent changeset query, we are at over 6000 commits and going strong!

All in all Plastic SCM has allowed us to not have to worry much about version control, and instead focus on making a great game. As source control is used all the time by all members this is quite a blessing. So if you are working on game projects out there, it would be worth checking out Plastic SCM, as it handles the day to day of game development much better than git. If you would like to know more, visit www.plasticscm.com for more information and a download.