JeuWeb - Crée ton jeu par navigateur
Gestion des ressources - 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 : Gestion des ressources (/showthread.php?tid=4242)

Pages : 1 2 3 4


RE: Gestion des ressources - Anthor - 29-07-2009

Et pourquoi ne pas les calculer directement à la résolution du combat ?


RE: Gestion des ressources - v3rsus - 29-07-2009

Bah en fait, si j'ai bien compris ta question anthor, j'ai 2 cas :
1er cas situation normale.
On a le joueur qui fait ses tâches quotidiennes, il se connecte donc on calcule ses ressources, pendant le temps qu'il est connecté pareil on calcule.
2e cas si il se fait attaquer
à ce moment là, au moment où l'attaque se déroule, le script calcule la différence de temps entre la dernière connexion de l'attaqué et l'attaque, on met à jour les ressources, et en fonction de l'attaque il perd autant de ressources.
Je pense que je vais voir les choses comme ça.


RE: Gestion des ressources - Argorate - 30-07-2009

C'est comme ça que je procède actuellement, mettre à jour des ressources d'un joueur absent -qui n'en a pas besoin- n'est pas très malin selon moi.
Autant mettre à jour uniquement ce dont ont a besoin...
Sur un jeu a plusieurs milliers de joueurs ça peut équivaloir a des centaines voir des milliers de requêtes d'économisé Wink

Bonne chance, je te conseil d'utiliser les timestamp, t'embarque pas avec la fonction date()...


RE: Gestion des ressources - Globe - 31-07-2009

Hum j'ai l'impression de voir un problème dans ton histoire de cron au moment des attaques. Si je gagne 10 ressource par minute, que ta tache cron s'effectue toutes les heures et que je suis attaque entre deux MAJ, genre à 20h30 alors il manquera 300 de cette ressource... Au moment ou l'attaque survient recalcule simplement les ressources avec le même système que précédemment en récupérant les infos de la cible... Enfin bref je me suis ptet gourré sous l'effet de la fatigue =/ Ils y à plusieurs scripts sur le forum et tutos tu devrais aller faire un tour dans les parties concernées.


RE: Gestion des ressources - Allwise - 31-07-2009

J'avais un problème du même style : afficher la liste des persos + certaines caractéristiques, notamment la santé qui se régénère régulièrement.
J'ai donc créé une vue avec un champ qui calcule automatiquement la valeur de la caractéristique au moment présent, en fonction de la valeur réelle ( celle dans la table en dur ), de la date de la dernière update de la santé, de la santé maximum et de la fréquence de régénération. Celles-ci se mettaient réellement à jour lorsqu'il y avait lieu de le faire : connexion du joueur ou modif de la caractéristique ( attaque, potion... )

La requête derrière la vue n'est pas lourde, contrairement à ce qu'on peut penser, le champ en question ne comporte que quelques simples calculs.
Ce système me permet d'avoir un affichage en temps réel des données en mouvement, limite le nombre d'accès à la BDD ( imaginez que vous ayez 4000 joueurs, et seulement 300 actifs, seuls les 300 actifs seront concernés par les updates ) et elle ne se heurte pas au problème souligné par Globe, les données réelles étant disponibles à tout moment.


RE: Gestion des ressources - Argorate - 31-07-2009

Exactement!

Sans compter que certains utilisent des crons qui dépendent de d'autres "personnes" (ordinateurs) dont ils n'ont aucun contrôle.
S'il y a un problème du coté du cron, tout ton jeu sera affecter et plus a jour.
C'est un peu comme une entreprise qui fait sous-traiter: si le sous traitant a un problème, c'est l'entreprise qui a un problème.
Mais la différence, c'est qu'un cron ne t’apporte rien de plus que ce que tu peux faire toi même via le code en l'occurrence...

Ce rendre dépendant, je ne trouve pas ça malin. Smile

@Allwise: je crois qu'on a finalement plus d'un point commun :p


RE: Gestion des ressources - Anthor - 31-07-2009

Dans le cas précis Argorate, le CRON fait partie de l'entreprise ^^

Un web cron ce n'est pas un cron...

Et dans le cas précis le CRON n'a strictement aucune utilité Smile


RE: Gestion des ressources - Sephi-Chan - 31-07-2009

Les gars, vous faîtes le procès des tâches crons mais se passer d'eux quand ils seraient utilisable en lieu et place d'une tâche codée, c'est au moins aussi stupide que de les utiliser à toutes les sauces.


RE: Gestion des ressources - Globe - 31-07-2009

Sephi on fait pas le procès du Cron, c'est juste que dans cette situation c'est pas le plus logique, surtout pour un codeur de son niveau les crons me semblent assez peu approprié.


RE: Gestion des ressources - Cartman34 - 03-08-2009

J'évite aussi les tâches CRON car c'est généralement mal adapté (et pour plein de raisons...)
Ici tu surchargerai le serveur avec même pas 20 joueurs...
v3rsus, Toutes les personnes ici t'ont dit les meilleures idées qu'on peut avoir pour gérer les tâches d'un jeu.
Un démon est très bien dans certains cas mais nécessite un serveur dédié (c'est pas toujours vrai...car certains serveurs autorisent le changement de temps de temps d'exécution d'un script PHP).
J'utilise aussi le JIT car c'est la meilleure solution pour les petites tâches, ca ne fait la mise que quand tu en as besoin.
Donc je pense que ton idée pour les attaques est mauvaise.