RetroAchievements
Last Updated:
I discovered RetroAchievements while looking around in the menus of RetroArch one day. There is a section at the bottom of the Settings menu to sign into the site and with my curiosity piqued I made an account and started earning achievements.
A summary of my profile stats can be found on the homepage and a more detailed profile can be found below.
Profile
Site Development
I have contributed to the websites code several times, my most notable additions are:
- A maintenance page that was shown during extended downtime.
- Splitting set issue Ticket notifications out into a separate nav item.
- Refactoring one of the main API endpoints to use Eloquent ORM.
- Adding a feature to disable and clone leaderboards for games.
You can find my entire commit history to the site here.
Set Development
After a few months, I decided I wanted to contribute to the site so I joined the Jr. Developer program. Learning how to create achievements using the toolkit built into the RALibretro emulator was great, I had never really worked with memory addresses before. From my second set onwards I used a scripting language called RAScript and a program called RATools which is developed by Jamiras, the same person who maintains the primary library that allows emulators to integrate with the site.
The toolkit for developing achievements currently only runs on Windows or via Wine on macOS/Linux.
RALibretro does run on macOS under a fork of Wine called wine-crossover (to install you must first run brew tap gcenx/wine and then do brew install --cask wine-crossover), this works well for RALibretro but struggles with other standalones so I do development on those systems inside a Windows 11 virtual machine via Parallels. Heavy stuff like PCSX2 (Playstation 2) and Dolphin (GameCube/Nintendo Wii) still struggle due to GPU limitations for virtualised operating systems, maybe one day Apple will see fit to allow GPU passthrough to VMs.
I eventually graduated from the Jr Developer program with my Pop Breaker set. The community manager, Nepiki, made a forum post detailing my time in the program here.
Below is a list of the my sets along with the consoles they are on.