Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Les PC et la vue
#1
Salutation.

Je ne veux pas rentrer dans un debat quelconque, je tente juste d'approcher certain probleme differament.

Alors non ce n'est pas une solution miracle, plus une rustine, mais une rustine que je pense etre d'une certaine qualiter.

L'attribution des PC est pour le moment completement inutile, et est une des formule qui bouffe le plus de ressource dans le jeu, tous simplement parce qu'a chaque action "condamnable" le jeu verifie la vue de chaques personnages, jusqu'a 12 case de distance (PE a 6) de l'evenement. Chaque personnage est consulter, un par un pour "voir" si il a ete temoin de l'action, et attribuer les PC en concequence, ce qui veux dire ennormement de requete effectuer dans les lieu a forte population.

Et ce, POUR CHAQUE ACTION CONDAMNABLE, chacune a son tour.


A partir de la, je suis partis d'une autre approche.

La premiere est que pour alleger le serveur au niveau requete, il serait interressant de sortir d'un systeme on l'on est dependant de la vue de chacun individuelement.

La seconde est que les PC sont senser agir part rapport a la vision des humains normaux, mais ne doit pas se limiter a ceux-ci dans l'attribution des PC.

Ensuite que humains normaux ont 2 de caracteristique en moyenne, 3 au max "naturel", donc ils ne voyez que entre 2 et 6 cases autour d'eux (avec une moyenne de 4 cases).

Alors voila ma proposition:

Le calcul de la culpabiliter reste proche de celui actuel (sauf pour les chutes en courant et peu etre diviser par 5 pour les accidents de medecine), sauf que:

- Au lieu de regarder tous ceux qui peuvent voir, on regarde une "porter de visibiliter" de l'incident, et on calcule dans cette porter les temoins, porter diviser par 4 pour les actions discretes (avec un gain diviser par 2 egalement).

Prenons un exemple: disont qu'une agression est visible a 5 case.
Si j'agresse quelqu'un, toutes les personne dans les 5 cases + ma case est considerer comme temoin (sans test pour voir sa porter de vue).
Si j'agresse en etant discret, la porter est de 5/4 = 1 (arrondit a l'inferieur, porter minimum 0 => la case elle meme) donc toutes les personnes sur ma case et a 1 case de moi compte comme temoin, mais le gain de PC est diviser par 2.

Bien sur il faut repenser la visibiliter des actions, mais je trouve que c'est un ajour mineur par rapport a ce que cela peu faire gagner, dans l'allegement des requetes, et dans la viabiliter des PC.
Reply
#2
On pourrait affiner en disant que les PNJ ayant des "objets en cours" ne feraient pas attention à une action discrète.
Ils sont tellement concentrés à jouer à leur Monopoly Immac ou à se mettre du maquillage qu'ils n'ont pas fait attention à ce qui se passe autour d'eux.

Est-ce que dans la base, il y a un lien direct sur le fait qu'un perso a des actions en cours ?
Reply
#3
L'idee a la base, pour justifier le fait que meme ceux qui on pas assez en vue soit comptez, c'est que une action penalisante attire l'attention, par le bruit, par la lumiere, par les mouvements, par ce que vous voulez.

Que ceci a pour effet de chopper l'attention de tous, meme de ceux qui ne vois pas "distinctement" ce qui se passe ( pour ceux qui ne voyent pas assez loin)
A l'inverse, une action ayant une "porter de visibiliter", ceux qui sont au dela de cette porter, mais qui peuvent la percevoir dans les faits (genre perception de 4, 5 ou 6 - Qui a dit que les augmentation temporaire etait inutile, deja? - ), ceci peu etre interpreter comme le fait que l'action n'est pas assez significative pour les marquer, compte tenu du fait de tout ce qu'ils peuvent voir.


Alors oui, cela ne prend pas en compte les cas particulier (un mec avec 5 en perception qui n'a que 2 personne dans son champs de vision et que ces 2 personne se donne des coup de couteau ne leur rapportera pas de PC), mais l'idee est de trouver un truc viable et rapide, pas une regle avec une exception par cas particulier.

Quand a l'idee de Vik elle se defend, mais si l'action est senser attirer l'attention dans une aire donner, il me semblerai normal que des gens, meme occuper, tourne la tete et regarde.
Reply
#4
On pourrait inclure un jet de perception aux personnes occupées.
Si reussi, le témoin est pris en compte, sinon, il est vraiment trop concentré sur son truc pour ne pas y faire attention.
Reply
#5
Quote:L'idee a la base, pour justifier le fait que meme ceux qui on pas assez en vue soit comptez, c'est que une action penalisante attire l'attention, par le bruit, par la lumiere, par les mouvements, par ce que vous voulez.
Là oui, mais pour ce qui concerne les actions discrètes je repensais à un petit bémol, et qui n'est pas programmable pour le moment.

Supposons que 3 groupes d'élèves se rendent du centre commercial vers la gendarmerie. Je fais abstraction du bruit Big Grin Donc 60 personnes qui vont dans une direction unique. Une action discrète se passe dans votre dos, sans bruit, sans rien. Honnêtement, vous ne la voyez pas du tout.

Même si moi tout seul je me ballade dans la rue, je ne sais pas forcément que quelqu'un marche derrière moi (chaussures en crêpes Big Grin). Et s'il se fait buter dans mon dos discrètement, je n'aurai rien remarqué.

L'humain n'a pas une vision à 360°. Je parle principalement de la vision, parce que d'une manière générale, elle prime même sur l'ouïe.
Ensuite, il y a l'odorat et ceux qui ont une limitation de purin/javel/fleurs, etc, on a tendance aussi à remarquer quelque chose de bizarre.
Reply
#6
J'UP parce que je suis pas sur que Cad est eu l'occassion de la lire, et je continue a croire que cela simplifirait pas mal les choses...
Reply
#7
Je suis pas très sur mais j'ai plutôt l'impression que les PC sont calculés grace aux nombres de personnes qui sont à une certaine distance seulement...

Ce qui correspond donc déjà à ce que tu as proposé.
Reply
#8
Quote:Je suis pas très sur mais j'ai plutôt l'impression que les PC sont calculés grace aux nombres de personnes qui sont à une certaine distance seulement...

Ce qui correspond donc déjà à ce que tu as proposé.

A l'heure actuelle (du moin a l'epoque ou Kiouioui est partie) les PC sont +ou- calculer comme ceci:

<valeur en PC d'une action>*<nombre de personne temoin de l'action>

ce qui veux dire qu'a chaque fois que quelqu'un commet une action qui peu rapporter des PC, le programe verifie la vue de chaque personne UNE PAR UNE dans les 13 cases autour pour voir si elle peuvent avoir vue l'action (13 case car la meilleiur Perception c'est 6, donc 6*2=12+ la case de la personne qui voie).

Ce qui veux dire que le programme lance une requete pour aller dans le compte de la personne, verifier sir la vue du personage est suffisante pour voir l'evenement si OUI, contabilise la personne puis ferme la requete, ouvre la meme requete avec le perso suivant, etc, etc, etc..., si NON ferme la requete, ouvre la meme requete avec le perso suivant, etc, etc, etc...

Ce qui dans un quartier desert peu etre tres negligeable, mais dans les endroits surpeuples (parking de la discoteque, discoteque, parking de l'eglise, l'eglise, etc...) demande des ressource hors du commun. et comme la densiter de ces endroit est "anormale" elle fausse tout le systeme des PC pour determiner qui doit etre une cible de mission d'assassina ou non...

Mon systeme propose d'ignorer la majeur partie de ces requetes en remplacant la notion de "vue individuelle de chaque personnages pouvant voir l'evenement" par celle de visibiliter de l'evenement, qui n'a a prendre en compte que le nombre de personne a porter, sans s'occuper de savoir plus.
Reply
#9
Quote:ce qui veux dire qu'a chaque fois que quelqu'un commet une action qui peu rapporter des PC, le programe verifie la vue de chaque personne UNE PAR UNE dans les 13 cases autour pour voir si elle peuvent avoir vue l'action (13 case car la meilleiur Perception c'est 6, donc 6*2=12+ la case de la personne qui voie).

je ne pense pas que le programme fasse ca.

Il ne verifie pas la vue des persos et ne considere que les perso a une certaine distance.

Enfin, je crois....
Reply
#10
Même avis que Pierrot, je vérifierai dans le code comment est exactement calculé les PC et c'est un projet que de revoir totalement ce système et ses conséquences (mission Assassinat, rapport automatique, avis de recherche... enfin plein d'idées proposées ici et là).

Neko, par contre là ou je suis pas d'accord avec toi : tu n'as pas à utiliser l'argument technique pour proposer une solution de calcul des PC.

1 / Tu n'as pas le code sous les yeux pour savoir comment c'est codé et optimisé (ou non).
2 / Personne (ni Cad, ni moi) n'a un monitoring temps réel de l'utilisation des ressources SQL du serveur. Donc à partir du code, on peut "supputer" si il sera gourmant en ressources sur le serveur ou non mais certainement pas en être sûr à 100%.
3 / La machine serveur du jeu est quand même assez puissante pour encaisser les requêtes du déplacement et de la vue qui sont bien aussi lourdes. Donc le traitement des PC n'est pas pire ou meilleur au point de vue consommation mémoire.
4 / Pour certains scripts de Supervision, il y a des requêtes autrement plus "gourmandes" en ressources, c'est pour ça qu'on les lance que de temps en temps (généralement la nuit quand il y a moins de joueurs).

Finalement, les codeurs codent et concoivent, les joueurs jouent (ou testent plutôt) et proposent; si maintenant les joueurs "imaginent" le code pour proposer, on a pas fini Wink
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)