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

    Head over Heels from 2003 - Would it work on Retropie?

    Scheduled Pinned Locked Moved General Discussion and Gaming
    head over heelslinux gameretropie port
    29 Posts 5 Posters 1.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.
    • LolonoisL
      Lolonois @Folly
      last edited by

      Thanks for bringing this gem to my attention.

      Just stopping by to note that I overhauled the linux-build.sh script from Doug's repo and destilled a RetroPie scriptmodule of it.

      Find it here [1]

      Tested on a Rpi4 and Rpi3. Game starts with audio and navigation works in the menu before starting a game. Game can be started. However, when in game the keyboard actions are no longer recognized. (Use for example killall xinit to return to EmulationStation).

      In contrast: The same build commands create a fully playable game on a x64 (Debian Bullseye) in X11.

      Tested with the bundled allegro lib 4.4.3.1 as well as the 4.4.2.1 from Buster. But result was the same. (Bullseye on Desktop provides 4.4.3.1).
      Tested also Allegro 5 (add liballegro5-dev to the dependencies and add --with-allegro5 to the cmake command, FWIW) but with allegro 5 the keyboard is not detected from the beginning.

      I assume it is related to either the allegro engine or the game itself that the keyboard presses working before are no longer recognized in the game. But I did not dig into it yet.

      Question: Maybe you guys have additional hints for the cause/debugging tips?

      [1] https://gist.github.com/Gemba/f2c541f6e027d7278e948f80e311e318

      1 Reply Last reply Reply Quote 2
      • mituM
        mitu Global Moderator
        last edited by

        @Lolonois said in Head over Heels from 2003 - Would it work on Retropie?:

        Tested on a Rpi4 and Rpi3. Game starts with audio and navigation works in the menu before starting a game. Game can be started. However, when in game the keyboard actions are no longer recognized. (Use for example killall xinit to return to EmulationStation).

        Could be a focus issue due to the lack of a window manager. Configure the port launch command with XINIT: and runcommand will take care of starting X, a window manager and disable any screen blanking. See how steamlink is configured for an example.

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

          @mitu Thanks would have been an quick win but unfortunately it does not solve the issue when I adapt the matchbox-window-manager & line before. I did use the XINIT: keyword already.

          Also I should add that when running the game from within Pixel/lxde at a Pi the result is the same: Game starts, menu navigation with keyboard ok, in game no keyboard.

          Edit:
          Found a reference which may explain the issue: https://www.allegro.cc/manual/4/api/keyboard-routines/install_keyboard

          FollyF 1 Reply Last reply Reply Quote 1
          • FollyF
            Folly @Lolonois
            last edited by

            @Lolonois

            Nice to see that it can work somehow.
            Just wanted to let you know what I tested, what works and what doesn't, yet.

            I tried your module-script and got these results :

            • Imac-I5_bullseye_x86_64bits+desktop -> compiles and loads, game is playable, quitting the game doesn't work (have to open a new terminal and do "pkill headoverheals" and get back to the desktop, desktop is then in low resolution
            • pi4_bullseye_32bits+desktop -> compiles and loads, no keyboard anymore after selecting "new game"
            • VMware_bullseye_x86_64bits+desktop -> doesn't compile
            LolonoisL 1 Reply Last reply Reply Quote 1
            • LolonoisL
              Lolonois @Folly
              last edited by

              @Folly Thanks for trying out. Some more observations I made so far:

              After I was out of options for allegro4 I tried again the allegro5 build: And to my surprise it works. =B-) I most likely was too impatient on the Rpi3 as it is non-performant (the game not the Rpi3), and I assumed I was stuck in the Language selection screen. Plus I had to set the video mode in the Runcommand menu to 640x480.

              The contrast between the allegro4 and allegro5 build is stark: When idling in the first room load is approx 4x higher with the allegro5 build. I guess because the allegro5 implementation is still work in progress, respective the lags are not detectable on a desktop system thus were not noticed by Doug, but get apparent on a Rpi4 and Rpi3.

              Long story short: It boils down to an optimization issue of the game with allegro5, which is more easily to remediate as the "no keyboard" with the allegro4 build (and dealing with the "dead horse" allegro4 anyway). Will update my Gist soon.

              Re: Your observations

              1. I have no stakes on a Mac but usually it is pressing M within the game then Esc should bring you back to the Gui Menu from where you can exit.
              2. See above. Thanks for verifying that it was not only my machine/setup.
              3. Vmware build: Was is the build error?
              FollyF 1 Reply Last reply Reply Quote 1
              • FollyF
                Folly @Lolonois
                last edited by Folly

                @Lolonois said in Head over Heels from 2003 - Would it work on Retropie?:

                Re: Your observations

                I have no stakes on a Mac but usually it is pressing M within the game then Esc should bring you back to the Gui Menu from where you can exit.

                Works for me.
                Might be a good idea to change m into esc :

                <pause>esc</pause>
                

                Seem to work just fine, what do you think ?

                See above. Thanks for verifying that it was not only my machine/setup.

                I am indeed curious on how it reacts on different setups so we can learn from it and perhaps improve some things along the way.

                Vmware build: Was is the build error?

                I have put the log on my github :
                https://github.com/FollyMaddy/headoverheals-compilation-stuff/blob/main/rps_2023-03-16_104412.log.gz

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

                  @Folly changed the M to Esc. It is more intuitive, thanks. For the vmware build error: I have noticed the output of LT_INIT: command not found. Could you add libtool to the dependencies (depends_hoh()) and retry?

                  FollyF 1 Reply Last reply Reply Quote 1
                  • FollyF
                    Folly @Lolonois
                    last edited by Folly

                    @Lolonois

                    Adding libtool did the trick.
                    You should definitely add it to the depends.

                    Everything works except the sound has some hick-ups.

                    duglorD LolonoisL 2 Replies Last reply Reply Quote 1
                    • duglorD
                      duglor @Folly
                      last edited by

                      @Folly @Lolonois Does this mean it should be/could be/ will be/might be added to anyone who wants it, their pi? or should we/anyone wait for sound improvement or no it should not be used?

                      FollyF 1 Reply Last reply Reply Quote 0
                      • FollyF
                        Folly @duglor
                        last edited by Folly

                        @duglor

                        Not to be rude or anything but all the information is in the posts ;-).

                        Summarised (using debian 11 (or 10)):

                        • headoverheels doesn't work yet on the pi using allegro4 (starts in menu and can be controlled but has an issue not being able to control/play the game) (sound is ok)
                        • headoverheels does work on the a normal x86_64 pc using allegro4 (sound is ok)
                        • headoverheels does work on my virtual x86_64 machine using allegro4 (but has issue with sound that does have some hick-ups)
                        • @Lolonois is busy trying to update the module-script and use allegro5 and test that (hopefully it will solve the problems and using it could make the game run faster)
                        1 Reply Last reply Reply Quote 2
                        • LolonoisL
                          Lolonois @Folly
                          last edited by

                          @Folly Thanks for validating this. As I learned from your other post the audio issue happens on x64 with liballeg4 and not on arm/Raspberry Pi.

                          FollyF LolonoisL 2 Replies Last reply Reply Quote 0
                          • FollyF
                            Folly @Lolonois
                            last edited by Folly

                            @Lolonois said in Head over Heels from 2003 - Would it work on Retropie?:

                            audio issue happens on x64 with liballeg4 and not on arm/Raspberry Pi

                            Right, in a vitual machine x64 only to be correct, a normal x64 pc has no sound issues.
                            Btw.
                            All above tests have been done with your old module-script using allegro4.

                            If you want I can try it on a mac M1 with VMware Debian 11 aarch64 too.
                            I just tested your new module-script using Allegro5 and removed the flags so I could install on aarch64, but it doesn't work and hangs with the patch.

                            I did not test your new module-script on other computer yet.

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

                              @duglor I would say it is usable and smoothly playable on a Raspberry Pi 4. But keep in mind that a) the scriptmodule is experimental (and the build on arm hardware) and b) the allegro 5 implementation started by Doug Mencken is not optimized.

                              @Folly thanks for your summary and testing the different setups.

                              FWIW: Optimizing for the Allegro 5 game engine is a major project as the framework concepts have been changed from polling based (allegro 4) to event based (allegro 5). Thus it implies a lot of not only rewriting but also redesign to make a good match to the allegro 5 approach.

                              As with any open source project I don't give any statement if/when I will optimize this, but the sources are there for anyone interested and whoever feels to join me (and maybe even has sound allegro5 knowledge) is more than welcome.

                              FollyF 1 Reply Last reply Reply Quote 0
                              • FollyF
                                Folly @Lolonois
                                last edited by Folly

                                @Lolonois

                                Seems quite some work.
                                Btw.
                                Also tanks for all the work you already did.

                                If I could I would help you however, sadly, I do not have the required knowledge.

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

                                  @Folly said in Head over Heels from 2003 - Would it work on Retropie?:

                                  If I could I would help you however, sadly, I do not have the required knowledge.

                                  Thanks, and no worries. At the moment I did not even consider starting that endeavour.

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

                                    @Folly said in Head over Heels from 2003 - Would it work on Retropie?:

                                    I just tested your new module-script using Allegro5 and removed the flags so I could install on aarch64, but it doesn't work and hangs with the patch.

                                    Hmm. Hangs at the build or hangs on runtime? If it hangs at runtime: Does it also hang without applying the patch (the patch fixes only the flickering first screen when the game starts).

                                    FollyF 1 Reply Last reply Reply Quote 0
                                    • FollyF
                                      Folly @Lolonois
                                      last edited by

                                      @Lolonois

                                      I didn't describe it very well.
                                      Will add a log when I can.

                                      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.