(09-09-2011, 11:14 AM)SorenS a écrit : Les concepts les plus simples marchent mieux généralement niahoo :]
on peut complexifier l'algo sans que ça paraisse plus compliqué pour le joueur. Et lui montrer les vaisseaux ennemis pour lui permettre de donner l'ordre dans lequel il faut les péter ça ajoute de la stratégie, c'est pas obligatoire, et ça peut être sympa sans pour autant que le jeu devienne plus compliqué.
Ben pour ceux qui veulent faire de la repompe y a dejà des moteurs tout prèts à l'emploi.
Je pense qu'il faudrait architecturer ça autrement :
un état qui contient les deux armées ensemble, et à chaque itération la boucle demande à tous les vaisseaux, un par un (et de chaque armée mélangés) ce qu'ils souhaitent faire en fonction du résultat de l'itération précédente/de l'état initial pour la première itération.
Chaque armée stocke également des listes de focus. Quand c'est au tour d'un vaisseau, il récupère la liste de focus qui correspond à sa catégorie, prend le premier élément et shoote dessus.
(genre si c'est un vaisseau lourd, il prends la liste des cibles principales ennemies et tire son plus gros shoot dispo).
Ou alors il peut fuir, ou récupérer le premier vaisseau de la liste de ceux qu'il faut soigner,
Ou autre.
Quand je parle de liste, on peut aussi définir simplement la nouvelle cible quand la cible actuelle est morte/full HP.
Une fois qu'on a recueilli ce que chaque vaisseau veut faire, on passe en mode résolution. On reprends la liste des demandes de chaque vaisseau et on exécute ce qu'ils ont demandé. Il est possible dans ce système que quand on arrive au 150 ème vaisseau il soit déjà mort à cause des demandes précédentes.
Dans ce cas, soit on exécute quand même ce qu'il a demandé, en partant du postulat que tout ça se passe simultanément, soit on décide qu'il est mort et que son action n'a pas lieu (l'ordre de départ des vaisseaux dépendrait alors d'un facteur de réaction, agilité ou autre truc des pilotes/du joueur) mais dans ce cas il faut à chaque fois vérifier que le vaisseau est toujours en lice.
Soit un autre système, genre trier les vaisseaux en X catégories, des plus rapides aux plus lents à bouger/tirer, certaines catégories étant résolues en mode simultané, d'autres non, etc..
Et là c'est la fin de l'itération, on regarde si les deux armées sont toujours présentes et si oui on recommence.
Bon désolé ça doit pas être très clair
edit : sinon on peut prendre chaque vaisseau un par un et modifier l'état des deux armées en fonction de sa décision immédiatement : on ne peut plus simuler des décisions simultanée, par contre ce sera plus simple à implémenter (encore que, perso j'aime moins)