GameDev Version Control - Git's not always the saving grace!
GameDevUtopia (GDU)
A community of enthusiastic Game | Web | AI Developers to Learn, Build, Coordinate and Grow together.
Game development is a complex and collaborative process that involves multiple team members working on various aspects of a game, from coding and art design to sound and level creation. With so many moving parts, it's crucial to have a system in place that ensures everyone is on the same page and that changes can be tracked and managed effectively. This is where Version Control Systems (VCS) come into play.
With GameDev teams that are working collaboratively with more than one member, it is all the more important for VCS to be added into the teamspace. Now the most popular option has always been GIT, it is open source, seamless and very well integrated for many development enviroments by a rich community, but there have been many “shortcomings” in GIT when it comes to game development. But why ?? ? Let us find out!
Now VCS in any form of development focuses on these core aspects, which are:
These are the minimum you would get from any modern VCS, especially GIT. But you see, this gets very subjective for Game Development in the Asset Tracking and Code Management
If you are coding for a game in a game framework and the project size is relatively small with assets that are light in memory, then GIT would work out for you seamlessly, but this changes for large scale projects (e.g., games made with game engines like Unreal, Unity, Construct, etc.) with a lot of devs working on it.
领英推荐
GIT by default has a limit on the file size that can be uploaded remotely so this becomes tricky for large size assets like 3D models, audio files, textures, and other game assets ????. To handle this, GIT has something called a GIT Large File System (LFS) for very large files, and this is great, but might not appeal for everyone as it might not be as seamless as a normal GIt workflow, so much to the point that some game engine devs like CryEngine, Construct 2/3 resort to Local Backups for versioning!
Game engines like Unreal, use Blueprints which are not recognized by GIT, which complicates the Code Management aspect by a lot. When working as a solo dev, this might not pose much of an issue, but becomes a hassle for large teams working on a lot of intricate code.
Which is the reason why enterprises and even hobbyist devs have started looking out for other VCS solutions that can help for their specific game engine use cases.
Let us look at a few highly recommended VCS solutions for various popular game engines:
Do note that this is a very subjective topic and doesn’t say that Git is bad for game development, but rather that different tools might meet your expectations better for different use cases. So next time you start out a game project, keep in mind the various options you have