Those are guidelines for contributing to CEV Eris development. Before making PR, or even starting any project, make sure that your content does not violate them!
How to don't fuck up 101
You don't need to be genius to follow those simple rules and avoid massive problems in the future. Memorize those things, they are simple as brick.
- If in doubt - ask your superior. You are not sure that this method is the most optimal and optimized? Ask maintainers. You are not sure that money someone is asking for a job are reasonable? Ask Head Dev. Do not spam them to the point they will have to make your work for you, but notify them before you will try to fuck things up. Even if they tell you otherwise or don't react - at least it would be their responsibility now. You also can go to coderbus to ask for advice or bother developers for other codebases as well.
- Do at least minimal research on a subject you are working on. All maps in BYOND will break if you try to pixel move object with shortkeys, because BYOND. Some code have a reason to be this fucked up. Some things might not work because we host our server on Linux. Devil is in details, so again, ask, read, research. Many of those details are important experience you can use outside of BYOND, you would not waste your time doing it anyway.
- Playtest even smallest changes. Just run this local server and run a smallest test. Even if you just changed value for some gun, maybe you did a typo in a string variable that BYOND cannot detect. It's is expected that the latest version of your PR on a github is playtested, and if it's not, you are a goddamn idiot.
- Execute restrain. While discussions sometimes can be hot, and topics can be controversial, wasting 4 hours of collective time of 5-6 people on arguing about balance for revolver is counter productive and plain stupid. At some point head dev or maintainer should put end to this discussion and decide what should be done, please don't try to ignite it further. There are much more important things to focus on.
- Don't nerf/buff values of things SIX TIMES in one go. Nerf values for 35-50%, see the results on live server, note them, nerf further when there is still a problem. This is how people in "proper game dev" do that, and we are absolutely not smarter then them. When it's a rework that changes whole area of a game - it's fine to axe values as much as you want, but small changes should not make our codebase look like twitching overdosed hobos. Please do buffs and nerfs by small portions each week.
- Powergamers are not the reason to remove content that is fun for others. Address this issue with admins, not by removing major chunks of code. As MRP community, we have a tools for that.
- Fun above realism. Realism on itself have very low value, what you really need to uphold is immersion and reason. Immersion is what keep RP on decent levels, tie players closer to server, and multiplies the fun. You need to uphold the reason for players to understand what's going on, provide the explanation for mechanics that are uphold and make at least some sense. But all two of those have their value only when Fun is present, it's the core that keeps everything intact.
- Feedback is important. Gather the information before, when and after doing anything. Learn how to listen to players, they are often can't give you good ideas on mechanics themselves, but they 100% can tell you if they are having fun or not, and that's the main thing you need to know. Listen to other developers and communicate with them.
- Mind the lore. Remember that there is no alive ancient civilizations present in our lore, who factions are, what what is their purpose on a ship.
Chain of responsibility
The detailed structure of Eris staff can be seen here:
With this in mind, let's explain how it works for each and every role on the project aside from descriptions provided in a picture.
- Contributor/Staff Developer - generally a people who provide PRs, or help with reviews. They should not merge content without Maintainer approval, but some Staff Devs can approve PRs if they have such power provided by Head Dev. They NEED to ask Dev Delegates, Head Dev or Maintainers before starting to work on something that's not fix or was not asked to be done. Because else they might face with a problem of their idea not fitting into codebase, and wasting time and effort on something that will not be merged. This is very important, and kinda the only thing they should know from all of this.
- Development Delegate - a person who might not even know how to code. Their prime job is management, and their core idea is to provide momentum to codebase. They write design documents, they oversee the development, they provide sprites for features, hire people and pay them from our Patreon money by a procedure described bellow. They are also responsible for noticing and addressing problems with a codebase that might not be obvious to the rest of the staff, because there is no secret that SS13 developers are not playing their own game very often, and by that can be blind on some issues. That's why knowing to code is not necessary here, while useful, all is required from them is common sense. Generally Delegates can do any assignment HD/PL asks from them, from headhunting for people willing to work to doing small task like grammar fixing for large chunks of in-game text. Delegates cannot review PRs, delegates cannot merge PRs, delegates cannot close PRs by any reasoning. They can only provide an input for Maintainer or Head Dev to consider on review.
- Maintainer - a person experienced with code well enough to review and advise on code of others. They held responsibility on finally merging things into game. They review code based on a code quality, degenerativness of content, lore and every other aspect. It's common for Maintainers to don't do much else and appear only once in a while to advise and review. It's fine for them to be dead most of the time.
- Head Developer - a person in charge of all of this, they are they one who can make final calls on conflicting PRs. Their ruling can be only overturned by Project Leader. Only Head Dev can perform a YOLO merge without any review, if something is required urgently, bypass any bureaucracy regarding development, as long as Project Leader is notified and not objecting. Head Devs are expected to be more alive then Maintainers. Everything stated here also applies to Project Leader, giving them same powers, but also responsibility to notify Head Dev about using them. Historically Head Devs of Eris were not very active, and this is why you see Project Leader mentioned along with this position this often. The level of involvement of those two in matters of each other usually negotiated and changes from time to time.
Due GitHub being a mess regarding permissions, sometimes people gonna have powers they are not supposed to use. Same goes for many other platforms. If you have buttons available, it's does not means you should mash them.
Now, this is how Delegates and others can spend money provided to us by a community:
- Design documentation is created, with purposes of a this whole project highlighted and described, so anyone at any moment could see where money are going and why.
- While design documentation can be proposed by literally anyone, it's up to Development Delegate to review it and propose it to Head Dev/Project Leader.
- Head Dev/Project Leader does a final review, fixes what is required, or rejects it at all. Alternatively documentation can be just written by HD/PL and they can skip all of this right to the next step.
- Contractor for this job is located and price is negotiated. Work should not start before that, and money should not be promised before that, only when documentation is final and agreed by all parties money can be assigned. Do not mess the order of this step up, else we gonna look like idiots.
- A designed money holder of the project is notified that certain amount of budget is booked for someone. They will be written in the budget spreadsheet.
- Job being done, tested, reviewed, merged, then some time passes for it to be tested live and fixed.
- Money are being paid.
No degenerative content.
So we have two sides of this, a cyberpunk, or some large portions sci-fi on the matter, can and was historically tied to sexual/erotic or even furry content. This is, however, is valued against other problems, this is not a 18+ community, this is a multiplayer game, and there is existing playerbase that can cause problems with such content. And there is more to this rule, what's not erotic for general masses, can be erotic for specific group, creating a problems within a community. Even absolutely content can have direct degenerative impact on a codebase, if it's tied to politics for example.
It should be said initially, that Eris WAS created in large portion by people with who consume such content on daily basis (weebs and furries), and we seek no intent to harass those people out, our do any "purges" of players or contributors. There are no fucking saints here, everyone understand this. Our downstreams are mostly ERP codebases anyway. This set of rules basically tells people to keep their dicks in the pants for this specific community, because it was made with some moral standards in mind, and must remain on this level.
Here is more detailed list on a problems such content creates.
- A possibility of underage players on our codebase remove any further discussion on **actual** sexual content.
- Erotic content provides attraction of extremely drama filled SS13 part of the playerbase, and a combination of less enforced rules, more violence and those people are proven to create monsters (see - /tg/ catgirls, Leben/Fallout 13 rape fetishists).
- A furry content without any erotic or sexual context will attract people who will demand such content. If you need a proof for that you probably started using Internet yesterday.
- Providing a ground to people who want such content may create a demand to push the borders, and divide in a community.
- As for political content, same rules apply, it can attract a playerbase that we absolutely don't want to deal with. A shining example of late stage political degeneration would be any Hears of Iron community.
However, if we gonna enforce this to it's fullest extent, we gonna get a puritan, boring blank slate project without fun to be had. So to address this properly, a set of balancing rules are created, to bar content from degenerating a codebase while also providing access to it.
- Direct sexual content is not allowed in any capacity.
- Suggestive content is to be evaluated for it's impact on the codebase on a case by case basis, by reason and in accordance with rules stated below.
- A common trait for players who can present a danger of affecting a whole community in negative, degenerative way, is that they would demand a consistent access to such content. Specifically, it means that the kind of player we talk about would want to be able to attach animal parts to themselves in character menu, or speedrun RnD to get said content consistently. Baring said content by random can safely nullify possible negative impact.
- Content should always be created with outside world in mind. Any other game probably would had no such big problem about having a playable catgirl character. Thanks to /tg/ this whole thing is now covered in such huge pile of drama that even discussing this content can create a major divide in community. Same goes for political content as well, a huge amount of wehraboos from Leben/Escalation communities provide another problem to deal with.
- Sometimes problems created by specific group of players can be resolved just by removing said group of players. Wehraboos mentioned above is a prime example when instead of purging from lore militaristic faction that being fetished into nazism by some group (there were examples of such activity in SS13 history, for example Yacob group on World server), said group must be removed, by server rules that allow that, leaving content for everyone else to enjoy.
- Generally if content is known to create a cliques around it in other SS13 communities, it's good idea to skip on that.
- To tone down some content a good idea would be to make it less specific. Implants with animalistic features could be done without resembling any specific animal, and not having any fur.
- A political content in general should not comment on any recent political events, or on something that causing huge controversy in the current day, because no one wants to deal with this in spaceman game. So, to be very direct about it, no mentions of Obama, Trump, Hitler, or 9/11 and Holocaust. Lore briefly skips the current era ending it with China conquering Earth, let's keep it this way. In every other regards it's fine for factions to be evil, let people roleplay be evil and so on. As long as balance of being a work of fiction maintained it should be fine.
- Political content that actively promotes specific agenda will be going directly into a trashbin.
- Any arguments can be made that something would make sense lore-wise, is realistic, and by that alone should be a thing. However, fun of the player and the future of the community is above any of such arguments.
- With all of this in mind, sanity must be applied. No one is gonna die if some roach description would mention that he is "literally Hitler", or there is a cat ears vendor in admin only area. It is fine. All rules above generally speaks about content that is available to population in mass and can create change in how game is played. The "slippery slope" argument can sometimes be stretched to unimaginable scale.
In case of conflict on this matter, a final decision is up to Project Leader to make a final call regarding specific content.
Few examples of those guidelines application.
- A cybernetic tail could be added in a codebase if two conditions are meet, you cannot equip it in round start, and its not tied to any specific animal.
- Lamia tail as lower torso option cannot be added to codebase.
- A huge array of leg options are generally safe to be added as round start customization options, even if they feature a different feet structure.
- Cat ears implant should not be available round start, and should only be barred by random in form of maint loot disc or item acquisition. RnD or any production method will not bar it, and will rather create a cat era making cliques, while random option would eliminate such possibility. Same goes for cat ears hat. If, however, players could not handle this content good even then, it chance to appear should be lowered, or item outright removed.
- A nazi uniforms should not be allowed to exist on our codebase.
- Any content that tries to promote events and movements like BLM, pride months, and such, should not be allowed to exist on our codebase.
- Cybernetics claws are safe to add into a codebase.
- A wide selection of underwear is useless on a codebase where everyone is behind two layers of armor, harming the development by demanding it's support in all future human sprite changes, and brings only unwanted attention to a codebase.