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:
promo_team-titled_bar.png
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.
moderation_team-titled_bar.png
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.
creative_team-titled_bar.png
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.
balance_team-titled_bar.png
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
trainer_team-titled_bar.png
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.
matchmaker_team-titled_bar.png
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.
campaign_team-titled_bar.png
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
game_team-titled_bar.png
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
devops_team-titled_bar.png
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.