over 4 years ago - /u/Klonan - Direct link

Originally posted by sedontane

With this in mind, it wouldn't make sense to mark 0.18 stable before most of the above is finished. We made 0.18 a major version because it will break mods with all the changes we are making, and while initially it hasn't broken that much, many things to come will have a bigger impact, such as the Character GUI.

As a software developer and game programmer myself, surely this is the antithesis of the version system

1.2.3

1) most major of content changes, Will quite certainly break derivative works
2) Major content changes, including new content, will quite often require refactoring of derivative works
3) Bug fixes, content balancing, derivative works safe

I suppose I am somewhat prone to forgetting that factorio isn't at "version 18" but actually "0.18", but would still expect mod breaking changes to tend to get restricted to level 2 changes, where not absolutely necessary.

That said Unreal Engines build pipleine complains at me every time I compile that my SDK version is (numbers just for example) 1.2.3.0041 and it wanted 1.2.3.0001

Unfortunately the ideals of our versioning system don't always align with the practicalities of shipping a game.

over 4 years ago - /u/Klonan - Direct link

Originally posted by ubekame

Why not simply make a 0.19, 0.20, 0.21 etc then? I don't see why you have to go from 0.18 to 1.0 in one go.

Then all mod authors will need to update all their mods all the time, rather than a few mod authors having to update on the rare occasion that during the experimental release of our unfinished game a piece of the game data or API has changed to make their mod not load.

over 4 years ago - /u/Klonan - Direct link

Originally posted by ubekame

Maybe I missunderstood it, but from reading the FFF I got the impression you would introduce major API changes (for example due to GUI changes) in going from 0.18.23 to 0.18.24, as a made up example. Is this not so?

I know it's tricky to make everyone happy, but such big changes should really be more than a minor patch number increase.

It would not be 'major', it would be things like:

  • removing the logistic slot technologies
  • removing API methods related to reading and setting the slot count
  • removing old GUI styles
  • changing some GUI style definitions
over 4 years ago - /u/Klonan - Direct link

Originally posted by PatrickBaitman

There is literally a widely used standard for versioning designed precisely with dependencies in mind

https://semver.org

Oh well would you look at that:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.