Bare minimum functionality. Steam Web API, tag weighting, etc
This commit is contained in:
1 parent
300a5e53e3
commit
233f0dc48d
82 files changed
+15666
-9
No files matched your search
+12
-2
@@ -26,7 +26,7 @@ Desktop App
|
||||
Frontend UI
|
||||
Setup flow
|
||||
Recommendation flow
|
||||
Slot-machine picker
|
||||
Spinning-wheel picker
|
||||
Settings for API keys and refresh
|
||||
App Service Layer
|
||||
Steam import
|
||||
@@ -49,6 +49,7 @@ Responsibilities:
|
||||
|
||||
- Resolve Steam profile inputs.
|
||||
- Fetch owned games.
|
||||
- Fetch Steam Store metadata for owned apps so tools, DLC, demos, and other non-game app types can be excluded before recommendation.
|
||||
- Guide the user through Steam Web API key setup.
|
||||
- Handle API errors and private profile failures.
|
||||
- Normalize Steam app IDs and playtime.
|
||||
@@ -72,6 +73,8 @@ Responsibilities:
|
||||
|
||||
- Score candidate games based on the short questionnaire.
|
||||
- Explain the score in human-readable terms.
|
||||
- Apply hard eligibility filters before scoring.
|
||||
- Apply preferred filters as weighting only, not as inclusion/exclusion rules.
|
||||
- Support a true-random mode that bypasses weighted scoring.
|
||||
- Return a ranked dynamic shortlist and one primary recommendation.
|
||||
- Keep mood tagging, history, and accepted/rejected tracking out of the MVP.
|
||||
@@ -100,6 +103,8 @@ Responsibilities:
|
||||
- `review_score`
|
||||
- `is_free_to_play`
|
||||
- `is_excluded_type`
|
||||
- `supports_singleplayer`
|
||||
- `supports_multiplayer`
|
||||
- `metadata_updated_at`
|
||||
|
||||
### game_lengths
|
||||
@@ -131,11 +136,13 @@ Example scoring inputs:
|
||||
|
||||
- Positive weight for matching selected genre or tag.
|
||||
- Positive weight for fitting available session time.
|
||||
- Positive weight for matching preferred single-player or multiplayer mode.
|
||||
- Positive weight for partially played games in "finish something" mode.
|
||||
- Positive weight for unplayed games in "try something new" mode.
|
||||
- Positive weight for meeting the user's review-score preference.
|
||||
- Negative weight for extremely long games in short-session mode.
|
||||
- Hard exclusion for demos, tools, soundtracks, and DLC.
|
||||
- Hard exclusion only for explicit eligibility filters; review, mode, genre, and playtime preferences should not remove candidates by themselves.
|
||||
|
||||
The UI should show concise explanations such as:
|
||||
|
||||
@@ -169,6 +176,7 @@ The UI should show concise explanations such as:
|
||||
|
||||
- Fetch Steam Store metadata.
|
||||
- Fetch public review signals where available.
|
||||
- Exclude non-game Steam app types before they enter the wheel.
|
||||
- Integrate a HowLongToBeat-compatible source after validating terms and package health.
|
||||
- Cache metadata locally with refresh timestamps.
|
||||
|
||||
@@ -176,8 +184,10 @@ The UI should show concise explanations such as:
|
||||
|
||||
- Implement the short-question flow.
|
||||
- Add scoring and explanations.
|
||||
- Add eligibility filters that can remove games from the candidate pool.
|
||||
- Add preferred filters for review signal, single-player/multiplayer, genre, and playtime weighting.
|
||||
- Add true-random toggle behavior.
|
||||
- Add slot-machine reveal.
|
||||
- Add spinning-wheel reveal.
|
||||
- Add Steam launch links.
|
||||
|
||||
### Phase 5: Packaging
|
||||
|
||||
Reference in new issue
Block a user