Lol
Je vais ennuyer tout le monde si je me mets à expliquer les factions. Ca risque d'être interminable.
Bon en TRES TRES GROS alors !
1 - une zone interdite aux joueurs de TOUS TYPE : DM comme joueur. Sur cette zone des objets inertes représentant chacune de tes nouvelles factions. Ces objets doivent avoir un TAG et un resref cohérent. Pas question de faire n'importe quoi dès le départ. Attention l'interdiction ne doit pas être une vue de l'esprit. Il faut un script anti-DM qui démonte le DM si celui ci s'en approche.
2 - Faut que tu te créer une bibliothèque que tu pourra utiliser partout. Ca semble con (et pour la plupart vous le faites déjà) mais, mieux vaut le dire. Dans cette biliotheque des fonctions du genre :
> ChargeRelationJoueur
> ModifieRelationJoueur
> RenvoieRelationJoueurFaction
> SauveRelationJoueurFaction
> des constantes factions
> des constantes relationnelles
> des constantes de chaînes relationnelles prédéfinies
3 - Un système de compression des données efficaces. En effet, imaginons que tu créer 10 factions. Si tu fais le calcul suivant :
(10 x 10) x 2 = 200 données par joueur, cela devient rapidement ingérable. 10 x 10 parce que c'est un tableau de 10 lignes par 10 colonnes et x 2 parce que tu peux ne pas avoir la même valeur pour une relation bijective. Autrement dit, si A vers B vaut 50, B vers A peut valoir 40.
(NOTA BENE : CE POINT EST VITAL - Sans système de compression, tu va rester à 2 ou 3 factions de plus que celle de bioware)
4 - Une fonction de chargement des données interrelationnel dès l'entrée d'un joueur.
5 - Un baton joueur digne de ce nom. Ce bâton permettra au joueur outre le fait de connaître sa faction, de connaître aussi ses rapports avec l'ensemble des autres factions existantes. De plus, avec un peu de techno objet, ce meme baton doit servir aux DMs afin qu'ils puissent modifier les interrelations entre la faction d'un joueur précis et une autre faction donné.
6 - un système de contrôle dans le OnLoad du module. Ce système prévient les PvP anti RP. En effet, si tu prend la peine de faire un tel système, il est hors de question de laisser le champ libre au petit malin qui voudrai se lancer dans les PvP bidons, type : "je suis dans la même faction et je fais un PvP, ou alors j'attaque un PNJ allié parce qu'il rapporte des XP sup et que mon DM de faction n'est pas là". Tu vois le genre !
7 - Le reste c'est du bonus. Un fois que tu a créer ce système, tu peux contrôler n'importe quel placables, n'importe quelle carte, en fait n'importe quoi qui entre ou sort de ton module grâce à ton système. L'artisanat en est un exemple excellent. Moi en tant que joueur, ca m'a toujours énervé de savoir que l'elfe noir d'en face étais capable de pondre le même item que moi simplement parce qu'il était de la même classe. Excusez moi, je ne critiques pas les artisanats et le boulot qui en découle, mais en terme de jouabilité, je dis peut nettement mieux faire. Avec un système de faction opérationnel, seul ta créativité, et ton temps libre, seront tes limites.
Un autre exemple qui est ultra sympatoche, c'est la gestion des guerres en temps réel. Sincèrement, faut avoir vu pour comprendre ce que ca peut procurer comme plaisir de jeu.
Pareil, pour tout ce qui est économie et système boursier. Avec une gestion des factions, tu peux peser sur les tarifs des marchandises vendus par tous les marchands de ton module. Tous les prix sont réajustés selon le coefficient de la table des valeurs interrelationnelles. Concretement si un PJ A de faction A' achète a un marchand une armure de peau a un PNJ B et que ce PNJ B a une faction B' qui est alliée à la faction A' le prix de l'armure aura par exemple 0% d'augmentation lors de l'ouverture du magasin. Si un PJ C de faction C' qui est neutre a la faction B', verra lui le prix de l'armure de peau augmenter de 50 %.
En fait il y a une multitude d'exemple de ce genre.
Mais bon comme je l'ai dit ci-dessus, c'est impossible de traiter des factions sur un forum. Faut vraiment mettre les mains non pas dans le moteur, mais dans la boite de vitesse. Je pense que ca n'est faisable qu'au sein d'une équipe où chacun à une tâche bien définie, car sincèrement le faire tout seul ....

.... c'est SUPER galère, car SUPER long !