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 - Despirithium

Pages: [1]
1
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 !

2
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

3
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.

4
Général / Compilation - Undefined Référence
« le: Juin 17, 2014, 12:33:31 pm »
Bonjour,
Je me suis référé à ce lien afin de pouvoir installer SFML 2.1. Je suis parvenu facilement a installé les anciennes versions (les versions 1.x) mais depuis la 2.0 j'ai vraiment du mal..

Lors de la compilation, j'ai les erreurs suivantes :


Les Search Directories sont réglés. Cependant le Linker Settngs est différent (je ne peux pas mettre sfml-graphic à la main, bien entendu car cela demande des .lib) :



J'ai bien mis les fichier dll dans le dossier de mon programme.
Merci d'avance.

Pages: [1]