JeuWeb - Crée ton jeu par navigateur
Comment faire un chat graphique léger ? - 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 : Comment faire un chat graphique léger ? (/showthread.php?tid=4311)

Pages : 1 2


Comment faire un chat graphique léger ? - Thedeejay - 28-08-2009

Bonjour bonjour!!

Je suis en train de programmer un petit chat graphique, donc utilisateurs sur une map qui parlent avec des philactères.

Rien de tres complexe hormis que je ne sais comment faire un script leger....


Par exemple, si il y a 10 utilisateurs: dans mon système actuel il y a une requete par seconde et par utilisateur pour avoir nouveaux messages / positions. seulement, avec une requete en plus par message, par déplacement, ca fait pour une minute 10*60 + 30 (messages) + 30 (déplacement) etc... 630 requetes par minute!!!


n'est-ce pas trop? malgré que je pense avoir ilimité dans mon hebergement ca peut ralentir tout le serveur non?

Si quelqu'un a une meilleur idée...


PS: je fais ca en jQuery, PHP & MySQL


RE: Commenet faire un chat graphique leger? - MdE - 28-08-2009

Chaque seconde ? Ca me paraît un peu beaucoup non ? Toutes les 3 secondes donnera également une impression de temps réel et tu fais donc 3 fois moins de requêtes.


RE: Commenet faire un chat graphique leger? - Sephi-Chan - 28-08-2009

(28-08-2009, 04:15 PM)Thedeejay a écrit : n'est-ce pas trop? malgré que je pense avoir ilimité dans mon hebergement ca peut ralentir tout le serveur non?

Tu vas vite recevoir un mail de ton support qui te dira quelque chose comme "Vous abusez de votre trafic illimité."

Je pense pas que Javascript seul soi une solution viable. Hélas, sur un mutualisé, tu n'as presque que ça.
Au contraire, sur un dédié tu peux opter pour plusieurs solutions : notamment celle des sockets ou du long polling (il y a récemment eu une discussion concernant Ajax Push Engine).


Sephi-Chan


RE: Commenet faire un chat graphique leger? - Thedeejay - 28-08-2009

j'ai voulu essayer APE, mais je suis une Quiche \o/


RE: Commenet faire un chat graphique leger? - Sephi-Chan - 28-08-2009

(28-08-2009, 08:55 PM)Thedeejay a écrit : j'ai voulu essayer APE, mais je suis une Quiche \o/

T'es bonne ? Confusediffle:


Sephi-Chan, désolé pour le flood…


RE: Commenet faire un chat graphique leger? - Thedeejay - 28-08-2009

Oui, parceque je met du jambon fumé en petit morceaux



(et toc!)


RE: Commenet faire un chat graphique leger? - Thedeejay - 10-09-2009

bon, je relance la conversation car je suis plus determiné que jammais à le finir, j'ai un (bon) graphiste derriere moi qui me prépare des persos style minigore, j'ai fais plein de js de calcul et je commence a comprendre les sockets.

Maintenant toujours plusieurs questions, par exemple quelle est le meilleur moyen pour positionner plusieurs persos sur une carte, en sachant que j'utilise annimate() de jQuery pour les déplacer (et que padding déplace tous les utilisateurs en même temps, quelle est la meilleur propriété?)


RE: Commenet faire un chat graphique leger? - Sephi-Chan - 10-09-2009

Peut être top, left, right et bottom ?


Sephi-Chan


RE: Commenet faire un chat graphique leger? - Ekilio - 10-09-2009

Je ne sais pas comment fonctionne animate(), mais pour moi le meilleur moyen de placer des trucs sur une carte, c'est la position absolue.

Je rappelle que la position absolue calcule ses références en fonction du plus proche parent positionné. Ce qui veux dire que :

Code PHP :
<?php 
<html>
<
body>
<
div style="margin-top: 50px; margin-left: 50px; width: 400px; height: 400px; background-color: red;">
<
div style="position: absolute; top: 10px; left: 10px; height: 10px; width: 10px; background-color: green;"></div>
</
div>
</
body>
</
html>

Dans ce code, la boite verte est positionnée en absolue. Son parent (la boite rouge) n'est pas positionné, et le parent de son parent est le body (qui lui est toujours positionné).

La boite verte va donc avoir ses coordonnées calculés en fonction du coin en haut à gauche du body (et donc de la page).

Maintenant, avec ce code :

Code PHP :
<?php 
<html>
<
body>
<
div style="margin-top: 50px; margin-left: 50px; width: 400px; height: 400px; background-color: red; position: relative;">
<
div style="position: absolute; top: 10px; left: 10px; height: 10px; width: 10px; background-color: green;"></div>
</
div>
</
body>
</
html>

La boite rouge ne bouge pas (la valeur par défaut de "position" est relative), par contre elle devient explicitement positionnée. Et du coup, la boite verte a sa position qui est calculée en fonction de la position de la boite rouge.

Pour ta carte, c'est pareil : ta carte est la boite rouge, elle est positionnée ; et tes joueurs sont la boite verte.

Mes deux centimes du soir Smile


RE: Commenet faire un chat graphique leger? - Thedeejay - 11-09-2009

Merci pour vos réponses, ej vais adapter ca et vous donner des nouvelles Smile

autrement: qu'lqu'un a une idée pour faire aparaitre des phylactères tout simples au dessus des personnages... probablement une div cachée remplie de contenu cachée, non?