Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - actuenligne

Pages: [1]
1
Graphique / Manipulation de shapes et optimisation
« le: Novembre 22, 2012, 01:27:41 pm »
Salut à tous !

J'utilise la SFML avec le moteur physique Box2D, et j'essaie de rendre de façon la plus optimisée
possible les corps que Box2D gère avec des sf::Shape.

pour faire correspondre une sf::Shape à un "body" de Box2D, j'ai 2 possibilités :

Soit je fais une sf::RectangleShape, et j'update la position et l'angle à toutes les frames :
m_shape.setRotation(m_body->GetAngle()*RAD_TO_DEG); // Pour convertir les radians en degrés
m_shape.setPosition(m_body->GetPosition().x, m_body->GetPosition().y);

Ou alors je fais un polygon dont j'update chaque point :

for (int i=0; i<4; i++)
{
        b2Vec2 vertex = Bodypoint[i];
        m_polygon.AddPoint(vertex.x*PIXELS_PER_METER, vertex.y*PIXELS_PER_METER)
}
 


Ma question est de savoir quelle est la solution la plus optimisée ?
Gérer les 4 points me semble redondant, mais après je n'ai aucune idée de la "lourdeur" de la fonction
setRotation() que j'utilise dans la première solution...

Merci d'avance pour votre aide !

2
Général / [SFML 2.0] Chutes de framerate
« le: Août 17, 2012, 08:23:52 am »
Salut à tous !

Je travaille avec SFML 2.0 RC, sous windows. J'ai observé des ralentissements importants dans mon projet, et ce même avec un code très réduit.

J'appelle 3 méthodes en boucle depuis le main :

- Get_event() :
    m_mouse_pos = sf::Mouse::getPosition(m_app);

    sf::Event event;
    while(m_app.pollEvent(event))
    {
        if(event.type == sf::Event::Closed)
            m_app.close();
    }

- Update() :
    int frame_duration = 1.f /m_clock.restart().asSeconds();
    m_FPS.setString(Bibliotheque::vers_string(frame_duration));

- et Draw() :
    m_app.clear();
    m_app.draw(m_FPS);
    m_app.display();

J'ai fait avec l'objet "m_app" un .setFrameLimit(30)". Je n'utilise aucun thread, et pourtant j'observe de drôle de résultats pour au niveau des FPS affichées (ça va de 5 à plus de 100, et parfois ça se stabilise pendant quelque temps vers 30.

Et ce qu'une partie du code est mauvaise ? Qu'est ce qui peut clocher ?
Je vous remercie d'avance pour toute aide  :)

3
Système / [SFML 2.0] Thread comme attribut d'une classe
« le: Mai 23, 2012, 12:20:46 pm »
Bonjour à tous !

J'ai une classe Listener qui a un attribut sf::Thread.
Dans le constructeur de cette classe Listener j'appelle le thread ainsi :

m_thread = new sf::Thread(&Listener::recevoir);
m_thread ->launch();

Sachant que ma classe Listener a une méthode void Listener::recevoir();

J'ai cependant une erreur pendant la compilation :
error: must use '.*' or '->*' to call pointer-to-member function


Je ne comprends pas comment envoyer comme paramètre une méthode au thread attribut  :-[
Merci d'avance pour votre aide !

4
Réseau / [SFML2] Gérer le reception TCP en continu
« le: Mai 22, 2012, 02:48:28 pm »
Bonjour  :)

J'ai commencé ma première maquette d'application en réseau.
Il y a deux clients et un serveur qui ne fait que relayer ce que les clients envoient,
le tout en TCP.

Pour l'instant l'émission marche bien : le client envoie dès qu'il reçoit une input.
En revanche j'ai plus de mal avec la réception, car je ne sais pas comment faire
pour que le client soit toujours à l'écoute du serveur sans ralentir l'application.

Faut-il laisser en boucle un socket.receive(), pour être à l'écoute du serveur ?
Le problème est que même en mettant la socket non bloquante,
l'application a de terribles lags quand je fais ça (je n'utilise pas de threads).

Et est ce qu'on peut envisager d'avoir deux sockets par client : une qui ne fait que recevoir
et l'autre qui s'occupe d'émettre ?
Ou alors faut-il nécessairement utiliser des Selector dans ce cas ?

Merci d'avance pour votre aide !

5
Réseau / [SFML 1.6] Linkage statique pour le module Network
« le: Mai 08, 2012, 12:02:04 pm »
Bonjour à tous !

J'ai "linké" manuellement la SFML depuis le "Compiler and debugger settings" de Code::Blocks :
http://img15.hostingpics.net/pics/70278linkage.png

Je ne suis vraiment pas sûr de ce que j'ai fait, mais en tout cas ça marche. Cependant, je ne
sais pas quoi faire pour ajouter le module Network au projet.
Quelles librairies dois-je ajouter ?

Merci d'avance !

6
Projets SFML / STRATEGOS - le jeu dont vous êtes le stratège
« le: Mai 05, 2012, 09:06:11 am »
Bonjour à tous !

Je vous présente le projet sur lequel je travaille actuellement. Les liens pour le télécharger sont en bas de ce message.
Vous pouvez visiter le blog consacré à son développement à cette adresse : http://strategos-devlog.blogspot.fr/

1er Juillet 2012 : version jouable de la dernière version disponible : http://www.mediafire.com/download.php?bh9elzosuofj8l4

Présentation
Le jeu s'appelle STRATEGOS. Il peut être vu comme un mélange entre un jeu de cartes et un jeu de stratégie, au tour par tour.
Le jeu consiste en effet de placer ses créatures sur le champ de bataille et de prendre les bonnes décisions au bon moment pour remporter la partie.

Univers de jeu
Il s'agit d'un univers de type Fantasy / médiéval.
On retrouve différentes factions qui s'affrontent, chacune ayant un gameplay et des créatures uniques.
Voici un bref aperçu des 5 factions présentes dans le jeu :

La Sylve : représente la nature. Troupes équilibrées, début de jeu plutôt aisé.
La Néropole : une armée de mort-vivants. Troupes peu chères mais capables d'écraser l'ennemi par le nombre.
La Horde : groupe hétéroclite de barbares, gameplay très offensif.
L'Atlantide : composée de troupes d'élites onéreuses. Débuts difficiles car manque d'argent, mais possède les créatures les plus puissantes du jeu en fin de partie.
Le Pandémonium : aussi offensif que la Horde, mais avec de puissants sorts.

Chaque faction dispose de ses créatures uniques, allant du niveau 1 au niveau 4. Chaque créature a des statistiques uniques, et certaines d'entre elle peuvent lancer des sorts (offensif, soutien ou invocation).

Gameplay
Le principe est simple : le joueur doit tout au long d'une partie ériger une armée et combattre celle de l'adversaire. Le recrutement des créatures se fait via une caserne, où le joueur pourra acheter avec son or durement gagné des créatures aux profils variés. Il n'y a donc pas de pioche et pas d'aléatoire : vous décidez des troupes qui vous accompagneront sur le champ de bataille.
Le combat est en réalité une série de duels entre les créatures. Chaque créature peut attaquer un ennemi, engageant ainsi un duel.
STRATEGOS peut offrir un certain nombre de stratégies pour les joueurs qui prennent la peine d'assimiler les règles, mais peut aussi être joué sans avoir une parfaite connaissance des mécanismes !

Journal de bord
La dernière version stable est la 1.0 (V2). Celle-ci est entièrement jouable.

Cependant, j'ai décidé de tout reprendre à zéro, et je travaille actuellement sur une V3.
Dans la liste ci-dessous, est en vert ce qui est fait, en orange ce qui est en cours de réalisation, et en rouge ce qui n'est pas encore implémenté.

Avancement de la V3 :
  • Nouveau système de combat dynamique et animé
  • Refonte des HUD
  • Linkage statique de la SFML (le jeu devrait cette fois marcher sur tous les PC, quelque soit la carte graphique)
  • Version multijoueur LAN (en plus du hot seat)
  • Travail sur les créatures pour les rendre plus uniques et plus complètes
  • Remaniements de certaines créatures, équilibrages
  • Implémentation des menus
  • Modes de jeu (classique, campagne, puzzle...)


Liens
Télécharger la dernière version stable du jeu :
Windows : http://www.mediafire.com/download.php?bh9elzosuofj8l4 (V3, 0.4)


(Version Linux éventuellement, selon votre demande)

Pages: [1]
anything