IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Classe/Objet] Copie d'Ogame


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut [Classe/Objet] Copie d'Ogame
    Je me suis mis en tête de faire une copie du jeu (purement personel evidement ...)
    (Pour ceux qui ne connaissent pas, c'est un jeu dans l'espace, et tout le monde s'envoie des flottes de combat dans le but de piller les autres ... c'es très porter sur la pubs et il n'y a quasiment aucune évolution.)

    Je compte le faire en objets, donc pour ca j'ai mes classes (CVaisseau, Cbatiment, Cplanete, etc ... ). Pour ce coté, je ne pense pas avoir de problème.


    Par contre, dans le jeu, on peut construire des mines qui produisent des ressources en continu. J'aimerais connaire la facon de calculer ca.

    Etant donné que c'est du php, il n'est pas possible de créer une tache qui met à jour la production.
    Donc j'aimerais savoir comment d'après vous cela pourrait être codé.

    (Si vous avez des question, n'hésitez pas)

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449

  3. #3
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut Re: [Classe/Objet] Copie d'Ogame
    Citation Envoyé par Space Cowboy
    Etant donné que c'est du php, il n'est pas possible de créer une tache qui met à jour la production.
    Justement tu peux le faire, et ce de 2 manières :

    - Soit à chaque fois qu'un joueur se connecte tu vérifie le tps passé depuis le dernier rafraichissement de mine, et tu en lances un si ce délai est dépassé ( par exemple 10 minutes )

    - Soit via un CRON, qui va lancer une page php à intervalle régulier, ce qui est le plus propre à mon avis. Concernant le cron c'est en fait ce qu'on pourrait appeler sous windows une tâche planifiée, tu peux te monter tes propres cron en te documentant sur le net, ou bien passer par un site tel que http://www.webcron.org

    Wola

  4. #4
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    La solution la plus simple est évidemment un CRON. Tu mets toutes tes requêtes de mise à jour à la suite et ce fichier est appelé soit par http://www.webcron.org , soit par un cron directement réalisé sur ton serveur.
    Mais pour en avoir fait l'expérience, je ne te le conseille pas pour ce type de jeu. J'avais réalisé un jeu où les "ressources" arrivaient chaque heure, et d'autres chaque jour. Ayant mal construit mes requêtes et ayant un paquet de joueurs, le serveur avait ENORMEMENT de mal pendant l'exécution des tâches cron.
    Je pense, à mon humble avis ^^, que la meilleure solution est la suivante :
    -dès que le joueur demande à afficher la page, tu recalcules les stocks en direct
    -si un joueur cherche à attaquer un autre joueur, tu n'as que les données des deux joueurs à recalculer avant de lancer tes algos de combat.

    C'est vraiment plus efficace à mon goût, mais d'autres avis peuvent me contredire... ^^ Je ne parlais que de mon expérience perso.

  5. #5
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Citation Envoyé par johweb
    La solution la plus simple est évidemment un CRON. Tu mets toutes tes requêtes de mise à jour à la suite et ce fichier est appelé soit par http://www.webcron.org , soit par un cron directement réalisé sur ton serveur.
    Mais pour en avoir fait l'expérience, je ne te le conseille pas pour ce type de jeu. J'avais réalisé un jeu où les "ressources" arrivaient chaque heure, et d'autres chaque jour. Ayant mal construit mes requêtes et ayant un paquet de joueurs, le serveur avait ENORMEMENT de mal pendant l'exécution des tâches cron.
    Je pense, à mon humble avis ^^, que la meilleure solution est la suivante :
    -dès que le joueur demande à afficher la page, tu recalcules les stocks en direct
    -si un joueur cherche à attaquer un autre joueur, tu n'as que les données des deux joueurs à recalculer avant de lancer tes algos de combat.

    C'est vraiment plus efficace à mon goût, mais d'autres avis peuvent me contredire... ^^ Je ne parlais que de mon expérience perso.
    Je ne connaissez pas du tout les scripts cron.

    Si on prend l'exemple d'Ogame, ils ont dans les 11000 joueurs par serveur, chaque joueur rafraichis ça page toute les 10 secondes par exemple, ce qui fait 11000 requêtes toute les 10 secondes, le serveur doit effectivement ramer à ce niveau.

    Je ne suis pas sur (je découvre), mais pour lancer les scripts cron il faut taper une ligne de commande, impossible chez un hébergeur ...

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ca dépend de l'hébergeur.

  7. #7
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Free toujours ...

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    désolé ^^

  9. #9
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    d'ou l'interet d'un service comme www.webcron.org

    Pour ce qui est de ogame il doit être ultra-optimisé à mon avis, deja il doit forcément passer par un systeme de cache.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] [POO] [Classe/Objet]xml
    Par 2xyo dans le forum Langage
    Réponses: 19
    Dernier message: 21/03/2006, 19h00
  2. Réponses: 15
    Dernier message: 29/12/2005, 10h32
  3. [POO] projet ->soutirer les classes objets
    Par .:dev:. dans le forum C++
    Réponses: 10
    Dernier message: 14/06/2005, 23h05
  4. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  5. Méthode de classe et copie d'objets
    Par Duloup dans le forum Général Python
    Réponses: 5
    Dernier message: 11/04/2005, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo