question

eraile avatar image
eraile asked

Guilds/Clans, Temporary Party - Issues with understanding how to implement

Hello,


I would like to understand how people do to create a system like DotA has for guild/party.


A) GUILD
Basically, I want a player to be able to join ONE guild max. Wether it's by creating it, searching for one, getting an invite, etc.

If i get it right, the creator of the guild enters a name and checks that this name isn't already existing by calling the GetGroup(string groupName) via the Groups API? If not you just call CreateGroup ?

Idea:
Maybe there should be a limit system regarding this value of "groups memberships"? I appreciate the limit put on the group members max number.


B) PARTY
If I understood the Party of PlayFab, it's the set of functions in the Multiplayer API that enables you to chat vocally & via text.
What i mean with "party" is a temporary group, contrary to the permanent "Guild" group.
Basically, in DotA for example, you have your regular people you play with, but you can temporarily create a group with friends and everyone in the group can invite a friend.

My issue is... how to create it, make it so that each player know that it's not a clan but a party...
Should i differentiate each of them by naming:

- guilds
"clan_My Clan Name"

- and parties by generating a random string like
"party_ef6thmNkHvZjXn5HV2PYg7xM" ?

I don't know, i can do it so, but then... how do i clear myself from that temporary group when everyone leaves or i just close my game?
On the next start, i just list my memberships & say i leave this group?
And if i'm the last one, i make sure to delete it?

I'm surprised that there doesn't seem to be a temporary group system.


C) Customisation
How can i do further tasks like:
- Setting a tag for the Guild (ex. my clan is "aAa" and i want my tag next to all the members to be "[aAa]", maybe adding a small describing sentence of the team, some stats being shown, etc etc.

- Setting in the temporary party some value that says for example, "next mission is [...]", etc etc.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ivan Cai avatar image
Ivan Cai answered

What does a limit system regarding this value of "groups memberships" mean? Is it the upper limit of the number of member in group?According to the requirement description in your PARTY, it seems to be a lobby system. PlayFab does not currently support the lobby system. You have to implement it yourself. Or, you can choose some service provider such as photon. If you are interested in the photon, please refer to Photon quickstart - PlayFab | Microsoft Docs. Since the group is a entity, if you want to set some data such as tag, description, mission, you can store them in group’s object.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

eraile avatar image
eraile answered

Hello Ivan,

Thank you for your answer first of all.
What i meant is I want to understand just how to "think" my code. How to organise it.


1. Guilds
a) I want players to be able to join ONE guild maximum.
My limitations could be for example:

a) one player can be in ONE guild max.
b) one guild can hold TEN players in its members list max.

I solved issue "b" already by setting up the limit directly in the playfab dev dashboard > title settings > limit, "Group entity member count".


My issue is with issue "a", i don't know how to limit that.
Should i just, in my client code (Unity game side), detect if the player is a member of a guild, and if not allow him to join/create a guild?



2. Party vs Guild
Regarding this topic, i just want to know how to handle parties (temporary group of friends, made to group people to join a networked game online together and that can be disbanded when everyone has left the team / the game, whatever, and that keeps in mind a member who has disconnected mid-game for example).

You mentionned Photon, but let's consider that i just use PlayFab.

To do all this that i want to do:
a) How do i differentiate a guild (permanent group) vs a party (temporary group)? How do people do usually?

b) I guess all the work i mentionned (like knowing that a friend might come back mid-game after being disconnected) should just be handled by the administrator(s) of the groups?

I hope that it is clearer.
Basically, i want to know how people do to handle those two topics, with just PlayFab to work with.

Thank you!

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ivan Cai avatar image Ivan Cai ♦ commented ·

You can check whether the player is a member of the guild via calling ListMemberShip. If not, you can allow him to join/create a guild. You can check player if is a member of a guild in your client side. The guild is a entity group that is durable. The party is used for real-time game and short-lived existence. When a player in game(party) might come back mid-game after being disconnected, he can be directly back in game, it does not require an administrator of group to handle.

1 Like 1 ·
eraile avatar image eraile Ivan Cai ♦ commented ·

Thank you, i'll try to follow your indications! :)

0 Likes 0 ·
eraile avatar image
eraile answered

Does anyone have an idea on this topic please? :)

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.