Skip to content

Latest commit

 

History

History
143 lines (87 loc) · 8.51 KB

CTF.md

File metadata and controls

143 lines (87 loc) · 8.51 KB

Contributor Task Force (CTF)

The Contributor Task Force (CTF) is an effort between the game developers and the community to enable and motivate external contributions, which should lead to a higher quality game, faster development and a more engaged community.

Motivations

All contributors have a strong and inherently personal motivation, the fuel that keeps them engaged and interested on the project. As an open-source community, it's our duty to keep contributors highly engaged and motivated with the project, enabling them to actually contribute and giving them more reasons to keep being part of the project.

Here's what motivates our team, in no particular order:

  • Hacker Experience 2, with all its features, mechanics and strategies.
  • Getting people involved on open source software.
  • Fostering Computer Science education.
  • Raising people's awareness and knowledge about privacy and security.
  • Being part of an active software project community.
  • Lifelong passion of crafting a fun and enjoyable game.

Other things that motivate our contributors are

  • Possibility to expand their resume/CV.
  • Engaging with an active community of fellow contributors
  • Seeing their contributions delivered to other players.
  • Getting a free copy of HE2.

If any of those, or something else entirely, motivates you, by all means feel invited to be part of our project. Keep reading for more information on the CTF, how to join and how to start contributing.

Plan

Handling all kinds of contributions from people around the world is no easy task. We need to have a clear way to handle people, contributions and tasks. Here's our plan.

We have 8 teams, each responsible for a different contribution area. Those are the Translation, Design (UI), Game Design, Development, Documentation, Support, Communication and Community Management teams. The Community Management team oversees all other teams as well as maintains a positive, healthy community environment.

Teams have three roles: the Leader, the Manager and the Contributor roles. Initially, all teams have 2 Leaders, 3 Managers and an unlimited number of Contributors. Both Leaders and Managers perform management and planning functions, while the Contributors execute the plan.

In other words, Leaders and Managers plan on how we'll achieve the team's goals, breaking down the long-term vision into small tasks, and the Contributors execute those tasks.

The Community Management team has a different structure. It's composed solely of 3 Community Managers, one of them being the Lead Community Manager (LCM). The Community Management team, specially the LCM, has direct and frequent contact with the Developers.

Managing the Community

If anything unexpected occurs, matters are taken to the team's Leaders. If no decision is reached, the team Leaders may escalate the issue to the Community Management team. Again, if no decision is reached, the matter is escalated to the Developers, which will make a final decision, always based on what is best for the project.

Team Leaders and Managers are asked to have a minimum of activity/contributions. If they decide to stop contributing to the project for any reason, they can gracefully step down while a new Contributor or Manager is promoted. The Developers will pick some active and helpful contributors within that team. Then, contributors will be able to cast a vote for one of them, with the winner being promoted.

The initial formation of Leaders and Managers, or at least part of it, is chosen directly by the Developers. You can apply for a position here.

Team Leaders will have occasional meetings with other Leaders, the Community Managers and the Developers. These meetings are meant to discuss the direction of the project, the status of each team and ensure that we are all on the same page with regards to the project's vision. Due to time-zone differences, these meetings will be mostly asynchronous.

Managing problems

Any contributor can escalate an issue directly to the Developers. This protects them from Leaders acting unilaterally or unwilling to further escalate an issue.

The community is bounded by a one-word code of conduct: respect. Leaders and Managers have the power to immediately remove misbehaving users. For a more detailed explanation of the Community, check the community manifesto.

The Lead Community Manager (LCM)

The LCM plays a major role on the community, as he has frequent contact with everyone. It is expected that he can handle questions and requests from all contributors, as well as guide/direct them into the corresponding teams.

The LCM is a person that can be trusted by the community and that has the role to always act within the project's best interest.

Teams' goals

This is an initial attempt to list each team's goals.

All teams must:

  • Efficiently handle feedback.
  • Keep the team repository and issues organized, properly tagging discussions and questions.
  • Provide a simple and low-barrier contribution process, according to the team's purpose, limitations and context.
  • Have a clear status page that describes what is being worked on, what is being discussed and what it needs help with.
  • Have a clear statement page that describes the team motivation and goals, as well as plans to achieve those goals.
  • Have a clear contributing page that describes in details different ways to contribute to the team.

Translation

  • Provide extensive coverage for HE1, HE2 and most supporting resources.
  • Provide a simple and easy way for contributors to start translating.
  • Provide high quality translation, ensuring review of all strings.

Repository

Design

  • Design an immersive visual identity for HE1 and HE2.
  • Ensure the best possible user experience for HE1 and HE2 players.
  • Provide a simple way for contributors to suggest or complain about UI/UX.

Repository

Game Design

  • Design an immersive, addictive and fun mechanics for HE1 and HE2.
  • Balance the mechanics in order to create fairness and competitiveness.
  • Design compelling stories for HE1 and HE2.
  • Provide a simple and efficient way to handle players' feedback and suggestions.

Repository

Development

  • Summarize development status of major software repositories (Helix, HELF and HEBorn for now).
  • Provide a clear way for potential contributors to pick specific tasks based on type, difficulty and language.
    • Cross-reference and categorize relevant issues.

Repository

Documentation

  • Provide clear and up-to-date documentation about all aspects of the project, ranging from software to contribution processes.
  • Provide a central site/wiki that links to/contains all documentations.

Repository

Communication

  • Assess the efficiency and ways to optimize inter- and intra-team communication.
  • Assess ways to improve public-facing communications.
  • Assess ways that we an communicate from company to the user and the proper demographic.

Repository

Support

  • Assess ways to improve support quality.
  • Give players a simple and intuitive self-service help center
    • Provide a central support center, with knowledge base, FAQs and possibly a Q&A system.
    • Encourage online discussions with other users

Repository

Community Management

  • Assess participation, environment and wishes of the community.
  • Assess and optimize the contribution process.
  • Proactively detect and resolve problems and flaws within the community.

Repository

Becoming a member

First, please fill the CTF form. It helps us assess our contributor's profile. Finally, head to our chat server. It's where all communication happens. We also have lengthy discussions on Github repositories.

During this initial phase, please be patient. The best way you can help right now is to propose how we can tackle and achieve these goals. The CTF plan is experimental, and it has just been released. Initially we'll discuss in details how each team can achieve their goals. This means that, for the first 2 weeks, all of CTF's effort is to plan for the future. Once we have things figured out, we'll send an invitation email to all contributors who declared interest on the Let's Build a Game campaign.