Advertisement

Game Development Version Control: How to handle lots of gigabyte game assets?

Started by December 20, 2020 07:13 PM
24 comments, last by darthdeus 3 years, 10 months ago

in all fairness, the OP did not suggest that they were going to keep assets history out of control, instead, he was wondering IF they should ignore asset history, so the dangerous idea hasn't foiled in yet -love it though, lol- ?:

…. Well probably the idea is to add the game assets directory into the .gitignore file, but how do I share the rest of the project with the other developers? How are we going to stay in synch with game asset changes?

However, i do agree that they should look into the free Perforce offer for 5 users as suggested by frob (as there only appears to be 4 of them in the OP author's team), this offer will give them peace of mind in the Admin points that you raise about “DIY security and server administration etc…” or setting up the git server yourself, and so they could focus more on the game;

i have to say though i have setup some git servers in the past from scratch, it's fun but i only did it for my personal benefit, not for the team, the team was on bitbucket -dam-

another however is the fact that @babaliaris projected a 4GB payload (DVD size) by the time they reach end-of-game prod, so i'd just make sure Perforce Helix Core offers that much (I have the impression that it is a 1GB offer), I'm happy to stand corrected;

until then ?

I will give Perforce a try too!


void life()
{
  while (!succeed())
    try_again();

  die_happily();
}

 

Advertisement

It depends how big the actual files are. If you're feeling savage you can push up to 100MB files to GitHub, though it starts showing a warning once you push something larger than 50MB. I haven't run into any problems with that though.

The correct solution is to use git-lfs which lets you push arbitrarily sized binary data to the LFS storage. Keep in mind that LFS is not free though, but in terms of performance it's fast and somewhat easy to work with.

created Hell Loop - indie pixel art tower defense platformer

LFS doesn't actually do versioning of the files, it merely points to where you keep them elsewhere for proper versioning. It works for some people, but you need to recognize it is a workaround for not having the assets themselves in version control. I have never seen it work for games.

frob said:

LFS doesn't actually do versioning of the files, it merely points to where you keep them elsewhere for proper versioning. It works for some people, but you need to recognize it is a workaround for not having the assets themselves in version control. I have never seen it work for games.

I know LFS isn't ideal, but it does let you track the file as it changes. It might not be good enough for AAA where they have hundreds of people working on terabytes of data, but having used it on a small team on an indie game it worked out more than fine, especially considering all of us were already familiar with git.

created Hell Loop - indie pixel art tower defense platformer

This topic is closed to new replies.

Advertisement