[RTS] [MMF2] Space Wars

eagle4 Message lu Posté le 20 Oct 2008 à 11:18 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Bonjour à tous !

Aujourd'hui je viens vous présenter une nouvelle démonstration technique. Cette fois ci encore, ce n'est pas un jeu, mais bel est bien un moteur Open source que je viens vous montrer. Toutefois, le moteur sera tellement évolué qu'il constituera un petit jeu à part entière.

Description :

Le RTS est un genre assez difficile à concevoir en général à cause des système de pathfinding et d'IA qui doivent être un minimum complexes. Avec MMF2, c'est encore plus difficile puisque le logiciel ayant beaucoup de fonctions avancés pour gérer les objets à également rendu plus difficile la séparation des unités permettant d'attribuer des actions à une seules unités dans la masse de celles sélectionnées.

Ce moteur est sans doute le plus compliqué que je ferais parmi mes démonstrations techniques.

Le moteur est assez simple mais efficace, je voudrais que la source puisse être compréhensible par le maximum de personne. Pour ça, je ne vais pas forcement faire une super source comme j'ai fais pour les autres démos techniques, mais je vais surement proposés pour chaque fonction une petite source commenté (LOS, Multipathfinding, etc) et la source du RTS comprenant les différentes petites sources en open source également ;)

Pour le moment, le jeu est du genre de la partie spatiale du jeu "Star Wars : Empire at War". C'est à dire, on a qu'une seule station spatiale, qui peut se défendre d'elle même et évoluer. Plus elle évolue et plus elle peut fabriquer de type différent d'unité. Les ressources se récoltent toutes seules, il suffit d'avoir conquis des astéroïdes pour que la récolte aille plus vite. Bien sur, on peut protéger les astéroïdes avec des tourelles et les astéroïdes qui rapportent le plus sont également les moins protégés ;)

Pour les moment les fonctions du jeu sont :

- Sélection au lasso (Terminé)
- Line Of Sight + recherche de distance (pour pouvoir tirer) (Terminé)
- Multipathfinding(En cours)
- Minimap (A faire)
- Interface intuitive (le menu de création d'unité s'ouvre en sélectionnant la station spatiale) (A faire)
- Fog of war (plus graphique que technique) (Terminé)

Ça avance bien, il n'y a pas de problème majeur pour le moment. Pour le moment, on a qu'une seul type d'unité, les destroyers, puissant mais lent. La partie graphique avance (J'ai fais les décors et les effets et une personne tierce me fais les unités).

Screen du jeu :

Effets d'explosions :
Image


Le brouillard de guerre (l'unité est en haut à droite) :
Image


Plusieurs unités qui ont trouvés une cible :
Image


Les screens ont été fais sur des PC de bureau, ils sont pas trop mauvais mais la carte graphique est intégrée et ça reste du bureautique. Comme vous pouvez le constater, malgré quelques ralentissements quand il y a beaucoup d'unités à l'écran, globalement je tourne à 60 FPS (Fréquence max dû à la V-Sync)
Dernière édition le 25 Oct 2008 à 12:32
Darktib Message lu Posté le 20 Oct 2008 à 16:30 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Wow...

Le pathfinding dans ubn RTS n'est pas la partie la plus complexe - pour tout dire c'est assez simple (du moins en µC++, apres je ne sais pas sous MMF2). Par contre le reste de l'IA est autrement plus dur...

J'aimerais bien savoir comment tu fais ton fog of war... c'est une partie assez complexe.

Vivement la démo !
Dernière édition le 20 Oct 2008 à 16:31
eagle4 Message lu Posté le 20 Oct 2008 à 17:03 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Ben, ce qui est un peu plus dur, c'est de gérer un pathfinding multiple dans le sens où MMF2 n'est pas aussi rapide qu'un prog en C++ ni aussi facilement utilisable en ce qui concerne la gestion de plusieurs actions distinctes pour des objets identiques. Mais bon ça se fais relativement facilement ;)

Pour le Fog of war, le gameplay très basique du RTS me sert bien. En effet, le fog of war n'est gérer que pour le joueur, et est toujours de la forme d'un cercle autour des unités. Donc très facilement, je créer des objets de forme rondes, noires, qui sont toujours collés à mes unités et par un petit shaders que j'applique sur mon layer de fog, ca "trous" mes zones noires en laissant mes zones blanches, tout en mettant une transparence sur le résultat. J'aurais pu faire l'inverse, mais je trouve le résultat sympa ^^. D'accord c'est pas un vrai fog of war, mais il faut bien que ca soit rapide à comprendre ET que le résultat ne soit pas trop gourmand... là ça va...

Pour ce qui est de l'IA, on a le moteur de mouvement (pathfinding), le moteur de vision (FOW) le moteur de viseur (LOS), le moteur de tir est assez facile à faire... La seule chose un peu plus complexe, c'est la manière dont les unités adverses vont s'organiser. Mais il suffit de programmer des petits shémas à exécuter en fonction de tel ou tel événement... par exemple, tant que l'adversaire est trop pauvre, il exécute sa recherche de ressources, s'il est assez riches, il alterne entre progression technologique et création d'armée, s'il a beaucoup d'unité, il attaque, il regarde s'il y a eu désastre auquel cas il enverra plus d'unité la prochaine fois etc etc etc
Darktib Message lu Posté le 20 Oct 2008 à 19:09 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
J'aime bien la méthode que tu utilise pour le fog of war... va falloir que je m'en inspire pour mon rts (sauf que le mien est en 3D...)
L'histoire du shader est a mon avis une bonne idée.
Mod Message lu Posté le 20 Oct 2008 à 21:28 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
C'est bien vrai que les RTS ne sont pas franchement le genre de jeu que l'on réalise en deux semaines... J'imagine bien que sous MMF, ça ne doit pas être du gâteau de réaliser ce genre de programme.

Graphiquement, c'est en tout cas déjà fort agréable à regarder :D.
eagle4 Message lu Posté le 26 Oct 2008 à 22:46 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Voilà un exemple des effets qui seront implémenté dans le jeu.

http://willay.clement.free.fr/demo/test_effets.rar

Dites moi ce que vous en pensez ! (Attention, le RTS est prévu pour un gameplay lent et les plus grosses explosions ne seront pas fréquente, donc je me suis lâché et bien sur, si vous vous acharnez sur le clic droit ça va ramer ^^)

Touches :
- Clic gauche, trainée de météore
- Clic milieu, petite explosion
- Clic droit, grosse explosion
Mod Message lu Posté le 26 Oct 2008 à 23:05 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Tout simplement superbe. Ca c'est de l'explosion qui charme l'oeil :D.

Et il a vraiment fallut que je clique en continu sur le bouton gauche et le bouton central et le bouton droit pour que ça commence à ramer.
Darktib Message lu Posté le 03 Nov 2008 à 12:21 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Comme Mod.

Les nuances de bleu font vraiment tres joli...
eagle4 Message lu Posté le 03 Nov 2008 à 15:45 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Suite à plusieurs personnes qui ont vu les explosions, les nuances tourneront plus du coté des couleurs feu (du vrai hein genre jaune orange et rouge ^^)
Mod Message lu Posté le 05 Nov 2008 à 10:37 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Dommage, avec le bleu, ça rendait plutôt bien, d'autant que ça collait avec l'arrière-plan et l'ambiance graphique. D'ailleurs, une flamme à combustion complète est bleue, et non jaune/orange/rouge ^^.
eagle4 Message lu Posté le 13 Mai 2009 à 23:48 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Salut à tous !

Non le projet n'est pas mort et commence même à pas mal reprendre du poil de la bête vue le temps libérer par Luor ;)

Donc petit point sur l'avancement du moteur :

Fonctionnent à merveille :
- Création / destruction dynamique d'unité avec gestion des liste d'IDs (Avec récupération des trous dans la liste)
- Multipathfinding (Sauvegarde du chemin pour chaque unité)
- Mouvement fluide avec angle de braquage (rotation, accélération, déccélération)
- Recherche de l'ennemi le plus proche et tir sur lui (Sauf ordre du joueur)
- Sélection au lasso ou par clic sur l'unité
- Affichage des unités sur une minimap
- Gestion avancée du scrolling (bouge si la souris est sur les bords, contrôle total avec un clic molette, permet d'aller rapidement quelque part avec clic sur la minimap etc)
- Fog of war graphique
- Fog of war technique (masquer les unités dans le brouillard)
- Repositionnement en carré quand on donne l'ordre à plusieurs unités d'aller sur un même point

Fonctions juste entamées :
- Empêcher la superposition de plusieurs unités (Mais peut être que là c'est bien...)

Reste à faire :
- La même chose que tout ce qui est déjà fait, mais pour l'adversaire
- L'IA du joueur adverse (contrôlera les unités ennemis)
- La partie gameplay (gestion des ressources, des astéroïdes etc)

Nouveaux screenshot ingame :

Ici vous pouvez voir la station spatiale et les formations des vaisseaux :
Image


Ici un aperçu d'unité attaquante et on voit bien le Fog of war :
Image


Ici vous pouvez constater que les effets d'explosions ont encore été amélioré :
Image


Voilà pour cette fois !
Angelis Message lu Posté le 14 Mai 2009 à 09:35 Bulle
Avatar de Angelis
Membre Confirmé

Messages : 177
GCPoints : 13420
Et ben c'est magnifique en tout cas !

Bon courage !!!
Mod Message lu Posté le 14 Mai 2009 à 09:41 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Ca fait du bien d'avoir un peu de neuf sur le projet... Aussi beau qu'auparavant, rien ne change de ce point de vue, ça reste toujours aussi agréable à regarder.

Vivement que tu t'attelles à lui offrir un gameplay que l'on puisse tester ça :).
Darktib Message lu Posté le 14 Mai 2009 à 12:47 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Tout à déjà été dit, ca donne envie...
LOIC Message lu Posté le 14 Mai 2009 à 18:01 Bulle
Avatar de LOIC
Membre Avancé

Messages : 374
GCPoints : 61723
Tu connais mon engouement pour ce projet :)

Les images sont superbes. A ce propos, la résolution à l'air élevée, ce serra la résolution définitive ?

J'imagine que c'est du travail ce genre de projet, alors tu as mes encouragement sincères ^^
www.naphelia.com
le_teigneux Message lu Posté le 14 Mai 2009 à 18:25 Bulle
Membre Novice

Messages : 26
GCPoints : 4507
Salut Eagle4 les graphismes sont superbes c'est prometteur mais pourquoi diantre fichtre veut-tu utiliser des techniques de pathfinding pour les vaisseaux spatiaux ? :grin: :lol:
Tu n'as pas besoin de pathfinding ( par ce terme j'entends en A*) un déplacement vectoriel suffit !
Si ton vaisseau rencontre une météroite alors il est désintégré..
Ceci dit bon courage.
Dernière édition le 14 Mai 2009 à 18:26
Zoglu Message lu Posté le 14 Mai 2009 à 19:46 Bulle
Avatar de Zoglu
Membre Avancé

Messages : 366
GCPoints : 22183
le_teigneux : N'oublie pas que c'est un RTS en 2D. Imagine que le joueur demande à des vaisseaux d'aller d'un point à un autre, et qu'un champ d'astéroïdes se trouve entre le point de départ et le point d'arrivée. Il ne faudrait pas un pathfinder pour que les vaisseaux sachent contourner ces obstacles ?
Dans les RTS, si tu demandes à une unité ne sachant pas nager d'aller d'un point à un autre, et qu'un lac se trouve entre le départ et l'arrivée, alors l'unité avance et se noie dans le lac?
eagle4 Message lu Posté le 14 Mai 2009 à 21:25 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Merci ;)

@ Loic : la résolution des screens est de 1024*768. Je ne sais pas si ce sera la résolution définitive. D'ailleurs peut être que je laisserais le choix de la résolution en fait (Mon moteur le permet :D) j'en sais encore rien...

@ le_teigneux : Effectivement, comme le dis zoglu, il y aura de nombreux champs d'astéroïdes et de débris donc un pathfinding est nécessaire ;)

le_teigneux Message lu Posté le 15 Mai 2009 à 16:46 Bulle
Membre Novice

Messages : 26
GCPoints : 4507
Ok vous avez raison bonne continuation alors Eagle4
eagle4 Message lu Posté le 24 Juil 2009 à 09:28 Bulle
Avatar de eagle4
Membre Confirmé

Messages : 177
GCPoints : 27624
Bonjour à tous !
Space wars étant mon plus gros projet actuellement, c'est celui qui avance le moins vite (ou plutôt celui sur lequel il reste le plus à faire...)

Mais pour vous faire patienter un peu, voici un petit artwork avec le titre :

Image

Cliquez pour agrandir
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0602 secondes