feat(multiset): start double-writing to game_achievement_sets #2662
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.
This PR introduces some foundational work required to support multiple achievement sets per game.
Abstract
We aim to allow players to simultaneously pursue multiple achievement sets within a single game session. This initiative addresses the existing limitation of being confined to a single achievement set per ROM hash.
Multiset functionality is predicated on several key considerations that underpin the system's design and user interaction with achievement sets. From the user perspective, there will be four types of sets: Core, Bonus, Specialty, and Exclusive.
The large majority of sets will likely either be Core or Bonus.
This PR adds a sync script and double writes to
game_achievement_sets
,achievement_sets
, andachievement_set_achievements
.Every set is currently identified as being a Core set, just like how production functionally works today.
To sync your database, run the following command:
After the sync command has executed, you should be able to observe that the values in
game_achievement_sets
,achievement_sets
, andachievement_set_achievements
are correct.Next steps:
game_sets
.game_sets
to render the achievement list.