lemouix
Membre
Messages : 115
Inscription : Aug 2008
Réputation : 0
|
[En Cours] Moteur de jeux
Bonjour,
Que conseillez vous pour la gestion des ressources d'un joueur pour un jeux en ligne:
1- Stockage des infos dans la session (ressources, valeur, production par heure,...) avec un affichage basé là dessus
2 - Lecture des infos dans la bdd pour l'affichage (plus lourd pour le serveur).
Le but est de faire en sorte que le serveur ne soit pas surchargé de requêtes.
Si vous avez déjà travaillé sur des jeux avec une gestion similaire, ça serait sympa de faire un feed-back de vos expériences ici !!!
Sinon, pour les algos de combat, existe t-il des bases ou êtes vous partis de 0 ?
Merci d'avance, à bientôt !
-----
Développement du moteur de jeux php en cours:
Etape: Base de données
- définition des contraintes [OK]
- modélisation de la base de donnée [En Cours]
Développement du moteur de jeux php en cours:
- Définition du cahier des charges: 70 %
- Diagramme UML de classes: 40 %
- Code: 5 %
|
|
| 09-23-2008 10:23 AM |
|
Amrac
Membre
Messages : 368
Inscription : Jun 2007
Réputation : 7
|
RE: [En Cours] Moteur de jeux
En fait cela dépend des interactions qu'il y aura entre tes joueurs.
S'il n'y as aucune interaction, tu charge tout dans une session a la connexion et lors d'une modification, tu met à jour la base de données et ta session. Au niveau des performances, c'est le pied.
Mais dans la réalité, en général tu as des interactions entre tes joueurs. Le problème (d'après moi), c'est que tu ne peut pas stocker tout les éléments pouvant être modifié par un autre joueur. Par exemple, si un autre joueur peut piller les ressources, a chaque nouvelle page tu doit lire dans la base de données la quantité de ressource qu'a le joueur car elle peut avoir était modifié.
Si tu opte pour la premiere option, attention aux abus. Je te conseil de limiter à une session active par joueur maximum, sinon tu peut avoir des abus de ce style.
Ouverture d'une session (avec mozilla par exemple): SESSION1: Ressource = 10.000
Ouverture d'une seconde session (avec IE par exemple): SESSION2: Ressource = 10.000
Dans la SESSION1, le joueur construit un batiment de 8.000 => SESSION1: Ressource = 2.000
Dans la SESSION2, le joueur dispose de 10.000 ressources à dépensé, alors qu'il devrait en avoir 2.000.
Je sais pas si j'ai était très clair
Pour l'algo de combat, je suis parti de 0 personnellement.
"L’avenir ne peut être prédit mais les avenirs peuvent être inventés"
Denis Gabor.
|
|
| 09-23-2008 10:54 AM |
|
lemouix
Membre
Messages : 115
Inscription : Aug 2008
Réputation : 0
|
RE: [En Cours] Moteur de jeux
Merci pour ta réponse AMRAC, j'avai pas envisagé ce que tu expliques pour le cheat de ressources  (c'est très clair t'en fais pas).
Donc, pour ce qui est fixe pour le joueur comme les batiments, les technos, je peux stocker ça dans la session. En revanche, pour ce qui est des ressources, unités, ... il vaut mieux faire une lecture de base.
En fait le moteur nous permettra de créer n'importe quel type de jeux allant d'un ogame avec plus de possibilités jusqu'à un jeux comme ikariam ou autre.
Développement du moteur de jeux php en cours:
- Définition du cahier des charges: 70 %
- Diagramme UML de classes: 40 %
- Code: 5 %
|
|
| 09-23-2008 11:04 AM |
|
Ter Rowan
Membre
Messages : 302
Inscription : Jul 2008
Réputation : 4
|
RE: [En Cours] Moteur de jeux
et encore... (je suis peut être parano, et pas expert du tout)
à mon sens n'utilise dans les sessions ces info que pour aider à l'affichage, pas pour faire des tests
genre si le joueur demande de produire tel unité, vérifie en bdd si le joueur a le bâtiment nécessaire pour les produire, même si tu as cette info en session)
|
|
| 09-23-2008 01:51 PM |
|
Amrac
Membre
Messages : 368
Inscription : Jun 2007
Réputation : 7
|
RE: [En Cours] Moteur de jeux
Je confirme que pour tout ce qui est tests (constructions, recherches ...) l'idéal est de passer par la base de données car c'est:
-Plus sur, si une couille fait que la valeur dans la session est erroné, tu limite les dégâts.
-Pas cher, car cela représente un faible nombre de requête.
Pour du simple affichage, s'il y a un problème ce n'est pas trop grave et on s'en rend vite compte (puisque les joueurs se plaindront), et cela permet d'économiser énormément de requêtes.
"L’avenir ne peut être prédit mais les avenirs peuvent être inventés"
Denis Gabor.
|
|
| 09-23-2008 02:35 PM |
|
lemouix
Membre
Messages : 115
Inscription : Aug 2008
Réputation : 0
|
RE: [En Cours] Moteur de jeux
En fait, tout se passe dans la BDD directement pour tout ce qui concerne la conso du style:
Le joueur lance une construction, un trigger vérifie automatiquement les ressources du joueur et s'il a les ressources, lance la construction et déduis de ses ressources les valeurs nécessaires !
Développement du moteur de jeux php en cours:
- Définition du cahier des charges: 70 %
- Diagramme UML de classes: 40 %
- Code: 5 %
(Ce message a été modifié le : 09-23-2008 03:02 PM par lemouix.)
|
|
| 09-23-2008 03:01 PM |
|
lemouix
Membre
Messages : 115
Inscription : Aug 2008
Réputation : 0
|
RE: [En Cours] Moteur de jeux
Un peu de nouveau sur notre projet.
Nous sommes en cour d'élaboration des diagrammes et surtout la définition des technologies à utiliser.
Voici le diagramme que j'ai pu élaborer. Etant novice en UML, pourriez vous me donner vos avis sur le diagramme de classe suivant (je n'ai pas indiqué toutes les méthodes des différentes classes par manque de temps). Je ne sais pas si j'ai modélisé tout ça correctement.
EDIT - 21/11/2008 14:03 :
A ajouter:
La classe utilisateur qui étend element. Joueur étend utilisateur.
Voici les explications:
Tous les éléments du moteur possèdent un nom, une description et une image associée. Toutes les classes étendent la classe element.
Espace est l'environnement. Exemple: Planète, pouvant contenir pays, ...
Les actifs sont ceux qui peuvent produire et/ou consommer (batiments et unités) une ou plusieurs ressources.
Une unité pourra se déplacer et attaquer (à ajouter: transporter).
Le but du moteur, pour le rappeler, est d'utiliser des termes génériques afin de pouvoir utiliser le moteur pour n'importe quel jeux.
Un joueur possède plusieurs espaces et chaque espace contient plusieurs éléments:
Une planète contiendra des batiments, des unités, des ressources, des technologies.
Une technologie pourra influencer un actif sur sa défense ou son attaque.
Est ce un peu plus précis ?
FIN EDIT POST
A bientôt !
Développement du moteur de jeux php en cours:
- Définition du cahier des charges: 70 %
- Diagramme UML de classes: 40 %
- Code: 5 %
(Ce message a été modifié le : 11-21-2008 03:03 PM par lemouix.)
|
|
| 11-21-2008 12:08 PM |
|
Plume
Membre
Messages : 377
Inscription : Jul 2008
Réputation : 6
|
|
| 11-21-2008 12:22 PM |
|
lemouix
Membre
Messages : 115
Inscription : Aug 2008
Réputation : 0
|
RE: [En Cours] Moteur de jeux
Rien compris Plume....  tu peux m'expliquer ce que tu veux dire par là ?
Développement du moteur de jeux php en cours:
- Définition du cahier des charges: 70 %
- Diagramme UML de classes: 40 %
- Code: 5 %
|
|
| 11-21-2008 12:26 PM |
|
Melimelo
Membre
Messages : 292
Inscription : Sep 2008
Réputation : 3
|
RE: [En Cours] Moteur de jeux
Tu trouves aussi que c'est compliqué a comprendre ce qu'il raconte plume
Et encore je dois passer des heures par mp
|
|
| 11-21-2008 01:01 PM |
|