JeuWeb - Crée ton jeu par navigateur
Question de Mise à jour..... - 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 : Question de Mise à jour..... (/showthread.php?tid=1637)

Pages : 1 2 3 4


Question de Mise à jour..... - joshua - 25-08-2007

Hello à tous!
J'ai repris la conception de mon jeu depuis zero, pour m'éloigner d'un ogame like et pour me tourner plutot vers un jeu de conquete spatiale toujours basé sur la guerre des étoiles.
Bon, je vous passe les détails, je cogite beaucoup en ce moment :d

Par contre je rencontre mon premier probleme de modélisation.
Les alliances dites "impériales" sont de modèle pyramidale, avec une personne a la tete qui a n subordonnés qui en ont (n-1) etc etc jusqu'en bas de la pyramide. bon je ne vous donne pas tous les details des laisons entre ces personnes, mais juste que chaque planete genere un revenu en crédits, et que chaque personne doit reverser 20% du total de ses revenus a la personne de rang supérieur.
Donc en gros si le grouillot gagne 100, il gagne 80 et en file 20, si celui juste au dessus gagne 100, il se retrouve avec 120 et file 24 a son supérieur soit 96 pour lui au final.
Et la je bloque.
J'ai 3 niveaux de réflection.
  • Soit les planetes fournissent le pognon au fur et a mesure
  • Soit elles le fournissent a un seul moment de la journée

ensuite
  • Soit l'envoi vers le n+1 est automatique
  • soit le joueur décide de quand il verse le dividende (prévoir alors des moyens de pression)

enfin, je souhaite pouvoir éditer des stats de performance pour comparer deux joueurs dans la hierarchie et permettre au supérieur au besoin de leur inverser les roles.... oui c'est complexe Big Grin
Bon mon soucis, vous l'aurez compris, c'est qu'elle est la situation la moins gourmande niveau serveur, mais qui permet en meme temps aux joueurs n+1 de bien toucher leur pognon et en meme temps de rendre le truc viable....
J'avoue je bloque.
parce que le revenu du n depend du n-1 qqui depend des n-2 etc... etc..
J'avais pensé faire un recalcul par heure selon le niveau dans l'echelle (en gros position 10 puis 9 puis 8.... sachant que je limite dans ce cas le nombre de niveau a 24 mais c'est bovin.
En meme temps, si ca ne se fait qu'a la connexion des joueurs, certains risquent d'attendre longtemps car le n+1 depend du n!!
Et quel genre de sanction puis je prendre?


RE: Question de Mise à jour..... - kunutheking - 25-08-2007

Tu peux faire le calcul 1 ou 2 fois par jour avec un cron.


RE: Question de Mise à jour..... - joshua - 25-08-2007

c'est jsutement ce que je prefererais eviter... pour pas ecrouler le serveur Sad


RE: Question de Mise à jour..... - uriak - 25-08-2007

j'envisage également de faire une mise à jour toutes les 24h dans mon jeu. A mon avis, si tu le fais en pleine nuit et que tu bloques l'accès au jeu durant ce temps, c'est jouable.

Bon sinon, tu peux diviser ta tâche en deux éléments. Au cours du connect, les joueurs récupèrent l'argent venant de sources directes. La somme reçue est notée, et une partie réservée. Lors de la mise à jour, tu transfères la part des crédit en commençant par la base jusqu'au haut.


RE: Question de Mise à jour..... - Loetheri - 25-08-2007

Est-ce qu'un joueur peut être dans un pyramide (donc avoir un supérieur et un inférieur) et en même temps être dans une seconde pyramide totalement séparée ?

Est-ce que ce système rapporterait beaucoup aux joueurs ? Il faut savoir que certains joueurs viendront tous les quarts d'heures tandis que d'autres ne joueront que la fin de semaine et le mercredi (donc tous les 3-4 jours).

Laisser la possibilité aux joueurs de choisir quand on remet les dividendes me semble assez complexe. Tout simplement parce que beaucoup de joueurs n'aiment pas être dépendant (en réalité, ils aiment être indépendant). Certains jeux ont essayé de le faire (et l'ont même fait) mais c'est un "combat" pour les gérants du jeu à le faire accepter. Continent est un exemple avec les vassaux.

Les statistiques ne doivent pas (selon moi) se faire tous les quarts d'heures, voire même pas toutes les heures.

Pour moi, une gestion indirecte au jeu me semble mieux cette fois-ci, même si j'ai tendance à calmer la tendance à l'usage du cron.

Ce qu'il est possible de faire, c'est de dire que tu fermes le site chaque semaine/jour à un moment donné, de récupérer les données sur un autre ordinateur et de faire les calculs sur celui-là puis de tout mettre à jour. L'avantage, c'est de ne pas avoir un hébergeur sur le dos qui dit "à tel heure, vous utilisez tout le CPU !". L'inconvénient, c'est que l'autre ordinateur doit être aussi constamment allumé au moment donné mais aussi avoir la possibilité d'utiliser le CPU à 100% à ce moment donné.

Je sais que je n'apporte pas réellement de solutions. Mais mes questions t'aideront peut-être à voir par toi-même ce qu'il en est et de te poser des questions que tu ne t'étais pas posé.


RE: Question de Mise à jour..... - joshua - 25-08-2007

Marrant, je m'etais deja posé beaucoup de ces questions!

Citation :Est-ce qu'un joueur peut être dans un pyramide (donc avoir un supérieur et un inférieur) et en même temps être dans une seconde pyramide totalement séparée ?

Non. Une pyramide correspondant a un empire, on peut ne faire partie que d'un empire et d'un seul a la fois. C'est deja pas mal!!

Citation :Est-ce que ce système rapporterait beaucoup aux joueurs ? Il faut savoir que certains joueurs viendront tous les quarts d'heures tandis que d'autres ne joueront que la fin de semaine et le mercredi (donc tous les 3-4 jours).
LE systeme est fait pour rapporter au joueur du dessus 20% des gains du joueur du dessous. Maintenant, les gains sont fonction du temps et donc ne sont pas liés aux nombres de connection.Maintenant un alea fait que sous certaines condition on peut perdre des gains (je n'ai pas tout donné de mon systeme non plus :d)
Me restait a definir si les revenus seraient donnés a la minute ou a l'heure ou a la journée.... Question de realisme apres Big Grin
De toute facon la mise a jour de base n'est sensée se faire qu'au besoin pour ne pas saturer le serveur, ou a date fixe en cron comme deja dit.



Citation :Laisser la possibilité aux joueurs de choisir quand on remet les dividendes me semble assez complexe. Tout simplement parce que beaucoup de joueurs n'aiment pas être dépendant (en réalité, ils aiment être indépendant). Certains jeux ont essayé de le faire (et l'ont même fait) mais c'est un "combat" pour les gérants du jeu à le faire accepter. Continent est un exemple avec les vassaux.

bah ca va créer plein d'histoires... mais en meme temps ca rajoutera un peu de piment a mon systeme..... qui est bien complexe. Ca sera la force du jeu, je pense. Si tout est bien maitrisé ^^

Citation :Les statistiques ne doivent pas (selon moi) se faire tous les quarts d'heures, voire même pas toutes les heures.

Les statistiques seront générées une fois par jour pour les comptes "payants", pour les autres ce sera une fois par semaine ^^

Citation :Pour moi, une gestion indirecte au jeu me semble mieux cette fois-ci, même si j'ai tendance à calmer la tendance à l'usage du cron.


Tu comprends mon probleme... Je passe mon temps a précher pour que l'on utilise pas le cron et voila que je me trouve coincé... sauf si quelqu'un a une autre solution!!


RE: Question de Mise à jour..... - joshua - 27-08-2007

Pas d'autres idées? ou sont passés les classiques?


RE: Question de Mise à jour..... - uriak - 27-08-2007

Il y a une petite possibilité... mettre à jour à la connexion avec répercutions sur les inférieurs risque de mettre ton serveur à genoux pour l'empereur (ou ceux situés très haut). Donc il faut inverser le problème : à chaque changement de gain d'un personnage, il faut propager ce changement à son supérieur. Donc chaque personnage aura deux taux de gain d'argent : le sien et celui provenant de ses inférieurs. Lorsqu'un joueur se connecte, il suffit d'utiliser la règle de différence de timestamp pour lui et que pour lui. Du coup, les mises à jours peuvent concernent au pire qu'un nombre de joueurs égal au nombre d'étages de ton empire, et ne se manifeste qu'en cas de changement de gains.


RE: Question de Mise à jour..... - denisc - 27-08-2007

Moi j'ai une autre idée Big Grin

Pourquoi faire ça en automatique? Il faut, à mon avis, permettre au joueur de donner ce qu'il considère comme 20% à son N+1... en lui laissant la possibilité de donner plus (c'est une buse) ou moins (et là, il arnaque son N+1 Tongue). Là dessus, tu ajoutes donc un système d'espionnage chez le N+1 qui permettra, pour une somme plus ou moins importante, d'envoyer un espion chez son N-1 pour voir s'il n'a pas été arnaqué! En contre partie, ce N-1 peut aussi avoir un niveau d'espionnage qui permet de camouffler à ces espions les fraudes Big Grin
C'est assez tordu comme idée, mais ça rajoute un peu de piquant au jeu!

Tu peux aussi mettre en place ce système dans lequel c'est le joueur qui choisi quel est le pourcentage de ses revenus qu'il donnera à son N+1.

Je pense que les reversement ne doivent pas se faire plus d'une fois par jour... Toi, quand tu paie tes impots, c'est tous les mois (ou tous les ans), pas tous les jours!

Voilà, j'ai donné mon idée...


RE: Question de Mise à jour..... - Roworll - 27-08-2007

Je rejoins Denisc sur un point :
Le paiement devrait se faire, à l'instar des impôts, à un moment donné et pas en continue.

Le plus adapté pour ce genre de système semble être un traitement quotidien, pendant lequel le site (ou juste certaines parties du site) sont inaccessibles, une sorte de calcul de "fin de tour".
Un traitement global à l'avantage de n'oublier personne. tout le monde payera ses impôts, le joueur qui se connecte 10 fois par jours tout comme celui qui ne passe qu'une fois par semaine.

En liant le paiement d'impôts à la connexion des joueurs, on entre dans une politique de revenus très aléatoires qui rend extrêmement difficile la planification (Obligé d'attendre que ce @#$% de subordonné rentre de vacance et se connecte pour avoir l'argent nécessaire à la construction de ce fichu destroyer...)