Home Technical Talk

Is there a good version control option for a broad spectrum of artistic applications

Hi everyone. This is my first post so hopefully, I am organizing this question into a good and effective forum. I apologize in advance if there was a better place to ask.

I am working with a decent-sized team of artists and there is a lot of correspondence between us, our directors, each other, and with 3 people working at the same time files start getting misplaced, confused for the wrong ones, mistakes are happening.

I am looking for a variation of version control to help mitigate some of our issues, especially between departments as things get handed off. Obviously I don't expect GitHub to begin parsing and comparing binary and ascii files for us, or images, renders, comps, etc... but it owuld be really nice to see when and who edited things and be able to track back through versions, maybe leave notes on them so we can tell what changed between files manually. Leave a note like "removed X object and completed X task."

I have heard of some artists using GitHub for tasks like this, I have heard even more say they like BitBucket for this type of stuff. I do a small bit of coding too so I am not unfamiliar with GitHub but I am far from an expert and really just don't know the limitations of either when used for art instead of code, or if there are better options for this altogether. Maybe there is an existing system other than version control meant to solve our exact problem. I am just hoping maybe there is someone who has struggled with or thought about this issue in the past and has found a version control or other comparable system that helps, why you like it, what you don't like, what is your experience, you know? Drop box is just getting too out of hand with 15+gb image sequences that need to go to someone else for editing and then to someone else and just not knowing what youre looking at. Am I looking at the edit? the Motion graphic overlay version? is this just still what I uploaded? I want to know who last touched something and just reduce confusion across the board instead of spending half my day sending out emails with a grocery list of CCs trying to figure out who did what when and if I am about to overwrite something and also, not have to worry about overwriting because the previous versions are visable.

I know someone is probably going to say "just name it something else..." that is really hard when you don't know who last uploaded something and if your "new version" is actually really a slightly older new version." If I make version one and Fred is making version 2, maybe my changes are really more like version 1.5 and I need to reflect that.

Thank you so much for making it through my hopefully somewhat coherent block of text and if anyone has any experience with any possible solutions I would really love your input.

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    GitHub tends to limit free repositories to something like 1 GB. We're running into this with Khronos right now. There are alternatives like Git LFS.

    My personal favorite, and the favorite of a lot of game developers is Perforce. It's free for 5 users, IIRC it gets expensive beyond that but it's well worth it. Time-tested, production-proven.
  • oglu
    Options
    Offline / Send Message
    oglu polycount lvl 666
    I second Perforce. 
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    Perforce

    Or if you can't justify the cost for that SVN is probably the least shit alternative for large binary files - Git really isn't geared for them.


  • ThorntonStrolia
    GitHub tends to limit free repositories to something like 1 GB. We're running into this with Khronos right now. There are alternatives like Git LFS.

    My personal favorite, and the favorite of a lot of game developers is Perforce. It's free for 5 users, IIRC it gets expensive beyond that but it's well worth it. Time-tested, production-proven.
    Wow, you all are awesome. I will check it out. Yeah, we are dealing with pretty big files. We in no way expect it to be free. In fact, a big part of this is, we have needed a solution for team file handling for a while and I pitched version control as a possible solution to our boss and said it might be a good move down the road since it can be time-consuming to set up and possibly expensive and he was just sorta like, yeah we gotta get this done ASAP, better now than later when we get busier, so I think the frustration of file confusion and people editing the wrong versions as it gets passed between departments has just sorta driven everyone to bite a financial bullet to get it worked out.

    oglu said:
    I second Perforce. 

    poopipe said:
    Perforce

    Or if you can't justify the cost for that SVN is probably the least shit alternative for large binary files - Git really isn't geared for them.




    Out of curiosity, Is P4V setup in a way where we could use a form of cloud storage to commit, store, and retrieve latest versions? I watched a video on it and it sounds like their server in the video is local. I see that there is a Helix TeamHub server option (https://www.perforce.com/products/helix-teamhub/pricing) Does this work with P4V like a cloud-storage for projects? or is this unrelated to the actual production side of things? 

    You all are awesome and I appreciate the support! Thank you again
  • Eric Chadwick
    Options
    Offline / Send Message
    I bet you could set up a cloud system with it.

    The key thing is, each user downloads a local copy of the repository, either the whole thing, or just the directories they're interested in. You work with local files, and d/l the latest as needed. 

    You're also allowed to lock files, so only you can edit them. This prevents collisions, where two people are trying to make changes to the same file. Everyone else can d/l but they can't u/l until you unlock (by u/l yours).

    Locking can be problematic, if someone leaves files locked overnight, but someone else needs to edit meanwhile. 
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    You can definitely have a cloud based perforce server - we use one for outsource. I don't know anything about costing/contracts etc,  

    teamhub looks like something else entirely .   

    If you sign up for perforce you will be immediately emailed by customer support people who you can ask about this sort of thing. I'd be surprised if they locked off small scale remote collaboration. 

    also its perfectly normal to spend a whole day setting up your first depot cos you got it wrong 5 times (or so I was reassured)
  • ThorntonStrolia
    poopipe said:
    You can definitely have a cloud based perforce server - we use one for outsource. I don't know anything about costing/contracts etc,  

    teamhub looks like something else entirely .   

    If you sign up for perforce you will be immediately emailed by customer support people who you can ask about this sort of thing. I'd be surprised if they locked off small scale remote collaboration. 

    also its perfectly normal to spend a whole day setting up your first depot cos you got it wrong 5 times (or so I was reassured)
    I set it up free for myself so I could give it a try and woke up today to a phone call from them... I was like, welp, that was convenient. Haha. It really is tough trying to get any ballpark idea of pricing it seems since it is so customizable. 5 seats would work great within like one group of our department but I seriously think we are looking upwards of 4 times that and counting so time to trial it a little longer and see.

    From the videos I watched, I love it, but I haven't set it up quite yet just since I have been busy and it seems like the setup is going to take more than just a couple minutes, even on a local device, and unfortunately, I am pretty busy until Monday, so for this exact moment, I am kinda just stalling and getting as much info as I can.

    I bet you could set up a cloud system with it.

    The key thing is, each user downloads a local copy of the repository, either the whole thing, or just the directories they're interested in. You work with local files, and d/l the latest as needed. 

    You're also allowed to lock files, so only you can edit them. This prevents collisions, where two people are trying to make changes to the same file. Everyone else can d/l but they can't u/l until you unlock (by u/l yours).

    Locking can be problematic, if someone leaves files locked overnight, but someone else needs to edit meanwhile. 
    Yeah I thought about that, I was like, THATS SO COOL! and then I was like, we all work remotely from pretty much everywhere, soooo, that could be a problem. Lol
  • Eric Chadwick
    Options
    Offline / Send Message
    I've experienced the bad side of that first hand. Half of our team was in US, half in China. 12 hour time difference. We had to make sure all assets were checked in at the end of each day. Whenever someone forgot, but we needed to edit, we had to go all admin on it and revert their work.

    People learned quickly :)

    Most source control systems have good differencing tools for solving conflicts between text-based assets. So you could merge bits and bobs when needed. But not so for binary files like art assets. All or nothing, baby.

    And occasionally some noobie would accidentally lock the whole repo by accident. That's fun for the whole family right there.
  • ThorntonStrolia
    I've experienced the bad side of that first hand. Half of our team was in US, half in China. 12 hour time difference. We had to make sure all assets were checked in at the end of each day. Whenever someone forgot, but we needed to edit, we had to go all admin on it and revert their work.

    People learned quickly :)

    Most source control systems have good differencing tools for solving conflicts between text-based assets. So you could merge bits and bobs when needed. But not so for binary files like art assets. All or nothing, baby.

    And occasionally some noobie would accidentally lock the whole repo by accident. That's fun for the whole family right there.
    Oof, yeah thats no good. Lol.

    I spoke with them a bit more today and they need some weird things to answer basic info. I asked what kind of AWS server we would need so I can begin  writing a proposal and they wouldn't answer any questions without the companies name which I found werid, and was not at liberty to say, because, well, I am a contractor and it is not my job to put the name of a company I contract to on formal inquiries, even though I was requested to research. Then after previously informing them how many seats we need and having a whole discussion over email they requested it again like we didnt just send a bunch of emails back and forth discussing it. I also noticed they have a copy and paste response to pretty much everything because every time they needed more info it read "That's a great question, I will need more information to answer that for you!" and then proceeded to ask questions that a contractor in my position has no right answering. I am trying to figure out how to put together the relevant info to even see if this is even going to be a good fit for us and to that resolve, worth taking to my superiors, but man they are really making it hard. I havent had time to setup the free version yet but I sure hope it is so good I cant live without it because the support team is so bad I don't know how to take this to my boss any other way than just saying "yo this is so good, look, my team has increased 1/4 in productivity since we began using it, we absolutely must have it even though I have no information about feasibility or cost to convince you why you should get on a call with them!"

    It is one of the coolest VCs I have seen but they are quickly making me lose interest. Even talking about it with my head of design, he seems like hes getting tired of their games. He didn't say anything but I could see the enthusiasm wane off a little.

    I am gonna look into some of your other suggestions and see if I can get definitive information on anything so at least then I might have some results to reflect the amount of work I have put in pulling teeth today.
  • Eric Chadwick
    Options
    Offline / Send Message
    It's worth the effort of getting past the sales person. It's not perfect, nothing is, but overall it's a great piece of software. 
  • ThorntonStrolia
    It's worth the effort of getting past the sales person. It's not perfect, nothing is, but overall it's a great piece of software. 
    It certainly seems like it is. I am considering setting up a fake installation on a different email and letting them reach out and using a whole slew of hypotheticals to see if I can get a rough estimate. Best way I can think of to get the information I need.
Sign In or Register to comment.