Belmont Posted September 19, 2019 Share Posted September 19, 2019 Hi! Long time premium user here, pretty much first time posting. I love the retroachievements integration in LaunchBox/BigBox, but after playing around with it a little bit, I came to the conclusion that the fuzzy matching between LB and RA is just not working out. Either some games are confused for others, or are not displaying at all due to my titles not matching the RA titles. Could we do better? Two things come to mind: A) Match on CRC32 (which RA is using), or B) Give us a hook to provide the matching ourselves (i.e.: let us add an a RetroAchievements ID on the game details to override the fuzzy matching), Or is there a hook already that I could use to write my own matching code? I'll be honest -- currently I can't make use of the feature because the miss-matching is bad enough that I find it embarassing (which is my problem -- I'll give you that). I get the "it just works-ish" approach that is currently implemented, and I'm not suggesting it goes away, but for those of us who are "ocd-ing all over our collection" and wouldn't mind putting in the effort, an alternative solution would be nice. I tried reporting this issue before on bitbucket but it didn't get any attention. Surely I'm not the only one annoyed by this? Otherwise I absolutely love this product. Please keep up the good work! Quote Link to comment Share on other sites More sharing options...
neil9000 Posted September 19, 2019 Share Posted September 19, 2019 It may not strictly be a matching issue. Retro Achievements nearly always use the original rom for achievements. So if your default roms being launched in Launchbox are (rev 1) (rev a) etc then that is simply the wrong rom and not strictly a matching issue. I use Retro Achievements myself and its very rare that i find they are not working, and in those cases i just change the default rom launched to the "original" one and not a revision. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 It's not a ROM issue -- it's the way LaunchBox matches the game to the RA DB. Point in case: The RA still works in RetroArch, and the achievements are reflected in my account, but LB doesn't show them. See: https://bitbucket.org/jasondavidcarr/launchbox/issues/4917/lets-fix-the-retroachievement-integration https://bitbucket.org/jasondavidcarr/launchbox/issues/3722/add-and-fields-into-the-platform-xml-for If I'm wrong I'm sure Jason can correct me. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 To expand: I know LB isn't doing any of the "achievement" works -- the emulator does. LB merely interface with RA to DISPLAY achievement data, to the best of my understanding it's doing so on title matching only. That's what I have a problem with. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted September 19, 2019 Share Posted September 19, 2019 7 minutes ago, Belmont said: To expand: I know LB isn't doing any of the "achievement" works -- the emulator does. LB merely interface with RA to DISPLAY achievement data, to the best of my understanding it's doing so on title matching only. That's what I have a problem with. Yes it is using the RetroAchievements API. Jason would have to comment on the more technical issues of that though. Looking at the thread for the bitbucket you linked the other guys example of Ys III not showing correctly, they show for me just fine in Launchbox and Retroarch. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 Arguably, it's because the name on RA was changed since the original issue was reported: http://retroachievements.org/achievement/11213 It is now "Ys III - Wanderers from Ys (SNES)", which match your title (and the expected title in the reported issue). Try altering the title of the game to something else (for testing purposes). My NES game "Addams Family, The" shows achievements, but if I rename it to "Addams Family 2, The", then it doesn't (proving my point that matching is done on title and nothing else). I'm still running on 9.10, so if it has been silently changed since then I apologize. I asked Jason to comment here when convenient. We'll see. At this point I'll take an acknowledgement that I'm not crazy. Whether this ever get changed or not is up to his discretion. Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted September 19, 2019 Share Posted September 19, 2019 Yes, matching is done on platform and title only, which is unfortunate. Sadly, though, there aren't really any other options, or at least there wasn't back when I implemented it. There is no global "ID" that identifies a game that everybody knows. So it basically comes down to matching by platform and title; that's all we've got. The only other solution I can think of would be to provide a field in LaunchBox for the user to manually put in a Retro Achievements game ID. If anyone knows any other way, let me know, but I don't believe there is one. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 I would take that! Have an field which can be populated manually (or through other means for us who are more technically inclined), and default to fuzzy match if the field is empty. People could decide to only populate the ID for mis-matched titles if desired. The ID is easy enough to figure out (it's on the URL of the RA page). Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 Heck -- I'll take any hack! I wouldn't mind populating a specific custom field if it meant it could by-pass the fuzzy matching Anyhow - thanks for acknowledging the issue. I really wish this could get worked around one way or another. Cheers! Quote Link to comment Share on other sites More sharing options...
neil9000 Posted September 19, 2019 Share Posted September 19, 2019 2 minutes ago, Belmont said: I would take that! Have an field which can be populated manually (or through other means for us who are more technically inclined), and default to fuzzy match if the field is empty. People could decide to only populate the ID for mis-matched titles if desired. The ID is easy enough to figure out (it's on the URL of the RA page). Sounds perfect for a user created plugin if you ask me, to scrape the ID from the URL on demand with a simple right click context item. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 (edited) Give me the field and I'll write the plugin Edit: Even better: I'll write a plugin that match the ID based on the CRC32 of the associated ROM (along with sugesttions if not found). Edited September 19, 2019 by Belmont Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted September 19, 2019 Share Posted September 19, 2019 CRCs aren't consistent enough to really be effective in that way; I've looked into to doing that in the past, but there are way too many versions of ROMs. But anyways, new features for Retro Achievements was on the poll and got voted fairly highly, so I will be doing that soon, and I'll plan on adding that field when I do. Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 (edited) But RetroAchievements only works with specific hashes to begin with (that's how an emulator knows the rom is valid for a specific list of achievements: http://retroachievements.org/linkedhashes.php?g=1302 (correction -- I'd have to use MD5 over CRC32 -- same difference) Edit: I'm not here to argue, I just did my homework, and I know a thing or two about software development Sorry if I'm coming off as abrasive -- it's really not my intention... Edited September 19, 2019 by Belmont Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 The API doesn't seem to expose the hashes, which is odd.. it would have to be scrapped (not ideal, but good enough in a plugin). Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 (edited) The more I read, the less sure I am about those last statements. The integration between an emulator and RA in determining if a ROM is valid for achievement is unclear to me at this point. Still, using known good hashes (as reported on RA) would be a near 100% positive hit when it matches. When no match found, then I guess we would have a problem (and need to fall back on something else -- manually picking from a list). It's not something that would need to happen at runtime. If a plugin did it, it would be populating an ID for use by LB. Strays could be fixed manually. Hashing larger games (such as PS1) would be a performance problem, but if done through a plugin then users could be informed and expect it. The API could be used to get the list of games per platform and then scrap the good known MD5 from the linkedhashes.php page (which might be frowned upon by RA ¯\_(ツ)_/¯ ) At the end of the day, if we (users) could get a hook to override the default logic to provide our own ID, I'm pretty sure the community could do the rest. Bonus points if setting it to zero bypass the logic entirely (no achievements) so that we don't mismatch games that don't have achievements. Food for thoughts. Edited September 19, 2019 by Belmont A word Quote Link to comment Share on other sites More sharing options...
Jason Carr Posted September 19, 2019 Share Posted September 19, 2019 Sure, I can add the field easily enough. But yeah, I've already determined that using checksums isn't anything that we're going to tackle ourselves, for various reasons. But yup, it's certainly open to the community to try it. 1 Quote Link to comment Share on other sites More sharing options...
Belmont Posted September 19, 2019 Author Share Posted September 19, 2019 I would be immensely grateful and willing to provide the missing functionality. I'm looking forward to it! Thanks! 2 Quote Link to comment Share on other sites More sharing options...
drw4013 Posted March 6, 2020 Share Posted March 6, 2020 On 9/19/2019 at 9:22 AM, Jason Carr said: Sure, I can add the field easily enough. But yeah, I've already determined that using checksums isn't anything that we're going to tackle ourselves, for various reasons. But yup, it's certainly open to the community to try it. Did this field get added to the list for a future release yet? I'm still looking for a way to manually link a game to a retroachievements entry. The auto-matching misses some still. If not, is there any way to manually make the link in the database? Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted March 7, 2020 Share Posted March 7, 2020 On 9/19/2019 at 4:02 PM, neil9000 said: It may not strictly be a matching issue. Retro Achievements nearly always use the original rom for achievements. So if your default roms being launched in Launchbox are (rev 1) (rev a) etc then that is simply the wrong rom and not strictly a matching issue. I use Retro Achievements myself and its very rare that i find they are not working, and in those cases i just change the default rom launched to the "original" one and not a revision. I've realized that and I think this is the single biggest problem with retroachievements. I alwas use the latest revisions, since that's how 1G1R sets are built. So for man of my favorite gaes, I cannot use retro achievements. It's a real bummer. Quote Link to comment Share on other sites More sharing options...
narnz Posted April 1, 2021 Share Posted April 1, 2021 Hi, I would like an update on this, has this been sorted out? Is there a plugin to match launchbox and Retroachievement games to get the Achievenments showing on launchbox. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.