Répartition des morts après un combat - 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 : Répartition des morts après un combat (/showthread.php?tid=8013) |
RE: Répartition des morts après combat - Chbig - 20-08-2019 (20-08-2019, 05:12 PM)Xenos a écrit : Le problème de simuler chaque unité, c'est la masse que tu peux finir par avoir (10k unités attaquant 10k unités, ça peut vite faire lourd: on parle de 100M de combinaisons là!). Groupées par type, ça sera déjà mieux. Cela s'appelle une modélisation, et c'est ce qui permet d'éviter de simuler une galaxie pour rien : ) Xenos, pour ce qui est de la séparation / factorisation du code ça je gère. J'ai des classes bien distinctes pour la gestion des combats etc... D’ailleurs j'implémente mon système de combat de façon 'basique' pour le moment, je ne prends pas encore en compte les 'évolutions' qui boost l'attaque/défense etc... mais je sais ou le mettre au moment voulu Pour ce qui est de la modélisation dont tu parles pour les 1 unité en attaque 1 autre, si vous avez déjà dû implémenté ça je serai ravi de voir comment vous l'avez fait. (ou si vous avez le bon lien ) Une autre question, qui pourrait faire l'objet d'un autre post, je m'interrogeais sur la meilleur façon de 'stocker' les rapports de combat. Moi pour le moment, je suis parti pour stocker en BDD les attaques, les combats et les rounds des combats. 1 attaque = 1 ou plusieurs combats (en fonction du type d'attaque) 1 combat = 1 ou plusieurs rounds Actuellement le tout est stocké en BDD. Mais je me demandais si vous faisiez ce genre de chose ou si vous avez d'autres alternatives ? J'ai même conçu mon schéma de BDD pour pouvoir facilement ajouter des types d'unités au fil du temps sans avoir à toucher au code. En faite j'ai plein de questions à vous posez mais j'ose pas vous flooder (et ça ferait pas mal de post intéressant je pense) RE: Répartition des mort après combat - Ter Rowan - 20-08-2019 (20-08-2019, 02:23 PM)Chbig a écrit : Les différents types d'unités on des statistiques différentes. Dans ce cas je vois trois solutions : A) méthode binaire : une unité meurt ou vit (et est en pleine forme pour le prochain combat) je distribue les dégâts globaux (calculés comme tu l'as précédemment décrit) en fonction des pv totaux de chaque type d'unités: exemple j'ai 50 unités de type 1 ( 20 pv) et 30 unités de type 2 ( 10pv) alors si je dois distribuer 400 dégats cela donne les unités de type 1 reçoivent globalement 400 * (50 *20) / ( 50*20 + 30*10) = 400 * (1000 / 1300) =308 les unités de type 2 reçoivent globalement 400 * (30 *10) / ( 50*20 + 30*10) = 400 * (300 / 1300) = 92 du coup 308/20 = 15 unités de type 1 meurent 92 / 10 = 9 unités de type 2 meurent ton armée est désormais 35 unités de type 1, 21 unités de type 2 B méthode "en masse" détaillée, les unités peuvent être blessées je n'ai pas 50 unités de type 1 mais 10 unités de type 1 avec 20pv 7 unités de type 1 avec 19pv, 23 unités de type 1 avec 18pv, 6 unités de type 1 avec 12pv, 4 unités de type 1 avec 6 pv une matrice (type d'unité, nb pv, nb unités) a partir de là tu calcules, comme précédemment le nombre de dégât par type (308 pour type 1, 92 pour type 2) a une nuance près : ce n'est pas 50*20 mais (10*20 + 7*19+ 23*18 +...) pour le poids du type 1 et là tu as deux choix : soit tu distribues les dégâts "égalitairement" j'ai 50 unités de type 1, j'ai 308 dégâts, donc chaque unité se prend 6 dégâts, il reste 10 unités de type 1 avec 14pv 7 unités de type 1 avec 13pv, 23 unités de type 1 avec 6pv, 6 unités de type 1 avec 6 pv et 4 cadavres soit tu tu distribues selon une loi normale ou un truc comme ça (veut pas dire grand chose vu le nombre d'unités de l'exemple mais osef) par pv: sur les 10 unités de type 1 à 20pv, 6 ressortent du combat à 14pv, 2 avec 18 pv, 2 avec 10pv... sur les 7 unités de type 1 à 19pv, 3 ressortent du combat à 13pv, 2 avec 17 pv, 2 avec 7pv... etc.. et tu vas te retrouver avec une nouvelle matrice que je ne vais pas calculer mais du genre 18pv 2 17pv 2 16pv ... etc.. et x cadavres C la méthode à l'unité y a plus de matrice, mais que des unités, et chacune se prend les 6 de dégâts à mon sens aucun intérêt par rapport à B si tu ne cherches pas à aller plus loin mais si tu veux rajouter des fonctionnalités (y a une fourmi "héros", y a des armures mais pas pour toutes les fourmis de même type, y a du hasard --> chaque fourmi reçoit un nb aléatoire de dégât entre 0 et le rapport att/def et non la différence, les fourmis se battent une contre une, pourquoi pas avec du ciseaux pierre feuille...) Evidemment, mais je ne me prononce pas sur le résultat, faut penser perf RE: Répartition des mort après combat - Thêta Tau Tau - 20-08-2019 RE: Répartition des mort après combat - Xenos - 20-08-2019 Oui, au final, ça ne m'étonne pas que ce soit linéaire puisqu'on ne fait qu'une opération à chaque fois (c'est chacune des 10k unités qui tire sur une et une seule des autres 10k unités). J'avais initialement en tête que chacune des 10k unités tirait sur chacune des 10k autres unités, je ne sais pas pourquoi... :/ Je n'ai pas implémenté ce modèle moi-même, mais Ter Rowan a bien résumé les possibilités. N'aie pas peur de "flooder", ce genre de flood ne pose aucun soucis. Ce n'est pas le flood (des bots) qui est chiant, c'est l'inutilité des posts. là, ce seraient des posts utiles, donc pas de soucis RE: Répartition des mort après combat - Chbig - 21-08-2019 (20-08-2019, 06:06 PM)Ter Rowan a écrit :(20-08-2019, 02:23 PM)Chbig a écrit : Les différents types d'unités on des statistiques différentes. Je pense rester sur la première méthode pour Antsland. En effet je ne pense pas que les fourmis aient un centre de soin pour blessé. Dans la nature si tu es blessé tu meurs ! Je tiens fortement à tous vous remercier pour vos réponses qui sont toutes très intéressante. Même si je retiens la 1er méthode je suis content de voir les autres alternatives. Ça peut donner des idées Je vois que vous avez pas mal d'expérience dans le développement de jeu, ça se sent dans vos réponses et c'est fort utile pour mon premier développement d'avoir des retours d'expériences. RE: Répartition des mort après combat - Xenos - 21-08-2019 Nota, je ne sais pas ce que ça donnera sur ton jeu, mais la "méthode A" signifie que si tu n'envoies que des gros sacs à PV sur des fourmis faibles, alors tu auras 0 perte (et l'adversaire en aura un paquet). Cela peut jouer sur le gameplay, en bien (c'est une bonne stratégie pour l'attaquant) ou en mal (si le défenseur n'a aucun moyen de contrer ça et que cela ne coûte rien à l'attaquant, alors les petites unités à peu de PV n'auront pas d'intérêt dans le jeu) RE: Répartition des mort après combat - Ter Rowan - 21-08-2019 (21-08-2019, 09:52 AM)Xenos a écrit : Nota, je ne sais pas ce que ça donnera sur ton jeu, mais le "type 1" signifie que si tu n'envoies que des gros sacs à PV sur des fourmis faibles, alors tu auras 0 perte (et l'adversaire en aura un paquet).qu'est ce que tu appelles "type 1" ? dans quelle méthode ? RE: Répartition des mort après combat - niahoo - 21-08-2019 En gros tu veux dire qu'à cause de la division entière, plus tes unités ont de PV, plus le reste de la division sera grand et ce sont donc des PV que tu tank gratuitement ? RE: Répartition des morts après combat - Xenos - 21-08-2019 C'est ça, je me suis gourré, c'était "méthode A" que je voulais dire, et comme reformule niahoo, tu "tank gratuitement": si les unités de type1 (cette fois, c'est vraiment type 1 que je veux dire ) ont non pas 20 mais 400 PV, alors le nombre de morts devient floor(308/400) = 0. Ca peut être une stratégie intéressante, mais IMO, elle doit être compensée par autre chose (unités lentes, sans capa spécial, ou autre) RE: Répartition des morts après combat - Ter Rowan - 21-08-2019 ok mais t as deux approches que le concepteur peut gérer : - pv max (400 est ce réaliste si moyenne des dégâts = 100 ?) - si deg > 0 unités perdues = max (1, floor(308/400)) |