Après avoir détaillé le système de combat PvP, je me suis dis qu'il fallait aussi détaillé la chasse et les échanges. Car comme stipulé dans mon précédent message, c'est ce que préfères certains joueurs plutôt que de jouer à qui as la plus grosse.
Le système de chasse est donc un système d’exploration de la carte, basé sur un système de drop: on bute une araignée pour peut-être récupéré une patte d’araignée, et de loot "passif": on se balade et tiens on tombe sur un morceau de feuille.
Tous ces monstres et objets seront placés aléatoirement, non pas de manière fixe comme je pourrais le faire avec un cron "en case 25;26, je fait apparaître une araignée", "en case 30:25 un morceau de feuille", mais par des chances de tomber dessus: chaque passage d'une case à une autre lors d'une expédition auras un taux par exemple de 15% de faire apparaître un monstre et 20% de faire apparaître un objet par exemple.
Avec ce système plutôt qu'un cron, je m'évites deux problème:
Les monstres et objets seront choisis, lorsqu'il devront apparaître, parmi une liste plus ou moins rare (20% de chance que ce soit un ver de terre, 15% une araignée, 10% un pince-oreille, etc... les pourcentages étant jaugés en fonction des ressources définies pour l'amélioration des bâtiments.
Le système de chasse sera basé sur une carte extérieure "fixe":
L'espacement des fourmilières, bien qu'impossible d'atteinte de la portée de chasse(limitée, cf CDCF page 3: Salle des tropée) devras néanmoins permettre la rencontre de troupes adverses elles aussi en chasse. Un comportement de ses fourmis en chasse pourras être déterminé par les joueurs: en cas de croisement, attaquer, ou éviter (si l'autre joueur n'attaques pas). En cas de combat, les ressources de la fourmilière perdante serais attribué à la gagnante, ses fourmis toutes mortes. Un choix en cas de combat gagnant pourras ordonner le repli des troupes affaibli (sans avoir ce qu'elle a gagné)
Le nombre de ressources transportable par une troupe en chasse est déterminé par le nombre de fourmis et une "capacité de transport" améliorable.
Chaque fourmi durant les chasses seront uniques et persistantes dans le jeu: La vie de chaque fourmis sera conservé après chaque combat. Ainsi un joueur qui envoie 30 fourmis "trop loin", pourrais, bien qu'il ai rencontré plein de monstre, récolté plein de ressources, ne revoir qu'une seule fourmi rentrer au bercail avec très peu de ressources, une liste de ressources "prioritaire" pourras être déterminé avant la chasse par le joueur.
La portée de la chasse devra aussi être jaugé en fonction du temps: toutes les fourmis doivent être rentrées avant minuit (pour le cron de respawn des zones aléatoire dans le système, parce que la nuit est dangereuse dans le webdesign ). Ainsi les fourmis n'étant pas rentrées avant minuit, ont une chance de ne pas passer la nuit, et donc de perdre encore des ressources inutilement. Un message en cas de "dépassement" sera affiché lors de la création de la chasse.
La vitesse de déplacement des fourmis pourras être améliorée par le joueur, mais le nombre de combats n'étant pas connus à l'avance par le joueur, et chaque combat ayant une "durée" non déterminées, peuvent allonger le temps de chasse. Ainsi il faut éviter de les faire rentrer à 23h59... ça risque de déraper souvent!
Comme pour le système de comportement en cas de croisement d'une troupe adverses, il pourras aussi déterminer des comportements en cas de croisements de certains monstres: Araignée: Éviter, Ver de terre: Attaquer, ceci afin d'éviter de rallonger inutilement une chasse à cause d'un ver de terre dont on n'as que faire des ressources. Mais attention, le joueur ne sera pas seul maître! Un monstre pourrait être agressif et ne pas laisser le choix au joueur que de combattre! Je gérerais en interne pour le webdesign toutes les données (araignée agressif, ver de terre passif, etc...)
Bref, je crois que si je vais plus loin, peu de monde lira mon message. Donc je répondrais aux questions que vous vous poserez peut-être!
Le système de chasse est donc un système d’exploration de la carte, basé sur un système de drop: on bute une araignée pour peut-être récupéré une patte d’araignée, et de loot "passif": on se balade et tiens on tombe sur un morceau de feuille.
Tous ces monstres et objets seront placés aléatoirement, non pas de manière fixe comme je pourrais le faire avec un cron "en case 25;26, je fait apparaître une araignée", "en case 30:25 un morceau de feuille", mais par des chances de tomber dessus: chaque passage d'une case à une autre lors d'une expédition auras un taux par exemple de 15% de faire apparaître un monstre et 20% de faire apparaître un objet par exemple.
Avec ce système plutôt qu'un cron, je m'évites deux problème:
- le manque de ressources: en créant X ressources chaque jour, avec un nombre de joueur augmentant, il pourrait en manquer.
- certaines ressources pourraient ne pas être trouvé, donc si je fait apparaître 10 ressources/jours, déjà qu'il pourrait en manquer, seulement 8 serait peut-être trouvé.
Les monstres et objets seront choisis, lorsqu'il devront apparaître, parmi une liste plus ou moins rare (20% de chance que ce soit un ver de terre, 15% une araignée, 10% un pince-oreille, etc... les pourcentages étant jaugés en fonction des ressources définies pour l'amélioration des bâtiments.
Le système de chasse sera basé sur une carte extérieure "fixe":
- le positionnement des joueurs sur cette carte seront déterminé par une spirale d’Archimède carré avec une dose d'aléatoire que j'avais écrite à l'époque (cf. mon post de l'époque, ou un rendu graphique de la fonction).
- Chaque fourmilière de joueur sera positionnée à une distance qui n'est pas atteignable par un autre joueur en chasse: les fourmilières seront espacées de 40 cases par exemple (pouvant varié de +5/-5 selon la spirale) alors que la longueur de chasse possible sera de 25 par exemple.
- Chaque soir un cron sera exécuté afin de créer des zones aléatoirement sur la carte, de dimensions variables, accessible pour une durée variable.
L'espacement des fourmilières, bien qu'impossible d'atteinte de la portée de chasse(limitée, cf CDCF page 3: Salle des tropée) devras néanmoins permettre la rencontre de troupes adverses elles aussi en chasse. Un comportement de ses fourmis en chasse pourras être déterminé par les joueurs: en cas de croisement, attaquer, ou éviter (si l'autre joueur n'attaques pas). En cas de combat, les ressources de la fourmilière perdante serais attribué à la gagnante, ses fourmis toutes mortes. Un choix en cas de combat gagnant pourras ordonner le repli des troupes affaibli (sans avoir ce qu'elle a gagné)
Le nombre de ressources transportable par une troupe en chasse est déterminé par le nombre de fourmis et une "capacité de transport" améliorable.
Chaque fourmi durant les chasses seront uniques et persistantes dans le jeu: La vie de chaque fourmis sera conservé après chaque combat. Ainsi un joueur qui envoie 30 fourmis "trop loin", pourrais, bien qu'il ai rencontré plein de monstre, récolté plein de ressources, ne revoir qu'une seule fourmi rentrer au bercail avec très peu de ressources, une liste de ressources "prioritaire" pourras être déterminé avant la chasse par le joueur.
La portée de la chasse devra aussi être jaugé en fonction du temps: toutes les fourmis doivent être rentrées avant minuit (pour le cron de respawn des zones aléatoire dans le système, parce que la nuit est dangereuse dans le webdesign ). Ainsi les fourmis n'étant pas rentrées avant minuit, ont une chance de ne pas passer la nuit, et donc de perdre encore des ressources inutilement. Un message en cas de "dépassement" sera affiché lors de la création de la chasse.
La vitesse de déplacement des fourmis pourras être améliorée par le joueur, mais le nombre de combats n'étant pas connus à l'avance par le joueur, et chaque combat ayant une "durée" non déterminées, peuvent allonger le temps de chasse. Ainsi il faut éviter de les faire rentrer à 23h59... ça risque de déraper souvent!
Comme pour le système de comportement en cas de croisement d'une troupe adverses, il pourras aussi déterminer des comportements en cas de croisements de certains monstres: Araignée: Éviter, Ver de terre: Attaquer, ceci afin d'éviter de rallonger inutilement une chasse à cause d'un ver de terre dont on n'as que faire des ressources. Mais attention, le joueur ne sera pas seul maître! Un monstre pourrait être agressif et ne pas laisser le choix au joueur que de combattre! Je gérerais en interne pour le webdesign toutes les données (araignée agressif, ver de terre passif, etc...)
Bref, je crois que si je vais plus loin, peu de monde lira mon message. Donc je répondrais aux questions que vous vous poserez peut-être!