Googles appar
Huvudmeny

Post a Comment On: cbloom rants

"02-28-11 - Game Branching and Internal Publishing"

2 Comments -

1 – 2 of 2
Anonymous Anonymous said...

We got internal publishing fairly right on the last project I worked on. The artists got a special build with cheats activated and certain play restrictions loosened, menu to select levels (etc.), and a model viewer that our Maya plugin could talk to directly.

It was actually pretty easy to sort out, once we'd actually decided to do it, and making the build was basically one part-time coder-morning per week (mostly waiting for the compiler).

No branches (in fact we generally didn't use them, more fool we) - this was just about manageable for the internal build, since problems weren't generally a big deal and the programmers used the art tools too. For the real builds, it sucked in all the ways you stated.

We had QA check the art build, but not having Maya licences they couldn't do much more than play the game part. That was useful enough, though, because it meant we could give the producer/ management/etc. the art build, and they could play the game. Sad to say but on most projects I've worked on they've usually had to make do with the last milestone build (= out of date) or whatever one of the programmers had on their machine at the time (= random and full of programmer-specific tweaks).

Anyway, it looks like I went on more than I was expecting, so I hope you liked my cool story. The game still utterly sucked to work on, looking back. Half-OK art tools process can't solve everything ;)

March 8, 2011 at 5:37 PM

Blogger Carsten Orthbandt said...

We used three branches for this pretty much as you describe with great success.
There was a "dev" branch that was supposed to work at all times but of course got broken now and then. This was where the coders hacked away.
Then there was a "rel" branch that only had stable code. This was given to art and content teams and QA. If something went bad in this branch you could be pretty sure it was bad content (e.g. level scripts).
Finally, there was a public branch that would represent the most recent public version.
As a refinement we generally kept all public branches around and named them after their purpose (E32011Demo and the like).

This worked like a charm with virtually no lock-down time whatsoever. Perforce made this model pretty easy.

March 10, 2011 at 2:27 AM

You can use some HTML tags, such as <b>, <i>, <a>

This blog does not allow anonymous comments.

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.