29-07-2009, 09:49 PM
Et pourquoi ne pas les calculer directement à la résolution du combat ?
29-07-2009, 09:49 PM
Et pourquoi ne pas les calculer directement à la résolution du combat ?
29-07-2009, 10:21 PM
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.
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é Bonne chance, je te conseil d'utiliser les timestamp, t'embarque pas avec la fonction date()...
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne Rapture Studio : créateur de divertissement pour tous JePolitique.fr - débattons ensemble JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir Je Deviens Citoyen (Association à but non lucratif)
31-07-2009, 12:43 PM
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.
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.
31-07-2009, 02:00 PM
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. @Allwise: je crois qu'on a finalement plus d'un point commun :p
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne Rapture Studio : créateur de divertissement pour tous JePolitique.fr - débattons ensemble JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir Je Deviens Citoyen (Association à but non lucratif)
31-07-2009, 03:55 PM
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é
31-07-2009, 06:39 PM
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.
31-07-2009, 07:10 PM
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é.
03-08-2009, 09:37 AM
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.
Anciennement IGstaff.
Administrateur serveur & développeur web. Mes sites: Je ne fais plus de site de jeu. Autres sites: Staart V2, Cartman34 PWS, Anek.me |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Gestion Des ressources | killianr | 17 | 5 905 |
30-04-2016, 12:18 PM Dernier message: MadMass |
|
Encore et toujours, gestion des ressources | pollop | 36 | 14 921 |
10-02-2011, 10:45 PM Dernier message: php_addict |
|
Affichage et gestion des ressources | Ksama | 11 | 4 394 |
09-04-2010, 05:15 PM Dernier message: Ksama |
|
Gestion des ressources | Reaven | 5 | 3 240 |
15-01-2009, 01:01 PM Dernier message: sulu_03 |
|
Gestion des ressources en temps réel [version simple] | orditeck | 66 | 35 467 |
07-04-2008, 02:09 PM Dernier message: Kiro51 |