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? - Insectoid - 03-09-2014

Bonjour,

Je joue à Ogame, jeu en ligne assez connu. Il existe un nombre important de script qui modifie les pages et rendent la jouabilité plus ou moins facile

Afin de perdre le contrôle sur le jeu, Les développeurs propose des scripts dit "autorisés".

Cela permet au moins deux choses :
1 - De créer une communautés, donc de fidéliser
2 - De garder un minimum de maîtrise sur le jeu

Pour information, l'ancienne version d'Ogame permettre vis des scripts de modifier des données dans le navigateur, alors qu'aujourd'hui, les calcules sur les pages ne sont qu'informatifs, seuls ceux du serveurs sont pris en compte

Il existe néanmoins quelques méthode pour embêter les créateurs de scripts :

1 - Prévoir par exemple des noms de div, de class aléatoire (grosse gestion coté serveur)
2 - Calculer le poids de la page avant envoi et via un script le poids de la page affichée sur le client puis comparer (lourd aussi)

Ou alors proposer les clés pour les scripts et ainsi garder la maîtrise et avoir une bonne communication avec les joueurs Wink

Voilou
Insectoïd


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

Citation : Calculer le poids de la page avant envoi et via un script le poids de la page affichée sur le client puis comparer (lourd aussi)

Bricolage aussi lourd pour le créateur qu'inutile pour la sécurité: la fonction qui vérifierai md5(donnéesEnvoyéesParLeServeur)==md5(donnéesActuellementAffichéesChezLeClient) est elle-même exécutée chez le client: ce dernier peut obliger cette fonction de vérification à toujours renvoyer true ce qui n'apporte rien niveau sécurité. Je dirai même que cela dé-sécurise le jeu car on a l'impression qu'il est sûr alors qu'il ne l'est pas.

Si c'est coté client, c'est son problème.


Tiens, je ne savais pas que le texte du message était en justifié... désolé, ça peut faire de moches espacements.


RE: PlugIn coté client? Une plaie? - niahoo - 04-09-2014

Si tu vois que des joueurs de ton jeu ont développé un script qui leur donne un avantage, le meilleur truc à faire à mon sens est de le rédévelopper proprement et de le publier pour tout le monde.


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

tien quelqu'un qui explique ce qui m’embête et l'aspect cheat à laquelle je fais allusion: https://www.youtube.com/watch?v=onTD3IaPL8k&index=6&list=PLE5ED498662FEAC8F&t=1075
Je suis tombé dessus par hasard, je trouve ça marrant^^


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

Vidéo intéressante (pas tout vu quand même), je regrette qu'on n'ait que le point de vue de testeurs/joueurs et non le point de vue de "cracks" en intelligence artificielle (pas les mecs qui codent une IA pour rigoler le week-end, mais ceux qui bossent par exemple sur Human Brain Project).


Si l'humain ne sait pas faire ce que l'IA sait faire, elle ne sait pas non plus faire ce que l'humain sait faire (exemples: reconnaissances d'images). Un PC ne sait toujours pas dire si ceci est un chaton qui court (et plus l'image est tordue moins la machine sait quoi faire, d'où les "captchas"). Aucune IA n'a encore battu les joueurs professionnels au jeu de Go par exemple.


Si l'IA fout une br*nlée à tout joueur humain sur UT2004 en mode "Professionnel", elle reste mécanique: malgré ce qui est dit, l'IA est un "tas de réflexes" et non pas un cerveau stratégique (d'où le fait qu'une fois que le joueur connait le mode de "réflexion" de l'IA, il peut la massacrer car elle est trop prévisible).
L'IA massacre le joueur sur le plan mécanique (normal), mais le joueur massacre l'IA sur le plan innovation, stratégie, adaptation, etc.


Quand au fait que "les IAs devraient maintenant être super-fortes alors qu'elles sont finalement de moins en moins douées", c'est en partie parce que le paquet a été mis sur l'immersion plutôt que l'IA (graphismes, son etc) mais aussi parce qu'en améliorant les environnements, on a ajouté des tas d'outils aux joueurs humains qui peuvent alors (vive les cerveaux) s'en servir pour établir des plans stratégiques, ce qui donne un atout à l'humain face à la machine.


Au fond, si un jeu est impossible à gagner parce que l'IA massacre les joueurs, c'est principalement car le jeu manque d'outils qui offriraient des alternatives complexes aux joueurs: ce sont des jeux mécaniques (justement!) où la stratégie, la réflexion, l'initiative et la créativité (caractéristiques hyper-humaines et pas encore mise en machine) sont absentes.


La meilleure parade contre les IAs c'est de rendre le jeu intéressant pour les humains, et non pas un concours de réflexe ou de calcul mental.


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

Le but, pour moi, n'était pas de montrer que l'IA > humain tout le temps, puisque ce n'est pas vrai, mais que dans le cadre des jeux, c'est clairement une triche potentielle.


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

potentielle*

Tout dépend du jeu (de ses mécaniques), justement Wink
Ca aide, ça, d'accord (tout comme une calculatrice peut aider à faire des démonstrations), mais ce n'est ni obligatoirement décisif, ni forcément auto-suffisant (l'IA peut pas gagner seule).
Et du coup, on en revient un peu à l'idée du si des gens font une IA c'est que l'ergonomie/interface est mal fichue: l'IA peut alors palier un manque d'informations, de synthèse ou de concision de la part du jeu (aka, le jeu pourrait intégrer cette IA pour tous).

N'oublions pas après que "triche" signifie en pratique contraire aux règles du jeu, celles-ci peuvent très bien autoriser les joueurs à modifier leur interface et à utiliser tous les outils qu'ils souhaitent, tant qu'ils ne perturbent pas le jeu des autres (piratage, DoS etc). Cela ajoute une autre dimension au gameplay: une dimension "hors jeu" qui peut parfaitement être acceptée (et qui, à mon sens, le devrait puisqu'elle permet de voir émerger, ou apparaitre si on préfère, de nouvelles façon d'utiliser le jeu, voir de nouvelles façons de jouer). Un peu comme un forum d'alliance permet à ses membres de s'organiser et de monter une stratégie, un outil de calcul automatisé (bot, feuille excel, etc) permet aux joueurs de mieux jouer, alors, l'interdire... je trouve cela mal venu.

Tiens, d'ailleurs (j'aime pas faire ce genre de post "je déroule ce qui me passe par la tête", mais bon): les feuilles de calcul Excel, que pas mal de joueurs font pour s'aider à gérer leurs empires ou autres éléments de jeu, il faut les interdire, ou les autoriser? Tout le monde n'aura pas forcément Excel pour faire pareil, tout le monde n'a pas le même niveau en terme de tableur (certain feront un tableur très simple façon grosse calculatrice, d'autres feront des tableaux très détaillés, avec des graphiques, et même une proposition de décision automatique type "je rentre les infos de l'ennemi, de ses alliés, de mes alliés et mon tableur me dit s'il est rentable d'attaquer ou s'il faut plutôt m'allier avec ce joueur"), certains feront leur propre feuille de calcul et d'autres se contenteront d'en télécharger une... Alors, autorisé ou interdit?

Perso, cette vidéo ne m'aura pas fait changer d'avis (même s'il y a des éléments intéressant, comme cette "impression de régression des IAs dans les jeux actuels par rapport aux anciens JV").


RE: PlugIn coté client? Une plaie? - niahoo - 13-09-2014

Ne mélangeons pas tous les concepts. Si tu hack ton client starcraft II pour que le jeu joue automatiquement un build order précis, on est clairement dans quelque chose que l'on voudra empêcher ... ou intégrer au client de base, mais en aucun cas laisser une situation ou seulement une partie des joueurs auront accès à un tel outil.

Concernant les feuilles Excel, on est dans le meta-jeu et il n'y a pas lieu de légiférer tant que le résultat des calculs est appliqué en jeu par le joueur manuellement.

Si par contre on utilise cette même feuille Excel pour générer un script javascript, à entrer dans la console, qui simule une série de clicks et d'inputs, la question se pose à nouveau.


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

Citation :tant que le résultat des calculs est appliqué en jeu par le joueur manuellement.
Donc si je reprend l'exemple de Starcraft, la même IA qui fait pas directement les actions mais qui dit au joueur quoi faire, c'est autorisé?!


RE: PlugIn coté client? Une plaie? - niahoo - 13-09-2014

Selon la politique légale du jeu non, mais selon les critères qu'on serait en train de définir ici je dirais que oui ; pour la simple raison que ce serait inutile, le joueur sait quoi faire. L'idée était un hack permettant à tout le monde d'avoir un CPM maximal alors que c'est typiquement une skill "naturelle" (au sens humaine) qui s'acquiert par la pratique.

Le build order ce n'est pas la stratégie, ça consiste juste à prendre les autres de vitesse.

Comme tu le disais, l'IA est bidon en termes de stratégies, pour peu qu'on l'étudie, qu'on s'entraine contre elle, qu'on la connaisse par coeur et qu'au final on la devance de très loin.

Il pourrait être intéressant de carrément documenter une API javascript pour nos jeux. Les joueurs pourraient créer des scripts, des composants d'interface et ça serait des éléments à reprendre de base dans le jeu, en créditant les joueurs. Enfin ... intéressant pour peu que le jeu demande autre chose que d'avoir la plus grosse flotte.