CryoFall - Faction System (design specification)

Started by Lurler, July 30, 2020, 03:57:14 AM

Lurler

========================
   Faction system specification
========================

Faction system will allow any player to create and manage their own faction, invite other players to play together, set different roles for different people and enjoy cooperation in a more predictable way. This will also finally allow groups to set up a common base (faction base) not tied to individual player's land claims. This is going to be useful not just in PvP, but for PvE players as well, as they can create open factions where anyone can join and play and cooperate together. We see this as a critically important step to add another layer of order in the chaotic online interactions and give players more tools to organize their experience in CryoFall with their play style preferences.

Factions will also be able to negotiate formal agreements (non aggression pacts and alliances) and declare wars. In case of PvP this will be especially important as it will allow many smaller factions to unite against large clans (which people typically call zerg clans). Factions will also be able to declare wars against each other to make their position clear. This should reduce unnecessary killing of innocent passerby while bringing clan wars to a whole new level of excitement.


Basics
   - Each player is starting as neutral (no faction).
   - In case of death from a non-neutral player, we need to update our current text to include faction information (e.g. showing faction tag/icon near the name). Additionally we may add another string there along the lines of "You can consider joining a faction to get help in fighting [browse Y faction to learn who are their enemies]" or such. To have a bit more option to show/hide certain things - this string must be separate in localization.

Changes to menus
   - All of the current content from "Politics" menu must be moved into "Social" menu.
   - "Politics" menu will now be used to display all in-game factions (list of factions).
   - New menu "Your faction" must be shown for players who have already joined a faction (and new button at the top).
   To conclude:
      - "Social" - two tabs: online players and party/duel, etc. stuff whih wa present in politics previously
      - "Politics" - two tabs: faction list, create faction
      - "Faction" - your current faction (only visible if you are in a faction)
   
Faction properties
   - Tag (1-4 characters long)
   - Flag (composed from 3-4 layers)
   - Everything must be profanity filtered (tag, descriptions, etc. everything)
   - Two faction descriptions: public (visible to all) and private (visible to faction members)
   - List of allies, list of non agression pacts, list of enemies
   - Faction carma
   - Players in a faction get access to the faction chat ("%" prefix)
   
Faction carma
   - If faction members kill players from other clans which are allied or have non-agression pact then faction carma decreases
   - If faction carma goes below certain value - ALL alliances and non-agression pact are automatically cancelled and this faction cannot create any new agreements until carma goes back to 0
   - This will prevent clans from killing members of other clans
   
Types of relations
   - Declaration of war (one sided)
   - Non agression pact (mutual only)
   - Alliance (mutual only)

Presentation
   - Newbie - [Shield icon] Blue name
   - Regular player - White name
   - Faction member (different faction) - [Faction icon] White name
   - Faction member (your faction) - [Faction icon] Dark green name
   - Faction member (allied faction) - [Faction icon] Light green name
   - Faction member (enemy faction) - [Faction icon] Red name
   - Party member: just adds [Party icon] to other arrangement
   - For party: add party status screen (simple reference: https://i.ytimg.com/vi/wvzbsCcvz4g/maxresdefault.jpg see center left ), this should only include basic information such as health

Joining and leaving
   - Newbie players cannot join a faction. This is especially important considering newbie protection and a mess of rules when combining newbie mechanics with faction mechanics.
   - Depending on faction type player can:
      - join a faction freely (open)
      - send an application to join (closed)
      - or be invited to join (private)
   - If you kill your faction member or any allies (when you are in an open faction)
      - you will be automatically kicked from the faction to prevent abuse.
      - Open factions don't need to have carma, since all abusers are instantly kicked from the faction automatically
   - If you play in a party, then all penalties are ignored and you can kill each other without problems (obviously only within your party).
   - If player leaves a faction he cannot join another faction for the next 24 hours AND the same faction for 3 days. When leaving a faction there must be a warning confirmation which explains it.

Politics menu
   - Presents a list of all current factions and their basic information. Must include: tag, icon, current and max players, active players in the last 36 hours (or activity score if we use it instead), etc.
   - Button to join (a public faction) or send application to join (closed faction).
   - Button to open the detailed view for any of the factions.
   - Join cooldown if you've left a faction recently (displayed at the bottom of the menu, similarly to how we show learning points in the technology menu).
   - Invites
      - Two lists: your applications and invites from other clans (if you've been invited to a closed faction)
      - Buttons "Decline all" (invites) and "Cancel all" (applications)
      
Creating faction
   - Any player can create a faction. To do that they must switch to "Create faction" tab in the "Politics" menu.
   - But if players is already in a faction the "Create faction" tab won't be shown.
   - "Create faction" tab includes all fields which need to be filled to create a faction and "Create faction" button at the bottom.
   - To create a faction the player must fill in all of the necessary fields and press create.
   - Cost to create a faction is 500 LP - to prevent players from creating hundreds of factions willy-nilly.

Faction menu (for members)
   - Several tabs: overview, diplomacy, event log, member list, applictions/invites, admin.
   - Overview: basic page with general information about the faction, statistics and such, also a button to leave the faction
   - Diplomacy: list of allies, list of enemies (mutual) as well as onsided declarations from you and from other factions, list of non-agression pacts, list of outgoing and incoming proposals.
   - Events log
      - List of events that happened in the faction, e.g. someone being killed, raided, new members joining, leaving, being kicked, etc. Each event type must have an associated icon to make it easier to see and importance level (color).
      - All events are divided into: green, yellow and red
      - At the top of the event log there will be 3 checkboxes for different colors, so you can filter the log, e.g. by unckeching the green events which are unimportant.
   - Members: list of members with their information (including rank), management buttons (kick, change role, etc.).
   - Applictions/invites: list of applications (to accept or reject) and list of invites to other players.
   - Admin info: this tab only available to faction leader and officers. Includes different admin functions. Such as transferring ownership of the faction to another player, etc.

Faction roles
   - Faction roles: member, officer, leader. Admin has access to all of the actions that officers do + extra
   - Officers roles can be configured with different right. There can be 3 different role types for officers. But any number of players can be assigned the officer role.
   - Roles available to everyone:
      - Leave faction - if leader leaves then the faction is dissolved
   - Roles which can be assigned to officers:
      - See list of player applications and outgoing invites and accept/reject them
      - Kick members
      - Assign roles (except himself and leader)
      - Declare war (i.e. add factions to enemies list)
      - Send non agression pact and ally requests to other factions and see the lists of current proposals (incoming and outgoing) and accept/reject them.
      - Edit faction descriptions (public, private)
   - Roles only available to admin:
      - Transfer faction to another player
      - Dissolve faction - Note: faction hall will be destroyed when faction is dissolved. There must be a confirmation with several checkboxes checkbox "Yes, I understand that faction will be dissolved.", "Yes, I understand that faction base will be destroyed." and such.

Base access
   - Doors can be configured to allow:
      - All players from the game
      - All clan members
      - Only officers and above
      - Clan leader only
      - Always closed
   - Doors inside the clan base cannot be manually controlled to add specific people (this is to prevent abusing the faction player limit)
   
Faction size
   - Closed and private faction size: currently up for consideration
   - Open faction size: unlimited (but open factions do not participate in leaderboards and have certain limitations)

Salvick

Hi Lurler. This looks great.

Here are my humble opinions I would like to bring in:

- Open factions auto-kick rule:

Wouldn't the "abusers auto-kick" rule might lead to unexpected kicks of players who may be mistakenly killing allies? Maybe it could be better if it has a 3 strikes rule with some warnings so the players are aware of what are they doing wrong.

Specially because an open faction would attract mostly newbies which I believe is the main goal of having an open faction.

Some of us would like to have this chance to introduce new players and train them in the basics of the game and would be a shame to randomly lost them before they learn what are they supposed to do.

Faction Alliances:

Allied factions should have the option, if both sides agree, to show up their members in the map. Maybe captured resources could show the faction flag in the map as well so we can have a glance of resources domination/spreading.

I'm not sure about friendly-fire toggling from the factions menu too but maybe for community servers this could be a nice option to have if someone choose to have FF fixed on or off for alliances.


- Admin/Officers roles and abilities:

I'd keep the faction description edit available only for the admin/creator of said faction, it happened in other games I played that officers some times feels that having an ability to edit our logos and description meant that they were expected to put whatever they want there without even asking.

I'd also restrict the role assignment, if an officer can set other players as officers kicking players from the faction is too much power and any officer assigning this role to other players without knowing if the admin/creator approve it could allow to some abuses such as someone kicking everyone from the faction.

Declaring war also might be a sensible factor, probably without the admin online a declaration of war could require at least 2 or 3 officers agreement. Even better if the admin could set the rule of how many officers are needed to approve a declaration of war or simply add the option to assign said ability to specific officers so we know who are we allowing to do that.

Adding to this I'd suggest if it is possible to have more roles, maybe a Commander role who is allowed to declare war and some other settings above officers and a Recruiter role below the officers who are players able to approve faction applications without any other abilities. Then the Commanders could also assign the Officer role while the Officers would be able to assign Recruiters as well.


Faction Size:

I'd say it should allow large groups but imagining a 200 slots server with a faction size of 50 it could lead to less factions to choose from if 3 or 4 factions manage to gather the majority of its players, instead, something between 20 to 30 players might fit better with how the servers are currently working in these regards when we look the party alliance that usually happens in the most popular servers.


Additional comments:

I'd like to ask or just suggest if there could be a lobby chat to check our online players within our faction and if it will work among different servers preserving our faction belonging globally.

Also I'm curious about this "faction flag" thingy and if it could be possible to have a set of decals to choose from and edit a custom flag/logo. Maybe 3 or 4 layers with just a few decals is more than enough. Having this logo showing in our shirts would be awesome.

We also need map markers for faction members and allied factions, if so, then allies markers should be shared only between high rank members and then they choose if notify the rest of the group or not.


Lurler

Hey, Salvick thank you for taking time to leave your feedback!
Really appreciate it, as the points you raised give me a good opportunity to clarify a few points.

Quote from: Salvick on July 30, 2020, 06:48:06 PM
Wouldn't the "abusers auto-kick" rule might lead to unexpected kicks of players who may be mistakenly killing allies? Maybe it could be better if it has a 3 strikes rule with some warnings so the players are aware of what are they doing wrong.
Normally there would be no mistakes in terms of understanding, as they will always see that the other person has a green name. So, it's unlikely to happen from that perspective.
But I can certainly see a situation where they would be aiming at a monster and accidentally shoot an ally, or the other person himself might intentionally run into the line of fire and have player kicked. So yes, we really need to think this carefully to prevent exploits or accidental kicks.
Do you have any ideas?

Quote from: Salvick on July 30, 2020, 06:48:06 PM
Allied factions should have the option, if both sides agree, to show up their members in the map. Maybe captured resources could show the faction flag in the map as well so we can have a glance of resources domination/spreading.
We will most likely start without player positions on the map, as it would require a lot of data syncing for large factions. But it is a good point and maybe we should at least show SOME of the things, like for example the position of the allied base and their outposts (e.g. lithium and oil sources and such). We will think about that :)

Quote from: Salvick on July 30, 2020, 06:48:06 PM
I'm not sure about friendly-fire toggling from the factions menu too but maybe for community servers this could be a nice option to have if someone choose to have FF fixed on or off for alliances.
Can you expand on this idea? What would this specifically achieve and how would you like to see it implemented?

Quote from: Salvick on July 30, 2020, 06:48:06 PM
- Admin/Officers roles and abilities:
...
...
Basically all of your suggestions in this section stem from us not explain in enough details how the officer roles will work and you misunderstood it. Sorry about that.
So, let me clarify it. The officers WON'T have these roles by default. The admin will be able to manually configure the roles for officers and then assign those roles to some of the people (making them officers).
So, maybe there will be an officer responsible for managing new recruits an nothing else.
Then there could be an officer responsible for foreign relations with other factions and just that.
And maybe another officer that specifically manages faction roles or something. etc.
Admin will be able to configure it and set each person one of several roles as they wish. This way access to different features will be tightly controlled.

Quote from: Salvick on July 30, 2020, 06:48:06 PM
I'd say it should allow large groups but imagining a 200 slots server with a faction size of 50 it could lead to less factions to choose from if 3 or 4 factions manage to gather the majority of its players, instead, something between 20 to 30 players might fit better with how the servers are currently working in these regards when we look the party alliance that usually happens in the most popular servers.
Well, please understand that if there is for example 100 people playing at any moment it doesn't mean that this server has exactly 100 active players. Based on the statistics we have if the server has 100 active players daily the actual number of active players is at least 5 and sometimes even 10 times that. So, even for a medium server with 100 players online concurrently there could easily be 5 large factions of around 100 players who play semi-regularly.
But yes, faction sizes is one of the most important things, so we need to think carefully.
So, if you have any more ideas about this - please do share! :)

Quote from: Salvick on July 30, 2020, 06:48:06 PM
I'd like to ask or just suggest if there could be a lobby chat to check our online players within our faction and if it will work among different servers preserving our faction belonging globally.
It will definitely NOT work across different servers as factions will be created per server, the same as current party system is. And they will persist only for one wipe. This allows people to unite each wipe cycle and try to compete for the top spot.
But you WILL definitely be able to monitor the activity of all faction members and see their complete list on the members page in the faction tab.

Quote from: Salvick on July 30, 2020, 06:48:06 PM
Also I'm curious about this "faction flag" thingy and if it could be possible to have a set of decals to choose from and edit a custom flag/logo. Maybe 3 or 4 layers with just a few decals is more than enough. Having this logo showing in our shirts would be awesome.
Yes, that's the basic idea for now. But we will see how exactly it will be implemented later, as we haven't started working on that yet.

Salvick

Hi again.


Quote from: Lurler on July 31, 2020, 01:02:06 AM
Normally there would be no mistakes in terms of understanding, as they will always see that the other person has a green name. So, it's unlikely to happen from that perspective.
But I can certainly see a situation where they would be aiming at a monster and accidentally shoot an ally, or the other person himself might intentionally run into the line of fire and have player kicked. So yes, we really need to think this carefully to prevent exploits or accidental kicks.
Do you have any ideas?

I see, then I think the green name is fair enough but if anything else could be added to warn a player that he is attacking someone who could lead him to get kicked from the faction he belongs to, then it could be a special warning such as an exclamation icon in red or the yellow triangle with an exclamation flashing above the head of the target and a text message along with it.


Quote from: Lurler on July 31, 2020, 01:02:06 AM
We will most likely start without player positions on the map, as it would require a lot of data syncing for large factions. But it is a good point and maybe we should at least show SOME of the things, like for example the position of the allied base and their outposts (e.g. lithium and oil sources and such). We will think about that :)

Right, too much data on the map and even if sync wasn't an issue it could still be a bit confusing to have too many icons. Whenever thinking about this the first thing I thought shouldn't be shown, unless the players wants to, are the base positions, because anyone could trick other players to start an alliance just to check where their bases are located. For resources, as I've mentioned, it would be okay, since these could use the same system they use to show the Li/Oil icons on map and turn it into the flag of the faction controlling it.

Maybe we could have only the faction leader and probably the officers sharing their position on map? Could be useful when you need to call out for backup from your allies in example. It could even have the option to mark yourself as visible on map for alliances when you are an officer or faction leader.


Quote from: Lurler on July 31, 2020, 01:02:06 AMCan you expand on this idea? What would this specifically achieve and how would you like to see it implemented?

Regarding friendly fire what I was thinking is if, for community servers, we could have the parameter in the server rates config to enable or disable friendly fire between allied factions the same way we currently do with party members. That's what I mean when I said having a fixed value on a server.

Then I was also wondering how could it work if we just toggle Friendly-Fire on or off "live", meaning that just as we are playing we could have the choice to disable FF in case we want to completely avoid our faction members doing any damage to our allies.


Quote from: Lurler on July 31, 2020, 01:02:06 AMBasically all of your suggestions in this section stem from us not explain in enough details how the officer roles will work and you misunderstood it. Sorry about that.
So, let me clarify it. The officers WON'T have these roles by default. The admin will be able to manually configure the roles for officers and then assign those roles to some of the people (making them officers).
So, maybe there will be an officer responsible for managing new recruits an nothing else.
Then there could be an officer responsible for foreign relations with other factions and just that.
And maybe another officer that specifically manages faction roles or something. etc.
Admin will be able to configure it and set each person one of several roles as they wish. This way access to different features will be tightly controlled.

I get it now, then it sounds just perfect. I think it was my fault for probably reading a bit in a rush or missing something. I'd add that it could be really nice to have the ability to label the roles, probably a set of presets to avoid bad language or just whatever we want like in some games where we create the names for each rank.


Quote from: Lurler on July 31, 2020, 01:02:06 AMWell, please understand that if there is for example 100 people playing at any moment it doesn't mean that this server has exactly 100 active players. Based on the statistics we have if the server has 100 active players daily the actual number of active players is at least 5 and sometimes even 10 times that. So, even for a medium server with 100 players online concurrently there could easily be 5 large factions of around 100 players who play semi-regularly.
But yes, faction sizes is one of the most important things, so we need to think carefully.
So, if you have any more ideas about this - please do share! :)

Well definitely I wasn't seeing the whole picture. I wasn't taking into consideration offline players, my bad. I'd let that suggestion to other players who actually arrange larger groups as I don't have experience with more than 10 to 15 players together but from this perspective I don't see a problem with having the max possible size for factions then. I think 100 is the current max possible size for parties so that could actually work.


Quote from: Lurler on July 31, 2020, 01:02:06 AMIt will definitely NOT work across different servers as factions will be created per server, the same as current party system is. And they will persist only for one wipe. This allows people to unite each wipe cycle and try to compete for the top spot.
But you WILL definitely be able to monitor the activity of all faction members and see their complete list on the members page in the faction tab.

Again, my bad for not considering all the aspects, I totally forgot about server wipes when typing that one. Anyways, I'm still not sure how could it be but having a lobby chat is something I'd like to see. Probably with an option to join the chat of a given server, limited to servers in our recent list or so. I say this because I know that a lot of us use to join a couple of servers to see who is playing there some times, either because we take part in teams from different servers, or because we want to find a rival or just to consider starting a base in a different server with more players or with different dynamics and rules.


Quote from: Lurler on July 31, 2020, 01:02:06 AMYes, that's the basic idea for now. But we will see how exactly it will be implemented later, as we haven't started working on that yet.

Great to hear, I really want to see how it will be then.

Thanks for taking your time to reply. Everything was clarified, hope I could make it clear with my answers here too.

Regards.

Vladimirik

Quote from: Lurler on July 31, 2020, 01:02:06 AM
But I can certainly see a situation where they would be aiming at a monster and accidentally shoot an ally, or the other person himself might intentionally run into the line of fire and have player kicked. So yes, we really need to think this carefully to prevent exploits or accidental kicks.
Do you have any ideas?
i think put internal cd or debuff. only player can see them. i dont know, maybe 24hs. if kill other player before end time, them autokick

Leominaci