How they heck do you keep an entire mod team synchronized?


(criminal) #1

I’ve been asking this on various forums and it seems that the question is more complicated than it seems. Essentially right now the team has ALOT of assets completed and even more half finished (like models with no textures) my problem is becoming more of an administrative orgranizational issue. What kind of solutions are being used by game developers? Probobly easier since most of them would be on internal networks i guess, but there still HAS to be a way (other than expensive ftp hosting) to synchronize my team with the same files and allow them to update certain files as they complete them.
Can anyone enlighten me on how others may have done it? I’ve heard of SVN and CVS but it seems like you still need a central data center…am i completely off base?


(Domipheus) #2

If you have not got source control for all your mod assets then this is an essential change to make.

You do need a central server, if you can get somone on your team with a static ip or even using one of these dynamic dns things to allow svn+ssh connections it will make your job a lot easier. I would recommend svn - there are planty of guides/tutorials of how to get it all set up.


(criminal) #3

SVN does seem like the way to go, i was told tortoise svn is a good one…ill have to poke around see if anyone on the team has a nice static ip with an extra comp :wink: thanks alot for the quick reply i appreciate it.


(Domipheus) #4

Not a prob, but even if somone does not have a static ip, you could use dyndns to set it up on a small machine that somone just keeps on as much as possible.

Also, when using it, it may be good to set up commit rules to follow - i.e. programmers must not submit code which will not compile, etc, and each submit must have a descriptive comment. I know it sounds simple but again it may help if somone was to try to track down a code change from a while back.

And remember, back the repository up regularly :wink:


(Hakuryu) #5

The code should be liberally commented also, with each addition or bugfix clearly recognizable.

I worked for a medical software firm, and it wasn’t unusual to have comments taking up as much space in a source file as the code itself. They get removed during compiling and make it very easy to track down problems.

Like the others said, source control is paramount. Save yourself from future headaches. It can be as simple as having a ‘current’ directory structure with source files, and any new/changed files uploaded to a ‘candidate’ folder, and have someone backup the entire structure nightly before adding any candidate files into the current files. Software designed for source control is going to give you more flexibility though.


(zeh) #6

In relation to assets, SVN (or CVS) is the way to go, no other way around it. You just need to decide some structure (/sources, /art, /deploy, stuff like that) and you’re good to go. There’s absolutely no other way to work remotely with people when you need to control files going back and forth.

You also need someone to administer that. Having people without SVN access on the team can be quite frustrating so it has to work. The problem is that you can’t find good free SVN servers around, so and the ones you find always have a few issues, so this usually means you need to setup your own server somewhere.


(kamikazee) #7

One note: if you want to include binary files, be sure to use SVN.
CVS causes troubles if you feed it binary data. (Unless you leave it unversioned, but then it would work like a normal FTP system.)


(criminal) #8

Excellent responses, i knew you guys would know. All the other mods i have worked on were fairly small so there wasnt a major requirment for larger team (15+) to be synchronized, but now im learning about this stuff and all your replies are really helpfull. Essentially i’ve decided to use either my second computer or someone’s on the team to host the SVN. We will probobly end up using tortoise SVN since its free and i’ve heard some great stuff…as well like kamikazee said SVN doesnt hate any binaries we throw at it. thanks for the responses.


(GlobalWar) #9

ITIL processes? Configuration Management, Change Management, etc.
Combined with some Prince2 and Rational Unified Process (RUP).


(Ragnar_40k) #10

I’ve heard sd uses advanced, highly integrated interfaces to keep all developers syncronized:

PS: this is the crew of a Chaos Warhound Titan, click the “more pictures” link.


(criminal) #11

lmao nice! i wonder what the cost on one of those is!!!


(jaybird) #12

A nice combo is subversion and trac. Trac works with subversion, displaying source code at specified revisions, changesets, and provides a milestone and ticketing system. It’s a nice way to organize thoughts and goals amongst your teammates.

Also, keep in mind that Tortoise SVN is merely a Windows shell based client. You will still need a subversion server.


(Sebultura) #13

I’ve just heard of “Perforce” (but I haven’t gave it a try yet) & it seems to become a very used tool for these kind of things…


(CH4NDL3R) #14

Perforce is probably the best source control commercial software, way ahead of Microsoft SourceSafe and Alienbrain.
The main draw back is its licence cost, which is not affordable for mod teams.


(Sebultura) #15

Thanks for the info, too bad it’s licenced-based’n not cheap stuff.


(RR2DO2) #16

We use Subversion internally and it has been working fine for a good few years now.