Forum de la communauté SFML

Général => Projets SFML => Discussion démarrée par: marchred le Juillet 26, 2012, 11:19:12 am

Titre: [C++][RTS 2D] PolygonWars
Posté par: marchred le Juillet 26, 2012, 11:19:12 am
Moi

Hello, marchred, 23ans, survie en France.


le Jeu

PolygonWars (nom honteusement pompe d'un jeu du même nom) est un RTS 2D multiple-joueurs

Comme il n'y a aucune IA vous devrez être plusieurs pour jouer, il n'y a pas de limite de joueur au passage.

L’idée c'est de commander a plusieurs une armée ou chacun peut avoir son rôle.
Si par contre les taches viennent a manquer les joueurs peuvent directement prendre le contrôle d'une unité tout en gérant les unités a portée de vue

Il s'agit ici d’être un minimum original en proposant un gameplay a peu près potable.
Car oui, le jeu est moche (bourre de sf::Shape), le titre est pas original et les unités se déplacent case par case.


Gamplay

Vue de dessus

Contrôle a la souris :
Les unités sont des polygones :
Les bâtiments sont des unités plus grande et immobiles :
Ressource dans le jeu : le triangle
Une partie

Vous démarrez une partie dans un des deux seuls camps (bleu et rouge), vous ne possédez qu'une unité, un octogone
sa capacité de base est de pouvoir tirer des projectile qui convertissent toute unité ennemis en unité allie
sa deuxième capacité est qu'une fois devenu un bâtiment, elle produit des triangles, l’unité de base, a une vitesse de 1 toute les 3 secondes

A vous de voir si vous voulez déplacer l'octogone avant d'en faire un bâtiments, bien qu'en général, la production soit plutôt urgente

Le triangle est un unité faible, capable d'attaquer, mais possède surtout la meilleur vision de toute les unités.
A partir de la vous avez le choix

Puis vous êtes tenté de faire évoluer un triangle, il deviendra un carré, le carré n'attaque pas, mais possède un champs de force
Le carré régénère sont champs de force et c'est tant mieux car il est a peine plus résistant qu'un triangle.
Son champs de force mesure 3*3 cases, il peut donc protéger d'autre unité, il passera a 9*9 case si il devient un bâtiment

Viens ensuite le pentagone, équivalent d'un soldat.
Il attaque plus loin, plus vite et plus fort qu'un triangle, et c'est tout ce qu'on lui demandera
Le transformer en bâtiment en fera une parfaite tourelle de défense

La nouvelle évolution sera l'hexagone, un soigneur, il vise les allies les plus faible en point de vie.
En bâtiment, il générera un aura de régénération pour les bâtiments et les unités (non cumulable).

Avec 7 cote, l'heptagone est une unité d'artillerie, ses tirs explosent et font des dégâts de zone.
Inutile de décrire les effets d'une tel unité une fois devenu un bâtiments, un massacre.
Son point faible? sa très faible vision du terrain.

Viens ensuite l'octogone, mais passons, nous la connaissons déjà.

Le Nonagone est une unité invisible quand rien le la touche, même en déplacement.
Elle n'attaque pas et deviens visible en bâtiment tout en rendant invisible tout ce qui se trouve a sa portée (9*9 cases)

Enfin, le décagone est l’unité ultime, il attaque avec des projectiles perforants passant aux des travers des unités, bâtiments et des boucliers
Sa version bâtiment est l’équivalent d'un générateur avec une aura qui boost les autres bâtiment, et si cela cachait quelque-chose ?


Technique

Ce projet est pure SFML, pas d'OpenGL, rien d'exotique donc « il devrais pouvoir marcher sous Windows » (oui je suis sous Linux ;) )

Tout action est « Server-side », recherche de chemin, déplacement, construction, sacrifice, upgrade, action automatique et brouillard de guerre

J'utilise la version 1.6 de la SFML (juste pour préciser)

Le jeu est Full TCP (pas d'UDP), il faut regarder le protocole réseau si cela vous semble bizarre car sa marche du tonnerre !

Le programme démarre sur une Shell en SFML, pas de menu, c'est plus pratique pour tester, plusieurs commandes :



Avancement (dimanche 29 juillet 2012)


En cours :

Reste :

A venir :

Idees a confirmer :

Notes Diverses :



[attachment deleted by admin]
Titre: Re : [C++][RTS 2D] PolygonWars
Posté par: actuenligne le Juillet 26, 2012, 12:12:09 pm
Salut !

Ton jeu a l'air très intéressant. J'aime beaucoup les RTS, et j'ai hâte de pouvoir le tester  :D

Pourrais-tu m'en dire un peu plus sur le choix du protocole TCP ? Ca peut sembler étrange pour un jeu en temps réel (c'est bien en temps réel hein ?)

Bonne continuation !
Titre: Re : [C++][RTS 2D] PolygonWars
Posté par: marchred le Juillet 26, 2012, 01:35:38 pm
@actuenligne

Hello!

Merci de porter de l’intérêt a mon petit projet :), c'est la première fois que j'en publie un donc c'est plutôt cool !

Pour le tester je pensais fournir directement les sources (je pense beaucoup a faire de l'Open Source), de cette manière cela marchera sur plein de machines tout en ayant des avis externe sur ma façon de programmer, mais avant je souhaite finir plusieurs petite choses, et nettoyer mon code ;), d'ici une semaine ce sera bon je pense.

Sinon oui oui! C'est en temps réel ne t’inquiète pas!
Pour ce qui est du réseau, je comprend que cela choque, pourtant c'est tout bête :
PS: je suis sur une clavier QWERTY, dsl d'avance pour les accents qui manquent ;)
Titre: Re : [C++][RTS 2D] PolygonWars
Posté par: actuenligne le Juillet 26, 2012, 01:44:05 pm
Merci pour ta réponse  :)

C'est une vision intéressante d'un sujet très riche : l'architecture réseau.
Si j'ai bien compris, c'est le fait que les unités se déplacent cases par cases qui permet l'utilisation du TCP !

Je reviendrai sur le topic de temps à autre pour voir si une version jouable est disponible (mais je ne veux surtout pas mettre une quelconque pression hein !)  ;)
Titre: Re : [C++][RTS 2D] PolygonWars
Posté par: Rexou le Juillet 27, 2012, 09:44:10 am
Une idée ma foi plutôt pas mal avec un gameplay qui promet !
Tu as pris pas mal de recul sur ton projet et ça c'est cool, ça change des projets un peu trop ambitieux
qui ne verront malheureusement jamais le jour.

J'attends avec impatience les premières démos :)
Un petit github quand tu auras une version propre et stable ? Ton protocole réseau et la manière dont tu gères
le dispatching des events pourraient servir a pas mal de monde ici.

PS (Hors sujet ):
- Je ne suis pas un exemple pour les accents sur clavier qwerty mais si tu y tiens regarde du cote de la commande setxkbmap
avec une certaine compose key :)
Titre: Re : [C++][RTS 2D] PolygonWars
Posté par: marchred le Juillet 27, 2012, 10:54:59 am

@actuenligne

« Si j'ai bien compris, c'est le fait que les unités se déplacent cases par cases qui permet l'utilisation du TCP ! »

C'est peut être valable pour les déplacements 'normaux' je réfléchis beaucoup a ce que sera PolygonWars2 (oui je sais le 1 est pas encore finis ;) ) et je me dis que c'est finalement hautement faisable, mais la priorité c'est de finir correctement ce projet, il est a la portée de beaucoup de monde, il pourra peut-être devenir ce 'tremplin' qui manque dans le domaine des RTS open source (c'est ce que je pense après j'ai peut être mal cherché).

@Rexou

« Tu as pris pas mal de recul sur ton projet et ça c'est cool, ça change des projets un peu trop ambitieux qui ne verront malheureusement jamais le jour. »

Je ne m'en étais pas rendu compte mais tu as raison, sur le coups j'ai compté le nombre de projet personnel inachevé que j'ai produit depuis que je sais programmer, il y en a une bonne centaine, cela va du FPS bancal aux Shoot comme Ikaruga (sans parler de mes tentative de refaire Minecraft...), ils sont fonctionnels mais ne représente pas de jeux a eux seul, la, avec PolygonWars, je compte changer, d'ou mon post sur ce forum, car ce projet la, je vais le finir ! ;)


« Un petit github quand tu auras une version propre et stable ? »

Volontiers ! :)


« Je ne suis pas un exemple pour les accents sur clavier qwerty mais si tu y tiens regarde du cote de la commande setxkbmap »

Je note ! Merci ! :)