Page 1 of 2

Change Factorio's numeric versionning system

Posted: Thu Mar 07, 2019 8:03 pm
by lordaeron1
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?

Re: Version 0.17.8

Posted: Thu Mar 07, 2019 8:04 pm
by wahming
lordaeron1 wrote:
Thu Mar 07, 2019 8:03 pm
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?
Oh yeah. A 2-year long corner.

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 12:06 am
by 5thHorseman
lordaeron1 wrote:
Thu Mar 07, 2019 8:03 pm
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?
Looks like someone needs the "version numbers aren't regular numbers" talk.

0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.

They change to 0.18.0 when they decide they have it, not when the numbers get that far.

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 1:41 am
by someone1337
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
lordaeron1 wrote:
Thu Mar 07, 2019 8:03 pm
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?
Looks like someone needs the "version numbers aren't regular numbers" talk.

0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.

They change to 0.18.0 when they decide they have it, not when the numbers get that far.
And while we are at it: the devs should definitely drop the "0." factorio 16 was an awesome game, so will be factorio 17, once its stable.

I pirated factorio 0.13, because i expected it to be a total unplayable wreck ...
I bought a few copies since then for myself and friends, because its pretty much playable and the 0. prefix just downplays factorios playability and overall progress...

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 2:01 am
by Jap2.0
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
lordaeron1 wrote:
Thu Mar 07, 2019 8:03 pm
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?
Looks like someone needs the "version numbers aren't regular numbers" talk.

0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.

They change to 0.18.0 when they decide they have it, not when the numbers get that far.
I have a new proposal for version numbering:

Begin with 0.17.0, just like right now.
Continue with the first several versions in the same way.
Once you reach 0.17.9, proceed to 0.17.91, then 0.17.92, etc.
After 0.17.99 would be 0.17.991

And so on.

If we converted major version numbers as well, we would be at 0.98 right now (so close to 1.0! :P)

This would better facilitate alphabetical version ordering, make more sense mathematically, and represent perceived development progress far better than any established method (keeping in mind the phrase "everything takes longer than expected").

And for those of you who want to know how many versions of something have been released, that can be calculated quite simply by the formula "y = 9x-9+z" (or alternatively "y = 9(x-1)+z+1" or "y = 9x-(8-z)").

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 6:47 am
by Sander_Bouwhuis
someone1337 wrote:
Fri Mar 08, 2019 1:41 am
And while we are at it: the devs should definitely drop the "0." factorio 16 was an awesome game, so will be factorio 17, once its stable.

I pirated factorio 0.13, because i expected it to be a total unplayable wreck ...
I bought a few copies since then for myself and friends, because its pretty much playable and the 0. prefix just downplays factorios playability and overall progress...
Ha ha ha, I too had a Piratebay Factorio version (also v0.13 or so?) before buying it from their website (there was no Steam version then yet). I recommend this game to a lot of people IRL. I even tentatively suggest buying it to IGG-games visitors (a games pirate website).
Jap2.0 wrote:
Fri Mar 08, 2019 2:01 am
I have a new proposal for version numbering:

Begin with 0.17.0, just like right now.
Continue with the first several versions in the same way.
Once you reach 0.17.9, proceed to 0.17.91, then 0.17.92, etc.
After 0.17.99 would be 0.17.991

And so on.

If we converted major version numbers as well, we would be at 0.98 right now (so close to 1.0! :P)

This would better facilitate alphabetical version ordering, make more sense mathematically, and represent perceived development progress far better than any established method (keeping in mind the phrase "everything takes longer than expected").

And for those of you who want to know how many versions of something have been released, that can be calculated quite simply by the formula "y = 9x-9+z" (or alternatively "y = 9(x-1)+z+1" or "y = 9x-(8-z)").
Being a software developer myself, I always stick to strict dictionary sortable version numbers like this: vx.xx.xx

Examples:
v0.17.08 -> v0.17.09 -> v0.17.10 -> v0.17.11
v0.18.00 -> v0.18.01

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 6:49 am
by thecatlover1996
I rather just have them stick with semantic versioning (semver.org), like all regular software should IMO.
And about zero-based versioning: according to SemVer, this means that "Anything may change at any time. The public API should not be considered stable." Which is the case for Factorio :P

And some people take my last argument to the extreme and say that software is never finished and thus should never reach major version 1 (0ver.org, Factorio is currently also on the list). But that's up to the developers to decide :D

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 7:58 am
by tmzasz
Jap2.0 wrote:
Fri Mar 08, 2019 2:01 am
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
lordaeron1 wrote:
Thu Mar 07, 2019 8:03 pm
wow, we are already at 0.17.8 version O_O. does this mean 0.18 is around the corner?
Looks like someone needs the "version numbers aren't regular numbers" talk.

0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.

They change to 0.18.0 when they decide they have it, not when the numbers get that far.
I have a new proposal for version numbering:

Begin with 0.17.0, just like right now.
Continue with the first several versions in the same way.
Once you reach 0.17.9, proceed to 0.17.91, then 0.17.92, etc.
After 0.17.99 would be 0.17.991

And so on.

If we converted major version numbers as well, we would be at 0.98 right now (so close to 1.0! :P)

This would better facilitate alphabetical version ordering, make more sense mathematically, and represent perceived development progress far better than any established method (keeping in mind the phrase "everything takes longer than expected").

And for those of you who want to know how many versions of something have been released, that can be calculated quite simply by the formula "y = 9x-9+z" (or alternatively "y = 9(x-1)+z+1" or "y = 9x-(8-z)").
Factorio follows semantic versioning (https://semver.org/) as far as i can tell which is stupid simple to track so why would they convert to a versioning system that is abstract and strange just to please you when they use a tried and true ( see industry standard ) system already?

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 10:16 am
by Klonan
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.
The max value for each version is 65535,
So technically after 0.17.65535, we really have no choice but to make it 0.18.0 (Or maybe it would overflow back to 0.17.0)

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 10:55 am
by Noorphish
I think that the version numbers should not be our problem. That´s devs part.
We should play the game ....

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 11:17 am
by Eiermann
Klonan wrote:
Fri Mar 08, 2019 10:16 am
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.
The max value for each version is 65535,
So technically after 0.17.65535, we really have no choice but to make it 0.18.0 (Or maybe it would overflow back to 0.17.0)
How about negative numbers?

Re: Version 0.17.8

Posted: Fri Mar 08, 2019 12:03 pm
by 5thHorseman
Klonan wrote:
Fri Mar 08, 2019 10:16 am
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.
The max value for each version is 65535,
So technically after 0.17.65535, we really have no choice but to make it 0.18.0 (Or maybe it would overflow back to 0.17.0)
Good thing you didn't used signed ints.

0.17.-32768

Re: Version 0.17.8

Posted: Sat Mar 09, 2019 8:28 am
by nosports
Klonan wrote:
Fri Mar 08, 2019 10:16 am
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.
The max value for each version is 65535,
So technically after 0.17.65535, we really have no choice but to make it 0.18.0 (Or maybe it would overflow back to 0.17.0)
from a just crytography/computer POV one can always resort also to letters so at 17.999 to 17.ZZZ the space for versions are factorized by 2,6 :twisted:
its just as well for the factorio approach of moar MOAR MMOOAARRRRRRR :mrgreen:

Re: Version 0.17.8

Posted: Sat Mar 09, 2019 1:58 pm
by Nidan
nosports wrote:
Sat Mar 09, 2019 8:28 am
Klonan wrote:
Fri Mar 08, 2019 10:16 am
5thHorseman wrote:
Fri Mar 08, 2019 12:06 am
0.17.9 + 0.0.1 is not 0.18.0, it's 0.17.10. Same for 0.17.99->0.17.100, and onward forever.
The max value for each version is 65535,
So technically after 0.17.65535, we really have no choice but to make it 0.18.0 (Or maybe it would overflow back to 0.17.0)
from a just crytography/computer POV one can always resort also to letters so at 17.999 to 17.ZZZ the space for versions are factorized by 2,6 :twisted:
its just as well for the factorio approach of moar MOAR MMOOAARRRRRRR :mrgreen:
Except that letters are just numbers as well, and they apparently have chosen unsigned 16 bit integers for each component of the version number. Whether you use numbers and/or letters to display these 16 bit is just a presentation issue.

Re: Version 0.17.8

Posted: Sat Mar 09, 2019 4:46 pm
by someone1337
tmzasz wrote:
Fri Mar 08, 2019 7:58 am

Factorio follows semantic versioning (https://semver.org/) as far as i can tell which is stupid simple to track so why would they convert to a versioning system that is abstract and strange just to please you when they use a tried and true ( see industry standard ) system already?
semver is garbage for EVERYTHING that is not a webservice or "enterprise".
Also factorio does not use semver, as semver would require that all 0.x.y savegames are openable with all 0.x.y game versions, which obviously is not the case.

Also (over-hyped) standards are nice, there are so many to choose from. ;)

Re: Version 0.17.8

Posted: Sat Mar 09, 2019 5:02 pm
by BlueTemplar
They have just shifted it a bit from 017.y.z to 0.17.y...
Please elaborate about the garbage part ?

Re: Version 0.17.8

Posted: Sat Mar 09, 2019 6:30 pm
by someone1337
BlueTemplar wrote:
Sat Mar 09, 2019 5:02 pm
They have just shifted it a bit from 017.y.z to 0.17.y...
Please elaborate about the garbage part ?
It tries to objectivise something which is purely subjective, leading to the wrong assumption that your understanding of version numbers is the same as everyone else's.

The most important part of semver is that it tries to say "if you change publically exposed functionality, bump major", which in reality leads to "basically always bump major".
Otoh you lose the information of how much impact a major bump has ... Was a function that noone ever uses renamed, or will i have to rewrite 90% of my codebase?

Also that bugfixes do not have impact on public functionality is a wrong assumption and often buggy functionality was worked around by others that depend on that functionality...
So do I change patch-level, or major-level when i fix that bug?
And/or ... is a patch-level change in one of my dependencies guiaranteed to not make me change any code in my codebase?

obviously, you do not know and you still need to pin versions to maximal precision.

Basically semver wrongly claims that it solved the version-numbering problem, while in fact the version number alone transports less information than before.

Re: Version 0.17.8

Posted: Sun Mar 10, 2019 10:16 am
by MageKing17
someone1337 wrote:
Sat Mar 09, 2019 4:46 pm
Also factorio does not use semver, as semver would require that all 0.x.y savegames are openable with all 0.x.y game versions, which obviously is not the case.
Weird how you completely missed that the point of 0.x.y verions is that they don't have a stable public API. Especially odd, given that thecatlover1996 quoted it directly earlier; it's almost like you just wanted to go on a weird tirade against semver rather than actually pay attention to the conversation.

Re: Version 0.17.8

Posted: Mon Mar 11, 2019 8:56 pm
by someone1337
Another thing that i hold against semver: all those dogmatic-religious folks, that will never acknowledge semver's problems, but will angrily explain all over and over again that semver is the only solution to versioning, when you point out its problems. :shrug:

Re: Version 0.17.11

Posted: Tue Mar 12, 2019 2:25 am
by bourne327
I know this seems like a silly little thing, but when you guys release version, you should start with version .01 or .001. If you start with 0.17.1 and move to 0.17.9. your next release of 0.17.10 will suddenly jump up and throw all the previous releases out of order. I noticed this because it is how Steam categorizes its releases.