libretro / libretro/RetroArch

[Feature Request] Make achievements work offline

Open
#14,718 20 comments 38 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Ok so, with the rising popularity of Valve's Steam Deck more and more people are using RetroArch as a way of emulating their favorite retro games on this new handheld, the issue is that many of these people are achievements hunters who also commonly play away from home, the issue with that is the fact that if you're offline then you can't get achievements that you want, many achievements can be missed and if you are offline when the game gives you the achievements you may need to start all over again from ground zero of the game. The way I was thinking this could work is by having RetroArch create an encrypted file (encrypted to prevent users from tempering and adding achievements that they truly did not earn properly) and then read that encrypted file once it detects that the user is back on wifi, when it reads the file it should tell RetroAchievements to give the logged-in user these achievements, have it read the user's account to verify that RetroArch has registered all achievements and then after it has confirmed this user had all achievements in the file, delete the file so there is no bloat from multiple files. Finally, remember, this isn't just with the Steam Deck, more and more people are buying portable computers, many are buying specifically for emulation so this means that offline achievements could be one of the best updates to RetroArch, after all, it could use more features like this, I am on a mission to get as many emulators to allow offline achievements and RetroArch is the first ingredient as it includes all of the main emulation cores, thank you and please, please get this to work

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by locating RetroArch's existing achievements and RetroAchievements network-handling entry points; the requested behavior includes encrypted offline records, later synchronization, account verification, and deletion after confirmation.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
game-dev, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.