Using the debug menu disables achievements #40292
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: Features "Using the debug menu disables achievements"
Purpose of change
We don't want people to accidentally get achievements when they are merely doing dev work or debugging issues.
Note that this is not intended to stop people "cheating" to get achievements. Obviously in a game like this there is no way to avoid that; there is always savegame editing, etc. This is to prevent people accidentally getting achievements and potentially spoiling them for themselves (especially relevant once we have achievements with hidden requirements, which I intend to add in the future).
Describe the solution
Make it so that most debug menu functions disable achievements (a few don't, like the game report and graphical benchmark). Also, add a new debug menu option to re-enable them (for cases where people were just working around bugs, or when people want to debug achievements themselves).
The new option is in a new sub-menu "Game", to which I also added "Crash game" and "Show debug message" (moved from the "Info" submenu).
There is a confirmation popup for any attempted use of the debug menu that would disable achievements (this only happens if they are currently enabled).
When achievements are disabled, the tracker still tracks them but doesn't print any log messages when they are attained.
Describe alternatives you've considered
Rather than the confirmation popup, I considered expanding the message at the header of the debug menu. But I thought most people wouldn't notice that.
I considered clarifying in the popup that achievements can be re-enabled. I'm still undecided as to whether that is a helpful addition, or just indirectly encourages use of the debug menu overmuch.
Testing
Messing about in-game.
Additional context
Longer-term, this will matter more. Once there is global tracking of achievements across games the achievements attained while they were disabled won't count towards that.