JeuWeb - Crée ton jeu par navigateur
PlugIn coté client? Une plaie? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : PlugIn coté client? Une plaie? (/showthread.php?tid=7133)

Pages : 1 2 3 4


RE: PlugIn coté client? Une plaie? - Xenos - 02-09-2014

Ouep la mécanique de jeu qui se déroule, sur un jeu web, coté serveur doit avoir ce coté "fair-play" (au fond, faire jouer tout le monde au même `noyau` de jeu) et elle n'est donc pas modifiable par les joueurs.

Là, tu parles d'empêcher l'utilisateur de changer son interface (empêcher l'utilisateur d'avoir ses plugins): c'est comme si on empêchait quelqu'un de modifier sa configuration clavier de L4D, ou encore la sensibilité de sa souris (une souris qui va plus vite donnera un avantage au joueur) ou la taille de sa jauge voire même sa présence (je joue à Crysis sans interface car je le trouve plus immersif et pas plus dur à jouer comme cela). Dans L4D2, est-ce qu'on doit mettre toutes les souris à la même vitesse et à la même précision (ce qui doit alors se faire coté serveur et pas client)?

D'un point de vue technique c'est vrai: tu n'as pas le choix; mais ce n'est pas faute de l'implémentation (c'est pas par manque de fonctions et d'API dans javascript par exemple), mais c'est une question de concept; c'est sorti du serveur, c'est allé "ailleurs" (on ne sait pas où), et on n'a donc pas de contrôle dessus. Tu peux y mettre les sécurités que tu veux, même si javascript avait tout ce qu'il faut pour bloquer les plugins, tu ne pourras pas en avoir la certitude (c'est le client qui exécute ces lignes de code, donc tu ne peux pas savoir comment ces lignes seront exécutés).

Si tu fais une fonction foo() qui retourne un objet, tu ne peux pas empêcher l'appelant de cette fonction d'en faire ce qu'il veut: ce n'est plus dans tes cordes par conception.

C'est le fondement même de la sécurité d'ailleurs: si une donnée sort du système, le système n'a aucun idée de ce qu'elle devient (elle est en quelque sorte "publique", même chiffrée elle peut être lue, on a juste peu de risques qu'elle soit interprêtable), et à l'inverse, si une donnée rentre dans un système, le système n'a aucune idée d'où elle vient (et c'est pour cela qu'il faut vérifier toutes les entrées).


RE: PlugIn coté client? Une plaie? - @lucard - 02-09-2014

Sinon tu peux faire un jeu exclusivement sur un navigateur qui ne prends pas en compte les plugin de ce type.
Netscape ?

Mais dans tous les cas, tu auras un bon nombre de joueurs qui ne voudra plus continuer le jeu, par manque de.... liberté. (on en revient là)

En tant que joueur, c'est à toi qu'incombe de trouver des astuces, et de faire travailler tes méninges pour optimiser ton temps, tes ressources et profité du mieux que tu puisses, le jeu auquel tu joues.
si tes connaissances technique te permettent d'optimiser le jeu, comme tu l'entends, alors tant mieux pour toi.

De ton côté (serveur) si tu as un % trop important de joueurs qui passent outre certains de tes codes, c'est qu'ils ne sont peut-être pas si nécessaire que cela.
peut-être serait-se t-il temps de trouver une alternative, ou de repenser tout ça autrement ?


RE: PlugIn coté client? Une plaie? - Xenos - 02-09-2014

Cale ne changera rien car comment savoir que le navigateur est Netscape quand c'est le navigateur lui-même qui envoie les informations qui le concerne?

On peut (y'a même des plugins pour cela mais je n'en connais plus le nom :p) envoyer de faux headers et se faire passer pour un autre navigateur, ce qui ne résoudra pas le problème et même l'empirera (ca "défi" les tricheurs et peut les pousser à tricher encore plus).

Et je suis d'accord sur le fait que l'interface ne sera changée que si elle ne plait pas/convient pas et empêcher de la changer, ce serait forcer les gens à utiliser ce qui ne leur convient pas (⇒ ils se barrent); la mécanique de jeu est-elle trop basée sur l'interface ("le clic") et pas assez sur le coeur/mécanique de jeu?



PS: Si un site me bloquait mes plugins ou m'oblige à autoriser javascript et toutes ses pubs alors je n'y reste pas et je me tire de ce site (sachant qu'on finit très souvent par trouver un autre site qui contient ce qu'on cherche sans nous obliger à quoi que ce soit).


RE: PlugIn coté client? Une plaie? - Aedius - 03-09-2014

on peut même se passer complètement de navigateur pour jouer à la plupart des jeux par navigateur ...

On peut considérer un jeu par navigateur sous la forme d'un MVC dont on ne controle pas la vue.

Le Modèle serait donc le serveur avec sa bdd, ses crons, et ses actions.

Le Controleur est la couche api ( avec les appelles ajax c'est de plus en plus simple de gérer le jeu par une api )

La Vue est est la partie ergonomique du jeu. Elle est intégralement modifiable et remplaçable par le joeur.


RE: PlugIn coté client? Une plaie? - Argorate - 03-09-2014

C'est exactement là où je voulais en venir Aedius !
Pour moi c'est un problème auquel je cherche des solutions par se topic, que le jeu puisse se passer d'un navigateur.
L'interface c'est important, elle fait partie intégrante du jeu, par le fait de limiter les actions du joueurs par ce qui est physiquement faisable, et donc sa présence et son intégrité son importante a mes yeux.
Sinon c'est un peu comme faire un match de tennis en ne vérifiant pas que tous les joueurs utilisent une raquette de même forme et taille... L’interfaçage avec les actions du jeu est primordiale.
Ce qui me choque dans ce qui a était dit, pour reprendre une comparaison avec un jeu, c'est comme si cela ne vous déranger pas qu'un mec soit champion d'un jeu de tir sans utiliser une seule fois une souris pour tirer... C'est juste inadmissible.
Au delà de ça, c'est pas éthique puisque c'est de la triche: un créateur pense un jeu, créer le jeu d'une manière, si on la modifie, on enfreint l'idée originel, désolé mais je signe et persiste pour dire que je trouve pas ça acceptable...


RE: PlugIn coté client? Une plaie? - @lucard - 03-09-2014

Citation :Sinon c'est un peu comme faire un match de tennis en ne vérifiant pas que tous les joueurs utilisent une raquette de même forme et taille
Et pourtant chaque tennisman/tenniswoman à une raquette de taille différente. (par rapport à ses besoins, taille du joueur, poids de la raquette etc...)


RE: PlugIn coté client? Une plaie? - Sephi-Chan - 03-09-2014

Tu n'as pas répondu à ma question — pourtant très importante — plus haut :

(02-09-2014, 04:15 PM)Sephi-Chan a écrit :
(02-09-2014, 03:50 PM)Argorate a écrit : Si quelques chose ne va pas dans l'interface, et certes je suis loin de faire les choses parfaitement comme nous tous, alors au lieu de modifier dans son coin, on en parle et on fait une modification pour tout le monde.
Je trouve que c'est très égoïste comme façon de penser.

L'un n'empêche pas l'autre. Si le joueur poste son script d'amélioration de l'interface sur ton forum pour que tous puissent en profiter, tu le laisseras faire ?


(03-09-2014, 02:15 PM)Argorate a écrit : C'est exactement là où je voulais en venir Aedius !
Pour moi c'est un problème auquel je cherche des solutions par se topic, que le jeu puisse se passer d'un navigateur.
L'interface c'est important, elle fait partie intégrante du jeu, par le fait de limiter les actions du joueurs par ce qui est physiquement faisable, et donc sa présence et son intégrité son importante a mes yeux.
Sinon c'est un peu comme faire un match de tennis en ne vérifiant pas que tous les joueurs utilisent une raquette de même forme et taille... L’interfaçage avec les actions du jeu est primordiale.
Ce qui me choque dans ce qui a était dit, pour reprendre une comparaison avec un jeu, c'est comme si cela ne vous déranger pas qu'un mec soit champion d'un jeu de tir sans utiliser une seule fois une souris pour tirer... C'est juste inadmissible.
Au delà de ça, c'est pas éthique puisque c'est de la triche: un créateur pense un jeu, créer le jeu d'une manière, si on la modifie, on enfreint l'idée originel, désolé mais je signe et persiste pour dire que je trouve pas ça acceptable...

Ton incompréhension du problème (l'incapacité d'être derrière chaque joueur) te pousse à opter pour de mauvaises solutions (tenter de tout verrouiller le client, ce qui est techniquement impossible). Embrasse le concept d'ouverture du Web et apporte des solutions appropriées.

Je ne vois pas d'inconvénient à ce qu'un joueur de FPS joue avec une souris ou un Occulus Rift, si c'est ce qu'il préfère. Pourquoi vouloir imposer le périphérique ? FPS ça veut pas dire concours de maniement de souris.

Avec un sport physique, tu peux imposer ce genre de contraintes parce que tu peux vérifier : raquette réglementaire, vélo sans assistance électrique, maillot de bain classique, cylindrée de moteur, etc. Ce n'est pas le cas dans les jeux vidéos. C'est à toi de t'adapter. Et verrouiller l'interface n'est pas une solution acceptable parce que tu auras toujours un train de retard (et donc les gens les moins au courant seront toujours lésés).

A tenter de verrouiller, tu te retrouves dans la même situation que ceux qui luttent contre le dopage (où les tricheurs sont plus avancés techniquement que les contrôleurs).


RE: PlugIn coté client? Une plaie? - @lucard - 03-09-2014

ne tomberions-nous pas dans un autre débat ?
[ne vaut-il mieux pas des joueurs qui "trichent" que pas de joueur ?]

Pour en revenir au sujet principal :
Agorate a écrit :(par exemple un de mes joueurs bloqué mon script piwik (outils de statistique)).

jurispedia.org a écrit :La loi dite "informatique et libertés vise à protéger l'individu du mésusage des possibilités offertes par le traitement informatique des données personnelles*.
[...]
* En principe les données sont considérées comme à caractère personnel dès lors qu'elles permettent d'identifier directement ou indirectement des personnes physiques.[...] Une personne est identifiable lorsqu'un fichier comporte des informations permettant indirectement son identification (ex. :[...] adresse IP,[...]).

dans ce cas tu dois pouvoir offrir la possibilité à chaque joueur le choix d'être statistiqué (j'sais pas si ça s'dit comme ça) où non, et dans ce cas là, il n'y a plus besoin de script etc...
[est-ce mentioné dans le CGU du jeu ?]

de plus, d'après ton 1er message, il ne s'agit que d'un seul joueur...:heu:


RE: PlugIn coté client? Une plaie? - Xenos - 03-09-2014

Si l'interface (Vue) faisait partie du jeu, il n'y aurait pas de modèle MVC, il y aurait juste un gros bloc de fonte tout intégré.
La Vue montre, elle ne gère en rien les empêchements physiques du joueur: c'est au contrôleur de gérer cela. Rien ne t'interdit de mettre, coté serveur, une limite de temps entre deux requêtes par exemple.

On peut être champion de jeu de tir en utilisant que le clavier (en remplaçant la rotation de la souris par les flèches directionnelles et en gardant AZDS/W pour les déplacements; tiens pour le coup, moi j'utilise W pour reculer, pas S: je suis avantagé par rapport aux autres?). Tiens, au fait, si on veut mettre la vue de tous au même point, il faudra penser à fixer la résolution (X*Y pixels) et la taille réelle (en cm) du support: ceux avec des grands écrans sont hyper-avantagés car ils peuvent voir plein de détails...

Oui, t'as le droit de dire, dans les CGU, "interdit de modifier les codes qui sont reçus par le navigateur". Y'aura pas de moyen de le vérifier, et 99% des gens modifieront ces codes (pas forcément volontairement, mais le navigateur par sa présence même, modifie ces codes pour les rendre exécutables et les afficher à l'écran).

concours de maniement de souris XD Je la ressortirai celle-là (avec copyright Sephy :p)

Je ne suis pas d'accord en revanche avec en sport physique on peut limiter la taille de la raquette parce qu'on peut la contrôler. En fait, la taille de raquette (surface frappant la balle) fait plutôt partie du modèle ou du contrôleur. Vouloir forcer l'interface, c'est obliger les joueurs à avoir un manche de 15cm de long, 4cm de diamètre, de forme cylindrique à +/-5µm: c'est pas adapté à tous, et cela va même avantager certains (ceux qui sont adaptés par chance à l'interface).
Si tous les nageurs doivent être en boxer de bain taille L, les plus costauds font être coincés, et la natation féminine va avoir un succès encore plus grand auprès des pervers...


RE: PlugIn coté client? Une plaie? - Ter Rowan - 03-09-2014

moi je vois la chose autrement par rapport au raisonnement :

1) triche
si tu définis une règle qui dit un cold down de 5 secondes entre deux actions, et bien c'est côté serveur que ca se passe.
Donc le mec qui a une souris et le mec qui pilote avec un casque a onde cérébrales sont au même niveau.
Si tu ne mets pas de cd coté serveur, alors c'est que tu acceptes que tes joueurs aient des différences de rapidité.

il y a tellement de différences humaines (je suis bien moins rapide qu'un autre) inutiles de focaliser sur pas le même matériel = triche

2) esthétique et ergonomie
dans ce cadre je postule que tu fournis une interface utilisateur pour présenter les différentes informations / ambiance / etc...

si un joueur décide de mettre en place une autre ergonomie / esthétique, c'est son choix

soit il perd une partie de ce que tu as créé, et tant pis pour lui,

soit il a quelque chose de plus ergonomique, et dans ce cas là il est meilleur que toi en ergonomie, tant pis pour toi (et pas pour les joueurs), t'as plus qu'à améliorer ou laisser faire.


imagine le truc, t as fait un jeu qui n'est pas accessible (genre le gars qui n'a pas de main pour la souris ne peut pas jouer)

et paf t as un gars qu'aime bien ton jeu, qui connait quelqu'un sans main et qui est capable de développer une interface permettant à son pote de jouer avec le ... bitonnio dans la bouche...

est ce que tu vas priver ce mec du jeu ?