Créer son jeu en PHP

Tout pour créer soit-même son jeu en PHP
 
AccueilAccueil  ­CalendrierCalendrier  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Système de tickers

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Deadly
Nouveau


Nombre de messages: 5
Age: 18
Date d'inscription: 10/08/2006

MessageSujet: Système de tickers   Jeu 10 Aoû - 6:50

Bonjour à tous, je suis présentement en train de programmer un MMORPG en langage PHP...je suis sur ce projet depuis environ 2 mois; tout allait bien jusqu'à aujourd'hui...jusqu'à ce que je me rende compte que ce que je voulais programmer dépassait mes connaissances (ou échappaient à ces dernières). J'ai lu toutes les annonces et les post-it de ce forum, mais je dois vous avouer que, contrairement à ce qui a été recommandé dans l'un d'eux, il m'est impossible d'abandonner l'idée de le programmer puisque c'est carrément le coeur de mon jeu...

...j'aimerais savoir comment coder un système de tickers...Ce que sont les tickers? Prenez par exemple le jeu Bahagon (www.bahagon.com); c'est ce qui fait qu'à toutes les heures, le jeu avance pour tout le monde...si la conjuration de 2000 unités a été lancée à 8h00 et qu'elle a besoin de 4 heures pour prendre effet, elle sera terminée à midi! Aussi, si je lance la construction d'une maison (qui, elle, prend 3 heures) à une heure donnée, elle doit être terminée 3 heures après...et non après que j'en ait donné l'ordre.

Puisque mon jeu est dans le même style que Bahagon, j'aurai besoin des tickers qui font progresser mon jeu à chaque heure (par exemple à tous les XX:30). À titre d'exemple, prenons les ressources...À chaque heure qui passe (chaque tick), une quantité variable (déja codée) de ressources sera ajoutée au stock déjà présent...ce qui fera que chaque compte inscrit au jeu progressera même quand le joueur dormira ou sera en vacances aux Bahamas... Concrètement, disons que je veule attaquer une personne se trouvant à 10 heures de moi. Je lance mon attaque à 14h00. Techniquement, l'affrontement devrait commencer à minuit...mais comment faire pour que ça se passe ainsi? Comment faire pour que, même quand le joueur n'est pas devant son PC à charger des pages PHP (qui elles transmettent des directives à ma BDD), ses ressources continuent à s'accumuler, son armée avance vers la cible, ses bâtiments se construisent, et ses unités se créent à chaque heure qui passe...au gré des tickers qui, eux, one le rôle de dire à PHP que "une heure vient de passer, fais progresser toutes ls variables du jeu d' 1 heure...comme cette légion là-bas, elle n'est plus à 5 heures de sa destination, elle est maintenant à 4 heures...etc".

J'espère que vous pourrez m'éclairer...merci d'avance, j'ai essayé de détailler le plus possible

(Veuillez noter que j'ai pris des exemples tirés du jeu MMORPG Bahagon seulement à titre d'exemple et dans l'espoir que vous puissiez voir concrètement ce que je vous demande...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
transgohan
Langue pendue


Nombre de messages: 68
Date d'inscription: 10/06/2006

MessageSujet: Re: Système de tickers   Jeu 10 Aoû - 7:16

Hum alors j'ai jamais eu à utiliser ce genre de chose et donc j'en connais pas grand chose...
Mais je peux te proposer webcron qui permet de lancer une page à une heure précise même s'il n'y a personne sur le site.

_________________
Auberpg: mon jdr en construction
Version beta ouverte: necessite RP !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Deadly
Nouveau


Nombre de messages: 5
Age: 18
Date d'inscription: 10/08/2006

MessageSujet: Re: Système de tickers   Jeu 10 Aoû - 19:43

À priori, je crois que je pourrais être capable de gérer une page avec Webcron sur laquelle je ne metterais que des instructions pour MySQL...D'ailleurs, j'essaie sur le champs et je vais revenir éditer pour vous dire ce qu'il en ressort.

En tous cas, merci beaucoup pour la réponse rapide (et cohérente ). Si quelqu'un d'autre a une option de secours, ça pourrait m'être très utile éventuellement...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
-=[ X-ZoD ]=-
Modérateur Programmation


Nombre de messages: 795
Date d'inscription: 12/06/2005

MessageSujet: Re: Système de tickers   Jeu 10 Aoû - 22:12

tu peux aussi declecher une verification a chaque chargemnt de page.....
ainsi cela se ra mis a jour pour tout le monde si kk1 declenche la verification kk soi tla personne...

si cela ne concerne kune seule personne.. tu peu metre un systeme de compte a rebours en javascript....

ça aide ?

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Deadly
Nouveau


Nombre de messages: 5
Age: 18
Date d'inscription: 10/08/2006

MessageSujet: Re: Système de tickers   Ven 11 Aoû - 21:38

Javascript?

Il n'y a vraiment aucun autre moyen que celui d'apprendre un autre langage?

Sinon, pour Webcron, ça ne fonctionne pas dans mon cas...parce que mon jeu est encore géré par EasyPHP...et je prévois laisser ça ainsi pour un bon bout. (Surtout pour faire des tests avant de mettre mon jeu en ligne) Donc, puisque mon jeu se joue en local et n'a aucune adresse internet qui permet d'y accéder de l'extérieur, Webcron ne peut pas aller actualiser ma page à toutes les heures...

...Mais je sais qu'il y a moyen de traffiquer Apache (EasyPHP) pour que le serveur permette qu'on y accède à partir d'internet...quelqu'un saurait quoi modifier et où? J'ai essayé d'ajouter la ligne "listen X.X.X.X" (mon adresse ip internet), mais rien ne fonctionne...si je réussis à le rendre accessible de l'extérieur, Webcron pourra aller faire son job et je pourrai réaliser mes tests en paix!

Merci encore à ceux qui tentent de m'aider...c'est très gentil.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
joshua
Bavard


Nombre de messages: 18
Age: 31
Localisation: Paris
Date d'inscription: 11/08/2006

MessageSujet: Re: Système de tickers   Ven 11 Aoû - 21:43

pas le choix pour toi il faut que tu créé un batch windows qui execute une page de mise a jour php a heure fixe.... et ce batch tu l'ajoute dans la table de lancements windows (ce qui sert a faire de la sauvegarde de nuit par exemple.
Tu dois trouver des gens qui ont fait ca sans trop de problemes...
Mais la tu décorele le jeu client/server. Pourquoi ne pas faire du temps reel?

_________________
Codiquement Vôtre,
Joshua
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
naholyr
Langue pendue


Nombre de messages: 97
Date d'inscription: 08/06/2006

MessageSujet: Re: Système de tickers   Ven 11 Aoû - 22:47

Tu as une table à disons 3 colonnes : evenements_en_cours(evenement, date_debut, date_fin)

Lorsque "evenement" est lancé à 16h30, et est censé mettre 3h30 à se dérouler, tu ajoutes une ligne à ta table ("evenement", "ajourd'hui 16h30", "aujourd'hui 16h30" + "3h30") => ("evenement", "j/m/Y 16h30", "j/m/Y 20h00").

À chaque chargement de page tu exécutes une fonction qui a pour rôle de lister les évènements terminés : toutes les lignes de la table "evenements_en_cours" dont "date_fin" <= "maintenant", tout simplement

Pour des raisons d'optimisation tu peux très bien ne pas exécuter cette fonction à chaque page mais seulement aux pages concernés.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Deadly
Nouveau


Nombre de messages: 5
Age: 18
Date d'inscription: 10/08/2006

MessageSujet: Re: Système de tickers   Sam 12 Aoû - 15:27

C'est à peu près ce que j'ai fait la semaine dernière...sauf que je me suis aperçu que ça ne gérait que l'affichage du "temps restant" pour les constructions et la progression des légions...en d'autres mots, ce système doit pouvoir donner(soustraire?) des ressources à toutes les heures...chaque tick est différent et ce qu'il fait est en lien direct avec les paramètres de la seconde où il passe.

Mais merci quand même,...je crois vraiment que je pourrai faire qqch d'utile avec ça.

Sinon, j'ai progressé dans la lignée "fais une page PHP qui doit être exécutée à toutes les heures". Elle est terminée...et chaque fois que j'actualise la page, c'est comme si 1 heure venait de passer sur le jeu (les ressources augmentent! ). Seul problème qui persiste: comment la faire s'actualiser automatiquement à intervalle régulier? Ou alors...comment traffiquer Apache pour que Webcron puisse le faire de par internet?

N'existerait-il pas une sorte de EasyWebcron qui run en local?

(PS: J'ai vu sur un forum anglais que les ticks ont été programmés en console (C++)...ça se pourrait? Si oui, quelqu'un aurait la gentillesse de partager ses connaissances en C++ avec moi en me donnant une jolie piste? )

Sinon, bah, encore merci pour votre aide...z'êtes trop gentils!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
joshua
Bavard


Nombre de messages: 18
Age: 31
Localisation: Paris
Date d'inscription: 11/08/2006

MessageSujet: Re: Système de tickers   Sam 12 Aoû - 18:37

http://www.teamatic.net/articles/tutoriaux-windows/creer-une-tache-planifiee/

http://karibou10.free.fr/xp/faq/34.htm

est ce que ces deux trucs repondent a ta question? tu execute une tache qui lance ton fichier php toutes les heures....

_________________
Codiquement Vôtre,
Joshua
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
joshua
Bavard


Nombre de messages: 18
Age: 31
Localisation: Paris
Date d'inscription: 11/08/2006

MessageSujet: Re: Système de tickers   Sam 12 Aoû - 18:38

j'ai peut etre ton bonheur!!!!
VA voir la:
http://stephaneey.developpez.com/tutoriel/php/service-windows/

_________________
Codiquement Vôtre,
Joshua
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Deadly
Nouveau


Nombre de messages: 5
Age: 18
Date d'inscription: 10/08/2006

MessageSujet: Re: Système de tickers   Lun 14 Aoû - 2:42

...Et quelqu'un peut m'expliquer en...français...ce que je dois faire?

(Je sais, j'en demande beaucoup... )

Mais, à propos des tâches planifiées Windows...y'a moyen de mettre "À toutes les heures" ? Parce que moi, j'ai vu qu'à intervalle d'une ou de plusieurs journées...

Edit: Lol, j'ai trouvé...enfin je crois...c'est dans "Avancé", non? J'ai coché "Répéter la tâche à toutes les 1 heures"...reste à voir si ça marche...

(Merci de votre aide!)

Edit2: Eh ben oui, en effet, ça exécute comme prévu...mais le problème, c'est qu'il ouvre mes pages PHP sous le bloc-notes...j'ai essayé de modifier les paramètres d'ouverture de mes fichiers PHP pour qu'ils s'ouvrent sous Internet Explorer...et même sous Mozilla FireFox...mais rien, Windows n'exécute pas mon fichier PHP. (Étrange puisqu'il ouvre volontiers une page IE quand elle se termine par l'extention ".html"...) Quelqu'un saurait quoi faire?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
joshua
Bavard


Nombre de messages: 18
Age: 31
Localisation: Paris
Date d'inscription: 11/08/2006

MessageSujet: Re: Système de tickers   Lun 14 Aoû - 9:05

regarde bien le dernier lien que je t'avais envoyé ca explique comment transformer un script php en service.... je pense que c'est a peu pres ce que tu veux faire, non?

_________________
Codiquement Vôtre,
Joshua
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Système de tickers

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Créer son jeu en PHP :: PROGRAMMATION :: Demande d'aide-
Poster un nouveau sujet   Répondre au sujet