Skip to content

[Feature] Auto Updates to Game Status with Play History Tracking #3704

Description

@gbosky

Is your feature request related to a problem? Please describe.
The problem I have is games that I am constantly coming back to, or drop/pick up several times, I am manually updating the status many times. If I complete a game and want to replay it then I would take it out of finished/completion status causing a conflict of status that I set back again. While manually setting a status and have a completion % separate is nice, I think having a play history tracker can provide a foundation of better status tracking with automations and other possible future integrations of how other players/apps track play sessions. I think it also adds some additional tracking options for games players like to revisit.

I also think its important to still provide the user with manual status being set so it's not explicitly tracked based on data that is in romm, but if the tracking data is in there allow the automation status to help.


Describe the solution you'd like
I would like to see a game have a "Play History" or "Activity History" tab that drives a game status based on entries with date start/end.

  • When a game is started a "Session/Activity" entry is created and is time stamped.
  • It is not a session-to-session tracker, but acts like a group of play individual sessions tracks playing over a period of time.
    • similar to how other apps track status like launchbox and argosy except these would be tied to time started and time finished
  • Having it be time based would provide better history and tracking of games revisited or classics you replay several times over.

Describe alternatives you've considered

  • Game is started, the status (or new "play status" field), is marked "Now Playing" just as it always has.
  • User keeps playing, only single entry stays until user stops playing and status is changed
    • entry would know the last played date and when "Now Playing" expires
  • Users would have an account level setting for determining X days when playing status expires
    • Ex: X days since last played it goes to "incomplete" or X days it goes "retired".
  • Starting a game that isn't on a play status, a new entry is created again

Additional context
I have been running my own notes of the games I play using Notion and its database features. I have gone through several iterations of how I track them over the years. From my experience there is not always a clear and cut way for tracking status for all games being backlogged, played, finished, or complete. Its less of a problem with ROM/emulated games than something like live service games (which are always changing and I am coming back often months apart), but having a time entry structure has worked out well for me. Where I think the best fit for RomM is the ones who go back to their favorite classic games often (which I think a lot of us do have those handful of games we always go back to). In the end, I think that RomM could benefit more from this especially if apps/integrations/retroachievements can help automate these states too. Even if it can complicate things more, hopefully it's structured to have other apps/sites help automate better tracking enough to make the end experience easier than it is today while providing more details.


Possible future use cases could be

  • finished/completion checkbox per entry
    • players can track how many times they beat it by entry or signify incomplete/retired if unchecked
    • rollup all play history entry for completions total on game page
      - Would need a beaten/finish counter tracker on the game page
  • play history tracking hours played per entry
    • total game hours played can be tracked by summation of all entries play time
      - Would need a playtime tracker on the game page
  • tying entries to save files
    • is the same save being played multiple times or are you starting over with a new save?
    • possibly expanding this with new save sharing features in 5.0 to share link history with others you play with
  • Adding option for naming entries/adding descriptions
    • Add some more details to breakdown the entries as they grow. Ex:
      • 5th playthrough, speed running, replaying with friend, continuing save from last year, stopped because its too hard etc.

Automation of overall game status can logically use a games play history entries, finished/beaten counters, and completion % to automatically set its status (or still allow for user override of the status to avoid logic and work the same today). Some examples:

  • Active Play history entry = Now Playing (regardless of completion % or finish counter)
  • 1 recently old play history entry = Not Finished (and not already beaten at least once or completed 100%)
  • 2 old entries in play history = Retired (and not already beaten at least once or completed 100%)
  • Old Play History & Completion is 100% = Completed
  • Old Play History, Finished/Beaten counter >= 1, and Completion <100% = Finished
  • No Play history = Backlogged/Never Playing based on user input

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions