(quoting so context isn't lost)Tobi wrote:To have it is not necessarily impractical, but there are some problem in getting there. For example:SpliFF wrote:Which brings up an interesting point. Maybe the real problem here is that the engine version isn't tied more closely to game versions. Is it really impractical for each game to specify a version of the engine it runs on and run multiple engines side-by-side? It would certainly remove a lot of uncertainty since if you ship the engine with your game you'd be guaranteed it won't change until your game does.
All lobbies need to use a standard way to read & choose the correct Spring version from a mod. Spring version is coupled (though not extremely strongly) to unitsync, and lobbies can only use one unitsync at a time. Packages on Linux for Spring must be restructured, so every version of Spring is available in a package. Distros won't accept this by default. On windows there needs also to be a good way to manage a multitude of Spring versions. There need possibly be people backporting unsynced fixes to older versions. That again, might require refactorings in the code. Etc.
Personally I think a more realistic plan for the short term is to give -on the lobby server- each battle a Spring version property. Expose this using an opt-in protocol extension, to give lobbies time to adapt. In lobbies, for now allow only to join battles for the Spring version you have installed.
This opens the door for lobbies to implement good mechanisms to have multiple Spring versions installed, so you can join battles for different Spring versions without reconfiguring your lobby.
This also opens the door to games specifying Spring version, as it would allow lobbies to read a default Spring version / set of supported Spring versions from the game archive and automatically host battles using this version, instead of having the user choose the version.
From there we can see how things evolve..
Thing is this fundamental communication is necessary tobi. For example the 2 auto hosts use different commands prohibiting the lobbies from easily adding the ability to send the commands for the players.
Some guidelines need to be made. Projects have them for modinfo.lua. Autohosts should have them as well and at least one of them should be officially part of the svn.
There needs to be more work that is being coordinated between server and lobbies. Also content devs need to be supportive of the engine and engine devs need to be a bit more transparent.
The meetings are a big help with that but the fiasco in the last minutes thread where we had content devs who either didn't read the minutes or didn't comprehend them and spent much of the thread in an argument NEEDS TO STOP.
Also I want to clarify, I am not asking for the devs to take on a waterfall approach. I hate it. I think that spliff mistakenly thinks I am suggesting that as most people think design doc means waterfall(if you do not know what that means google it). I am an agile guy, I do not believe in waterfall.