Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (612)
Games in Android Showcase (172)
games submitted by our members
Games in WIP (659)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Game Versioning or Numbering  (Read 2035 times)
0 Members and 1 Guest are viewing this topic.
Offline James van Dalen

Senior Newbie

« Posted 2013-05-07 06:14:41 »


I've done a bit of searching and I know this might seem like a bit of a dull question but... how do you decide on version numbers? For example using a 3 stage version number (if thats the right way to say it) like X.X.X how do you decide which one do increment?

Thanks for the help,
Offline HeroesGraveDev

JGO Kernel

Medals: 360
Projects: 11
Exp: 3 years

┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻

« Reply #1 - Posted 2013-05-07 06:16:15 »

Do whatever you feel comfortable with.

Nobody cares what you do with it except you.

Just make it obvious whether one version is newer than another.

Offline cylab

JGO Wizard

Medals: 89

« Reply #2 - Posted 2013-05-07 06:34:41 »

A good practice is to use the scheme


where major versions only change, when you have incompatible changes (like changes of the save-game format), minor versions change with feature-additions and bugfix versions change on - well - bugfixes Wink

Mathias - I Know What [you] Did Last Summer!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online SHC
« Reply #3 - Posted 2013-05-07 07:49:11 »

There are several schemes of versioning. I catagorized them into six though the names I use aren't the originals.

  • Single version scheme
  • Double version scheme
  • Triple version scheme and
  • Quadraple version scheme
  • Year version scheme
  • Character-Number version scheme

Single version scheme

It just get's incremented by a single digit and the version is in the format
For example, take flash player. It's versions are 5, 6, 7, 8, 9, 10, and the recent 11. Even Java has this. Java 5, Java 6 and recent Java 7.

Double version scheme

It contains two stages in the version string.
This is used to show also revisions of the software containing bugfixes. Example: Windows OS itself. Windows XP has 6.0 Windows Vista has 6.1 and Windows 7 has 6.2.

Triple version scheme

It contains three stages in the version string.
Linux kernel, Apple OS X, the popular NSIS install system, uses this versioning number.

Quadraple version scheme

It contains four stages.
This is the default version for executables used by windows. Though, the software uses it's own versioning, this is the format present in the Properties dialog of the windows executables.

Year version scheme

Some softwares which are released once an year can have the year number as the version. For example, MS Office 2003, 2007, 2010, 2013 and the popular system utils like TuneUP Utilities.

Character-Revision version scheme

Some softwares such as photoshop uses a custom implementation like
where CS denotes major and 3 denotes the revision number.

Offline sproingie

JGO Kernel

Medals: 202

« Reply #4 - Posted 2013-05-08 01:57:15 »

Three digits is the common standard, and it's major.minor.patch (I assure you it's not a build number).  This scheme is usually called "semantic versioning".

Java 5, 6, and 7 are versions 1.5, 1.6, and 1.7.  And the java.version system property actually lists three digits (the last tends to stay at 0) and that's usually followed by an underscore and an update number, which you can say is the "real" patchlevel.  
Offline alaslipknot
« Reply #5 - Posted 2013-05-08 02:14:49 »

xD am not trying to be troll but ...

seriously, why do you care  Tongue ?
my game titles are always something like "am Angry", "Why you don't work ?","Rotate me" "shoot me please" etc ...
it's a professional way to push yourself forward  Cool

"It's not at all important to get it right the first time. It's vitally important to get it right the last time."
Offline Grunnt

JGO Kernel

Medals: 95
Projects: 8
Exp: 5 years

Complex != complicated

« Reply #6 - Posted 2013-05-08 07:43:35 »

You may also consider using an automatically incremented build number to identify the exact version of your software. In other words, every time you build the code, the build number increases by one. If you show this build # in the main menu or something then users can always see precisely what version of the software they have. Here's a good post on how to automate this if you are using Ant scripts. I'm working on a similar approach.

Offline Grunnt

JGO Kernel

Medals: 95
Projects: 8
Exp: 5 years

Complex != complicated

« Reply #7 - Posted 2013-05-08 07:46:12 »

seriously, why do you care  Tongue ?
my game titles are always something like "am Angry", "Why you don't work ?","Rotate me" "shoot me please" etc ...
it's a professional way to push yourself forward  Cool

It's a fun way, but it may make it a bit difficult for users to communicate with you. Consider the following feedback from your beta testers:

I just tried the "am Angry" update (or was "shoot me please" the latest version?) but it seems that the bug from the "Rotate me" update is back again.

Offline ctomni231

JGO Wizard

Medals: 99
Projects: 1
Exp: 7 years

Not a glitch. Just have a lil' pixelexia...

« Reply #8 - Posted 2013-05-08 08:18:59 »

I do my personal versions by date...

which is totally unconventional but whatever, it helps me keep track of my own builds (and also holds a reminder of how long it has been since I've done a release Tongue).


A good rule of thumb is, if you (and your user base?) can tell the difference between releases, that is pretty much all you need. Using conventional is probably the best... though many say the the minor number is hardly every used.

Offline Damocles
« Reply #9 - Posted 2013-05-08 10:05:24 »

More important than the format, is that you actually increment the version...

A lot of developers are too lazy to do that,
ending up with different builds with the same version...

Have to deal with that daily

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline heisenbergman

JGO Coder

Medals: 14

L___ o_ G___ a__ P___

« Reply #10 - Posted 2013-05-08 10:15:23 »

Side-topic: At what point do you start keeping track of the version/number of your project? Like, what is version or something like that? Tongue

I mean, I started out drawing a circle on to the screen... does that warrant putting a version/number on?

What is the standard for this and/or what do you personally do?

Offline Damocles
« Reply #11 - Posted 2013-05-08 11:00:22 »

Versions are important if you have to handle .. well more than one version.

So its needed when: 
-you give your build to someone to test it.
-When you release some version (in a store / website for example)
-when you make a backup of an important milestone

If you just work yourself on your own codebase / repository, and the project is
in its firsts steps, you dont need a version yet.

Offline Danny02
« Reply #12 - Posted 2013-05-08 11:02:48 »

as others already pointed out, the actual format of your version number is not that imported.

What is more imported to follow two simple rules.
1. every version number must be used only once
2. somehow remember what the source code looked like for a specific version

Do it like that:
Everytime you want give someone else then you your app(post it on a forum or a real release(appstores...))
-test if everything is really working as excpected with a clean build(freshly checked out from version control, don't use your normal working-copy)
-if everything is right give your app an new version number and commit&tag this in your VC.

btw you can take a look at maven release plugin which is doing all this for you.
Offline sproingie

JGO Kernel

Medals: 202

« Reply #13 - Posted 2013-05-09 01:24:52 »

I like semantic versioning, and build tools like maven can handle it for you, but yeah, I don't think you need to go crazy with it for a small game project.  Build dates are usually fine for people running test versions, otherwise give 'em a clever name.  And if it's a big game project, let's hope there's a project manager who makes a sane decision.
Offline nsigma
« Reply #14 - Posted 2013-05-09 08:21:39 »

I do my personal versions by date...

If you go with something like this, I'd highly recommend doing <Year><Month><Day>, and always using two digit numbers (or 4 for year if you're planning on your code being used into the next century  Wink ).

ie. <GameName>-130509

That way it is always incrementing and sorts correctly 'alphabetically' - don't underestimate how useful those two features can be!

Praxis LIVE - hybrid visual IDE for creative coding
Digital Prisoners - interactive spaces and projections
Offline Jimmt
« League of Dukes »

JGO Kernel

Medals: 162
Projects: 5
Exp: 3 years

« Reply #15 - Posted 2013-05-09 23:04:35 »

seriously, why do you care  Tongue ?
my game titles are always something like "am Angry", "Why you don't work ?","Rotate me" "shoot me please" etc ...
it's a professional way to push yourself forward  Cool
The "professional" way is with versioning, you just don't see it when you buy the game. Read here
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

afikri (12 views)
2015-08-31 09:30:22

afikri (19 views)
2015-08-31 09:30:07

afikri (9 views)
2015-08-31 09:27:24

afikri (13 views)
2015-08-31 09:26:40

Roquen (16 views)
2015-08-29 11:30:54

GamerC4 (30 views)
2015-08-22 20:38:50

GamerC4 (26 views)
2015-08-22 20:37:18

GamerC4 (30 views)
2015-08-22 20:37:01

Kefwar (39 views)
2015-08-22 18:07:24

GamerC4 (26 views)
2015-08-22 01:00:24
HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!