Skip to content

[Feature] Add support for Retro Achievement metadata against roms #1567

Description

@grofit

Is your feature request related to a problem? Please describe.
I would like to request that Romm provide an optional integration with Retro Achievements to be able to see achievements for a game alongside other game information in Romm.

A community user has already done most of the work/analysis around this as part of #1142 which shows better than I could an example of how it could be implemented as a tab and be hooked up.

Describe the solution you'd like
I would like to see optional settings for users to be able to hook it up to their account:
example ra admin

As well as the front ends to be able to show achievement information within tabs if enabled:
example ra tab

Both these images were taken from the PR mentioned #1142 and that contains more implementation ideas and information.

I would also like to be able to see if the Rom provided matches any of the hashes that RA support, which can be requested from their API at the following endpoint: https://api-docs.retroachievements.org/v1/get-game-hashes.html. It would be good to show this maybe as an icon next to Roms that this is a supported Rom as well as somewhere within the tab, but it is up to the implementor how they deem it best to visualize this information.

Additional context
I would say this task can be broken down into different chunks which would all build on top of each other but provide an avenue to implement bits without a big bang approach.

  1. Add ability to add an api key for RA to the system
  2. Add user agnostic game achievement information tabs
  3. Verify hashes against RA hashlist to see if a game is compatible and visualize result
  4. Add ability for users to add their RA username in their romm settings
  5. Pull in user specific progress for achievements on game achievement tab information (task 2)

Again the PR #1142 already does a lot of this and may be able to be worked on top of or at least used as a basis to formulate a new approach to implementing this functionality as that already does majority of what is being requested. There is also an older request #628 which requests part of the visualization asked for here.

This work also adds the basis to be able to support runtime achievement integration with RA via EmulatorJS (which is already in play but low priority for them (https://github.com/EmulatorJS/EmulatorJS/issues/589)[https://github.com/EmulatorJS/EmulatorJS/issues/589])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions