gérer N partie avec des données partagées pour un wargame.

gérer N partie avec des données partagées pour un wargame. - Algo - Programmation

Marsh Posté le 16-08-2011 à 00:35:32    

Bonjour à tous, merci de votre lecture.
Je voudrais concevoir un jeu banal a priori, on partage une carte en réseau pour y placer des armes et une unité stratégique et on calcule qui gagne.
La règle exactement est simple a priori ; Tant que Le point stratégique n'est pas détruit, on peu ajouter des armes et tirer, si non la partie est perdu simplement. Le point stratégique est un point invisible des joueurs alors que les armes le sont. Le point stratégique est placé au début de parti et on ne peut pas le déplacer, les armes sont déplaçable.
 
Malgré la simplicité je cherche comment gérer toute les parties.
Si vous aviez une idée pour compléter le ma vision du jeux ou si vous pouviez m'orienter sur une technique approprié ce serait sympatoche. En tout cas, merci.  :jap:


Message édité par Profil supprimé le 16-08-2011 à 00:40:45
Reply

Marsh Posté le 16-08-2011 à 00:35:32   

Reply

Marsh Posté le 16-08-2011 à 09:02:59    

pourquoi pas une matrice triangulaire représentant les parties entre tous les couples de joueurs. Une case dans une matrice contient une structure représentant le déroulement d'une partie entre 2 joueurs.
 
Je sais pas si j'ai répondu à ta question... Ca manque un peu de précision ta question :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-08-2011 à 09:59:36    

Bonjour rufo.
 
En fait c'est un ensemble de partie d'un joueur contre tous les autres joueurs.
Que manque t-il comme précision ?

Reply

Marsh Posté le 16-08-2011 à 10:04:47    

C'est bien ce que j'avais compris, d'où ma matrice triangulaire (supérieure). Les lignes et colonnes représentent les joueurs, les intersections, les parties entre 2 joueurs.
 
Au sujet des précisions, ça portait sur si tu savais déjà comment tu modélisais le terrain de jeu, les scores, caractéristiques des armes (type, portée, puissance, vitesse...)...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-08-2011 à 10:21:17    

J'ai fait une base de données.
 
Si tu confirme pour la matrice, je fais ça comment ?
Merci.

Reply

Marsh Posté le 16-08-2011 à 10:24:38    

Une table avec au moins 2 colonnes qui représentent les lignes/colonnes. Les autres colonnes représenteront les données modélisant une partie entre 2 joueurs + un index sur Ligne/Colonne


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-08-2011 à 10:38:31    

Ca va être trop compliquer pour moi ça.
De plus, en y réfléchissant, c'est un jeu à partie unique que j'ai à gérer il me semble.
Excuse moi rufo. J'ai posté tard.

Reply

Marsh Posté le 18-08-2011 à 22:17:03    

loop
  Les joueurs positionnent leurs objets et choisissent un algorithme de recherche d'objets invisibles (grâce aux objets visibles).  
  Je partage les données avec le serveur.
  Je partage les données visible avec les clients.
  A chaque itération de recherche j'envoie l'ensemble des requêtes de visibilités au serveur.
  je récupère le résultat, je met à jour la banque d'objet visible avec ceux gagnés.
end loop
Je veux héberger l'algorithme de recherche sur le client bonne idée ?

Reply

Marsh Posté le 19-08-2011 à 09:31:20    

Je dirais que oui. En plus, tu pourrais le rendre adaptable en lui permettant d'apprendre et d'améliorer l'algo de recherche au fil des parties, voire au cours d'une partie. Ainsi, les clients ne seraient pas équivalents.
Tu peux mettre à disposition plusieurs algos de recherche avec des paramètres de base. Au début, le client va sélectionner au hasard un algo de recherche. Au cours de la partie, et de l'expérience acquise, le client peut modifier les paramètres de base de l'algo de recherche pour le rendre plus efficace. Sur la base de critères à définir, le client peut se rendre compte que ses adversaires progressent mieux, il peut donc décider de changer d'algo. Si tu trouves que c'est trop difficile de faire évoluer les algos de recherche, tu peux très bien en proposer plusieurs avec des paramètres de plus en plus efficace suivant l'avancée dans al partie et/ou l'expérience acquise par chaque client.
 
Genre, en début de partie, y'a que des algos en efficacité en n² puis un peut plus tard, en n.log(n)... ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-08-2011 à 11:11:37    

Bonjour,
 
Merci rufo. très bonne idée, j'ai pensé à implémenter plusieurs algo lorsque tu ma dis que le VDC pouvait également se résoudre avec les graphes orientés, mais à part ça, je ne sais quels sont les algo adaptés à mon problème et les paramètres de ceux-ci.
 

Citation :

Genre, en début de partie, y'a que des algos en efficacité en n² puis un peut plus tard, en n.log(n)... ;)


Tous les algo doivent être visible dès le début de partie.


Message édité par Profil supprimé le 19-08-2011 à 11:12:40
Reply

Marsh Posté le 19-08-2011 à 11:11:37   

Reply

Marsh Posté le 19-08-2011 à 11:38:55    

Ben t'as déjà l'algo "naïf" qui explore au hasard une des cases connexes à celle courante => pas de trajet optimisé, pas d'intelligence, donc peu efficace pour explorer toute la carte.
 
Dans le cas où tes objets peuvent prendre plus d'un case, y'a l'algo du "touché coulé". Quand tu trouve une portion d'un gros objet (genre porte-avion pour rester dans l'esprit de l'algo), ben tu vas pas explorer au hasard les cases qui restent. Connaissant la forme de l'objet et par rapport au cases déjà explorées, tu vas affiner la recherche.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-08-2011 à 11:47:26    

rufo a écrit :

Ben t'as déjà l'algo "naïf" qui explore au hasard une des cases connexes à celle courante => pas de trajet optimisé, pas d'intelligence, donc peu efficace pour explorer toute la carte.


Dans la mesure ou cette fonctionnalité de recherche, quelque soit l'algorithme, elle doit constituer une aide à l'exploration de carte.

rufo a écrit :


Dans le cas où tes objets peuvent prendre plus d'un case, y'a l'algo du "touché coulé". Quand tu trouve une portion d'un gros objet (genre porte-avion pour rester dans l'esprit de l'algo), ben tu vas pas explorer au hasard les cases qui restent. Connaissant la forme de l'objet et par rapport au cases déjà explorées, tu vas affiner la recherche.


 
Non, un objet n'utilise qu'une case, et encore pas toute la case, plusieurs objet peuvent se trouver à la même position plutôt.

Reply

Marsh Posté le 20-08-2011 à 12:00:06    

Oui, mais tout ça je pourait le faire sur le serveur, qu'est-ce que ça change à par la puissance allouées si je place l'algo de recheche sur le client ? Transfert de données superflus, contre allègement des serveur ?
Les coûts de dev aussi, c'est pas moindre, ça va pas simplifier la chose en tout cas.


Message édité par Profil supprimé le 20-08-2011 à 12:02:54
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed