Join the FAF Team: Exciting Opportunities for Contributors!
-
Looking for a meaningful way to contribute to the FAForever project? You're at the right place! In this topic you get an overview of existing teams, their functions and responsibilities. By contributing you do not only help sustain the FAForever project. You can also put yourself in situations, take part in discussions and help make decisions that can expand your horizon on the nitty-gritty of collaboration.
In general, becoming a contributor allows you to:
- Understand as a person that there's always nuance involved
The world is not a trivial place. Sometimes what initially appears to be a small contribution can quickly become much, much more complicated than anticipated. FAForever is full of these gotcha's, just like the world and probably your future job. The sooner you learn to understand there's always a nuance involved the better. FAForever is the perfect playground to help nurture that understanding.
- Apply your knowledge
Did you know that the Neroxis map generator was originally a thesis for a bachelor's degree? Years later, it is now a unique selling point of FAForever. By applying your knowledge, you gain valuable experience and at the same time you can create a significant positive impact for the community. Whether that is in programming, graphics design or just great story telling - everything can create value for the community.
- Make an impact
Sometimes all it takes is a small change to make a large impact. A simple hotkey to make information available at the fingertips of the community can create just as much value.
- Be part of something bigger
There's not much more fulfilling than collaborating towards a goal and then seeing it thrive over the years to come. FAForever is a long-term project. What you do now can impact community members in the future long after you've moved on.
If you're a developer, then you can explore the FAForever GitHub organization to find a project in your favorite language. Contributing developers are the backbone of the community. On top of that there are various other roles that create value for the community. This can range from tournament directors, casters, graphics designers, editors to just running a test game on FAF Develop and report back with your findings. Whether you're here as a hobbyist or to apply your knowledge - you are welcome here.
Our Discord server serves as the main hub for connecting various contributors. It also provides detailed information about specific team roles in the application channel. For long-term contributors there is also Zulip available to keep discussions more organized and easier to retrieve. We primarily use the English language to discuss features. Luckily, a translator works just fine these days.
Each team has its own resources to help you get started. The structures of teams are described on our Wikipedia, take as an example the statutes of the Promotion team. There is various content available on YouTube.
If you have no experience but still want to make a meaningful impact on the FAF project, I encourage you to become a member of the FAF association and/or support us on Patreon. As an association member, you can participate in important votes and discussions that help shape the future of FAF and contribute to making it better. You can view the Association forum section to have a glimpse of what that looks like.
A brief overview of the positions we are looking for support - in no particular order:
Section Apply Here Main Task Skills Needed Promo Team Video Editor Create engaging video content to promote FAForever and its community across platforms like YouTube, Steam discussions, and Patreon. Creativity, video editing proficiency, and familiarity with promotional content creation. Promo Team Graphic Designer Design visuals to enhance FAForever's professional image and community engagement, including assets for YouTube, tournaments, streams, and in-game content. Creativity, graphic design expertise (animations, pixel art, vector art, and stock images), and familiarity with design tools like Photoshop or similar software. Promo Team Text Editor Write and edit compelling text content to inform and engage the FAForever community across platforms like forums, Discord, Steam, and Patreon. Strong writing and editing skills, proficiency in English, and creativity in generating authentic and accessible content. Promo Team Content Manager Coordinate and oversee content creation and scheduling for FAForever's YouTube channel and News hub, while supporting contributors in their work. Organizational and leadership skills, communication proficiency, and the ability to collaborate effectively within a team. Section Apply Here Main Task Skills Needed Moderation Team Moderator Uphold community rules across chat channels (Aeolus, Discord) and forums. Tasks include reviewing game reports (teamkills, griefing, exploits), and providing first-line support to FAF users with their questions and issues. Levelheadedness and setting a positive example for the community. Familiarity with the community, ideally being a long-term member. Active online presence. Strong communication skills (English required) and be at least 18 years of age. Section Apply Here Main Task Skills Needed Creative Team Vault Moderator Monitor map and mod vaults for rule violations and take appropriate actions. Attention to detail, knowledge of vault rules, and ability to communicate effectively with contributors. Section Apply Here Main Task Skills Needed Balance Team Balance Associate Working on fine-tuning the game's unit and faction balance to ensure its competitiveness and ongoing health. Strong game knowledge, game design expertise and an analytical mindset. Optional: Lua programming Section Apply Here Main Task Skills Needed Trainer Team Trainer Create guides, videos, and review resources to help new players. Knowledge of the game, helpfulness, good communication skills, and active participation in the Discord. Section Apply Here Main Task Skills Needed Matchmaker Team Mappool Advisiors Evaluate map pools, provide feedback to mappers, and collaborate with developers to improve the matchmaker experience. Proficiency in the game, strong map evaluation skills, communication skills, and active team participation. Section Apply Here Main Task Skills Needed Campaign Team Campaign GitHub Maintainer Help to maintain the GitHub repository for campaign missions. GitHub expertise, Lua scripting Section Apply Here Main Task Skills Needed Game Team Reverse Engineer Enhance SCFA's engine by reverse engineering and recreating its functionalities to improve UI control and expand engine capabilities. Proficiency in C/C++, x86 assembly (GCC inline), IDA and x64dbg, Lua scripting, decompiling and patching executables Game Team Game Developer Contribute to the development of FAForever by making improvements ranging from small adjustments to blueprints to creating new frameworks and components. A passion for programming, problem-solving skills, and familiarity with Visual Studio Code, Lua, Git, and GitHub. Game Team Game Administrator Guide and manage the FAForever project, fostering a welcoming environment for contributors, overseeing development, and making key decisions to ensure the project's success. Leadership, strong project management and decision-making skills, experience with Git, GitHub, and volunteer-based environments, and the ability to facilitate open communication and collaboration. Game Team Game Maintainer You guide the project, streamline contributions, break down complex tasks for contributors and conduct code reviews. Leadership, project management, programming, Git, GitHub, and experience in a volunteer-based environment. Familiarity with Visual Studio Code and Zulip is beneficial. Game Team Game Artist Create new textures and props, fix issues with existing units, textures, and props. Rebuild units from scratch (less common) Creativity, texturing, and modeling. Tools you may use: Autodesk 3ds Max, Blender, NVIDIA Texture Tools, Photoshop, Gimp. Optional: Substance Designer, ZBrush, Git Section Apply Here Main Task Skills Needed DevOps Team System Admin Assist in Linux administration, security improvements, and maintenance of various software stacks. Experience with Linux administration (especially NixOS), security, Docker, Kubernetes, GitOps, and familiarity with tools like MariaDB, RabbitMQ, Prometheus, and Grafana. DevOps Team Client Maintainer Guide the project by streamlining contributions, performing code reviews, managing feature development, and ensuring the overall improvement of the FAF client. Proficiency in Java (Java 21), JavaFX, Spring Boot, Project Reactor, and JsonAPI. Experience in UI design, performance improvements, API integrations, and managing releases. DevOps Team Developer Contribute to various projects across multiple languages, such as Java, Kotlin, Python, and Rust, with a focus on long-term development and project growth. Proficiency in Java, Kotlin, Python, or Rust, depending on the project. Familiarity with client-side applications, APIs, server services, and specific technologies related to each language (e.g., JavaFX for Java, web services for Kotlin, etc.).
Credits:
- Thanks to @Fichom for providing the images and feedback.
- Thanks to @Jip for the thread idea and feedback.