JeuWeb - Crée ton jeu par navigateur
Compte rendu glissant des actions et évènements - 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 : Compte rendu glissant des actions et évènements (/showthread.php?tid=3715)



Compte rendu glissant des actions et évènements - Feldoran - 22-02-2009

J'aimerais mettre en place une page "News" où apparaissent les compte-rendus:
- des dernières actions effectuées par le joueur
- des dernières actions en provenance d'autres joueurs qui l'ont ciblé
- de quelques actions de concurrents sans impact sur lui, tirées aléatoirement (juste pour l'ambiance)

Sans garder un historique très long, une semaine max. Et en essayant de ne pas consommer trop de ressources en base avec des tonnes de BLOB.

Est-ce qu'il y a une méthode classique et reconnue pour gérer ça? Ou bien d'autres idées??
Merci.


RE: Compte rendu glissant des actions et évènements - Kassak - 22-02-2009

Hum, BDD ?

Et du style pendant la nuit, tu supprimes toutes les données supérieur a 1 semaine....


RE: Compte rendu glissant des actions et évènements - Feldoran - 22-02-2009

Avec une table du type
Idjoueur
DateCR
ContenuCR
??

C'est vrai que ça paraît assez logique et naturel.
J'essaie juste de simplifier au max les requêtes parce que j'ai pris de l'hébergement pas cher qui rame un peu. Mais bon après tout faut pas en faire non plus une maladie. Je vais probablement partir vers ça.

Néanmoins si y'a d'autres idées de solutions, j'aimerais bien comparer!


RE: Compte rendu glissant des actions et évènements - Spears - 23-02-2009

Perso, c'est exactement ce que je fais Smile .
Tous les historiques (chez toi actions & évènements) de plus d'une semaine partent à la poubelle.


RE: Compte rendu glissant des actions et évènements - wild-D - 23-02-2009

Si tu veux t'économiser de la place en bdd, ne stock pas tes comtpe-rendu dans des blob.

normalement tes actions sont toutes typées
1) x fait interaction y avec z (mais les action sur soi-même répondent à ce format)
2) après il peut y avoir des "annonce générique", ou événement aléatoire
3)... je sais pas si y a vraiment d'autre format


donc tu crée des phrases modèles:
Tu attaques %s et le blesses / Tu attaques %s, mais celui-ci bloque ton attaque
etc...
au lieu de faire "la construction" des ligne du rapport durant l'action; tu stock juste l'id du modèle et des perso. (mais par contre ça te coutera plus cher vu que tu dois afficher le rapport; vu qu'à chaque fois faudra "l'écrire"... enfin a priori vu que tu rame déjà^^ c'est peut-être pas ce qui te conviendra).


Autre alternative: un fichier de log par joueur. Tu décide de conserver par défaut juste les XX dernière événement (tu peux aussi le faire avec les dates si tu y tiens); et tu fais le controle à l'affichage du rapport pour savoir si tu dois nettoyer ou pas.
(avantage, tu stocke donc toute les interactions, même en cas d'abscence prolongées, etc... celles-ci seront pas nettoyée par une routine qui vire tout au bout de X jours et tu assure que le joueur y aura donc accès au moins une fois. Faut juste assurer qu'un rapport ne grossira pas de manière infinie: genre pas qu'un gars ne lise jamais son rapport => forcer la visualisation du rapport à la connexion, et quelque petits trucs du genre)
De cette façon quand un joueur veut son rapport t'as limite juste un include à faire (+ une vérif condition nettoyage, donc du nombre de ligne du rapport/ou date). Ca n'est intéressant que si ta vérif de condition de nettoyage est vraiment très light; sinon autant utiliser les outils fourni par la bdd.