Computer Graphics World

January/February 2015

Issue link: https://digital.copcomm.com/i/457057

Contents of this Issue

Navigation

Page 9 of 51

8 cgw j a n u a r y . f e b r u a r y 2 0 1 5 V I E W P O I N T hen you ask artists what tools they need to start a 3D project, you'll hear the usual list of suspects: their modeling tool of choice, Photoshop, and if it's a game project, an engine of some sort. But what you usually won't hear is "version control," and that's a shame. Small teams oen think their projects are too small to need a version- ing system or the complexity it can introduce. But when properly used, a versioning sys- tem can save you blood, sweat, tears, and, most importantly for a small team, money. I T W O R K E D L A S T W E E K As a developer, I probably lean on Maya Embedded Language (MEL) and MAXScript more than most animators. Never- theless, it's increasingly true that more and more behavior is scripted, and the moment you introduce scripting, you get all the fun bugs and oddities that can only come from code. In a lot of other industries, the art assets for a project and the source code are loosely related; if your HTML references an image that doesn't exist, most Web apps will stumble along. But that isn't true in the animation world. Our script files frequently have expectations of the rigs and will fail catastrophi- cally if those needs are not met. It's critical that art and code live together in a version-control system. That's because ver- sion-control tools operate using the concept of changesets; files can be committed as a group, and the tool tracks the files that were changed together. This makes it easy to go back in time to a specific commit to see what the scripts and models looked like. If you're finding that a rig is misbehaving when it worked fine the week before, version control makes it easy to track all the necessary files as of a certain point in time, so you can see what has changed. Once you've debugged a problem with proper version control, you'll wonder how you ever lived without it. Giraffe.new.version_3.new- est_version.final.REALLY_FINAL. ma. Have you ever seen a file like that? It turns out that even when we aren't using a versioning system, we tend to think in terms of versions and create our own systems by hand. I guarantee any team that works this way will have moments where people are out of sync and using the wrong file versions. Version-control sys- tems let the computer handle all that juggling for you, carefully storing the contents of each change and letting you attach a description to the version so your future self can remember what your past self was trying to do. Folder copying is also a pop- ular way to fake versioning, and it works in a pinch. However, it is horribly error-prone, and one bad folder copy can wipe out a lot of data. I consulted for a popular gaming company that used a network shared drive and folder copy for all its ver- sioning on a 100-person project. They shipped, but they shipped six months late and millions of dollars over budget, all because of a constant stream of data loss from their error-prone versioning system. W H A T ' S O N E T O D O ? File-sharing tools make sharing easy, but they don't do much in the way of helping to figure out what other people are work- ing on. If your team has only one artist, this isn't much of a concern. But as you add artists, you will find that you don't always know who is working on what. Version-control systems frequently support locking so that an artist can claim a file as theirs. It makes it easy for every- one else on the team to see at a glance who is working on what, and it also helps to make sure that two people don't try to change the same file at the same time. FRIENDS DON'T LET FRIENDS WORK WITHOUT VERSION CONTROL W BY MATT ATTAWAY REVISION-CONTROL SOFTWARE, SUCH AS PERFORCE, CAN SAVE HEADACHES AND PRODUCTION COSTS.

Articles in this issue

Archives of this issue

view archives of Computer Graphics World - January/February 2015