5

I was thinking, what is needed for a good setup and what are good (free) tools to use? Some of what i came up with are

  • Bug tracking
  • Some good (distributed:P) source control (which means no svn fellas)
  • automated nightly builds or a continuous integration (or anything that automates builds and possibly sends emails when there are build errors)
  • wiki to document decisions, road map or milestones.
  • Something to backup assets (art, sound, etc)

What else? and do you have suggestions for any of the above? i pretty much clueless of all of these except for source control

  • 1
    Do you care about keeping your source closed or not, and do you care about whether or not a service must be self-hosted? Many of the better free options for some of your questions depend on those criteria -- for example, I like Google Code (which supports Mercurial for DCVS) but it requires you make your code available under an open source license. –  Jan 29 '11 at 05:14
  • @Josh: I think everything should be able to run on your local network just for reliability reasons (in cause your internet or isp goes down or the operating site is down for maintenance). I think many ppl would want private code so self hosted and private is recommended for these answers. –  Jan 29 '11 at 05:27
  • Oh, well, I posted my answer while you were posting this comment I guess, and most of it focuses on hosted stuff, but... hopefully some of it is still useful to you. :D –  Jan 29 '11 at 05:34
  • 1
    Converting to CW as this feels like a "list of X" question. Although, X is pretty vague. This really feels like it probably should be separate questions. – Tetrad Jan 29 '11 at 05:35
  • 1
    This sounds like five community wiki questions to me. – Jari Komppa Jan 29 '11 at 11:02
  • It sounds like four CW questions and a dup of http://gamedev.stackexchange.com/questions/480/version-control-for-game-development-issues-and-solutions to me. –  Jan 29 '11 at 17:34
  • @acidzombie: Except in very rare cases (one developer once told me their SOX compliance requirements forbid it, e.g.), hosting your own VCS is really more of a liability than an asset. It takes a surprising amount of time/people/money to keep it running well. –  Jan 29 '11 at 17:38
  • @Joe Wreschnig: Really? Any idea if the same problem with distributed version control? I never had a problem with git and having a bare repository for each user to push to and only pulling seems to work very, very well. –  Jan 29 '11 at 18:26
  • @Tetrad: Yes, but i am really hoping someone can mention tools that work well together or a package with two or more of these. Not that i think they should all be in one package such as TRAC or redmine. I'm thinking it would be cool if all of these were separate but have a plugin so if i am looking at bugs i can easily visit the doc on wikimedia and another link say in the toolbar of all of these to bring me to nightly builds and see what failed or not. Or an article to explain how to set the toolchain up but really i like the idea of good solid separate package then one that handles it all –  Jan 29 '11 at 18:33
  • On your fifth question, I'd put the assets in source control. Whether in the same repository as the code or not depends on how big they are. – Peter Taylor Jan 29 '11 at 18:50

4 Answers4

3

I can't say enough positive things about FogBugz. It's the best bug/task tracking system I've used. As of FogBugz 8 it even has a decent Wiki based of CKEditor. It supports plugins so you can extend it to do a bunch of stuff (like a Kanban board), or customize its workflow, or do more extensive timesheet reporting, or whatever. You can do self hosted or pay them to host.

Now the base solution isn't free, but you can do a "students and startups" hosted solution which is good for 2 users.

They have a separate product, Kiln, which is basically Mercurial but tied in Fogbugz (optionally) and has a pretty slick code review pipeline. I talked to one of the guys that worked on it and they said it had pretty decent tools for dealing with the "big file" problem with DVCS solutions (namely that every client has every version of every file, and that not scaling for, say, giant zbrush files), like filtering "big files" by extension, and that sort of thing.

Tetrad
  • 30,124
  • 12
  • 94
  • 143
2

Bitbucket uses Mercurial as its dvcs and has features similar to Github, but it also has a great free plan where you can store unlimited private projects with up to 5 collaborators.

http://bitbucket.org

thbusch
  • 554
  • 5
  • 8
1

Github, git, Hudson (note: this is not a hosted service), Github, Github :-)

coderanger
  • 6,147
  • 36
  • 38
1

I like Google Code a lot -- if you are willing to make your project open-source, it's pretty awesome. It provides you with hosting for code (SVN or Mercurial), files for releases, a simple-but-effective wiki, and a straight-forward bug tracker. The downsides are that access control for the wiki is limited, and edits to the wiki cause commits to your repository.

I've heard good things about github, and from what I've seen of it while grabbing people's code from it, I like it. But I have never used it for more than that, because I don't have a compelling need (or desire) to use distributed version control.

In the realm of less-general tools, Perforce is a powerful version control system that is used by just about every professional game development studio I have worked at or know of. They have free limited-user licenses. You need to host and administer the server yourself, though, which is something I have very limited experience doing so I can't comment much to that.

I have used Trac for bug tracking before (and still do for my own projects that I host on my private SVN). It's also simple -- I am a fan of simple bug tracking and such, instead of systems like Bugzilla, which I think are too much trouble to configure. I don't use Trac's built-in wiki, really, preferring DokuWiki instead. There is also the ever-popular MediaWiki, if that's your thing.

Backup-wise, I mostly use Backblaze, which is awesome but violates your "free" constraint. If I couldn't use Backblaze I'd just back everything up via a cron job or something to an external hard drive and mirror that to my web server, probably.