JeuWeb - Crée ton jeu par navigateur
Ergonomie de ma carte - 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 : Ergonomie de ma carte (/showthread.php?tid=1596)

Pages : 1 2 3


Ergonomie de ma carte - Byleth - 15-08-2007

Bonjour tout le monde, j'aurais une petite question concernant la frontière entre sécurité et lourdeur ^^.

Voilà, sur ma carte il n'y a rien de bien nouveau : des personnages, des objets et des paysage...

Mais je voudrai améliorer mon système d'actions : je voudrais que lorsque le joueur clique sur une case, il puisse accèder à toutes les actions possibles sur cette case.

Jusque là, j'ouvrais des pop-up pour réaliser ceci, mais ça me gêne car ce n'est pas très propre. Je reviens donc actuellement à ma première idée qui est d'afficher les actions sur le coté de la carte.

Le problème est là : en temps normal, il n'y a que les flêches pour se déplacer et un texte invitant le joueur à cliquer sur la case voulue.

Lorsque le joueur clique sur la case, la page se recharge (et oui, désolé, je ne maitrise pas l'AJAX à mon grand regret) et toutes les infos s'affichent.

Mais je me demandais quel était la meilleur méthode pour envoyer les infos du page à l'autre :

un lien avec des get est bien plus simple et bien moins lourd, mais j'aurais beau "crypter" les infos, si je veux pouvoir les récupèrer, ça restera limité et à force de bidouille, un joueur pourrait réussir à abuser du système pour obtenir des avantages mineurs (accèder aux infos sur un autre joueur qui n'est pas à proximité par exemple.)

L'autre solution serait de faire de toutes mes images sur la map des boutons de types submit pour envoyer mes infos par POST, ce qui serait bien plus sécurisant et compliquerait la vie de ceux qui voudrait quand même tricher (ça reste biensur possible mais bon ^^). Mais ce système est malheureusement extrêmement lourd au niveau code et peut être ralentirait-il le chargement de la page qui est déjà parfois rebutant...

Voilà, je voudrais votre avis et vos propositions si vous en avez, merci d'avance...:wowowow:


RE: Ergonomie de ma carte - uriak - 15-08-2007

j'ai commencé à réfléchir au même problème, j'avoue...
La première solution c'est de laisser liberté sur le choix de la case à traiter... personnelement je ferais une série de liens en passant directement les coordonnées de cases dans l'adresse.
Une fois à destination, le serveur compare cette position à celle du joueur ET propose alors les actions sous forme de formulaire. Reste à choisir une méthode pour se déplacer sans aller sur la case de destination et faire "atteindre"...
Si le déplacement doit se faire de case en case, un simple menu proposant les 8/6 possibilités suffit, mais n'est pas agréable/pratique... ça à l'avantage d'être fonctionnel.

Pour le reste je ne m'y connaîs pas encore suffisemment pour proposer quelque chose de plus élégant.


RE: Ergonomie de ma carte - Loetheri - 15-08-2007

Quelle est le problème d'utiliser la méthode GET ?
Il te suffit de bien vérifier ce qui passe par là.

Sinon tu peux utiliser des frames pour camoufler le tout ... mais bon, il faut que cela s'adapte à ton jeu ^^


RE: Ergonomie de ma carte - uriak - 15-08-2007

qu'entends tu par l'utilisation des frames ? ^^


RE: Ergonomie de ma carte - Byleth - 15-08-2007

Je vois le genre, l'adresse de la frame n'est à priori pas visible...

Le problème du get c'est tout simplement que si je veux par exemple afficher dans mon menu un lien vers la fiche d'un autre joueur qui pourrait afficher ses dernières actions, on pourrait le trafiquer pour voir quelqu'un à l'autre bout de la carte.

Mais en vérifiant à l'aide des positions que la distance est bonne, ça devrait passer...

Donc plutôt le GET, ça me parait aussi plis raisonnable mais je voulais m'en assurer...


RE: Ergonomie de ma carte - Loetheri - 15-08-2007

Si dans certaines conditions, tu affiches quelques choses.
Il suffit que lorsque tu veux l'afficher cette chose (ou utiliser une fonction), les conditions soient remplies. C'est logique ^

@uriak : Byleth t'a répondu ^^
Si tu utilises des frames, le "lien" des frames n'est pas forcément visible aisément. En tout cas, moins facilement que sans frame Smile


RE: Ergonomie de ma carte - denisc - 16-08-2007

Sinon, il y a la solution du POST, avec des boutons (pas joli) ou avec des images "action" qui peuvent améliorer d'autant le rendu de ta page... et envoyer l'info de clic par le biais d'un post plutot qu'un get.
Mais de toute façon, saches que celui qui veut gruger un jeu en ligne le fera de toutes façon, quelle que soit la façon d'envoyer les infos. La solution idéale est le POST suivi d'un contrôle de l'action, accompagné d'un traçage d'actions illégale, que tu pourras gérer comme tu l'entends (blocage de compte, d'IP, banissement du joueur, etc...)


RE: Ergonomie de ma carte - Sephi-Chan - 16-08-2007

Dans ton cas, la meilleur solution est d'apprendre à te servir de l'objet XMLHTTPRequest.
Ce n'est pas compliqué du tout et ça t'ouvrira des perspective d'ergonomie énorme.

Je ne vois pas trop comment l'utilisateur pourrait abuser de ton système. D'autant que tu dis recharger la page à chaque fois !? Si avec ça tu as des failles de sécurité alors qu'il t'es possible de vérifier côté serveur... C'est l'architecture entière qu'il faut revoir.

Essaye de nous fournir quelques exemple, qu'on puisse te guider ou au moins t'orienter vers des solutions techniques.


Sephi-Chan, posteurs de nuit, bonne nuit !


RE: Ergonomie de ma carte - Wells - 16-08-2007

J'ai fait un exemple de carte en ajax dans la section tuto. Je pense qu'en t'y penchant dessus tu aura les bases pour maitriser facilement l'AJAX. Une fois cela fait, ton soucis sera résolut.


RE: Ergonomie de ma carte - joshua - 16-08-2007

Honnetement je n'ai jamais entendu dire que le POST était "beaucoup" plus sécurisé que le GET. Il n'affiche pas les infos dans la barre du navigateur, c'est vrai, donc il est plus difficile de passer par une url bidouillée, mais quelqu'un de motivé trouvera toujours une alternative, en modifiant l'envoi du "POST"
Donc, y'a certainement mieux a faire, ne serait-ce qu'au niveau des controles....
A la limite tu peux verifier a chaque fois le pseudo pour afficher l'info ou non et sauvegarder en cache l'avant dernier mouvement.