capturetheflag icon indicating copy to clipboard operation
capturetheflag copied to clipboard

Add Party Feature

Open Silvager opened this issue 1 year ago • 6 comments

Sometimes I play capture the flag on a voice call with friends, but there is no way to make sure that we are all on the same team, and the game is not as fun as it could be because of this. I read some of the other github issues and I agree that players being able to change teams at will would be problematic. What I am proposing is a feature which would let players invite other players to their party, and if the other player accepts, when the next match starts and subsequent matches the players who are in the party together would be guaranteed to be on the same team (unless the party is larger than half the number of players on the server.) I think this would avoid many of the problems with being able to change teams at will, such as people changing teams to get off the losing team. They would be unable to do this because parties would only take effect at the start of the next round. A potential issue with parties might be some really good players going into a party together to destroy everyone. Currently, this is kept from happening because of the way that when a new player joins they will be put on the weaker team, as is implemented in "Allocate players into teams on the basis of cumulative team scores #319". To remove the strong people ganging up problem, the algorithm that assigns teams when parties are involved could use a similar system to the one added in #319, so what would end up happening is that if some players who were very strong went in a party together, the other players on their team who were not in the party would be disproportionately worse players than average. This would mean that both teams over all would remain balanced.

Silvager avatar Jul 23 '24 18:07 Silvager

I think the current team assignment system would account for this without issue, parties would need to be assigned to a team before everyone else though, and maybe a system should be added to do some balancing of where parties are assigned

Parties could probably be limited to 3 players to start, matching the size of teams in tournaments

LoneWolfHT avatar Jul 25 '24 18:07 LoneWolfHT

It has been suggested here by me:

https://discord.com/channels/447819017391046687/448136308108296213/1246534500171911249

And @MoreKat disliked it with this argument:

I see this being detrimental to team balance

In general I don't like the idea of a) making groups within a team, I think the team should work together as a unity as much as possible and b) making groups in/splitting up the playerbase/community. I don't like the whole clan thing for the same reason, I don't like there to be more polarisation in the community, I think this is not beneficial for anyone

BTW, The suggestion has been heavily downvoted.

farooqkz avatar Sep 17 '24 11:09 farooqkz

@farooqkz Thanks for letting me know. I believe that parties will actually improve the CTF community. Note: you can only create parties with people who are currently online, and if everyone leaves, the party is destroyed. This is why it is fundamentally different from clans.

For the concern of parties unbalancing teams: I thought about this while writing the PR, and specifically addressed it in code. It is not possible to use parties to get an advantage (I wrote about this in more detail in the PR).

The other argument is about team cohesiveness. If players in a voice call want to win, they still must communicate with their team in the chat. So it is really no different. First off, the feature of having a party inside of a larger team is a standard feature in many games. For instance the Minecraft server Hypixel has a party system that works similarly to this one (it makes you be on the same team as your party members, but there are other people in your team who are not in your party). From experience, I know that players in a party and voice call still use the chat to communicate with other team players, and that the team isn't particularly more divided.

Addressing the concern of parties hurting the community: I believe that parties will actually build community. Currently, there is no incentive to get to know other players. With parties, players will want to connect with others in order to go in a VC and play in a party together. This increases genuine human interaction.

Also, currently the poll is 8/6 in favor of parties. Is this enough for you to make it 9/6? :) Hopefully this convinces you that parties will improve the community. Let me know what you think, or if you have any other concerns, or ideas of how to improve the PR!

Silvager avatar Sep 22 '24 13:09 Silvager

I'm willing to try it since you put in the work

LoneWolfHT avatar Sep 27 '24 15:09 LoneWolfHT

Great, thanks! Let me know what I can do to help.

Silvager avatar Oct 12 '24 21:10 Silvager

We had Ubuntu release party + a LAN party few days ago. For LAN party I launched Minetest CTF on my SBC. It is of note that assigning teams based on some client information such as client IP also helps. For instance if 10 PCs are on one side of the room and 10 on the other side, it makes sense to have each in one team rather than randomly assigning teams.

farooqkz avatar Oct 23 '24 10:10 farooqkz

Hmmmmmmm, how about:

  • Dividing players in-team into smaller squads like "ALPHA", "BRAVO", "CHARLIE" etc.

  • Then, say, assign each subteam an ephemeral task like "assault", "defense", "support", "base building" etc.

  • Allow each player to select default subteam in preferences, so it persists over matches

  • Assign specific /t to each team, like /tta /ttb /ttc (trying to avoid making it /ta /tb /tc because it might be reserved for something else. Like /tp for example. And using /t-a /t-b /t-c is not very quick for typing), so each team might receive its own set of orders/requests/PLS ATTACK THE FLAG CARRIER IS HERE/etc.

209CATrus avatar Jan 09 '25 06:01 209CATrus

Hmmmmmmm, how about:

* Dividing players in-team into smaller squads like "ALPHA", "BRAVO", "CHARLIE" etc.

* Then, say, assign each subteam an ephemeral task like "assault", "defense", "support", "base building" etc.

* Allow each player to select default subteam in preferences, so it persists over matches

* Assign specific /t to each team, like /tta /ttb /ttc (trying to avoid making it /ta /tb /tc because it might be reserved for something else. Like /tp for example. And using /t-a /t-b /t-c is not very quick for typing), so each team might receive its own set of orders/requests/PLS ATTACK THE FLAG CARRIER IS HERE/etc.

That sounds like something you'd get together with your friends to do, probably in a voice chat rather than through text

LoneWolfHT avatar Jan 11 '25 23:01 LoneWolfHT

Hmmmmmmm, how about:

* Dividing players in-team into smaller squads like "ALPHA", "BRAVO", "CHARLIE" etc.

* Then, say, assign each subteam an ephemeral task like "assault", "defense", "support", "base building" etc.

* Allow each player to select default subteam in preferences, so it persists over matches

* Assign specific /t to each team, like /tta /ttb /ttc (trying to avoid making it /ta /tb /tc because it might be reserved for something else. Like /tp for example. And using /t-a /t-b /t-c is not very quick for typing), so each team might receive its own set of orders/requests/PLS ATTACK THE FLAG CARRIER IS HERE/etc.

That sounds like something you'd get together with your friends to do, probably in a voice chat rather than through text

I mean it probably is, but the key point is that people can specialize that way. Even without voicechat or any communication whatsoever, by selecting a subteam, they hint their team of their preferred playstyle and whatnot. Think of it as soft classes

209CATrus avatar Jan 12 '25 11:01 209CATrus

I'd prefer a more targeted solution to allowing players to indicate their playstyle, if that's even a problem to solve.

Going to close this issue as I've merged the related PR, bugs reports/suggestions from people testing out the party feature are welcome

LoneWolfHT avatar Jan 12 '25 17:01 LoneWolfHT