JeuWeb - Crée ton jeu par navigateur
[En Cours] Moteur de jeux - 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 : [En Cours] Moteur de jeux (/showthread.php?tid=3089)

Pages : 1 2


[En Cours] Moteur de jeux - lemouix - 23-09-2008

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]


RE: [En Cours] Moteur de jeux - Amrac - 23-09-2008

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 Tongue

Pour l'algo de combat, je suis parti de 0 personnellement.


RE: [En Cours] Moteur de jeux - lemouix - 23-09-2008

Merci pour ta réponse AMRAC, j'avai pas envisagé ce que tu expliques pour le cheat de ressources Smile (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.


RE: [En Cours] Moteur de jeux - Ter Rowan - 23-09-2008

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)


RE: [En Cours] Moteur de jeux - Amrac - 23-09-2008

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.


RE: [En Cours] Moteur de jeux - lemouix - 23-09-2008

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 !


RE: [En Cours] Moteur de jeux - lemouix - 21-11-2008

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.

[Image: Diagrammedeclasses1_u1227261378.gif]

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 !


RE: [En Cours] Moteur de jeux - Plume - 21-11-2008

Il manque un dictionnaire pour aider à comprendre la totalité assez rapidement Smile


RE: [En Cours] Moteur de jeux - lemouix - 21-11-2008

Rien compris Plume.... :p tu peux m'expliquer ce que tu veux dire par là ?


RE: [En Cours] Moteur de jeux - Melimelo - 21-11-2008

Tu trouves aussi que c'est compliqué a comprendre ce qu'il raconte plume Tongue

Et encore je dois passer des heures par mp Big Grin