Open JakobDev opened 3 years ago
what's the point
If you use RetroAchievements you get Achievements in Games. For example, you take the first Sword in The Legend of Zelda. This requires of course support of the Emulator. RetroAchievements already offers Achievements for DS Games e.g New Super Mario Bros. What I request is adding support for this Achievements in melonDS. For example, I would get the Achievement Grassy Fields when I complete World 1 in New Super Mario Bros in melonDS.
I mean, I don't get the point of achievements to begin with, and even less so modifying an emulator to hack into the game to detect these things, which sounds like asking for trouble for little gain from a technical standpoint.
I just want to see what the other team members think of this.
after discussion, it appears that Retroarch's implementation of that feature is shitty and I don't want to deal with issue reports stemming from that.
that being said, we here only support the standalone desktop version of melonDS. the Retroarch port is maintained by someone else, and it seems like supporting retroachievements would be their work.
You can use retroachievements in standalone emulators though. Duckstation got an implementation that does not use any libretro stuff or api (works on standalone).
To further add on to this, Retroachievements isn't specifically tied to RetroArch (it is completely separate from RetroArch, it just happened to be implemented there about 6 or 7 years after the project started) however having achievement support on MelonDS standalone would be nice for a few reasons, the main ones being the extra functionality that has been integrated into MelonDS like microphone and DSi support. On top of this it would also give those who would like to earn achievements some additional options in which emulators they use and not have to rely on RetroArch for as many platforms. At the moment there has been a bit more standalone support that is coming like PCSX2 as well as a build having been made for WinArcadia, on top of some which have been around for a while like Meka, Project64, VBA etc.
I can understand if you'd rather focus on other things, have no interest in this etc however and will appreciate the work you have all put into this regardless.
Thank you regardless of what comes from here.
+1 for Retro achievement support! RetroArch does not function with S-Pen, but MelonDS does. Would be fantastic to earn achievements with it!
+2 for RA support. My Retroid Pocket 3+ needs a dependable emulator for me to earn my spicy, spicy achievement challenges with.
+3 for RA Support, it gives me a sense of accomplishment and gives me that slight dopamine push in a grueling/grindy game such as NSMBDS or the Mario and Luigi Games.
+4
+5 because the retroarch core version of melon doesn't expose wifi, but has RA, and i wanna get the full experience of heartgold again
Reviving this thread to mention that the melonDS Android fork is implementing RetroAchievements support. Hope you could at some point revisit your opinion about that matter and that it ever gets backported to the main melonDS. :)
Reviving this thread to mention that the melonDS Android fork is implementing RetroAchievements support. Hope you could at some point revisit your opinion about that matter and that it ever gets backported to the main melonDS. :)
This seems all fine and dandy until you realize that this would be difficult to implement properly on desktop, Android source code and x86 source code looks vastly different, primarily in implementing features, if you have source code that can compile both it must be a hybrid that can or have certain configuration files for flags to have a compile that way. I'm not trying to burst your bubble or nothing it's just, I'm not getting my hopes up for it. Not to mention it performs terribly on a core 2 4400 paired with a NVIDIA GTX 550 TI in Linux anyway.
As far as I know it could be viable using the rcheevos library from RetroAchievements. Duckstation and PCSX2 are already using it. https://github.com/RetroAchievements/rcheevos Note that as others have said, they don't have any relation both the library and the RetroAchievements service itself with RA/libretro.
rcheevos just does the platform independent work. It does not handle any kind of UI work and does not handle making the actual http requests, stuff which you cannot just grab from the android fork. Not to mention a lot of logic has to be written into the emulator for interacting with this library, which isn't a simple task in any respect.
Yes, I know that
+6
+7
Hi there, I'd also love to see this feature implemented. It was added into Duckstation and recently PPSSPP. It seems to be getting added into Dolphin as well. It would be great to see on MelonDS as the options for DS emulators is quite limited and frankly the further we can get away from Retroarch and that environment is a positive, as it just seems so bogged down.
Edit:- Here's the examples of Duckstation (https://github.com/stenzek/duckstation/blob/master/src/frontend-common/achievements.cpp) and PPSSPP (https://github.com/hrydgard/ppsspp/pull/17589)
There is a massive point. They're fun first and foremost and add something cool for new-to-you games or old favorites. I get the development cost, but they're clearly becoming something people want.
Let's Do It! I Love Retroachevmints!
Please add retroachievements to MelonDS
Would also love it!
Any news / reconsideration?
Myself and a ton of others would love to never need to install the god awfulness that is RetroArch ever again. Supporting standalone emulators is definitely the way to go, but seeing so many of them just completely disregard achievements makes me sad.
Thanks for your hard work though devs!
even if the retro achievements are togglable for performance, that would be amazing. please devs reconsider, if I had any sort of coding knowledge I'd add it and create a poll request myself but sadly I lack the knowledge.
I think the addition of Retroachivements is interesting for MelonDS, but we have to consider that the frontends created for it usually bring this function (like the MelonDS port for Android and Retroarch) and so it's not urgent, the developers of the project need to focus on the core (which is already a complicated task when it comes to emulators). I think someone can do an implementation and send a pull request anyway.
Reviving this thread once more. I would absolutely love for Retroacheivements to be on the desktop version of MelonDS, I love that it is on the Android version so I have high hopes that it can be done on the desktop version. I'm all for it! +15!
I join the request, I understand that there are other more important issues that they are working on, but it would be nice to have this functionality in the real melonDS. Without having to resort to retroarch.
I join the request. I have context you may not like, but may want to hear.
It's a little long, but I urge the devs to read. I typed it because I care, not to hear myself "talk".
The only way DSi is currently is supported for achievements is through BizHawk. You can PLAY DSi on RetroArch, but chevos are not yet supported through it, AFAIK. To incorporate DSi games into the NAND, we are told to use MelonDS to include it, or a standalone app.
I've never used MelonDS, at least standalone. I was brought here because I thought something this popular would have it. RetroArch, RALibRetro, PCSX2, BizHawk, and now even Dolphin has it. I read the whole thread, and MANY people have voiced wanting it added.
I've done programming. I was one of the first to great a Pokemon Gen2 clock reset calculator 2001 in C++. I didn't publish it because I couldn't create a GUI: I was systems only. I knew my audience wouldn't be good at using the app in the console. That said, I think you underestimate how many players only use emulators with it. That's almost 53K users who have enough score to be ranked that you're excluding from using your app. That's going to increase A LOT once Gamecube achievement sets are out.
I'm not going to whisper "thank you" for something that I don't use, but I know you shared it with the community because you care. I'm a person with compassion who sees you not taking requests seriously, because you yourself aren't interested in it. I think you miss that nobody wants to say is that No$gb is no deprecated, and that Melon DS may end up meeting the same fate if it doesn't include support for achievements on a site with more players than who use your app.
I'm not saying this to be rude or forceful, just that at some point you have to pick if you're doing it for yourself or others. In this case, it seems it's completely for yourself. If you have been developing this solely for yourselves or passion, you're completely free to do what you will. But I'll be the one to say that devs (at least Arisotura) is stubborn and ignoring what people want. If you want your project to be used more, and people ask for something, you need to consider it without whatever bias you have going into it.
IE, dealing with reports. You can easily just direct them to the RetroAchievement forums, except in cases that it's actually on your side. There's little front-end, and you can program either alt functions for using achievements, or just have a switch that's set to 0 when it's off. This would prevent performance issues, except an increase in filesize or maybe a 1% slowdown.
All I'm saying is that it's a bigger deal than you may think. It's a NIGHTMARE setting up BizHawk, so if you made this work with RetroAchievements, you'd basically have a monopoly on the DSi emulator market how PCSX2 does!
Psst...melonDS DS supports achievements and easy installation for DSiWare. (And you don't have to use it with RetroArch; there are other libretro frontends that support RetroAchievements, such as RALibretro.)
@JesseTG You could open a PR to upstream your changes
Another +1 here. While with melonDS DS, there is a nice alternative available, there are situations where a standalone is just preferable to a libretro core. Please give this another thought for the sake of the community :)
If someone actually made a fork incorporating Retroachievements support instead of just offloading the work onto you, would you be open to the idea of upstreaming the changes?
I join this, having achievements inside emulators is like an incentive to actually replay most games, i understand it might be difficult but please reconsider about working with the retroachievements support, many people would like that feature and instead of having to use retroarch, as its more convenient to most, just using the stand alone emulator.
I placed my +2 for RA Support a long time ago. Can I place my +8 now? Is there a reset timer?
[x
Nah, seriously. After reading these over the months, and all things considered, I'd understand if this never gets done, 'cause of it being a pain in the butt, BUT just know that if it were to go down that it would be GREATLY appreciated. Like the appreciation would be spouting harder than a Dr. Pepper fountain. Trust me. The RA community is growing fast.
The Dolphin emulator (standalone emulator for Wii and GameCube) just pushed RetroAchievements support, so I was hoping the melonDS dev team would consider revisiting this, as an implementation in a big emulator like Dolphin shows real interest in RetroAchievements. To counter the "what's the point" comment, the point is to have fun.
an implementation in a big emulator like Dolphin shows real interest
Definitely lots of interest. We currently have achievements for 52 (!) different consoles. There was such a hype around the newest gamecube achievements that the site literally crashed due to the traffic, which is insane.
@JesseTG You could open a PR to upstream your changes
Most of the heavy lifting is done by RetroArch itself. I contribute nearly everything that would benefit melonDS (be it official standalone or other frontends), but in this case there's not much here for me to upstream; expose RAM, get achievement support. That's about all I had to do. For the melonDS team to integrate it in their frontend would require them to hook up rcheevos, authenticate with the server, add support in the UI...this would be a nontrivial thing to maintain.
The tradeoffs of RetroArch having RetroAchievements support are different, in that the payoff is much greater (i.e. you can knock out nearly all supported platforms at once).
Not really: at this moment only Dolphin stand-alone is suported; the Dolphin core in RetroArch is not supported.
Em ter., 16 de jul. de 2024 às 19:24, Jesse Talavera < @.***> escreveu:
@JesseTG https://github.com/JesseTG You could open a PR to upstream your changes
Most of the work is in RetroArch itself.
— Reply to this email directly, view it on GitHub https://github.com/melonDS-emu/melonDS/issues/1146#issuecomment-2231445551, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADBEG7SQNOKANMXEYG5353ZMVJOJAVCNFSM472JYJGKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRTGE2DINJVGUYQ . You are receiving this because you commented.Message ID: @.***>
Having achievements on melonds would be awesome so I don't have to use retroarch
RetroAchievements have nothing to do with RetroArch, and the SDK implementation for them doesn't have to be nearly as messy as how RetroArch can often be. Please support them! It'd make an already wonderful emulator even greater! Or at least, say you'd be open to accepting a PR if someone else were to implement them! As it stands, the options are BizHawk and RetroArch, and it'd be much nicer having it in MelonDS proper...
Chiming in to say that RetroAchievements would be huge for melonDS since it would make it the only supported DS emulator to also support local multiplayer, which could easily make games with co-op, like The Legend of Zelda: Four Swords Anniversary Edition and Kirby Super Star Ultra, much more interesting for achievement-hunting. With local multiplayer also soon to be netplay capable, that would be all the more incentive to bring users to the emulator.
I'm also praying for the addition of this feature, which so many of us have been waiting for - it would be a revolution!
It's been 3 years, I still hope it gets the Retroachievements support because it's easier for me to play DSI games here
Some time ago, I managed to get RetroAchievements working in a local copy of MelonDS, although I didn't develop it further than a basic prototype with code I wouldn't push to a repo meant for long term maintenance at the time. It's basically a prototype.
I got achievements to unlock and a configuration GUI, and the big issues that I had pending are two technical and two functional:
Technical
Functional
There also the fact that my prototype was using the default OSD as a notification system since the frontend doesn't have a proper "good looking" notification system, but seeing as Dolphin did something similar, this can probably be an acceptable choice in a definitive version of the feature.
All in all, this is more doable than it looks and I could look back into finishing it, although I wouldn't bother if there was no interest in getting RetroAchievements into the upstream - the RA community has mostly abandoned the idea of "RetroAchievements forks" for emulators, which is a big reason why I had decided the first step for returning to this should've been getting a "go-ahead" for submitting a PR.
PLEASE give this person the go-ahead. I see this as a win-win for everyone.
Some time ago, I managed to get RetroAchievements working in a local copy of MelonDS, although I didn't develop it further than a basic prototype with code I wouldn't push to a repo meant for long term maintenance at the time. It's basically a prototype.
I got achievements to unlock and a configuration GUI, and the big issues that I had pending are two technical and two functional:
Technical
- RetroAchievements support creates a dependency on some kind of http networking library. I guess libCURL is in the environment, but I used CPR for my prototype. It's probably perfectly possible to switch to raw libCURL.
- RetroAchievements should be kept mostly a frontend-side thing, especially since there are other frontends that use it. I couldn't find an elegant way to do this, from what I remember I just slapped an EventBus on it for the sake of making it work. Adding a third codebase would probably be even worse. This also can probably be solved, I just didn't see a good solution at the time.
Functional
- I still didn't have a GUI that lists achievements while playing
- Minorly, although hardcore mode is trivial to implement by altering the frontend so that cheats and savestates are unavailable, there's still work to be done on it
There also the fact that my prototype was using the default OSD as a notification system since the frontend doesn't have a proper "good looking" notification system, but seeing as Dolphin did something similar, this can probably be an acceptable choice in a definitive version of the feature.
All in all, this is more doable than it looks and I could look back into finishing it, although I wouldn't bother if there was no interest in getting RetroAchievements into the upstream - the RA community has mostly abandoned the idea of "RetroAchievements forks" for emulators, which is a big reason why I had decided the first step for returning to this should've been getting a "go-ahead" for submitting a PR.
Support for RA has now surpassed all others and become the single most discussed open issue on the GitHub.
Would love the green light!
(Not to curb anyone's enthusiasm, but be warned that even if I resume my work and a PR gets opened it'll take time before development is done and prod-worthy AND everything would also still conditional on testing and quality control on RetroAchievements' side before it gets into any user-facing release build)
RetroAchievements is a site which add Achievements for retro games (like the name says). You can get the Achievements if you play the Game in a Emulator that supports RetroAchievements. Would be nice if you could add support for RetroAchievements in melonDS.