![]() |
Java EE (site web/ jeu par naviguateur) - 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 : Java EE (site web/ jeu par naviguateur) (/showthread.php?tid=5490) |
RE: Java EE (site web/ jeu par naviguateur) - niahoo - 14-06-2011 c'est juste que par rapport à ce que je disais au dessus c'est à côté de la plaque, mais par contre je compte bien m'en servir sur des requêtes lourdes oui. Je cherche à avoir des objets persistants ! RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011 Quels genre d'objets voudrais-tu voir persister ? Aucun des langages que j'ai utilisé jusque là ne permet d'avoir des variables prédéfinies (en dehors des variables d'environnement, bien sûr). Cela dit, je ne trouve pas ça contraignant de récupérer des données dans un cache. RE: Java EE (site web/ jeu par naviguateur) - niahoo - 14-06-2011 Ben avec rails, quand tu lances ton serveur, ton fichier de routes est parsé une fois et reste en RAM non ? PHP, lui, doit le reparser à chaque fois. Alors effectivement ce n'est pas contraignant de le mettre dans un cache, je disais simplement que ça n'apporte que de la performance, mais en fait ça reste une DB comme une autre. Un exemple d'objet persistant ? Par exemple le personnage d'un joueur. Ça évite que à chaque fois qu'on veut lui faire faire quelque chose on aie à le charger de la DB, il *est* là, et ça permettrait donc d'architecturer l'application d'une façon différente : par exemple, tu attaques un joueur, tu lui balances une flèche, l'application résolut l'impact et te push l'info [ok, cible touchée], et ta requête ajax est finie. Mais pendant ce temps, l'objet Personnage, lui, continue de calculer les dégâts, les différentes parties de son corps touchées, etc.. et si le joueur touché est connecté, on les lui push, sinon non, et ensuite on mets à jour les données en base. ça prend 5 minutes à mettre ça en place avec un framework erlang (au hasard ![]() RE: Java EE (site web/ jeu par naviguateur) - Sephi-Chan - 14-06-2011 Ben, quel que soit le framework, le serveur Web charge les fichiers en RAM : c'est pour ça que quand on change des fichiers, il faut le relancer (restart ou graceful sur Apache). Pour créer le comportement que tu décris, c'est relativement trivial : tu stockes ton objet dans un data store tel que Redis, Memcache ou APC.
Ici, tu n'es pas passé par la base de données (à condition que l'utilisateur 24 soit déjà dans le data store). Ton objet @target est stocké quelque part (dans Redis ou Memcache, par exemple) et tu le manipules comme tu le souhaites (en prenant soin de le faire expirer du cache après l'avoir modifié). Sinon, tu fais tourner un serveur persistant qui "pilote" le jeu à côté et dans lequel vivent toutes tes variables, et l'application Web en elle-même n'est là que pour discuter avec ce serveur de jeu. RE: Java EE (site web/ jeu par naviguateur) - niahoo - 14-06-2011 (14-06-2011, 04:37 PM)Sephi-Chan a écrit : Sinon, tu fais tourner un serveur persistant qui "pilote" le jeu à côté et dans lequel vivent toutes tes variables, et l'application Web en elle-même n'est là que pour discuter avec ce serveur de jeu. ben c'est ce que je fais avec erlang mais je pense qu'on peut approcher un comportement similaire avec php (pour de petites applis bien sûr) RE: Java EE (site web/ jeu par naviguateur) - Ter Rowan - 14-06-2011 ce serait intéressant que les "experts" construisent un système de ce genre (avec les interfaces/appels nécessaires entre joueur et "serveur persistant") je pense qu'on pourrait effectivement beaucoup y gagner pour des jeux complexes/riches RE: Java EE (site web/ jeu par naviguateur) - php_addict - 15-06-2011 Donc voici ma petite fonction qui renvois un objet dans le cache d'apc si il existe, sinon il le met en cache et le renvois, et si APC n'est pas installé la fonction renvois l'objet demandé
|