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

    New ES Feature: Random Collection - Testers and Theme makers needed

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiorandom gametheming
    40 Posts 9 Posters 5.3k 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 @alphatoanant
      last edited by

      @alphatoanant awesome - thank you for the quick response:) I'll try out ArtBook today and report back.

      Any chance you'd be interested in/available to try to create a logo/icon for Carbon? Completely fine if not, but thought I'd ask.

      Thanks once again.

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

        Hi all.

        This change is now merged to emulationstation-dev. Just install/update it from RetroPie-Setup.

        @alphatoanant I confirm that both themes work well - thank you for the prompt response!

        You can go to the settings menu > game collections, and enable "Random" as an automatic collection. You then have an option for "Random Collection Settings" where you can configure it to your heart's content.

        To regenerate the collection, in the actual collection just press Select and choose "get new games".

        Option names may differ from those in the description. :)

        Have fun everyone!

        1 Reply Last reply Reply Quote 0
        • windgW
          windg
          last edited by windg

          Very nice addition, i tested it with Buster and RPi3 B and is working without issues. Thank you!

          A suggestion:
          In the Random Collection are included and the start scripts of some emulators, for example the +Start ScummVM.sh , +Start ZEsarUX.sh. I don't know if it is possible to ignore this from the randomness.

          (Also, Random Mania , a suggestion for the name :P)

          My English isn't at a good level.

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

            @windg Glad to hear it's helpful! Random Mania can certainly be the name a theme chooses for the collection, but for the sake of ES systems, I'm trying to use one word or so because "code". :)

            I did have that issue with the scripts, but I ended up not ignoring them, as there are some ports and emulators that do launch with similar scripts and I didn't want to exclude those.

            There are two options: you can either just create a collection with the games from the system that you'd want to include (that collection does not need to be active, btw!) and use that instead of the system. I, for instance, have a collection with all GB + GBC + GameGear games, and choose one every time.

            The other option, which is something that's still to be decided, is to have a simple collection with exclusions - entries you do not want to include - and then you'd add all those scripts and whatnot to that collection. That's probably the easiest way for the users, but I'm not yet fully sure of how to go about implementing it, or whether it'd effectively be necessary or whether I'm just overengineering things. Trust me, I have plenty of ideas of features to add to this once this is stable - it's just a matter of thinking it through and figuring out if these are things that users would actually benefit from to warrant both the development and maintenance.

            1 Reply Last reply Reply Quote 1
            • alphatoanantA
              alphatoanant @pjft
              last edited by

              @pjft I got my retropie built this morning and this is a cool feature!

              I took a pass at controller/system art for Carbon-2021 and came up with the attached a quick version. snapshot.png

              I am sure a better designer could come up with something different =)

              That said, if these is ok for now, I'd be glad to make a PR to the carbon-2021 repo to add them as a temp.

              My RetroPie Themes:
              Art Book https://github.com/anthonycaccese/es-theme-art-book
              Art Book Next https://github.com/anthonycaccese/art-book-next-retropie
              TFT https://github.com/anthonycaccese/es-theme-tft

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

                @alphatoanant I love it - thank you! :D This is awesome.

                Glad you find it useful as well - I hope it will allow us to discover and enjoy more of the games we have in our collections. :)

                Do send over the PR - I need to check who actually owns that repo (I'm not even sure I'm on it) but we'll get that approved.

                Thanks!

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

                  awesome 😊

                  PR created: https://github.com/RetroPie/es-theme-carbon-2021/pull/10

                  My RetroPie Themes:
                  Art Book https://github.com/anthonycaccese/es-theme-art-book
                  Art Book Next https://github.com/anthonycaccese/art-book-next-retropie
                  TFT https://github.com/anthonycaccese/es-theme-tft

                  1 Reply Last reply Reply Quote 1
                  • R
                    Retrodade @pjft
                    last edited by

                    @pjft said in New ES Feature: Random Collection - Testers and Theme makers needed:

                    Hi all.

                    I have been working for the past week on a feature that I was needing here, related to game discovery. I pretty much was missing the times when I went to a videogame store or an arcade and browsed all the different new games that were there and had to play the ones that were available.

                    With large collections on our setups these days - well, pretty much anything over a few dozens or hundreds starts becoming tricky to choose what to play unless you already have an idea - I created a new automatic collection tentatively called ā€œRandomā€. You have the option to select what systems and collections to select games from, you can select how many games to use from each system and collection, and you can choose how many games you want in the final collection if you want to trim it down to a certain number. You can also regenerate the random game selection on the fly.

                    The code is currently in a Pull Request for the ES-dev code, and I should merge it at some point tomorrow after I run some final tests for some edge cases that occurred to me. Also, never merge code and log off, as if something breaks it’s rough. Still, if anyone feels confident and wants to try it out, it’s there but you can also wait for tomorrow.

                    What do I need from all of you

                    First, testing and having fun with it. I’m mostly interested in understanding where this breaks, as there were a lot of moving pieces to make this happen. I think things are solid now, but I’m very much open to be proven wrong.

                    Second, and most important, when enabled, this will introduce a new automatic collection to the themes. Since no themes are ready for it yet, that system will show at the top level, unthemed.

                    Since I suck at design, would anyone be available to:

                    • Help create the logos and icons for Carbon, the default theme for ES?
                    • Update your existing themes to add support for the new auto-random collection. Tagging some of the folks I know were active in theming such as @alphatoanant (Artbook, others), @3Draco (ComicBook more recently), @dmmarti and @UDb23 .

                    The collection theme folder is auto-random, and the name is random unless someone has a nicer suggestion. ā€œSurprise Meā€ was a close second, but I kind of grew fond of Random, so it’ll probably stay.

                    Happy to provide more info, but if we can at least get Carbon ready, it’ll be easier to make this feature part of the main EmulationStation that’s installed by default on RetroPie, rather than staying on the dev branch.

                    Thanks all, and looking forward to tomorrow.

                    will this only work on newer versions of ES? or should it work on older versions of es?
                    not seeing how or where to install this?

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Retrodade
                      last edited by

                      @Retrodade said in New ES Feature: Random Collection - Testers and Theme makers needed:

                      will this only work on newer versions of ES? or should it work on older versions of es?

                      You need to install the development version of EmulationStation, as @pjft mentioned earlier

                      This change is now merged to emulationstation-dev. Just install/update it from RetroPie-Setup.

                      1 Reply Last reply Reply Quote 2
                      • LolonoisL
                        Lolonois
                        last edited by

                        @pjft Nice x 2 :)

                        Some minor layout issues from cursory testing:

                        game_collection_settings--marked-resized.png

                        The menu entries are not named consistently: "Custom Game Collections" but only "Random Collection Settings" (I am missing the Game after Random.) However, in the then opened submenu it is named as expected (see below).


                        game_collection_settings_sub--marked--resized.png

                        The Menu Title is quite long, but it is ok as the user navigated into it and knows the full name nevertheless.
                        But: "Max Items" could be named "Max Games"


                        game_collection_settings_sub_sub--marked--resized.png

                        In the menu "Automatic Collections" (and also in "Custom Collections"= the Menu Title still reads "Games from Systems", I guess it should read "Games from Auto Collections" and "Games from Custom Collections"

                        One more thing (maybe personal preference): Did you consider to use the SliderComponent for the values 0 to 5 in this and the "Systems" and "Custom Collections" as widget?

                        pjftP 1 Reply Last reply Reply Quote 1
                        • pjftP pjft referenced this topic on
                        • pjftP
                          pjft @Lolonois
                          last edited by

                          @Lolonois cool, thanks for the pointers:) I'll look into those.

                          I did not look into slider components, to be honest, though I see how that could also work.

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

                            Hi everyone. Just before the weekend, a short update:

                            • @Lolonois I updated the labels following your feedback. Thanks! I did not have it in me to switch the number selection to a widget for now for lack of time, but happy to take that change if you want to go ahead with it.
                            • @windg I added an option to select a collection with entries you want to exclude. Good to add all those scripts, or just games you don't want to be selected for the Random collection.

                            Hope this is useful! Have a great weekend everyone.

                            windgW 1 Reply Last reply Reply Quote 2
                            • windgW
                              windg @pjft
                              last edited by

                              Thank you very much !

                              My English isn't at a good level.

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

                                @windg By all means, hope it's useful!

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

                                  This is how it would like with the Slider Control:

                                  snapshot.png

                                  These are the applied changes.


                                  Initially I did not read about the exclude function here, which puzzled me initially. But with the hint to create a new custom collection and use that one to exclude games it makes sense.

                                  However, I do not see entries like "+Start xy" in my lists, maybe because I have set "Parse Gamelists Only" set to On. But I do understand the motivation to deliberately exclude games for reasons.

                                  1 Reply Last reply Reply Quote 2
                                  • LolonoisL
                                    Lolonois
                                    last edited by Lolonois

                                    Feature-wise nothing will be changed with the PR 859 [1], some changes "under-the-hood".

                                    Heads up: Only for the testers of the initial version announced here, there is a change in how the settings are stored. To save you the work to manually re-apply your selections you made, I have provided a script [2] which does the conversion of the respective parameters in the es_settings.cfg. Put it on your Pi, run it as user pi with python3 <scriptname> before you run the ES with PR 859 applied.

                                    If you start to explore this feature the first time after PR859 is merged, no action is needed.

                                    [1] https://github.com/RetroPie/EmulationStation/pull/859
                                    [2] https://gist.github.com/Gemba/4729e3560264511ea06aadb18f439112

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

                                      @Lolonois Thanks. The script works as intended. For those that don't do a lot of python work, you may need to install the lxml extension before running the script:

                                      sudo apt install python3-lxml
                                      
                                      1 Reply Last reply Reply Quote 1
                                      • mituM mitu referenced this topic on
                                      • mrmadcatzM
                                        mrmadcatz
                                        last edited by

                                        Is this available for any theme? I can't seem to find the option to turn this on after updating from the RetroPie Setup Script

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @mrmadcatz
                                          last edited by

                                          @mrmadcatz You need to install the -dev version of EmulationStation, from the experimental packages section.

                                          mrmadcatzM 1 Reply Last reply Reply Quote 0
                                          • mrmadcatzM
                                            mrmadcatz @mitu
                                            last edited by mrmadcatz

                                            Ah! I didn't realize it had to be updated via experimental packages for the dev version. Giving it a try now. Thanks @mitu!!

                                            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.