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.


Messages - Despirithium

Pages: [1] 2 Suivante »
1
Réseau / Re : [SFML 2.1] Erreur de connection en dehors du LAN
« le: Juin 26, 2014, 07:56:57 pm »
Au lieu de recréer un sujet, je relance celui-là car j'ai exactement le même problème avec une IP Publique.

2
Réseau / Re : Mauvaise gestion des Socket (Jeu vidéo)
« le: Juin 24, 2014, 08:46:16 pm »
Ma manière de traiter le problème est la suivante :
Dans la boucle du jeu principale, à chaque tour, j'appelle la fonction updateOnline qui vérifie si le mode online est activé (ce qui a suscité auparavant une connexion entre le client et le serveur dans les Menus du jeu).
Une fois la vérification faite, on envoi les données à travers le socket qui sert de liaison, puis on en reçoit à travers le même socket. Le packet reçu mets à jour le joueur adverse non contrôlé par le joueur actuel (mOpponentFighter, qui est un pointeur de fighter).

La boucle signifie juste que, tant que les données ne sont pas complètement reçues, on continue de les recevoir. Je me suis peut-être trompé dans la manipulation, je bossais avec Qt il y a un long moment et il fallait à chaque tour vérifier si toutes les données étaient bien arrivées.

J'ai vaguement eu l'idée des thread, mais vu que je viens à peine de toucher au réseau et que je connais à peine les threads, je savais pas si c'était une bonne idée. Merci de la suggestion :)

3
Réseau / Mauvaise gestion des Socket (Jeu vidéo)
« le: Juin 24, 2014, 08:07:25 pm »
Bonjour,
Voilà, j'attaque la partie réseau de mon programme.
Mon jeu se déroule ainsi : un joueur fait office de serveur et le second tente de se connecter au premier.
Jusqu'ici, aucun problème, les menus fonctionnent correctement, le client parvient à se connecter au serveur et j'ai réalisé un envoi de packet (de type Fighter, une classe personnalisée) qui fonctionne très bien.

Néanmoins lorsqu'il s'agit de réaliser la partie, je ne sais pas très bien pourquoi, mais les données ne se mettent pas à jour, les packets ne sont pas correctement reçus. De plus, le jeu est très lent.
C'est la première fois de ma vie que je touche à du réseau, je vous présente le code concerné.

Boucle Principale :
    while(mWindow->isOpen())
    {
        processEvents();
        timeSinceLastUpdate += clock.restart();

        while(timeSinceLastUpdate > TimePerFrame)
        {
            processEvents();
            update(TimePerFrame);
            checkCollider();
            updateOnline();
            render();

            if(mMoving[ESCAPE])
            {
                mMoving[ESCAPE] = false;
                mType = -1;
                return;
            }
        }
    }
 

La fonction UpdateOnline :
   if(mType != LAUNCHGAMEONLINE)
        return;

    mLastOnlineTry.restart();

    sf::Packet sending, receiving;

    sending << mCurrentFighter;

    mOnlineManager->send(sending);
    receiving = mOnlineManager->receive();

    receiving >> *(mOpponentFighter);
 

Les fonctions send et receive de la classe OnlineManager :
void OnlineManager::send(sf::Packet p)
{
    if(!mConnected)
        return;

    while(mSocket.send(p) != sf::Socket::Done);
}

sf::Packet OnlineManager::receive()
{
    sf::Packet p;

    if(!mConnected)
        return p;

    while(mSocket.receive(p) != sf::Socket::Done);

    return p;
}
 

Voilà. Le jeu est très lent (sans doute à cause des boucles je suppose) et en plus de ça, les données ne sont pas reçues côté client ni serveur..
Merci de m'avoir lu.
Cordialement !

4
Graphique / Re : Taille du sprite ne s'adapte pas à la Texture
« le: Juin 22, 2014, 08:41:34 pm »
Merci pour ta réponse rapide :)

5
Graphique / Taille du sprite ne s'adapte pas à la Texture
« le: Juin 22, 2014, 07:00:49 pm »
Bonjour,
Je viens avec un souci de taille pour mon jeu de combat.
Mes personnages sont en constante animation, donc les textures de mes deux sprites (les deux combattants) changent régulièrement. Le souci c'est que la texture du personnage lorsqu'il ne bouge pas est plus petite que celle du personnage lorsqu'il donne un coup de pied, ce qui fait qu'étrangement le bloc de mon sprite reste le même, et mon coup de pied est coupé, ce qui fausse les collisions et qui rend très mal.
Je ne sais pas comment régler ça, peut-être que j'ai loupé quelque chose ?
Egalement, n'y a t'il plus la fonction qui permet de mettre une Alpha Key afin de rendre le fond de mes textures transparentes ?

Merci beaucoup
Cordialement

6
Général / Re : Gestion des fichiers - Gestion Client/Serveur
« le: Juin 22, 2014, 11:56:17 am »
Le souci avec l'exemple que tuas pris (RPG Maker) c'est qu'ils n'utilisent pas de vulgaires fichiers textes, et surtout ils ont un moteur de scripting, ce que je ne sais pas faire ^^ Je sais pas comment ils gèrent leur fichiers, je pensais qu'il existait des lib permettant de gérer plus simplement les fichiers, ou en tout cas les données sauvegardées. A priori le XML est envisageable, mais il est modifiable et surtout davantage conçu pour les informations de configuration. Peut-être SQLite, mais si on peut ouvrir le fichier avec WAMP ou autre utilitaire de la sorte, ça reste non fiable..

Quant-à l'architecture client/serveur, je pensais à utiliser ma base de donnée afin de sauvegarder les joueurs en attente de partie - un matchmaking - et les faire matcher du coup. La question que je me demandais est : comment je peux tester si mon système PVP marche si je ne peux lancer qu'une seule fois le logiciel ? :/

Merci de ta réponse :)

7
Général / Gestion des fichiers - Gestion Client/Serveur
« le: Juin 21, 2014, 10:58:35 am »
Bonjour, je viens poster ce sujet aujourd'hui car je suis dans la réalisation de mon projet vrai jeu-vidéo en 2D et que je rencontre quelques soucis (ou plutôt je me prépare à les rencontrer).
Il s'agira d'un jeu de combat en 2D et je souhaiterais pouvoir réaliser un mode histoire. Pour sauvegarder l'histoire, je pense qu'il vaut mieux faire usage de fichiers plutôt que de l'écrire en brut.

Donc tel est ma question, y a t'il des méthodes plus intéressantes afin d'enregistrer l'histoire et la progression du joueur dans un fichier ? Comment crypter ces données pour ne pas que le joueur puisse les modifier à sa guise ?

D'un autre côté, je souhaite aussi réaliser un mode de jeu en ligne où le joueur pourrait affronter d'autres joueurs. Le mieux serait-il une architecture P2P (cela ne concernerait que deux joueurs pour le moment, il n'y a pas de statistiques ou de classement dans l'immédiat) ? Si je venais à vouloir justement faire des classements et compagnie, dois-je impérativement prendre un serveur ?

Merci de répondre à mes questions de débutant
Cordialement.

8
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 04:40:24 pm »
Cela marche, merci :)

9
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 04:23:17 pm »
GCC 4.7 TDM (SJLJ) - 64 bits - Windows

10
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 04:08:37 pm »
Code::blocks 12.11, la dernière version stable de SFML.

11
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 03:48:03 pm »
Oui.
Je viens d'inclure Window. Maintenant les erreurs sont des erreurs de link.
obj\Debug\main.o||In function `main':|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|9|undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|10|undefined reference to `_imp___ZN2sf5Color5GreenE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|10|undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|18|undefined reference to `_imp___ZN2sf6Window5closeEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|15|undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|21|undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|21|undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|22|undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|22|undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|23|undefined reference to `_imp___ZN2sf6Window7displayEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|12|undefined reference to `_imp___ZNK2sf6Window6isOpenEv'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|26|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|8|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML1\main.cpp|26|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
obj\Debug\main.o||In function `ZN2sf11CircleShapeD1Ev':|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Despirithium\Documents\Developpement\Programmation\SFML\SFML-2.1\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZN2sf5ShapeD2Ev'|
||=== Build finished: 20 errors, 0 warnings (0 minutes, 0 seconds) ===|
 

12
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 03:04:00 pm »
Ce sont toujours les mêmes.

13
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 03:01:17 pm »
Mon fichier ressemble désormais à cela :
(click to show/hide)

14
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 01:57:31 pm »
(click to show/hide)

15
Général / Re : Compilation - Undefined Référence
« le: Juin 17, 2014, 01:28:24 pm »
Voici le lien de téléchargement : http://anthonyb.fr/scripts/sfml1.rar.
Merci de consacrer votre temps.

Pages: [1] 2 Suivante »