Jump to content
  • Advertisement
Sign in to follow this  
Paool

Source control in game development

This topic is 3249 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi there, I was wondering if you guys could share the information about the known source control software used in professional game development? There is nice article about comparison of revision control software but it does not contain any information about their utilization in projects related to professional game industry. The very popular and widely used source control version software is known to everybody - Subversion - but do you really think that UE3 team, or Crysis guys controls their game/engine source/data with SVN? Or maybe some commercial solution like Perforce, or Visual SourceSafe is preferred? Can you elaborate on that?

Share this post


Link to post
Share on other sites
Advertisement
Perforce is pretty common in the game industry. I wouldn't be surprised if some studios use OSS source control system though.

I don't think anyone uses SourceSafe anymore. At least, I really hope not! It is utterly reprehensible.

Share this post


Link to post
Share on other sites
My company (develops simulation software) has used CVS for quite a while. We're in the process of moving over to SVN. A few open source projects that I work on (Blender is a big one) uses SVN. I've used SVN for digital content management for movies as well as source code and don't have any complaints that I can think of.

As far as what the big boys use, a lot of companies use svn. I've heard perforce is very good, but Visual SourceSafe isn't that good because it gets corrupted easily.

Cheers,

Bob

Share this post


Link to post
Share on other sites
I've worked for a few companies and it varies from company to company. I've used Subversion, Perforce, and Alienbrain.
As for what the UE3 team use. I'm pretty sure its perforce as when you licence the Unreal Tech from Epic the only way to get the source is through a perforce repository.

Perforce and Subversion seem to be the most popular out of the bunch.



Share this post


Link to post
Share on other sites
One thing to consider about any version control is that the core operations (check out, check in, revert) need to be accessible to all developers, not just the programmers. That means things like explorer integration and tools integration make a big difference. So does streamlined workflow. Do I care about git's staging area, branches, and repositories if all i want to do is check in a single non-mergeable binary art file? The less steps there are to teach all the people who don't care, the better. Also, the faster the version control system, the less time the company spends waiting on it.

We've used Perforce and SVN. SVN had good integration and workflow, but man was it slow. Maybe it was just how we had it setup, but it was SLOW. Perforce has good integration and workflow (some of the company still liked SVN's flow better). But, Perforce has the benefit of being very fast by comparison to our SVN setup.

I'd like to see more use of git like tools. But at the same time, I haven't found a "user friendly" solution for it that wraps up some of the complexity of the commandline with the same quality as the perforce tool.

Share this post


Link to post
Share on other sites
Quote:
Original post by KulSeran
I'd like to see more use of git like tools. But at the same time, I haven't found a "user friendly" solution for it that wraps up some of the complexity of the commandline with the same quality as the perforce tool.


Have you tried tortoisegit yet?

Share this post


Link to post
Share on other sites
I'd compel you to investigate distributed revision control - the likes of which Torvalds carried on about while he went about implementing Git. Other notable DVCSs include Mercurial, Bazaar, Monotone, et al.

Also, I wouldn't think about the experience side of things, here - if version control software experience were a significant factor in employment, courses would base units around it. A greater understanding of project management is more important.

Share this post


Link to post
Share on other sites
I like Git, but it's a fact that DVCSes are generally really bad at handling large asset files. So if you need to track both code and assets, a DVCS is probably only going to be half of your solution.

Share this post


Link to post
Share on other sites
i used SVN before migrating to Perforce, our dev team is small enough to use it for free.

I ran into a lot of issues with SVN, speed issues was one thing. People would always tell me "oh its because your server blows", but when i got perforce, things just worked, and never got slow or anything!

the p4 plugin for visual studio is okay, it doesnt work flawlessly and runs a tad slow, but once you figure it out its not that bad.

svn's plugin was worse if i remember correctly.

i used cvs at another job before. and it is okay, but perforce is the best imo.

Share this post


Link to post
Share on other sites
We use CVS on some projects and Perforce on others. We also have bespoke solutions for managing binary assets. CVS may be bad but the last place I did some contract work for was still using SourceSafe, which was 'fun'. We're looking to upgrade from CVS here but deciding on a successor is difficult.

Mercurial and git are interesting tools, and I use Mercurial at home. But they're really complex. What used to be a 3 step process (update, work, commit) becomes a 5 stage process (pull, update, work, commit, push), and the plethora of different ways in which you can branch the code (each with their own benefits and downsides) is a bit of a morass. (Mercurial is especially bad here - do you use bookmarks, a named branch, an unnamed branch, or a cloned repository? And what about patch queues? Git is arguably a bit simpler, either branch or clone... but then you have stash too...)

Tools like TortoiseHg or TortoiseGit cover over the command line with a nice GUI but they don't do much for the overall complexity you hit as soon as you want to work with branches. Worse still - and this is an all-too-common trait of the free software GUIs for pretty much anything - they only expose a subset of the functionality, so as soon as you hit a corner case you're going to have to dig around on the command line anyway, which you are unfortunately unfamiliar with due to the reliance on the GUI.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!