FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    Looking for New Client Maintainer

    Scheduled Pinned Locked Moved Contribution
    20 Posts 12 Posters 2.0k 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.
    • S
      Sheikah
      last edited by Sheikah

      Unfortunately over the last year I have seen my available time to work on the client has dwindled and has not picked up like I thought it would. This isn't entirely fair to the community as there are some bugs that have stuck around that I haven't been able to put in the effort to fix.

      Due to this I am putting out a call for anyone who is interested in picking up maintenance of the client. I am willing to walk anyone through the architecture and general structure of FAF. There are a few low hanging fruit that can be resolved as good introductions to working with the code base. The client is written in Java and utilizes Spring Boot. The UI is done in JavaFx with a rough Model-View-Controller architecture with FXML.

      If you are interested feel free to respond to this post, on the client github, or find me on discord. A general description of the responsibilities can be found below.

      As a maintainer your contributions are more subtle than just fixing bugs and implementing new features. You guide the project as a whole and help streamline contributions. This can be as simple as performing a code review to as complicated as ironing out entire new features that you then slice into small, digestible pieces for contributors to pick up.

      This can consist of guiding the UI design of the client, gathering feedback from the playerbase, integrating with and extending the lobby server protocol and api, performance improvements, performing dependency updates, and creating alpha and production releases for the community.

      Below is the client tech stack:

      • Java 21
      • JavaFX
      • Spring Boot
      • Project Reactor
      • JsonAPI

      Additionally, I am also the maintainer for the map generator so if anyone has interest in that feel free to reach out as well.

      1 Reply Last reply Reply Quote 7
      • FreadyFishF
        FreadyFish Global Moderator
        last edited by

        Thank you for your service 🫡

        1 Reply Last reply Reply Quote 0
        • S
          snoog
          last edited by

          I have next to no experience in Java, nor do I even really like the language, but I do have experience in .Net WPF.

          I think I could put my dislike of Java aside for FAF at least and try helping out.

          1 Reply Last reply Reply Quote 6
          • S
            Sheikah
            last edited by

            Yeah no worries snoog of you want to take a cursory glance at the repo and then we could find some time to meet up in discord or something to talk over a good first issue.

            1 Reply Last reply Reply Quote 0
            • E
              Exselsior
              last edited by

              I have for a long time thought about actually contributing to different FAF code bases, but haven't taken up anyone's time with trying start since I'm not sure if I'll actually end up being consistent and didn't want to waste time. @Sheikah if you and @snoog do meet on discord, would you mind messaging me when that happens so I could at least be a fly on the wall assuming I can make my schedule work? Maybe I'll stop being lazy and actually try to make some contributions. My Java is unfortunately a decade out of date/practice though

              1 Reply Last reply Reply Quote 1
              • S
                snoog
                last edited by

                Maybe we should just set something up with the 3 of us

                1 Reply Last reply Reply Quote 2
                • maudlin27M
                  maudlin27
                  last edited by

                  If you’re doing a run through of the client I’d be interested in joining. I wouldn’t have much time available and have almost 0 experience of the coding language, so it would make sense for one of the other volunteers to take on the main role, but if I had a better understanding of the client I might be better able to contribute in the future

                  M27AI and M28AI developer; Devlogs and more general AI development guide:
                  https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
                  https://forum.faforever.com/topic/5331/m28ai-devlog-v150

                  1 Reply Last reply Reply Quote 2
                  • maudlin27M
                    maudlin27
                    last edited by

                    Another thought (sorry for the double post) - could you record your ‘client briefing’, a bit like what Jip did a while ago with some of his tutorials for doing work on the mainFAF code base? That way anyone interested in contributing who misses what you talk through would still have a basic starting point to refer to

                    M27AI and M28AI developer; Devlogs and more general AI development guide:
                    https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
                    https://forum.faforever.com/topic/5331/m28ai-devlog-v150

                    1 Reply Last reply Reply Quote 7
                    • JipJ Jip referenced this topic on
                    • JipJ Jip referenced this topic on
                    • JipJ Jip referenced this topic on
                    • K
                      Katharsas
                      last edited by

                      For future reference:

                      As i have contributed to the client in the past, i might also help others with getting to know the code, if you didn't get the chance to look at it with Sheikah. However it has been quite some time so my knowledge might not be fully up-to-date.

                      1 Reply Last reply Reply Quote 0
                      • FtXCommandoF
                        FtXCommando
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • T
                          Tagada Balance Team
                          last edited by

                          I would like to be there as well. I thought about contributing to the client for some time now and recently I wrote a bit in Java so it seems like a perfect time. Obviously I am too inexperienced to be a maintainer but I would like to start contributing a little bit.

                          1 Reply Last reply Reply Quote 4
                          • JipJ
                            Jip
                            last edited by Jip

                            Not exactly a 'good-first-issue' feature but of those that would like to contribute - this would be a nice milestone to strive for:

                            • https://forum.faforever.com/topic/7813/faction-win-rate/9
                            • https://forum.faforever.com/topic/7641/dualgap-adaptive-needs-to-be-given-to-the-faf-community/12

                            A work of art is never finished, merely abandoned

                            1 Reply Last reply Reply Quote 0
                            • N
                              Nuggets
                              last edited by

                              I hereby nominate ChatGpt

                              Brutus5000B 1 Reply Last reply Reply Quote 1
                              • Brutus5000B
                                Brutus5000 FAF Server Admin @Nuggets
                                last edited by Brutus5000

                                @nuggets said in Looking for New Client Maintainer:

                                I hereby nominate ChatGpt

                                A simple ChatBot also does the trick. It just needs to comment each feature request with a "no" and each bug with "works as intended".

                                He said, "I've been to the year 3000
                                Not much has changed, but they live underwater
                                And your great-great-great-granddaughter
                                Is playin' FAF, playin' FAF"

                                1 Reply Last reply Reply Quote 3
                                • S
                                  Sheikah
                                  last edited by

                                  For those interested I will be discussing the client architecture and structure in the FAF discord this Saturday June 29th at 18:00 UTC

                                  1 Reply Last reply Reply Quote 6
                                  • JipJ Jip referenced this topic on
                                  • JipJ
                                    Jip
                                    last edited by

                                    Please do record it as I can't join but I'd love to view it.

                                    A work of art is never finished, merely abandoned

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Sheikah
                                      last edited by

                                      For those who weren't able to join the recording can be found here https://youtu.be/j2LNWBdEiHU?feature=shared

                                      1 Reply Last reply Reply Quote 7
                                      • K
                                        Katharsas
                                        last edited by

                                        Regarding the question at the end about development on a mac:

                                        There is still the old mac-support branch that contained some changes to enable running the client on Mac:
                                        https://github.com/FAForever/downlords-faf-client/compare/develop...feature/mac-support

                                        However the client commit it is based on is massively out of date so you would have to check if these changes still apply/ are still needed and re-apply them to the current state of the client.

                                        1 Reply Last reply Reply Quote 1
                                        • C
                                          Clown-Baby
                                          last edited by

                                          Has anybody claimed this yet? Java is my language of choice and have used JavaFX quite a bit. I'd love to get in on this.

                                          1 Reply Last reply Reply Quote 1
                                          • S
                                            Sheikah
                                            last edited by

                                            If you are interested then you should feel free to reach out to me or start by tackling some of the issues to get an introduction to the code base.

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