Hacking Homebrew app Project NinBadges - Nintendo Switch Achievements System

  • Thread starter Thread starter davimassini
  • Start date Start date
  • Views Views 15,860
  • Replies Replies 48
  • Likes Likes 32
From what I can see, you're planning to make this work with a server like RetroAchievement. Have you thought about adding a totally local operation? This would allow you to unlock achievements even without an internet connection, as well as being able to use your own achievements even if they haven't been approved.
+1. Especially considering the Switch being portable and thus not always connected online.
 
I was looking for this exact thing this morning to see if my Nintendo Switch will be able to get achievements. I'm happy to help out with any testing if needed. I'd have a couple of hack switches that would be useful. Keep up the good work.
 
  • Like
Reactions: FFTW
any way we can contribute or smthn? I really want to add all the deltarune trophies from playstation (theres a secret you can get if you dont get any of them)
 
this is a very cool project! lowkey i love how you went with the PS Trophies look. if theres any way i can contribute id love to!
 
Hello everyone, I'm excited to show you all my first project for the Nintendo Switch.
It's a WIP for now, but I think it will be a great idea to let others give ideas and/or follow the process.

NinBadges (still under study, open for suggestions)
For months, since I bought my Switch, I have asked myself why Nintendo never made an achievements system even though some first-party games have their own in-game systems for this.
When I started to learn and dive into the homebrew scene, everywhere I searched about it always came down to people complaining about it, but never anything concrete.
I work with Java and my background with C/C++ is pretty low, but I believe everything can be achieved, so I started to learn (especially in this forum).

First things first, why badges? My concept is to make the entire project revolve around scout badges.
I really like the shapes, designs, and I think that they will fit perfectly with the feeling of a Switch.
For example, for the categories I was thinking of something that refers to some classics:
  • Bronze Mushroom (15 points) [Bronze Achievement]
  • Silver Rupee (30 points) [Silver Achievement]
  • Golden Banana (50 points) [Golden Achievement]
  • Power Star (75 points) [Platinum]
  • Maybe other badges for events or other tasks (friendship, level, collaboration at project, etc)

The idea is simple, the project will be split into three parts:
sysmodule: works in the background, handles the memory read, makes requests to get/post the list of badges, shows the popup when unlocking some badge; (60% done)
application: will show and manage the list of games and badges of each, maybe a friend system and other things (nothing done yet, UI is a mess for me);
backend: receives requests, manages the db, login, level, friends, etc.; (70% done)

My biggest fear/concern will be mapping each memory pointer and value for the achievements… For games that already have achievements, my plan is to keep what the developers created (artwork, names, descriptions, etc.) and parse that together with the community (especially if the games are available on other platforms where it's possible to run Cheat Engine or similar tools to extract everything more easily).

For first-party titles and games that don’t have existing achievements, I believe it would be excellent to organize contests with the community where we can vote on and validate achievements created by you all. As soon as I define my search method, I intend to create materials to help people hunt for these addresses and values as a way to contribute to the project. Every bit of help is welcome!

FAQ (will be updated)
Is there a ETA?
Not for now. I'm making this post to show the idea and get some feedback. I'm a solo developer and don't want to rush this (because I'll get stuck and end up abandoning the project), so I am taking my time.

How is it going to work?
Once the sysmodule is enabled, and a game is open, a list of badges (which contains title, description, memory_pointer_address, and memory_pointer_value) will be received. If the badge is still locked, a memory search will happen in real time to see if the value of the address and the expected value match.

What about perfomance?
I developed this on a Switch Lite and have never had an issue or frame drop so far. Of course, a lot of new things will be added and performance is one of my priorities.

Is there any other place where I can get info about this project?
Not for now. This post will be updated with new things when the time comes.

Is there any GitHub project?
That will be my next step. I'm organizing everything to push and allow other people's collaboration.

CONCEPTS
View attachment 506339
1. Main Page

View attachment 506340
2.1. Pop-up Concept

View attachment 506341
2.2. Pop-up Concept

View attachment 506347
3. Badges Concept - For now, it's only stars because I don't want to waste time on this right now.

View attachment 506350
4. Real Badge PopUp - I used Plutonium (thanks to XorTroll), but I discarded the idea because of the limitations.

I have big ideas and many ambitions for the project. I'm trying not to let the scope grow too much until it becomes minimally viable. I would love to hear from you about what I can improve and what I should keep doing.
Hey how's the progress been? I'm really eager to play this hope u release this soon
 
  • Love
Reactions: davimassini
Hello, how does you project do? I was wondering whether you use Tesla Menu and if you have problems showing your popups while Tesla is running. Because I have this problem with my sysmodule...

Regards
 
  • Like
Reactions: davimassini
I do like the idea of this, however it feels like an absolute nightmare to do without having to apply romhacks to every single game to add compatibility.
 
I do like the idea of this, however it feels like an absolute nightmare to do without having to apply romhacks to every single game to add compatibility.
No really just grab the game titleID to identify which game is which and from there write logic based off of memory conditions
 
No really just grab the game titleID to identify which game is which and from there write logic based off of memory conditions
Yeah, it could work based on just grabbing values from memory, but don't games use memory address randomization or some anti-exploit technique like this which makes it harder?
 
Just wanted to come and say that this project is extremely cool and I hope you succeed in finishing it! You're doing God's work honestly. I wanted Nintendo to implement an achievement system for years but that's not happening even in the Switch 2! Lots of love and support to you for this project!
 
  • Like
Reactions: davimassini
We are so back!

After nearly a year-long break, I finally have some news to share!
It is with great pride that I present the first video of the Badges!
Below the video, I’ve listed some points for improvement and areas of focus.


1. Identity and Scope​

  • New Name: I’ve removed the "Nin" and any trademarked icons to avoid legal issues and (perhaps it's just my ego talking) to allow the app to eventually integrate other systems that have lost access to online achievements (PS4, PS5, PC, etc.). But don't worry, that's a future possibility; for now, the focus remains 100% on the Switch.
  • Theme: I kept the "scout" style. The badge categories are now: Leaf (Bronze), Compass (Silver), Bonfire (Gold), and Constellation (Platinum).

2. UX Improvements (Overlay & Sysmodule)​

I want to make access more fluid. Currently, the process via the Tesla Menu takes too many steps: open Tesla Menu -> turn on sysmodule -> click on overlay. I’m working on having the Overlay start the sysmodule automatically (right now I can only do the opposite: when the overlay is closed, the sysmodule also shuts down). If anyone has implemented something similar, I’m open to suggestions!

3. Security and Integrity​

Since the system reads memory addresses, a critical point is preventing other cheat sysmodules from running simultaneously to avoid "artificial farming" of achievements. I’m still not sure how to handle this, perhaps simply blocking other modules isn't the best path for the end user. I’m open to suggestions!

4. Call to the Community (The Main Point!)​

The MVP is solid, but I need help mapping game memory addresses. I can map numerical values (money, items), but complex states (completed missions, time trials) are still a challenge.

Want to help? If you are familiar with memory search tools and have the necessary time, please fill out our table here: [LINK].

In the same link, there is a tab with a (partially) filled-out example.
NOTE: Contributors will receive exclusive "Builder" pins on their profiles, and we can look into other future rewards.

5. Performance and Sustainability​

  • Performance: Tested on Switch V1 and Lite with no FPS drops or memory leaks.
  • Costs: The project will be 100% free, with no ads or subscriptions. I’ll start with an optimized infrastructure (VPS) and scale as needed. The money will come out of my own pocket—which gives me a bit of the chills—but I’m sure we will build something incredible together.
  • Open-Source: As soon as I refine the backend security and cURL calls in the sysmodule, the code will be released on GitHub.

6. What else is coming?​

I intend to start building a Switch app where you can view your profile, achievements, friends, specific game trophies, etc. For now, I’ve set this up on an external website as it was the fastest solution.

2026-03-04-163046.jpg


thumbnail.png


screencapture-localhost-3000-profile-2026-03-04-16_33_06.png


scr2.png


scr3.png

The beta will be released as soon as the security and deployment protocols are organized.
Thank you for your patience!
 
Still got a lot of work to do, but I’ve been testing out the app that’ll show achievement info right on the Switch.
I’m using ImGUI and the layout still looks a bit rough, so I’m gonna try to give it more of a "Switch-like" vibe.

Next week, I should start migrating my backend to the VPS, and after that, I’ll drop an alpha for everyone.
I don’t have any games fully mapped out for testing yet. If you guys have suggestions for an easy game (like stuff with simple stat-based achievements), let me know and I’ll try to map it before the release.

Also, just a reminder: if you want to help map some games, click THIS LINK to check out my template.


Had to speed things up just to get GTA to open... definitely gonna pick a faster game next time. LOL

2026031310381500-1D89AA094E356AA800852114E28CCA1C.jpg

2026031310423500-1D89AA094E356AA800852114E28CCA1C.jpg

2026031310423800-1D89AA094E356AA800852114E28CCA1C.jpg
 
Looking forward to this project!

I recommend for simple implementation for example:

1) Devastator - Geometry Wars clone that has pretty much given its goals and they are both hard and easy to achieve. Game is not large too so it could be simple - level beaten, achievement unlocked

2) Inside - while it has pretty elaborate easter egg/optional puzzle, game is pretty straightforward and is short and segregated into small chapters and each one (or few of them) can be eligible for achievement.
 
  • Like
Reactions: davimassini
This looks really cool. glad you never gave up on it. I sold my switch so i wont be able to use it anymore tho lol. good luck !
Thanks for the support, really appreciate it! Hopes the project reach you in the future!

Looking forward to this project!

I recommend for simple implementation for example:

1) Devastator - Geometry Wars clone that has pretty much given its goals and they are both hard and easy to achieve. Game is not large too so it could be simple - level beaten, achievement unlocked

2) Inside - while it has pretty elaborate easter egg/optional puzzle, game is pretty straightforward and is short and segregated into small chapters and each one (or few of them) can be eligible for achievement.
Such a good games, I'll definitely give it a try to map the achievements for them.
 

Site & Scene News

Popular threads in this forum