melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.13k stars 512 forks source link

[Feature Request]RetroAchievements #1146

Open JakobDev opened 3 years ago

JakobDev commented 3 years ago

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.

Arisotura commented 3 years ago

what's the point

JakobDev commented 3 years ago

If you use RetroAchievements you get Achievements in Games. For example, you take the first Sword in The Legend of Zelda. grafik 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.

Arisotura commented 3 years ago

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.

Arisotura commented 3 years ago

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.

ghost commented 3 years ago

You can use retroachievements in standalone emulators though. Duckstation got an implementation that does not use any libretro stuff or api (works on standalone).

FalcusDev commented 2 years ago

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.

XParadisiac commented 1 year ago

+1 for Retro achievement support! RetroArch does not function with S-Pen, but MelonDS does. Would be fantastic to earn achievements with it!

CoreTaku commented 1 year ago

+2 for RA support. My Retroid Pocket 3+ needs a dependable emulator for me to earn my spicy, spicy achievement challenges with.

FoxbitDreamtail commented 1 year ago

+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.

Bastigonzales commented 1 year ago

+4

AftDawn commented 1 year ago

+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

nighto commented 1 year ago

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. :)

FoxbitDreamtail commented 1 year ago

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.

ludg1e commented 1 year ago

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.

CasualPokePlayer commented 1 year ago

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.

ludg1e commented 1 year ago

Yes, I know that

AleKing31 commented 1 year ago

+6

Wesker12345 commented 1 year ago

+7

retropieuser commented 1 year ago

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)

SentaiBrad commented 1 year ago

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.

RetroFlock commented 10 months ago

Let's Do It! I Love Retroachevmints!

Oceanman0123 commented 10 months ago

Please add retroachievements to MelonDS

TakaOtaku commented 10 months ago

Would also love it!

Optekah commented 9 months ago

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!

FoxbitDreamtail commented 9 months ago

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.

mblithium commented 9 months ago

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.

PlasmaStormZ commented 8 months ago

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!

Amnesia1000 commented 8 months ago

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.

Venaci commented 6 months ago

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!

JesseTG commented 6 months ago

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.)

JakobDev commented 6 months ago

@JesseTG You could open a PR to upstream your changes

Riku55 commented 4 months ago

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 :)

Zekromaster commented 4 months ago

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?

hipoleto commented 3 months ago

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.

CoreTaku commented 3 months ago

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.

sks316 commented 1 month ago

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.

Optekah commented 1 month ago

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 commented 1 month ago

@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).

nighto commented 1 month ago

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: @.***>

Luna-Karch commented 1 month ago

Having achievements on melonds would be awesome so I don't have to use retroarch

SaraJLeen commented 1 month ago

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...

yoshiweegee commented 3 weeks ago

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.

IzuSensei commented 1 week ago

I'm also praying for the addition of this feature, which so many of us have been waiting for - it would be a revolution!