Compatibility Version System?
Posted: Fri Jan 22, 2016 8:50 pm
I was wondering if a compatibility version system could be adopted? It doesn't have to be the way I describe, just a way that helps prevent compatibility problems on the developer and user ends. Right it seems a bit painful to maintain 10-different versions on 1 system, and for developers to make a game that will stay up-to-date.
I'm thinking something along the lines of:
- Backwards compatibility in the same Major version. Ex: 1.9 can play 1.2 games; 5.0 can NOT play 1.2 games.
- Backwards compatibility with 1 Major version prior. Ex: 2.5 can play 1.2 games; 3.0 can NOT play 1.2 games.
- A system to automatically remove deprecated engine functions from the dev source code, for the sake of allowing devs to use the latest code only. Maybe just a comment at the deprecated functions "This function is deprecated. Use new function instead: ________". Maybe it could work based on the concept of inheritance somehow until things are replaced completely.
I'm not even entirely sure of the current version system, as it seems nearly every minor or even sub-minor version is incompatible with the last.
I see there were other attempts to mange versions, but I just see them as workarounds:
https://love2d.org/wiki/Adult_Lib
viewtopic.php?t=81473 (Flirt)
Please consider figuring out a way to manage compatibility between versions better. It is a problem, especially when considering some of the platforms the games run on (Android), and just the overall hassle of downloading many versions to have all games work.
I'm thinking something along the lines of:
- Backwards compatibility in the same Major version. Ex: 1.9 can play 1.2 games; 5.0 can NOT play 1.2 games.
- Backwards compatibility with 1 Major version prior. Ex: 2.5 can play 1.2 games; 3.0 can NOT play 1.2 games.
- A system to automatically remove deprecated engine functions from the dev source code, for the sake of allowing devs to use the latest code only. Maybe just a comment at the deprecated functions "This function is deprecated. Use new function instead: ________". Maybe it could work based on the concept of inheritance somehow until things are replaced completely.
I'm not even entirely sure of the current version system, as it seems nearly every minor or even sub-minor version is incompatible with the last.
I see there were other attempts to mange versions, but I just see them as workarounds:
https://love2d.org/wiki/Adult_Lib
viewtopic.php?t=81473 (Flirt)
Please consider figuring out a way to manage compatibility between versions better. It is a problem, especially when considering some of the platforms the games run on (Android), and just the overall hassle of downloading many versions to have all games work.