Messagerie


World Of Tinies

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mardi 4 février 2020 à 15:52

Hello à tous

Je viens à vous pour vous parler d'un nouveau projet déjà évoqué dans le topic de mes projets jamais terminé (ça commence bien lol)

Cette fois-ci, il s'agit d'un jeu de type RTS (Real Time Strategy) un peu à la sauce Starcraft ou Age of Empire mais couplé à pas mal d'éléments d'un RTS moins conventionnel : Pikmin.

Logo du jeu

Concept

Il s'agit d'un jeu où l'on contrôle un personnage principal (Un peu comme comme le capitaine Olimar, ici SERAPHIN) qui doit utiliser sa magie et sa stratégie pour créer et mener aux combats les TINIES, les petites créatures dont l'une d'elle était le héro de mon autre jeu GRAVITY ISLAND.

Pour ce faire, et contrairement aux Pikmin, il vous faudra acquérir des points de ressources, puis récolter des pierres de magie afin de construire de nouveaux bâtiments, et enfin augmenter la taille et la puissance de votre armée.

Genèse du projet

J'ai toujours rêvé de faire mon propre RTS avec Fusion. Mon premier RTS était un jeu avec des fourmis sur The Game Factory qui évidement, marchait très mal. Certaines fonctionnalités comme un Pathfinding global et réellement performant me semblait impossible. Certains se souviennent également d'un de mes anciens projets : Space Wars. Tombé à l'eau, lui aussi pour des problèmes de performances due au Pathfinding, et à l'IA en général.

Récemment j'ai fait un rêve où j'ai enfin trouver trouver une solution miracle pour avoir un Pathfinding stable, recalculé à chaque image qui ne prennent absolument aucun temps de calcul ou presque. J'ai réussi à générer plus de 800 agents en simultané sur une map géante sans perte de Framerate.

Pourquoi je vous parle de technique ? Parce que c'est ce qui a tout débloqué ^^ Je peux enfin faire le jeu dont j'avais envie... Après quelques essais sur des morceaux de projets et ma copine m'aidant pour dessiner de superbes et très grandes map bien sûr ^^

Le moteur est tellement performant que ce sera également mon tout premier projet en Full HD !

Screenshot



Valeth
457 messages
Fusion 2.5
Fusion 2.5+
mardi 4 février 2020 à 17:34
MESSAGE SUPPRIME
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 4 février 2020 à 19:37

Youpi ! un barbichu ;)

conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
mardi 4 février 2020 à 20:52

Ouah la classe!

J'ai toujours rêvé de me faire mon RTS. J'avais vu quelques projets de RTS et j'avais fait quelques tests avec l'extension Flow d'Anders ou essayé d'implémenter des méthodes avancées de pathfinding mais je ne m'étais jamais vraiment lancé dans l'aventure. 

Tu peux nous en dire plus sur ta solution de pathfinding ?

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mercredi 5 février 2020 à 09:53

Merci ! C'est vrai que c'est du boulot niveau graphique, mais les tons pastels sont voulus. Bon ça peut carrément encore changés aussi ;)

Sinon pour le pathfinding comment je m'y suis pris :

- Avec Space Wars j'avais un système où pour chaque unité j'avais un tableau de position associé. à chaque nouvel ordre, je lançais une demande de pathfinding en utilisant l'objet pathfinding et je stockais le chemin dans un tableau (d'abord la première case, puis la deuxième, la troisième etc aux coordonnées décidé par l'objet, positionner dans la bonne case du tableau). Je récupérer le nombre de case à faire, puis je lançait un mouvement de balle, vers la bonne case avec le bon ID, et une fois atteint, j'incrémentais jusqu'à atteindre la dernière case du chemin.

Comme vous vous en doutez, sur des grilles de plus de 16 cases par 16 cases, ça donnait un coup de lag assez monstrueux lorsque je donnait l'ordre à genre 30 unités d'aller à l'autre bout de la map. Concernant les ennemis, le pathfinding se doit d'être recalculer très régulièrement au final pour aller vers l'unité du joueur la plus proche... C'était exécrable...

- ici l'idée est en réalité de calculer, pour une map donné, tous les chemins possibles. C'est  à dire, lancer un pathfinding de chaque case vers chaque autre case, et de stocker toutes ces possibilités dans un immense tableau. Un tableau de Pathfinding pré calculer en quelques sortes. Vous vous imaginez bien que ça demande énormément de ressources (pour une grille de 64 x 64, cela donne 4096 chemins à calculer)

J'ai donc créer un éditeur de niveau où je peux établir les murs et les cases où l'on peut passer. Mes maps font 6144px X 6144px avec des cases de 128px X 128px et donc 64 cases X 64 cases. Chaque génération de grille peut prendre entre 30 min et 4 heures (!!!). Je stocke alors pour chaque case, 64 directions différentes vers les 64 autres cases (uniquement la première case de destination, pas besoin de tout le chemin, je vais y revenir)

Une fois en jeu, je n'ai plus qu'à charger l'immense tableau. Ensuite, je peux créer autant d'unités que je veux, il me suffit de savoir, via ses positions X,Y sur quelle case je me situe. Dans un always, je n'ai plus qu'à lire la case de destination qu'il faut entre la position de l'unité et la destination. Comme évidement je fais bouger l'unité, chaque fois qu'elle change de case, elle recharge le nouveau chemin entre cette nouvelle case la même destination.

Je ne sais pas si je suis très clair, mais en réalité, cette méthode porte le nom flowfield pathfinding. En fait on ne génère que les directions à prendre aux agents, en générant un champs de vecteur. Les unités n'ont plus à suivre un chemin, mais simplement des directions pré calculer dans un champs (voir exemple ci dessous)

youtube.com

Cela me permet en réalité d'avoir un pathfinding parfait, recalculé en temps réel pour toutes les unités. J'ai testé avec plus de 800 unités sur une grille de 64x64 et avec un calcul dans un always, je tenais les 60 FPS sur un PC assez vieux (ancien core i3) !!

La seule limitation c'est que la grille de pathfiding étant pré calculer, les éléments comme les murs sont immuables. Pas de recalcule en temps réel en fonction du terrain (pas de possibilité d'ajouter des murs par exemple). Mais certaines astuces inhérentes à Fusion permettent de contourner certaines de ces limitations et rends enfin un RTS avec des dizaines et des dizaines d'unités possible sous Fusion !! haha

conceptgame
429 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur iOS Exporteur Android
mercredi 5 février 2020 à 11:28

Ouah, chapeau! Le pathfinding avec des "Flow Field Tiles", c'est du pathfinding avancé. C'est exactement une des méthodes que j'avais essayées pour faire des "steering behaviors" (atteindre un point fixe, suivre un leader, fuir, poursuivre, éviter des obstacles, ...). Mais sans résultat pour l'instant.

C'est à la fois simple et puissant. Bravo!

Tu me remotives à essayer des trucs maintenant, c'est malin. ;)

Il y a de quoi vendre un widget sur le clickstore avec ça.

Petites questions supplémentaires: intègres-tu la gestion des obstacles dans ton flow field en temps réel: collision avec unités ennemies ou unités amies?

Xenon3K
763 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 5 février 2020 à 16:25

Super merci pour l'explication @Eagle4

Tu utilises des graphismes achetés sur un store (avec du custom j'imagine) ?

On voudrais une vidéo de gameplay :)

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mercredi 5 février 2020 à 17:06

Oui c'est ça, des assets achetés sur plusieurs stores, modifiés, assemblés, customisés et certains réalisés par nous même.

Pour la vidéo, il faudra encore être patient, les bases du gameplay sont pensés, mais pas encore toutes implémentés ;) J'ai commencé par le plus difficile haha

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
mercredi 12 février 2020 à 17:41

Allez voici un nouveau petit screen du jeu ;) :

Au tout début de l'aventure, notre petit séraphin glande un peu chez lui ^^

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
lundi 17 février 2020 à 16:59

BOUH !!

Z'avez eu peur hein ?? xD

Valeth
457 messages
Fusion 2.5
Fusion 2.5+
mercredi 19 février 2020 à 00:38

@Eagle4 Très sympas ces nouveaux screenshots. :)

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
vendredi 21 février 2020 à 15:00

Merci Valeth ;)


Au programme aujourd'hui, diverses améliorations sur l'interface ^^

- Désormais, la minimap ne s'affiche que si l'on construit le bâtiment "radar" (celui avec une tête d'oiseau)

- Même s'il n'y a pas de brouillard de guerre à proprement parler, puisque l'on contrôle Séraphin et non une caméra libre, la minimap ne dévoile pas pour autant toute la carte. La zone non découverte est dans l'ombre.

- On construit les bâtiments en cliquant sur les ruines déjà prévues, une icone s'affiche alors (comme sur le screen), puis on clique sur l'icone pour lancer la construction

- En revanche, pour tout ce qui est fabrication d'unité ou amélioration, on va trouver tout un tas de bouton sur le coté droit de l'écran (à l'instar d'un Command & Conquer)


Ce choix s'explique surtout puisque l'on ne contrôle pas la caméra. Il est donc très compliqué de devoir retourner à la base quand on est sur le champ de bataille pour améliorer ou construire des unités. De cette façon, tout est bcp plus fluide d'un point de vie Gameplay ;)

On peut donc lancer la construction d'unité à la base, et les appeler avec la touche F2 (voir surement une petite icone supplémentaire) qui sélectionne toute l'armée présente sur la base pour rapidement ramener les nouvelles unités encore à la base, vers le champ de bataille :p

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
samedi 7 mars 2020 à 12:11

Bonjour à tous !

Au menu aujourd'hui, un petit screen du menu principal ;)

Alors, vous en pensez quoi ?

fredetmumu
1384 messages

samedi 7 mars 2020 à 13:42

tres joli, meme si je trouve que les couleurs de la sphere sont legerement différentes des autres couleurs de l'image, peut être poins pasteles que les autres, difficile a exprimer pour un mauvais graphiste comme moi

Eagle4
241 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5 Exporteur iOS
samedi 7 mars 2020 à 14:20

Merci ^^

Je pense que c’est dû au rayon de lumière qui forcément illumine la sphère et lui donne ce côté très brillant.. tout est animé sur le menu, y compris ce rayon qui change de luminosité par moment

fredetmumu
1384 messages

samedi 7 mars 2020 à 14:43

ah ok , faudrait voir en cours d'animation alors pour bien appréhender le truc

Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 41 visiteurs au total

Derniers messages