from Hacker News

RetroAchievements: Adding achievements to retro games

by kaeruct on 9/11/23, 7:19 PM with 67 comments

  • by cableshaft on 9/12/23, 5:25 PM

    If you have a SteamDeck, it's built in to the setup for EmulationStation. You can just enter your Retro Achievements username and password and it will automatically be hooked up for all emulators (It's case sensitive though, as warning. Didn't work for me until I updated it to match the case).

    Then when you launch a game, if it recognizes the game (seems to be based on checksums and not the name itself, renaming didn't seem to help for the games I had it didn't recognize) and achievements are set up for the game, you'll see a banner appear that says the game name, icon, and '0 out of X achievements' and you're golden.

    Really breathed new life into retro games for me. Now it's not just me playing many games for like 5-15 minutes an moving on, I try harder to complete the games now. Already gotten much farther in some NES games than I ever bothered to before, likely because of these achievements.

    One minor downside though, is you have to be online while doing the achievement for it to be recorded, there's no syncing after the fact. So if you're bringing your SteamDeck somewhere, either make sure you're online or play a game that doesn't have these achievements implemented yet (still quite a few games that don't still, including all Gamecube and Wii games) if you care about getting them.

  • by raspyberr on 9/12/23, 4:48 PM

    This looks like a fun project to give some more incentives to playing older games. Although I do dislike that there's a large category of "achievements" nowadays that are nothing more than telemetry for developers. Like like at some of these for one of my favourite games: https://retroachievements.org/game/1458 "Use the Batarang for the First Time" "Complete Stage 1". These aren't achievements. Steam games are FULL of these. Open the game, complete the tutorial, open inventory... achievements should be interesting, weird, or challenging.
  • by crtified on 9/12/23, 9:13 PM

    I will politely express dissent, if that is ok. Not to be a grinch about it, because other people using it does me no harm.

    It's hard to even formulate exactly why the whole !Achievements! thing in gaming rubs me the wrong way. I guess it's a mix of several factors, centred around arguably picky purism (e.g. 'a games designed balance includes the inbuilt reward system'), and also around a worldview preference for (some) humility in life, which is somewhat an antithesis of constantly-blaring "Wow! You Just Did This! Congratulations!" messaging/reassurance - a thing I don't put great value upon, in my worldview. Not in that outward manner, at least.

    I hope I've at least partially explained my dissenting viewpoint. As I said, this existing does me no harm as such, and I have no beef with it at all, except in personal preference, and insofar as casual discussion has filled these spare moments.

  • by rcpt on 9/12/23, 7:26 PM

    "Configure multiple Bluetooth controllers on retroarch" -- 100 points

    "Disable autofire" -- 200 points

    "Move save files (not save states) between cores" -- 300 points

    "Get the right cemu keys.txt" -- 1000 points

  • by jordigh on 9/12/23, 8:32 PM

    The fun thing is how these achievements are made.

    Basically, people have to reverse engineer retro games and figure out where to find the condition that triggers the achievement.

    https://docs.retroachievements.org/Getting-Started-as-an-Ach...

    Writing achievements is a good way to get started with ROM hacking. It's very similar to how you would do simple Game Genie codes too.

    I love that the retro community is staying fresh and vibrant.

  • by and0 on 9/12/23, 6:34 PM

    This is great. I was making a 3D NES emulator years ago, which just dug into the PPU memory (plus some register hooks during frames) to figure out what was being rendered (old archived explainer here https://web.archive.org/web/20160820051951/http://n3s.io/ind...). I then wound up having to add some simple scripting so contributors could determine if, for example, the sprite being rendered was the cloud or bush in the original Super Mario Bros (since both used the same sprite, just palette-swapped).

    It eventually got me thinking that I should try to standardize some sort of layers over Retroarch cores, which could interpret (RAM or GPU) memory values, value updates, and function calls as values and events to consume in some other application. My thought was that if someone used those hooks to create a "wrapper" for something like Contra for the NES then you could, say, handle rendering and audio from Unreal or Unity. So.. super HD remakes, reinterpretations, or art projects. Maybe play the original Final Fantasy and have twitch chat affect damage and other values.

    But then I got distracted, as usual :| But it is weird to see something like it in the wild now. I hadn't considered achievements.

  • by vikingerik on 9/12/23, 5:04 PM

    This has already happened in one way for many years, in emulators/simulators of pinball games. The Pinball Arcade does this, and has its own leaderboards for the achievements.

    It works by monitoring the internals of the pinball computer emulation, either looking directly at the RAM for cases where the memory locations are known, or at the display output for alphanumeric or dot matrix patterns that announce a particular event such as a jackpot or multiball or wizard mode.

  • by infl8ed on 9/12/23, 4:35 PM

    I have never heard of this before now, but what I instantly like about it is what a great way to learn about old games that might be worth a spin. Anyone can recommend an old game, but when someone goes the extra mile to add achievements it's a much clearer signal that it's worth a look.
  • by YoshiRulz on 9/14/23, 12:22 AM

    In case it wasn't clear, this is a separate project from the RetroArch front-end. It's integrated into several emulators: https://retroachievements.org/download.php

    My colleague did all the work for integration into BizHawk, and I'm proud to see it at the top of the list (it's sorted alphabetically, but still).

  • by nlunbeck on 9/12/23, 4:37 PM

    Definitely signing up for this one. It looks like the community is going strong over there. Also fun to have more achievement stats than Steam, there's so much you can do with that kind of data
  • by unixhero on 9/12/23, 8:45 PM

    Probably to be included in ExoDos version 7, just a hunch!
  • by wly_cdgr on 9/13/23, 5:52 AM

    Who is designing all these achievements? That's so much design work! Good achievement design isn't fast or easy.
  • by crawsome on 9/12/23, 5:45 PM

    It seems in it's infancy.

    https://docs.retroachievements.org/Setup-Guide/#retroarch

    The front page says it's supported by retroarch, but you go to their docs section, there's nothing there.

    Looking forward to a straightforward way to put acheivements into my retroarch, and not piecemeal by emulator.

  • by dvasdekis on 9/13/23, 3:07 AM

    Would love to see some support for this with MiSTeR setups for FPGA emulation
  • by nextaccountic on 9/13/23, 5:30 AM

    Kinda offtopic but, what is the forum software that this site uses?
  • by awinter-py on 9/13/23, 2:37 AM

    adding stories to geocities