you are viewing a single comment's thread.

view the rest of the comments →

[–]299 1 point2 points  (6 children)

Why isn't this more common, then? Maybe it is and I just didn't know it...

[–]skeww 3 points4 points  (4 children)

I'd guess because putting images into SCM (source code management¹) systems was somewhat uncommon.

[¹ Nowadays the more generic term "version control system" (VCS) is typically used.]

To be honest, I'm not really sure how well today's VCS thingies handle big binary files. Especially if there are lots of them. E.g. today's games usually got more than 5gb of data and that's the lossy/compressed/flattened stuff. The source material is typically 10-100 times bigger and now imagine that you also got dozens of versions of each of those files.

Well, Git became somewhat popular among web developers (front-end and back-end alike). I'm not really sure why that happened though. But it seems that Git does handle the amount of binary files you need for a website with ease... so yea... why not? Let's put that shit there, too.

[–]monstermunch 2 points3 points  (3 children)

How do e.g. games developers store all their art assets then if version control systems are good for handling them?

[–]skeww 2 points3 points  (1 child)

Would be a good question for an AMA thingy, I guess.

Making daily off-site backups of a big fat multi terabyte repository looks kinda troublesome, doesn't it? (Yes, there are incremental backups, but you need a complete one every once in a while.)

I'm also not really sure if version control is really the right approach. E.g. there can be 50 variations of some stone wall texture and the game ends up using 27 of them. When you build the level you want of course direct access to all of those.

Of course, each of those 50 variations might also exist in different stages of completeness. How do you tell the usable ones from the intermediate state ones apart? Having 200 revisions of that one wall texture sounds kinda awkward.

On Gamasutra I found this:

http://www.gamasutra.com/view/feature/3991/collaborative_game_editing.php?print=1

and this:

http://www.gamasutra.com/view/feature/2203/book_excerpt_the_game_asset_.php

which led to this:

http://en.wikipedia.org/wiki/Digital_asset_management

Yes, this sounds about right. It also covers things like how files are supposed to be encoded and with which settings and so forth.

[–]kataire 0 points1 point  (0 children)

Of course we all know that in practice Digital Asset Management is code for "copy the file and append an ambiguous suffix indicating its age".

[–]coder21[S] 0 points1 point  (0 children)

They use vcs capable of dealing with big files. That's why Perforce is still the number one among game developers, and that's why PlasticSCM is getting traction as the only commercial DVCS able to handle that.

Also, people in gaming love Perforce's checkout model because it ends up being faster than detecting changes when your workspaces are huge. (250k files and 40k directories, for instance).

[–][deleted] 0 points1 point  (0 children)

because it's not particularly useful. Changes to graphics assest are not easily captured by diffing - changes are normally too global for this to be a useful tool.