Team roles
Important
ClanGen is open-source and free to play. This means both that anyone can contribute, and also that no one is compensated for their contribution. Developer roles are neither titles nor jobs; they are descriptors! If you contribute to the game, you are a contributor. If you contribute to the game on an ongoing basis, you are a developer!
Developer Roles¶
Apprentice Developer¶
Developers seeking to gain skills in particular specialties of development (code, writing, art, audio) and learning how ClanGen’s development works. When someone applies for developer roles or has their Pull Request merged on GitHub, they are brought in as an apprentice developer. Any developer can hold apprentice roles (including seniors!) if they are interested in learning more about that specialty and working on entry-level projects related to it.
How do I become a full developer?¶
- Apprentice developers can gain full developer roles simply by asking the senior developers! Seniors will have a brief discussion to decide if they feel the apprentice is ready for full roles, but don’t worry; this is mainly a formality.
How long should I stay an apprentice developer? When should I ask for full roles?¶
- Every person’s journey is different. One apprentice developer might be an experienced coder who is just learning the ropes of ClanGen’s particular systems, while another might be new to GitHub and simultaneously dipping their toes into contributing new writing or art to the game.
- That being said, here are some signs you’re ready for full roles:
- I can make a Pull Request without asking for help with GitHub
- When a senior requests changes on my PR, they tend to be for minor issues
- If my PR’s tests fail, I am able to try solving it myself
- I can resolve merge conflicts with little or no help from others
- I’m comfortable joining projects and coming up with my own ideas for contributing
- We all need help sometimes! Full developers are not expected to work completely autonomously, and we always strive to help one another.
- You can always request to return to apprentice developer roles! It’s also possible to hold apprentice roles in one specialty (e.g. Code Apprentice) while being a full developer in another specialty (e.g. Art Developer).
Developer¶
Everyone who has contributed anything (code, writing, art, audio) to ClanGen is a developer. The Discord role allows you to see developer-only channels and participate in discussions regarding upcoming features, content, and bugfixes.
How much do I have to contribute? Are there deadlines?¶
- ClanGen does not have deadlines or requirements for contributions. As mentioned above, developer roles are descriptors. Some developers contribute every week, while others go months between Pull Requests. ClanGen is a passion project in the truest sense of the word; motivation will naturally ebb and flow.
- If you know you are unlikely or unable to contribute for long stretches of time (3+ months), you can request hiatus roles from a moderator at any time, for any reason, no questions asked.
Is it possible to lose developer roles?¶
- A developer who is inactive for a long period of time (3+ months without activity on GitHub or Discord) without requesting hiatus roles may have their developer roles removed. This ensures the list of developers comprises exclusively active developers and developers who have signalled their inactivity through the hiatus role.
- Developer roles will also be removed for persistent or egregious breaches of server rules. This may be accompanied by a ban from the server.
- Contributors are never removed from game credits unless they ask to be, regardless of their reason for no longer being a developer.
If I specialize in one area, am I allowed to contribute in other areas too?¶
- Absolutely! Any developer can request apprentice roles in any specialty and can contribute to that specialty’s projects. You do not need to “stay in your lane,” and we encourage all team members to develop their skill sets in different areas.
Senior Developer¶
Seniors are the project leaders. They are in charge of directing the game and ensuring that all content added matches with a coherent vision. Seniors have been developers for long periods of time and have made substantial contributions to the games. They review the Pull Requests of all developers, suggest changes, and merge them. Many seniors have specialties and concentrate on those; you can learn about your specialty’s senior developers in the specialty-specific guides.
Non-Developer Roles¶
Contributor¶
If a developer has been inactive for 3+ months without requesting hiatus roles, their developer roles may be replaced with a “contributor” role on Discord to mark their past contributions to the game while keeping the list of developers to active ones. See Is it possible to lose developer roles?
Can I return to developing if I lose developer roles?¶
- Absolutely! You can always open new Pull Requests or re-apply for developer roles, regardless of your position on the server. If you return to active contributions, you will regain the developer roles.
- If you were removed from the team for a reason other than (in)activity, senior developers and moderators will determine your eligibility to rejoin the development team.
Beta Tester¶
Beta testers are not strictly part of the developing team. These are users who have been approved for beta-testing; they play on the developmental branch of the game and report bugs. They are the only players who receive tech support for the dev version.
Beta testers are expected to have been active within the last three months. "Activity" is defined as any message within the betatesting channels (dev-version-discussion and its threads + dev-version-tech-help), but there is some leeway to the time depending on the activity of development and what is there to currently test (it's not your fault if we give you nothing to test).
All bugs must be reported to the ClanGenOfficial Github issues page.
- Search the existing issues for your bug. If a post already exists for that bug, don't make a new one. Please comment on the currently-existing issue to let us know that you are experiencing the issue as well, with as many screenshots as you can.
-
This is especially relevant for typos and spelling errors, which should all be collected under the pinned typo issue.
-
If a post for your bug doesn't already exist, make one! You'll see a "New Issue" button on Issues page. Enter a title that is clear, specific, and easily searchable. Add any additional information (such as images, instructions to replicate) in the body of the issue.
-
Soon, a senior dev will review your issue, and give it appropriate tags.
Betas are often invited to playtest private, in development features before they go public. Remember to confine your discussion of these features to the private testing threads and never share links to these private branches.
Caution
If you repeatedly break confidentiality, you are liable to be kicked from the beta testing program without warning.
Moderator¶
Moderators are in charge of keeping the Discord server running smoothly. Mods are not necessarily devs and vice versa, but some people do hold both roles. Developers must follow the rules of the server just like all other members, and mods have access to developer channels.