Language: 
To browser these website, it's necessary to store cookies on your computer.
The cookies contain no personal information, they are required for program control.
  the storage of cookies while browsing this website, on Login and Register.

Author Topic:  Implementation of Server-side Clans  (Read 462263 times)

0 Members and 0 Guests are viewing this topic.

Torchwood

« on: 06, March 2012, 21:12:36 »
Clobber's suggestion the other day got me thinking; perhaps I could take a look at implementing clans?  I know this will be a big one, but I've had enough of an explore round the code to have an idea where to start.

Of course, I don't know what work may have already been done in this area; searching for clans in the /trunk code doesn't reveal very much, but I don't know if anyone already has a load of code in development or not?

Anyway, I though I would have a go at putting some sort of specification together; if someone is already working on this, it might help them, and if not, then it would definitely help me.

I had a search through the forums to find out what has already been written about clans and found a number of useful posts.  I collected together all the questions/suggestions into one place and created a Daipedia page.

My thoughts are:  we use this forum post to review / discuss the open questions on how clans should work, and I then update the Daipedia page with decisions as they get made.  This way, the Daipedia page remains a single concise "specification" for Clans that is easy to review.

Take a look ... https://www.daimonin.org/daipedia/ClanDevelopment

Finally, does anyone actually have any clan code already part written?  If not, are you happy for me to have a go (I guess I need a "clan stream", as it will probably be a while before anything would be ready to commit to /trunk!!!)?

smacky

« Reply #1 on: 06, March 2012, 22:29:36 »
Good start. :)

IMO clans are not totally dissimilar to guilds in concept. Guilds are like official, server/NPC-run clans. Or clans are like unofficial player-run guilds.

Whereas a player can belong only to one guild at a time, a player can belong to multiple clans at a time (if only for practical reasons there should be some sort of reasonably low limit, say <= 8).

Your guild has game mechanics influence (such as which weapons you can use, spells, prayers, skills, etc and perhaps influences how NPCs deal with you [though this is getting into the province of factions]). Your clan has none, but may (probably will) influence your dealings with other players but only socially (that is Slayers have rivalry with Searats and may (think they) act differently to a given situation ingame and being a member of one may preclude joining the other or the two clans may even go to war -- but these things are really all in the heads of players; the server enforce no inter-clan rules).

Code-wise much of the code can be borrowed from guilds and groups (which are sort of small, temporary, identity-less clans already). The main thing is membership of each clan is represented by a clan force in the players inv, like guild/alignment/age/food/skill/etc forces.

Yeah, start a stream (simply copy trunk/server as, eg, streams/clans/server -- if later on you need to work on some arches, do the same for arch at that point). Periodically you will want to update your stream with the latest changes from trunk. This is easily done with merge, just like updating main (which I will finish Daipedia-ing soon, honest).

Torchwood

« Reply #2 on: 06, March 2012, 22:48:21 »
Great - thanks for the pointers; I'll start playing around with the basic stuff and take a look at the code for guilds and groups.

I will need people to make some suggestions on the many open questions on the Daipedia page, so I can get some firm direction ... otherwise, I'll just make up the answers myself!!!  :)

clobber

« Reply #3 on: 06, March 2012, 23:14:41 »
Start with Admin?

    How to create a new Clan
        Minimum player level? - Yes, but not too high - maybe around 7?
        Maybe min number of players needed to agree for a new clan? - No, I think if people don't like it then they just won't join and the clan will be dormant :p
        Maybe VOL/GM permission needed? I'm not too sure - maybe just to ensure names etc are ok. I believe it's down to the player's choice and if an individual who we deal with frequently wants ot start one, then fair enough.
        Cost to create, e.g. 50 gold? Not to create, but maybe for merchandise?
        Create using NPC? Yeah!
        How many clans can a player found (same limits on GM/VOL/SA ?) I quite like a low limit (2, 3 at most). It stops people just starting up loads and leaving them to wither and die so people can be focussed and we can get some well developed clans going.


    How to disband an existing Clan - How is it decided?
        Voluntary disbanding? Yes - definitely.
        Timer on no-action; disband after X period? Not too keen on this one being time based, but something would have to be done to clear out the ones just taking up memory.


    Roles within the Clan
        How to change roles? Assumably, different roles have different abilities to make members different roles. Then they could handle applications/resignations for new roles via communication.

    Joining a Clan
        How to join when Admin is not online? Hopefully they would have more than one admin.
        How Admin accepts player, when player not online? Add them to the list?
        How many clans can a player join (limits for VOL/GM/SA?) - Not too keen on that? surely it's their choice again... however there are only a certain amount of shortcuts for channels! maybe it should be linked to that?
        Does a player have a primary clan (so kills count only towards that clan), and how does the player select their primary clan at any one time? Priority order for clans, so we know which clan to leave when clans become enemies? Oooh, this is complex and interesting. I think it should be player choice. Maybe a ranking system and they can select which is their favourite?


    Leaving a Clan
        How does Admin know player has left? Maybe notifications on changes in the clan could be shown in a "clan manager" type screen?


    Clan Info
        Any private clan info that only admins can see? Just things that would be needed to be able to investigate if a claim is made that GR are being broke (commuication etc)

3. Ranking

    How is a clan ranked vs. other clans?
        Number of members (current / past / total)?
        Total number of kills for all members?
        Average number of kills / player? Perhaps a monthly thing as awell as an overall one...


    Ranks within a clan
        How to rank players within a single clan?
        Number of kills?
        Time in clan?
        Role in clan (Admin, etc.)?
        Rank badges or titles -- All/ant of them ;), except time. Because someone could log in join and then return a year later to be the boss.


4. Inter-clan Relations

    Alliances between clans
        What benefits does this provide? Friends  ::) Maybe the ability to make shared quests/events/items?
        Both clans must agree to an alliance
        What about alliances of alliances of enemies? How far does the 'chain' go? 1 on 1, imo.


    Enemy clans
        You can't join a clan that is an enemy of your current clan(s) - nice idea!
        Both clans need not agree / i.e. one clan can declare the other an enemy
        What happens if a player has 2 clans, and one declares the other an enemy? Forced to choose their loyalty  >:D


    Sub-clans -- complex - I haven't really thought about it but will put in some time tonight
        How are these handled? Separate clan, with links to top-level clan?
        What benefits or other controls / limitations does this provide?


5. Clan Communications


    Inter-clan communications
        Leader declares war on another clan? Or requests alliance? etc. If each clan has their own channel then it can be done through that. Maybe messages could be sent via post boxes too if it's a major event?


6. Benefits

    Egoclan items can be bound to a clan (by any member, or only some?)
        Any clan member can then pick up and use - any member :)


    Apartments or specific maps
        Maybe clan house in SG castle? Some areas open to public, others only open to clan members - IIRC the dodgy teleporter hidden in rocks beyond SG is meant to be for the clan fair.


    Clan items
        Admins can 'generate' items for the clan to use (special armour, teddy bears, badges, etc.) - I think there should be specific items which are clan named which people can buy or be given as rewards.


7. General Other

        Can you join a group if other members of the group are clan enemies? Yes, I think they should be separate provided you are not doing anything clan related.
 

    Can clan membership give player bonuses (e.g. +1 str / -1 con)? Reluctant - maybe items which can though but they need to earn/pay for?


    Clan quests? Yep - but the clan admins can be in charge if they want things like that.


Do you want any elaboration on any? That probably over loaded you quite a bit...
Posted by Clobber

Collector Of Burnt out torches, 0 and Counting.

,-.  ___ ,-.
 \/ .   .  \ / 
(___O___)
 /  \      /   )
 ( ||       || )
  000     000
Woof, Woof!

Quote from: Longir
I use caution, fear is a distraction

Torchwood

« Reply #4 on: 06, March 2012, 23:27:45 »
That's a good start; thanks.  :)  I'll leave things a while, and see what other opinions we get, then start replacing question marks on the Daipedia page with actual decisions ...

Torchwood

« Reply #5 on: 07, March 2012, 07:54:06 »
You know Clobber, having slept on it, I realise your answer tells me something else important - all my questions have 2 answers; one from the player perspective and one from the code side (and maybe this was already obvious to everyone!).

So, take the first question - "how do you create a clan".

From a player perspective, you go to an NPC.

From my (coding) perspective, I clearly need a new command - /clanadmin.  This will be a VOL/GM/SA only command.  To create a new clan and set it's founder you would type something like:

/clanadmin create ScytheSwingers
/clanadmin addmember founder Torchwood

Obviously, this allows me to easily test the code as I write it.  At the end of it all, I need to expose these methods to LUA, and then also write an NPC script to do the actual job on MAIN of creating clans.

What this also means is the "game rules" for clans are not included in the server code; they become LUA script implementations.

For example, min character level to create a clan (or cost, whatever) can be handled by the NPC LUA script; the server won't care.

_people_

« Reply #6 on: 07, March 2012, 14:53:15 »
@Smacky: IMO guilds should support large numbers of players (some clans in B3 had 25+ semi-active players) with a flexible limit. IMO this potentially-high limit can't easily be accomplished with a force in the players' inventories, so perhaps just a file per clan in server/data/clans which lists clan admins/members/settings?

Also, I'm in favour of a clan creation fee. This would be a good money sink because I think players would be willing to pay high prices for clans.
« Last Edit: 07, March 2012, 14:55:34 by _people_ »
-- _people_ :)

zrubavel

« Reply #7 on: 07, March 2012, 15:32:02 »
I think we should create the possibility to customize clans:
I.e. we can say that the minimum level to join a clan is 5, but I want to set it at 20 for my clan. Or in general a player can be a member of several clans, but my clan rules are that you can only be a member of one clan (or can not be a member of certain kinds of clans). Now obviously we can leave it up to clan admins to police these things, but I think it would be kind of cool if when setting up one's clan you could set these things up and the game would automatically "police" them. (i.e. if you were part of a clan that said you can not join other clans, and tried to join the game would block you).
Also I think it would be cool if we could have a clan bank, and the ability to collect clan membership fees (again this should be optional)- I have more ideas about this...but I can't elaborate at the moment.
a good sharp edge
is a man's best hedge
against the uncertain vagaries of life
Corb Lund

_etzio

« Reply #8 on: 07, March 2012, 16:40:31 »
IMO clan creation fee is good, because if its free, people like Killest will be making a new clan everyday.

Multi-color clan tags? Maybe when you talk in local and global your clan tag would be beside your name like:

[ScytheSwingers:General(<-IDK)]Paradon shouts: Clans would be amazing and should be 100% player-controlled, made, etc.

Clans can have clan halls? Maybe put these in Guild Hall? (Expand it a little) Pay an extreme amount for a clan hall.
Clan halls could be houses of up to 3 stories with a basement for storage or etc. You would have to be a certain rank in the clan to get certain items worth alot of money or something. And for a clan hall you would pay, 200g for a small, 350 for a medium(2 story /w small basement and lounge), and maybe 600g-1m for a 3story tall /w basement.

Making the clan player-controlled. Make Fanrir useful once again after the TUTORIAL! Make him have a secret command when you talk to him like, "clans" and he would give you alot of useful information on how to make a clan how to manage and etc.

Declare enemy / war on a clan: Have a clan arena where clans who are enemies can battle it out for prizes our the loot of the enemy clan. (Get whatever the other clan's members who died items. (Don't carry much to a clan fallout pvp match lol).

I'll say some more after reading out suggestinos and putting in my two cents.

smacky

« Reply #9 on: 07, March 2012, 17:15:58 »
@Smacky: IMO guilds should support large numbers of players (some clans in B3 had 25+ semi-active players) with a flexible limit. IMO this potentially-high limit can't easily be accomplished with a force in the players' inventories, so perhaps just a file per clan in server/data/clans which lists clan admins/members/settings?

Yes, the force would not contain a list of members, just indicate the particular player was a member. Overall membership is then in a file/data structure.

Similar to gmasters (except they don't use forces but flags in the player structure).

@Torch: People mulling over stuff like costs, who can create a clan, whether they expire, etc, etc, while all good to hammer out and important in the long run, should be irrelevant when you start coding. Just get a dev system where anyone (perhaps limit it to MW up) can create clans and anyone can join/leave at will. Once the basic system is up and running we can write Lua modular scripts/tweak the code with all this detail, similar to guilds.

Torchwood

« Reply #10 on: 07, March 2012, 17:44:17 »
Yup - that was my plan Smacky.  However, I will summarise all the input / discussion / suggestions on the Daipedia page so it is easy to find later.

Next input ... please review this page:
https://www.daimonin.org/daipedia/Roles

Have I missed any "clan actions" out?  Do you disagree with the given permissions?  Note the VOL/GM/SA permissions; this is because we need some way to sort out clans when the leader has gone AWOL.

clobber

« Reply #11 on: 07, March 2012, 18:12:05 »
IMO, VOLs ought to have the same actions available regardless of whether they are a member or not.
Posted by Clobber

Collector Of Burnt out torches, 0 and Counting.

,-.  ___ ,-.
 \/ .   .  \ / 
(___O___)
 /  \      /   )
 ( ||       || )
  000     000
Woof, Woof!

Quote from: Longir
I use caution, fear is a distraction

smacky

« Reply #12 on: 07, March 2012, 18:45:28 »
I think it's too avoid (charges of) abuse of power Clobber. Ie, a VOL who is also a clan member decides to make himself leader. Mind you there's always the possibility that a non-member VOL abuse his power to make his friend leader.

IMO, VOLs have no clan powers over normal players. GMs/SAs can create clans with (2) and reassign leader (but only following forum discussion/voting [ie, the leader has stopped playing]). Similarly they can disband a clan with the same restrictions. The gmasters have no influence on the day to day running/internal politics of a clan.

clobber

« Reply #13 on: 07, March 2012, 20:09:02 »
Yes. We're agreeing :p
Posted by Clobber

Collector Of Burnt out torches, 0 and Counting.

,-.  ___ ,-.
 \/ .   .  \ / 
(___O___)
 /  \      /   )
 ( ||       || )
  000     000
Woof, Woof!

Quote from: Longir
I use caution, fear is a distraction

Torchwood

« Reply #14 on: 07, March 2012, 20:36:45 »
Ideally, VOLs/GMs/SAs should have nothing to do with running of the clans, but if the leader goes AWOL, we need some method of saving (or disbanding) the clan.  So a VOL needs to be able to add themselves into the clan and then reassign the leader to someone.

Of course, this means a bad VOL could effectively take over the clan by reassigning the leadership to themselves.  I suppose we could implement a "leader last log-in date" counter, so the above can only happen when the leader is AWOL for a certain time?

In terms of abuse of powers, these actions would be logged, so any complaints could be dealt with by investigating the logs I guess?

Tags:
 

Related Topics

  Subject / Started by Replies Last post
4 Replies
1548 Views
Last post 25, April 2006, 18:43:32
by longir
1 Replies
992 Views
Last post 03, June 2006, 10:55:14
by Anahuyu
2 Replies
1422 Views
Last post 15, June 2006, 18:10:57
by dwarrior
5 Replies
1544 Views
Last post 07, August 2007, 05:41:23
by bugbunny
1 Replies
970 Views
Last post 19, September 2010, 08:30:41
by Anich