New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve UX when no game exists and drop default_game
#13550
Conversation
So long as any mods that depend on 'default' can actually download a game that supplies all dependencies of default then it's ok, otherwise you're in for compatibility hell. |
Yes, that game would be called Minetest Game. |
ContentDB now has the ability to hoist packages to the top of the content browser, independently of featured packages on the main web page, so it wouldn't be necessary to hardcode this anymore. |
Done. ContentDB now hoists Minetest Game and some other featured games to the top of the content browser. Some kind of highlighting of featured packages can come later I guess. |
Unsolved issue: What happens when the user upgrades Minetest? minetest_game will disappear and they suddenly won't see any of their worlds anymore. (*) Another, related issue: The user now has MTG installed locally. What happens in the future when they update the engine and MTG is still at a version that is not compatible? (*): Dropping the user into CDB is not sufficient, some people might not even know that they need to download something called Minetest Game to continue playing "the game that was always there". |
Improving the UX and debundling MTG should be two different PRs / commits. And yeah, we need a way to handle the different cases of migrating from system wide MTG to CDB MTG |
It can be in a different PR sure, it just immediately becomes a release blocker as soon as this is merged. (feel free to remove the label) |
Should I rebase this into two commits that get merged without squash? For migrating from a system-wide MTG to the CDB version, would it be fine to do something like this:
In regards to MTG version being desync with engine version, there's already a check in MTG for if certain engine features exist: https://github.com/minetest/minetest_game/blob/master/mods/default/init.lua#L15 But maybe the error message should be improved. |
Yes please
That makes sense when the package manager is clever enough to remove Minetest Game. But it's possible that some may just leave it at the older version - I believe this happens on Android, and it also likely if the user is updating by extracting a .zip file. So maybe the engine should detect an outdated MTG version and offer to update it idk |
I was thinking that we could make 1 or more PRs to improve the UX and then debundle MTG. But if we're happy with the UX here, we can do it in one - I'd still have the commits separated though |
README.md:15:
This should say to download a game, linking to ContentDB's page |
062a644
to
5a1fd4b
Compare
5a1fd4b
to
bf0617a
Compare
I've rebased the PR to only include the UX improvements and dropping |
default_game
Looks good apart from the following |
Co-authored-by: rubenwardy <rw@rubenwardy.com>
100% agree this is important and has been an issue for all games and all mods for a long time. It's a little frustrating that this is only seen as an issue when MTG cannot utilise it's privileged position to be packaged with updates. Many games and mods with breakages have led to a bad user experience for a long time and game teams having to support diagnose and highlight that it was a bug that was already addressed and released on contentDB and they just needed to be telepathically aware that an update is ready. Not all players will raise an issue when something breaks, they just won't play, and they'll play something else. Might create a bad review on the playstore, possibly. Automatic version recognition and update notification is a key feature for any gaming platform (and many that aren't). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems good otherwise
Co-authored-by: sfan5 <sfan5@live.de>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a
Prerequisite of #9509
This PR improves the UX when no game exists. If no game exists, the local tab will now point you directly at the content browser when Minetest is started (albeit with the ability to still play in multiplayer of course):
This PR is a prerequisite of debundling MTG altogether, which has been split off and will be in another PR. Merging this PR in itself without also debundling MTG is safe, in case there is a delay in merging the MTG debundling PR.
In addition to this, the engine's behaviour when MTG doesn't exist and/or games are removed has been improved, picking the first available game (excluding devtest, for if it is on a RUN_IN_PLACE build running from source) rather than being in a weird no game void where all worlds are visible.
This also means that the
default_game
setting has been removed, as it will automatically pick the first non-devtest game. When running a dedicated server, it will print an error message pointing you to content.minetest.net to download a game to run your server with, rather than attempting to create a Minetest Game world.This PR also fixes an issue where the games list doesn't get updated in the content tab, which is especially annoying when installing games via the "You have no games installed" message.
To do
This PR is Ready for Review.
How to test
Probably some more edge cases need to be tested.