Bonsoir,
J'essae de développer actuellement un RTS pour une console de jeux, la SONY PSP. Je programme entièrement en utilisant le language de script LUA et un style pseudo orienté objet en utilisant les métatables.
Pour le moment, je suis assez satisfait du résultat. J'ai un générateur de terrain et de ressources correct, scrolling de map, affichage et gestion d'une mini carte, déplacement d'unités avec l'algorithme de pathfinding A-star.
Seulement voilà..C'est là que je galère un peu.
Pour le moment, lorsqu'on déplace une unité, pas de souci.Quand il s'agit dun groupe d'unités, j'ai concu le code de sorte que dans ce cas, les unités soient listées dans une queue, etr le chemin de chaque unité est calculé l'un après l'autre, afin d'éviter les lags et freezes..car la PSP dispose de peu de ressources (333 Mhz maxi pour le CPU, 32 Mo de ram dispo quand on travaille avec le LuaPlayer).
Les unités évitent donc les obstacles (ressources, arbres, batiments)..mais elle ne s'évitent pas elles même..une unité peut donc traverser une autre qui est sur son chemin.
Je pense qu'il est possible d'améliorer cela, mais comment ? Je souhaiterais notamment pour le déplacement groupé, un seul chemin soit calculé, et que toutes les unités suivent ce chemin. Quel algorithme appliquer ? et comment faire en sorte qu'un unité soit un obstacle permanent pour une autre, sans générer pour autant trop de calculs...?
Merci par avance..S'il est nécessaire de détailler comment j'ai implémenter mon A-star, faites le moi savoir.
Partager