Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Does anyone know if there's a best practice for labeling game versions.

I'm not sure if there's a standard name for it other than versioning but what I mean is basically:

  • 1.0
  • 1.1
  • 1.2
  • 1.3.1 beta
share|improve this question
add comment

3 Answers

up vote 13 down vote accepted

There is no standard, but you should do it in a way that makes sense to you and contains all the information you may need to track that build. I worked for a company that essentially broke it down like this:

[Major build number].[Minor build number].[Revision].[Package]

i.e. Version: 1.0.15.2

  • Major build number: This indicates a major milestone in the game, increment this when going from beta to release, from release to major updates.

  • Minor build number: Used for feature updates, large bug fixes etc.

  • Revision: Minor alterations on existing features, small bug fixes, etc.

  • Package: Your code stays the same, external library changes or asset file update.

Combined changes roll over to the most significant change. For example, if you're incrementing the minor build number, the revision and package both reset to 0.

Even though the categories are defined, there's still ambiguity for what kind of features actually cross over between a revision and a minor build number. It's up to you. If you make lists of the features that will need to be implemented before each increment, you'll also have a plan to follow, but in the end it's your decision as to what fits into each category.

share|improve this answer
1  
That's awesome information, everywhere I looked it only talked about Major ad minor build numbers with no real explanation as to what falls into each. –  ChaoticLoki Jan 29 '13 at 16:01
add comment

As far as I know, there is no standard for that. Practice will vary depending on companies, teams and projects: there is no such thing as a best practice. The most important thing is not the actual convention, but the fact that everyone sticks to it.

That said, the scheme you mentioned is quite common for released games. 1.0 will typically be the gold master, and patches will start from there: 1.1, 1.2... It'as also used in pre-release customer versions such as private or open betas.

For games in development I've rarely seen this system used. It is much more common to refer to a build by its atomic change ID (e.g. Perforce changelist number). This is particularly useful for a middle-scale project where everything (code & assets) is stored on the same repository, and continuous integration is in place. In this case, having both an atomic change number and a version number is redundant and error prone. Some builds will be promoted to a milestone after QA: alpha, beta, release candidate, and labelled as such.

For big projects, the simple concept of a "game version" doesn't apply anymore. You'll have several platforms, SKUs, languages, single-player mode, multi-player mode, etc. Managing versions becomes then a full-time job (sometimes called a data manager -- this is Ubisoft terminology, probably called differently elsewhere), the labeling scheme is then much more complex and highly dependant on the actual game being made.

share|improve this answer
    
wow, it becomes a job in itself? I always thought the leads of each department would manage it's own versioning. –  ChaoticLoki Jan 29 '13 at 16:03
2  
@ChaoticLoki You need proper coordination between departments to make sure that, for instance, level designers are working on the latest stable executable. Or that programmers can find who screwed up a variable in the localized text (as in : "The Italian translator fixed dialog X, accidentally broke tutorial text Y at the same time, but we can't revert to the old version because the exe isn't compatible. Arghhh! Help?"). And so on. In a big team, you need somebody to take care of all this. It's actually one of the most challenging jobs in the industry. –  Laurent Couvidou Jan 29 '13 at 16:26
add comment

Stack Overflow has a great discussion on this called How To Do Version Numbers, which references the Versioning Style Guide.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.