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

    ES Filter by Genre, Publisher/Developer, Players and Rating

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiofilterstestingdevelopment
    23 Posts 7 Posters 8.7k 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.
    • pjftP
      pjft @jdrassa
      last edited by

      @jdrassa wonderful :)

      Thanks for looking into this.

      That's interesting, as that exact behavior should be... Explicitly... Coded... For. Hmm.

      Unless it just got busted when I refactored the code to move the filtering to FileData!

      That may be the case.

      I'll try it out later and dig into it. I don't recall testing whether an empty selection still worked after I did the last change.

      Thanks! I'll get back to you, no need to waste time tracking it down - unless you do have a proper way to do debugging other than via logs, which is how I'm doing it. If that's the case, if you can track down the exact line where it's crashing it's easier for me, but it still shouldn't be a big deal for me to track down otherwise.

      Happy Saturday!

      1 Reply Last reply Reply Quote 0
      • daeksD
        daeks @pjft
        last edited by daeks

        @pjft said in ES Filter by Genre, Publisher/Developer, Players and Rating:

        @Dochartaigh Yeah, I was just answering @Zigurana in that direction. He already did the whole work of adding that metadata.

        If you use this, for the time being, you can just filter by 5 star ratings, for instance, but I agree - favorites and kid friendly should be a straight application of this, and as I said, it's fairly easy to implement should the metadata be there.

        it would be cool if there is also some visual indication in the gamelist already as well (recalbox has a star in front of the game name if it's a favorite + moved to the top of the list)

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

          @jdrassa Of course, that was the case. Had left some logic in the view that should have moved to FileData.

          Should be sorted now - apologies for the trouble, and thank you for catching it!

          If you pull the code now it should work now.

          @daeks Different feature request :) We don't have favorites yet, but that's a good idea if/when it ends up being implemented, should it be easy.

          Sorting shouldn't be hard - the visual component I imagine will need to be done at a theme level. That does not exist at the moment.

          Thanks both!

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

            @jdrassa FYI, there's a leftover problem from the refactoring where in some occasions the gamelist will reset to the first on the list.

            I'll look into it today.

            EDIT: and it's fixed now. Should be all sorted! Thanks for testing.

            mattrixkM 1 Reply Last reply Reply Quote 1
            • mattrixkM
              mattrixk @pjft
              last edited by

              Hey @pjft, I know this is an older thread, but I have a question that relates to how the filtering works:

              If I select 2 options, eg Racing and Shooting, will that return all games with the Racing genre and all games with the Shooting genre? Or will it return just the games with both the Racing and Shooting genres?

              Is it possible to choose how the filtering works? Inclusive or Exclusive? Broad or Explicit? I don't know the best way to phrase it.

              My ES themes: MetaPixel | Spare | Io | Indent

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

                @mattrixk Hi!

                Not at all, glad someone is happy to use this :)

                The filtering is:

                • UNION/JOIN in the same <category>
                • INTERSECT across different <categories>

                So, what this means is:

                • If you select two different genres, it will show games that match either genre 1 or 2 (as a game can't have more than one genres, so doing it otherwise would always return none :) ).
                • If you select two categories (say, genre and players), it will intersect both. So, if you select:
                  • Developer: Capcom, SNK
                  • Genre: Fighting
                  • Players: 2
                  • Rating: 4, 5

                It will filter for Capcom or SNK fighting games for 2 players which have ratings of 4 starts or above.

                I hope this helps. I wouldn't think of making this more complex unless there is a clear need/use case for it. The use case here is "you're looking for something that matches a criteria", rather than "everything that matches at least one of the parameters".

                But do let me know how it goes!

                mattrixkM 1 Reply Last reply Reply Quote 0
                • mattrixkM
                  mattrixk @pjft
                  last edited by

                  @pjft said

                  as a game can't have more than one genres

                  Uhh... so I can't have a gamelist that looks like this:

                  <game id="goldnaxe">
                    <path>./goldnaxe.zip</path>
                    <name>Golden Axe</name>
                    <desc>Golden Axe is a sideways scrolling beat-em-up set in a traditional fantasy world.</desc>
                    <image>./media-detailed/goldnaxe-detailed.png</image>
                    <genre>Brawler, Hack-Slash, RPG, 2.5D, Golden-Axe</genre>
                    <players>2</players>
                  </game>
                  

                  So I can then filter by all Brawlers, or by all Hack-Slash games, or all 2.5D games?

                  I've spent most of my free time doing that to my Genre tags so I can easily filter exactly what I want. I hope I haven't been wasting my time.

                  My ES themes: MetaPixel | Spare | Io | Indent

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

                    @mattrixk Huh.

                    I'm not really sure that's how these tags are meant to work, but in this case what that'll result will be in an entry for "Brawler, Hack-Slash, RPG, 2.5D, Golden-Axe" :l

                    The genres usually come from the scraper and are a single entry. It is "genre", not "genres" :/

                    At least for now that will now work as you expect it to.

                    Sorry for that.

                    mattrixkM 1 Reply Last reply Reply Quote 0
                    • mattrixkM
                      mattrixk @pjft
                      last edited by

                      @pjft Darn. Oh well, at least I don't have to do my whole collection that way (it would have taken a while). Cheers for letting me know. I'll have to have a play with it when I get the chance.

                      My ES themes: MetaPixel | Spare | Io | Indent

                      HurricaneFanH 1 Reply Last reply Reply Quote 0
                      • HurricaneFanH
                        HurricaneFan @mattrixk
                        last edited by

                        @mattrixk If your gamelist has the data saved, I'd imagine you could probably have a script turn those genres into a custom collection. So all your 2.5D games would get its own collection, Brawler would be a collection, etc. This isn't a filter, but it would give you just the games you wanted per collection.

                        mattrixkM 1 Reply Last reply Reply Quote 0
                        • mattrixkM
                          mattrixk @HurricaneFan
                          last edited by

                          @hurricanefan: I wouldn't have a clue how to make a script to do that. So far I've only made the change to a couple of systems. The plan was to then use those new genres to add a only a couple of custom collections, I didn't want too many.

                          Because I used a couple of different scrapers, and they all have their own Genre names (eg: Platform and Platformer), I need to clean up the Genres anyway. I figured I'd come up with my own Genre names. Here's the list I've come up with if anyone is curious:

                          Genre:
                            Racing
                              Racing-Car
                              Racing-Kart
                              Racing-Bike
                              Racing-Boat
                              Racing-Plane
                              Racing-OffRoad
                              Racing-Toy
                              Racing-Demolition
                              Racing-Hover
                              Racing-Snow
                            Driving
                            Vehicular-Combat
                            Flight-Sim
                            Space-Sim
                            Tank
                            Mech
                            Shooter
                              Shooter-Rail
                              Shooter-LightGun
                              Shooter-Flight
                              Shooter-Tunnel
                            Action
                            Adventure
                              Point-Click
                            Action-Adventure
                            Action-RPG
                              Hack-Slash
                              Run-Gun
                            RPG
                            Platformer
                              Platformer-3D
                            Brawler (Beat 'Em Up)
                            Fighter
                              Fighter-2D
                              Fighter-3D
                            Sports
                              Sports-Snow
                              Sports-Skate
                              Sports-Bike
                              Sports-Blade
                              Sports-Wrestle
                              Sports-Baseball
                              Sports-Soccer
                              Sports-Tennis
                              Sports-Football
                              Sports-Basketball
                            Stunts
                            Puzzle
                            RTS
                            Strategy
                            Music
                            Rhythm
                            Management-Sim
                            Stealth
                            Turn-Based
                            Maze
                            Shmup
                              Shmup-Vert
                              Shmup-Horz
                          
                          View:
                            1st-Person
                            3rd-Person
                            Isometric
                            Side-Scroller
                            Top-Down
                            Birds-Eye
                            2.5D
                          
                          Theme:
                            Horror
                            SciFi
                            Fantasy
                            Post-Apocalyptic
                            Medieval
                          
                          Age:
                            Kids
                            Adult
                          
                          Collection:
                            Alien
                            Predator
                            AvP
                            Doom
                            Street-Fighter
                            Marvel
                            X-Men
                            Avengers
                            Hulk
                            FPS
                            Rampage
                            MegaMan
                            SuperHero
                            Batman
                            Spiderman
                            Superman
                            DC
                            Spawn
                            Star-Wars
                            Tetris
                            Worms
                            Mortal-Kombat
                            LEGO
                            Jurassic-Park
                            Dinosaurs
                            Punisher
                            Pong
                            DnD
                            Donkey-Kong
                            Cartoon
                            Golden-Axe
                          

                          Sure, if what I wanted to do worked, it would have made for a very large Genre Filter list, but that's a small price for being able to search for exactly what I wanted.

                          My ES themes: MetaPixel | Spare | Io | Indent

                          HurricaneFanH 1 Reply Last reply Reply Quote 0
                          • HurricaneFanH
                            HurricaneFan @mattrixk
                            last edited by

                            @mattrixk Wow, that is a long list. :)

                            mattrixkM 1 Reply Last reply Reply Quote 0
                            • mattrixkM
                              mattrixk @HurricaneFan
                              last edited by

                              @hurricanefan Heh, yeah... It just kind of grew. It's not a complete list, as I'm sure the "Collection" section will continue to grow as I go through more of my Gamelists.

                              My ES themes: MetaPixel | Spare | Io | Indent

                              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.