03-06-2009, 03:16 PM
Merci pour toutes vos contributions sur la problématique N°1.
Passons maintenant à la problématique N°2
J'en reviens à mes PNJs et à leurs besoins.
Dans la première étape, j'ai travaillé sur la manière dont je pouvais faire évoluer les besoins des PNJs périodiquement sans écrouler le serveur. Maintenant, je cherche un mécanisme décisionnel (et performant, bien sur) permettant de répartir les PNJs dans les bâtiments du joueur en fonction de leurs besoins les plus urgents.
Je repars avec mon postulat de base, à savoir 250.000 PNJS et 1000 joueurs.
Voici les données du problème
- Chaque joueur peut posséder des bâtiments
- Ces bâtiments permet de satisfaire un ou plusieurs besoins de base
- Les bâtiments peuvent avoir des restrictions de race (mais pas obligatoirement)
- Un bâtiment peut accueillir de 1 à N PNJs par tour de jeu.
- Les PNJs utilisent les bâtiments correspondant à leur(s) besoin(s) le(s) plus élevé(s) à raison d'un batiment par tour de jeu
Les structures actuelles des tables ressemblent à peu de choses près à ceci :
Visiteur
- ID Joueur
- ID Race
- Besoin Faim
- Besoin Hygiène
- Besoin Santé
- Besoin Repos
- Besoin Loisir
- Besoin Zen
Batiment
- ID Joueur
- ID Bâtiment
- ID Race
- Besoin Faim
- Besoin Hygiène
- Besoin Santé
- Besoin Repos
- Besoin Loisir
- Besoin Zen
Pour le moment, je n'ai pas d'algorithme satisfaisant solutionnant ce problème. Juste quelques pistes pour démarrer.
Par exemple, j'ai codé les races de manière à pouvoir utiliser les opérations binaires lors des recherches
De cette manière,
- un bâtiment acceptant toutes les races aura un race_id égal à 15
- un bâtiment réservé aux Astyrions et aux Dyrtans aura un race_id égal à 9
- un bâtiment uniquement fait pour les Curcen aura un race_id égal à 4
Ca me permet de récupérer par exemple tous les bâtiments accessibles aux Curcen en faisant
Quelle méthode utiliseriez-vous pour traiter cette problématique ?
Passons maintenant à la problématique N°2
J'en reviens à mes PNJs et à leurs besoins.
Dans la première étape, j'ai travaillé sur la manière dont je pouvais faire évoluer les besoins des PNJs périodiquement sans écrouler le serveur. Maintenant, je cherche un mécanisme décisionnel (et performant, bien sur) permettant de répartir les PNJs dans les bâtiments du joueur en fonction de leurs besoins les plus urgents.
Je repars avec mon postulat de base, à savoir 250.000 PNJS et 1000 joueurs.
Voici les données du problème
- Chaque joueur peut posséder des bâtiments
- Ces bâtiments permet de satisfaire un ou plusieurs besoins de base
- Les bâtiments peuvent avoir des restrictions de race (mais pas obligatoirement)
- Un bâtiment peut accueillir de 1 à N PNJs par tour de jeu.
- Les PNJs utilisent les bâtiments correspondant à leur(s) besoin(s) le(s) plus élevé(s) à raison d'un batiment par tour de jeu
Les structures actuelles des tables ressemblent à peu de choses près à ceci :
Visiteur
- ID Joueur
- ID Race
- Besoin Faim
- Besoin Hygiène
- Besoin Santé
- Besoin Repos
- Besoin Loisir
- Besoin Zen
Batiment
- ID Joueur
- ID Bâtiment
- ID Race
- Besoin Faim
- Besoin Hygiène
- Besoin Santé
- Besoin Repos
- Besoin Loisir
- Besoin Zen
Pour le moment, je n'ai pas d'algorithme satisfaisant solutionnant ce problème. Juste quelques pistes pour démarrer.
Par exemple, j'ai codé les races de manière à pouvoir utiliser les opérations binaires lors des recherches
Code :
ID | Race
---|---------
1 | Astyrion
2 | Bellist
4 | Curcen
8 | Dyrtan
De cette manière,
- un bâtiment acceptant toutes les races aura un race_id égal à 15
- un bâtiment réservé aux Astyrions et aux Dyrtans aura un race_id égal à 9
- un bâtiment uniquement fait pour les Curcen aura un race_id égal à 4
Ca me permet de récupérer par exemple tous les bâtiments accessibles aux Curcen en faisant
Code :
SELECT ... FROM batiments WHERE race_ID & 4 <> 0 AND ...
Quelle méthode utiliseriez-vous pour traiter cette problématique ?
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC