RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    what about adding a cheevos flag in gamelist.xml ?

    Scheduled Pinned Locked Moved Ideas and Development
    metadatacheevosemulationstatio
    108 Posts 13 Posters 37.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • meleuM
      meleu
      last edited by meleu

      This is addressed to @pjft (who seems to be the guy who implemented the favorite flag in gameDecls), @BuZz (the big boss) and other ES hackers ( @Hex , @jdrassa , @Zigurana , @fieldofcows , etc).

      I believe it's an edge case for a little niche of users, but, you know I'm a retroachievements enthusiast and asking doesn't hurt, right? :)

      What about providing a cheevos flag in gamelist.xml (just like the favorite)?

      The intention is NOT creating a "cheevos system" like favorites or last played, but filtering the games with cheevos. Something similar to what we can do by filtering genre/publisher/developer, but instead of text, it would be a boolean flag.

      One question that may come: How the <cheevos> field would be filled?

      The first answer is: manually. I can think in some ways to automatically fill this via shell script, retrieving that info from retroachievements.org, but it would be outside the ES. Then, from an ES point-of-view, it would be manually. (UPDATE: I've created the hascheevos tool to populate the gamelist.xml files with this metadata. Check how to use it here: https://github.com/meleu/hascheevos)

      What do you guys think?

      EDIT
      To avoid any confusion, in this post I explain the exact expected result of my request.

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      1 Reply Last reply Reply Quote 5
      • pjftP
        pjft
        last edited by

        In concept, I don't oppose to adding a field to metadata as long as it is useful and benefits a wide audience. The question is, if everyone needs to add it manually, how much adoption will it have.

        Let me start the other way around: if there is a way for users to be able to populate that field in their usual flow (be it via a scraper - is there any source that has that info, and that users could read it from - or if you'd want to create one such tool to go through users' gamelists and populate that) I'd surely be more than happy to consider it.

        Ideally, even though a script that would populate current gamelists and reading from the retroachievements' site as a source would be quite good, I feel that the best way to get it would be via one of the standard scrapers for new users. But lacking that, that script I mention (which is, in effect, a scraper in itself - just a separate one) that would update people's gamelists would be nice already.

        Without that, I fear it'll be something that only a handful of people will really benefit from, hence begging the question: why not just create a separate collection for that, if it's an edge case, rather than adding something that very few people will use? :)

        Let's keep this open. :)

        CapemanC meleuM 2 Replies Last reply Reply Quote 1
        • CapemanC
          Capeman @pjft
          last edited by

          @pjft I get the argument that appealing to a small audience may not be the best reason to add a feature, but perhaps adding the function may be the catalyst for wider adoption.

          As of now cheevos is part of retropie but it's extremely barebones in both the ES and Retroarch sides, making it king of inaccessible to users like me who only use features that are well integrated (thanks for favorites, btw).

          A dream cheevos system would see retropie adding some sort of script to show a ps/Xbox style graphical and themeable (possible animated) pop up during game play showing your achievement, instead of that little yellow text users looking for a console like experience like myself have turned off. The ability to sort in ES and add a themed element to the game display would just add to the user friendliness.

          I have thought about using it, but without it being sexy, I've been a hold out.

          Just my 2c

          Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

          dankcushionsD meleuM 2 Replies Last reply Reply Quote 1
          • dankcushionsD
            dankcushions Global Moderator @Capeman
            last edited by

            @capeman said in what about adding a cheevos flag in gamelist.xml ?:

            A dream cheevos system would see retropie adding some sort of script to show a ps/Xbox style graphical and themeable (possible animated) pop up during game play showing your achievement, instead of that little yellow text users looking for a console like experience like myself have turned off. The ability to sort in ES and add a themed element to the game display would just add to the user friendliness.
            I have thought about using it, but without it being sexy, I've been a hold out.
            Just my 2c

            if anyone wants to donate for this, here's the bounty!
            https://www.bountysource.com/issues/38991924-show-images-for-awarded-achievements

            1 Reply Last reply Reply Quote 2
            • meleuM
              meleu @pjft
              last edited by meleu

              @pjft said in what about adding a cheevos flag in gamelist.xml ?:

              if there is a way for users to be able to populate that field in their usual flow (be it via a scraper ... or if you'd want to create one such tool to go through users' gamelists and populate that) I'd surely be more than happy to consider it.

              Yes. In fact I was about to write a bash script for that thinking in use genre or developer filtering to see only the games with cheevos. And then the idea for boolean flag came to my mind and I started this topic.

              The scrapers tools and resources don't have this info. The only place which have this info is the retroachievements.org server. Maybe I can bother @sselph a little so we can add this feature to his awesome scraper. It would be really cool. If ES was able to parse JSON data it could get this data itself, but I think it would be to much to ask...

              I fear it'll be something that only a handful of people will really benefit from

              I agree with @Capeman when he says "adding the function may be the catalyst for wider adoption."

              why not just create a separate collection for that, if it's an edge case, rather than adding something that very few people will use? :)

              Yeah, the inception of my idea here was that request/suggestion made by @hansolo77 . I just think that having this filtering option in each system would be neat. :-)

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              pjftP 1 Reply Last reply Reply Quote 3
              • meleuM
                meleu @Capeman
                last edited by

                @capeman

                A dream cheevos system would see retropie adding some sort of script to show a ps/Xbox style graphical and themeable (possible animated) pop up during game play showing your achievement

                It's a RetroArch thing, not RetroPie. I mean, if somebody wants to suggest this kind of stuff, it should be addressed to RetroArch project. By the way, this is already addressed on that link posted by @dankcushions above (and I'm the one who posted the first bounty on that issue :) )

                I have thought about using it, but without it being sexy, I've been a hold out.

                You can use it without that yellow text by disabling OSD messages. Then you will only see your progress on the RetroAchievements site.

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                1 Reply Last reply Reply Quote 0
                • pjftP
                  pjft @meleu
                  last edited by

                  @meleu Would you have a way to scrape the data from retroachievements.org?

                  Maybe a clumsy wget from http://retroachievements.org/gameList.php and regexping the hell out of it?

                  And then having a script go through the user's gamelists and populating that tag?

                  meleuM 1 Reply Last reply Reply Quote 0
                  • meleuM
                    meleu @pjft
                    last edited by

                    @pjft said in what about adding a cheevos flag in gamelist.xml ?:

                    @meleu Would you have a way to scrape the data from retroachievements.org?

                    Yes. But it talks JSON. I'm able to easily parse JSON data in shell scripts using the very handy jq tool (btw,I use it to fill the ES repos/branches from opened PRs in my es-tests tool).

                    That's how I'm planning to populate user's gamelist.xml.

                    • Useful topics
                    • joystick-selection tool
                    • rpie-art tool
                    • achievements I made
                    pjftP 1 Reply Last reply Reply Quote 1
                    • pjftP
                      pjft @meleu
                      last edited by

                      @meleu Sounds good. Let's do it then. So you'll be putting together a small script that will go through users' gamelists and populate a "<retroachievements>true/false</retroachivements>" tag. Is that the spec?

                      meleuM 1 Reply Last reply Reply Quote 1
                      • meleuM
                        meleu @pjft
                        last edited by

                        @pjft said in what about adding a cheevos flag in gamelist.xml ?:

                        @meleu Sounds good. Let's do it then. So you'll be putting together a small script that will go through users' gamelists and populate a "<retroachievements>true/false</retroachivements>" tag. Is that the spec?

                        yep!

                        I suggested "cheevos" because it's a widely used slang for "retroachievements" (btw, the RetroArch config is cheevos_enable).

                        If it would be "true/false" or "0/1" depends on how ES manage boolean data. What happens with the favorite field?

                        Well, I became excited after reading that "Let's do it" part! :)

                        I'm going to have some free hours tomorrow. I'll try my best to write the script! If I succeed, I'll try to convince/help @sselph to add this feature to his scraper. :-)

                        Cheers.

                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        pjftP 1 Reply Last reply Reply Quote 0
                        • pjftP
                          pjft @meleu
                          last edited by

                          @meleu let's call it achievements then. It's more generic. Thinking about it, it's better if it's not tied to a source - in the future there may be others.

                          Still unclear if the use case of every time filtering by achievements is really that functional as opposed to having a pre curated collection/list, though.

                          Do you really see yourselves doing that use case on a day to day basis?

                          meleuM R1n0XR 2 Replies Last reply Reply Quote 1
                          • meleuM
                            meleu @pjft
                            last edited by meleu

                            @pjft said in what about adding a cheevos flag in gamelist.xml ?:

                            Do you really see yourselves doing that use case on a day to day basis?

                            My answer is an emphatic yes! :-)

                            When I was building my arcade cabinet I spent a lot of time curating games with cheevos for each system. It wasn't a pleasant task...

                            Also, it's a dynamic info. Games that doesn't have cheevos today can have in the future. And then you have to curate games again. There are cheevos developers around that site. They are very friendly and like to develop cheevos as you like to develop ES stuff. :) (btw, I am really grateful to the guy who created cheevos for "G.I. Joe" (NES) when I requested it).

                            For a cheevos hunter, it's better to leave all the ROMs he/she has, run the "cheevos scraper", and then filter the game list in ES.

                            EDIT
                            Tagging other guys who seems to like the retroachievements feature:
                            @mediamogul @edmaul69 @Sano @grenade44 @hansolo77 @R1n0X @cabrunco @muehltime @orymer @backstander @fun4stuff @Trotts @Keysersoze77 @PokeEngineer

                            Hey guys, can you please answer the @pjft 's question: Do you really see yourselves doing that use case on a day to day basis?

                            • Useful topics
                            • joystick-selection tool
                            • rpie-art tool
                            • achievements I made
                            PokeEngineerP 1 Reply Last reply Reply Quote 0
                            • R1n0XR
                              R1n0X @pjft
                              last edited by

                              @pjft Yeah man!! This is a great enhancement for Emulation Station!!! I always use cheevos function!!

                              pjftP 1 Reply Last reply Reply Quote 0
                              • pjftP
                                pjft @R1n0X
                                last edited by

                                @r1n0x I'm specifically referring to the use case of filtering vs having a pre curated collection/system with the games that support achievements.

                                R1n0XR 1 Reply Last reply Reply Quote 0
                                • R1n0XR
                                  R1n0X @pjft
                                  last edited by

                                  @pjft i would love to use the filtering feature!!!!

                                  1 Reply Last reply Reply Quote 2
                                  • PokeEngineerP
                                    PokeEngineer @meleu
                                    last edited by

                                    @meleu said in what about adding a cheevos flag in gamelist.xml ?:

                                    EDIT
                                    Tagging other guys who seems to like the retroachievements feature:
                                    @mediamogul @edmaul69 @Sano @grenade44 @hansolo @R1n0X @cabrunco @muehltime @orymer @backstander @fun4stuff @Trotts @Keysersoze77

                                    Hey @meleu, you can add me to the list too.

                                    Don't sweat it.
                                    When in doubt, take a BYTE out of life.

                                    😎

                                    meleuM 1 Reply Last reply Reply Quote 1
                                    • meleuM
                                      meleu @PokeEngineer
                                      last edited by

                                      @pokeengineer done! Now how about answering that question? :-)

                                      You are looking at your EmulationStation, in the NES game list. If you had a chance to filter only the games that has cheevos would you use this filter frequently?

                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      PokeEngineerP 1 Reply Last reply Reply Quote 0
                                      • PokeEngineerP
                                        PokeEngineer @meleu
                                        last edited by

                                        @meleu

                                        Yeah, I would.

                                        Don't sweat it.
                                        When in doubt, take a BYTE out of life.

                                        😎

                                        1 Reply Last reply Reply Quote 0
                                        • hansolo77H
                                          hansolo77
                                          last edited by

                                          Absolutely count me in!!! I would test the bejesus out of that. :) But I'm not sure I really like the idea of having to go through a custom sort to get to my cheevo games. The way I have it now, my cheevo games are copied in the system folder in a subfolder. ES displays that folder as a ROM, so I select it and it opens up a list of games I've got in that folder. I know instantly that every game in there has cheevos. If I understand you current plans, it's to add an extra field in the metadata, which can be selected as a sort option. "Sort by Publisher, Genre, Players, Date Released, Cheevos". That would just make the gamelist present itself with games containing cheevos at the top, and the others at the bottom. BUT maybe I don't want to necessarily play a cheevo game. I'd hate to have the sort be to cheevos then have to go back in and change the sort to alphabetical. What I'd like to see is a metadata field (boolean meaning true or false right?) that allows me to create a collection like "Favorites" or "Last Played" so I can instantly select it from the main system menu without being limited to a sort, or even having to enter a system.

                                          As for the scraping, this is a great idea. Up till now, I've had to manually go through my rom folders with a copy of the website up in a separate window looking at what's been added recently (once a week I check) and copy roms from one folder to the subfolder. It's long and tedious but gets the job done. If a method to scrape from the website lists automatically, and just add that "true" to the metadata can be made.. HELL YEA. :)

                                          And yes, I would use this daily (when I'm not hacking around adding new features!). When I learned about RetroAchievements, that's pretty much guaranteed the 99% of the games I will play. I love trying to play for them. It is exposing me to a lot of games I wouldn't have even tried before. It's just more fun. And if we can make the RetroPie project include support in ES for this on the front lines, I can almost promise you more and more people will looking to use it. It's like before we had videos, people were happy with the way it was. Then video screens became a possibility, and now EVERYBODY is hopping on board. It really is the next best thing.

                                          And @meleu is right. The RA team is developing cheevos on a daily basis. You literally can go there everyday and find a list of new cheevos and games that support them. Hell, I bet you could create a script as part of the ES boot up (if you have internet established) to check and see if any new games are supported and have it update your lists then and there. Although it would probably be better if it was an optional feature.

                                          Keep me updated. I'd love to test out whatever you guys come up with!

                                          Who's Scruffy Looking?

                                          1 Reply Last reply Reply Quote 1
                                          • G
                                            grenade44
                                            last edited by

                                            This is a great idea. What would be cool if the flag changed colour to say if you have completed the game as well. But I know that would be hard to code.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.