How to choose a Git hosting provider for game projects is a question that is often asked around. Game projects differ from the typical software project in size, team profile and requirements.
If you’re using GitCentral, you will most certainly need a remote repository to host your project. In this article we will go through some of the major Git hosting providers and compare them for this particular use case.
So what are the specific needs of a game project that make it special?
- Confidentiality: In most cases, you don’t want your game’s source and assets to be available to everyone out there. Especially when your game is going to attract some attention from players. You will want to control the narrative, how to announce your IP or new features, and having access to the repository will let anyone know what you are doing. This is also a security issue: access to your source code could make it easier to cheat or to exploit your game.
- Size: A game project is much larger than an average code project due to all the assets in binary form. For instance, all of Unreal’s uasset and umap files, but also work files from external tools such as Photoshop or Maya, which tend to be rather heavy. Git is notoriously bad at dealing with large files and its decentralized model requires full access to the entire history locally. This means your computer would have to store all binary files of the project, even those you don’t need, and enough data to rebuild any version of those files. Fortunately, there has been one major effort to solve this problem, Git-LFS. This is a mandatory feature for GitCentral, so we will only look at hosting with Git-LFS and we will be looking at how much data you can store and at what cost.
- Project Management: Unlike open-source software projects, game projects often need centralized management tools. Several people in the team need to collaborate on features at the same time. Milestones are a collaborative effort towards a certain date or set of features, all of which needs to be tracked. Good project management tools are extremely important to a game project and we will review them.
- Users: Most users of Git are programmers. Programmers are used to dealing with command line tools and less than ideal user experience. Game projects have many different kinds of users, such as Artists and Designers, who will easily get confused if the user experience is not great. We will look at the various tools offered by those hosting providers and evaluate ease of use and user experience.
We will compare the four major hosting providers that fulfill these criteria: GitHub, GitLab, BitBucket and Microsoft Azure DevOps. Continue reading →