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

Pages: [1] 2 Suivante »
1
Projets SFML / Re: [Jeu C++ / WebAssembly ] InTheCube
« le: Septembre 07, 2019, 08:28:56 pm »
Bonjour Arthuro, vraiment sympa ton petit jeu de plateforme,  super boulot pour le webassembly !


Merci !
Il y a 32 niveaux. Je me demande si quelqu'un a déjà réussi a le terminer complètement.

Pour linux. Je viens d'en faire un paquet snap:
https://snapcraft.io/inthecube

J'oubliais le dépot github:
https://github.com/ArthurSonzogni/InTheCube

2
Projets SFML / [Jeu C++ / WebAssembly ] InTheCube
« le: Août 18, 2019, 11:46:25 am »

 Bonjour a tous.
 Je vous présente un projet qui me tient à cœur.
 
 In The Cube est un jeu de plateforme/puzzle.
 Voici quelques screenshot:






Vous serez amené à résoudre une multitude d'épreuves faisant appel à votre réflexion et votre agilité.
La clé du sauvetage du monde se trouve dans un cube d’1cm d’arête, c’est pourquoi un cube encore plus minuscule que vous incarnerez, est envoyé à l'interieur.
A travers plus de trente niveaux, vous pourrez découvrir une multitude de mécanisme (laser, miroirs,...) qu'il vous faudra manipuler avec talent pour parcourir le cube.
Des machines étranges se trouve dans les niveaux les plus avancés.

Ce jeux à été réalisé initialement avec la SFML 1.6 en 2011/2012.
Ensuite cette année 2019, j'ai réalisé le port WebAssembly pour en faire une version jouable sur navigateur web. J'ai donc essentiellement dû faire ma propre SFML que j'ai appelé SMK qu'on peut retrouver ici:
https://github.com/ArthurSonzogni/smk

Le jeu est très varié (dans chaque salles il y a un nouveaux mécanisme) et la difficulté y est particulièrement élevé.
J'aimerais savoir ce que vous en penser, quel sont vos avis.

Site officiel: https://arthursonzogni.com/InTheCube
Jouer en ligne: https://arthursonzogni.com/InTheCube/play/

3
Projets SFML / Re : [Jeu C++] In The Cube
« le: Septembre 25, 2013, 10:25:30 am »
Merci, je pense que ton commentaires est juste.
Bravo pour avoir terminé le jeu!

Concernant une suite, pour l'instant ce n'est pas en projet.
Par contre il y a des versions précédentes ( le jeu que j'ai fait ici, je l'ai en faite recommencer 3 fois sur plusieurs années)
Voici un screenshot d'une version précédentes.
 
Les versions précédentes sont forcément moins bien (graphiquement et techniquement) mais tu pourra y trouver des nouvelles énigme (et d'autres semblables que j'ai repris). Pour la première version, c'est ici, la seconde ici.

4
Projets SFML / [Jeu C++] In The Cube
« le: Septembre 22, 2013, 05:09:32 pm »

 Bonjour a tous.
 Je vous présente un projet qui me tient à cœur.
 
 In The Cube est un jeu de plateforme/puzzle.
 Voici quelques screenshot:


Vous serez amené à résoudre une multitude d'épreuves faisant appel à votre réflexion, votre agilité et votre ruse.

La clé du sauvetage du monde se trouve dans un cube d’1cm d’arête, c’est pourquoi un cube encore plus minuscule que vous incarnerez, est envoyé à l'interieur.

A travers plus de trente niveaux, vous pourrez découvrir une multitude de mécanisme (laser, miroirs,...) qu'il vous faudra manipuler avec talent pour parcourir le cube.

Des machines étranges se trouve dans les niveaux les plus avancés.


Ce jeux à été réalisé avec la SFML 1.6
Il y a une version pour Windows et une autre pour Ubuntu 64bits.
Vous pouvez télécharger les deux version ici →
Le jeu est très varié (Dans chaque salles il y a un nouveaux mécanisme) et la difficulté y est particulièrement élevé.
J'aimerais savoir ce que vous en penser, quel sont vos avis.
Enfin, je voudrais savoir ceux qui ont réussit à terminer entièrement le jeu.

5
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 08, 2013, 07:02:56 pm »
Oui, le même problème  ;D
Peu importe dans quel espace est déclaré le packet.

6
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 08, 2013, 02:24:45 pm »
je ne suis pas un pro , mais est tu sur que ton paquet existe encore quand tu quittes la fonction send ?
Je ne l'utilise plus le paquet après l'avoir envoyé. Qu'il soit devenu invalide après Send n'est pas génant.
Je ne suis pas certain de te comprendre à 100%.
Néanmoins, j'ai reçut une réponse sur le forum anglais assez convaincante.

7
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 07, 2013, 01:19:42 pm »
Okay, c'est parti. Cela ne me fera pas de mal.

Donc la suite ici:http://en.sfml-dev.org/forums/index.php?topic=12557.0

8
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 07, 2013, 12:47:52 pm »
J'était certain.
Mais pour l'être vraiment j'ai supprimé toute occurence des lib de la sfml dans mon system. ( car il y avait aussi les versions 1.6 et 2.0 dans mon system )

j'ai compiler mon programme sans rien réinstaller et il y a des erreur de linkage pour la sfml (comme cela on est certains qu'il n'existe pas d'endroit ou trouver une mauvaise version des libs de la sfml.

J'ai réinstaller la version 2.1 et compilé. Le problème demeure.

9
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 07, 2013, 12:21:36 pm »
J'ai fait ces tests.

Effectivement quand je passe avec des sockets bloquantes, cela tourne impeccablement.

Avec des sockets non bloquantes:
le status de Send passe de Done à NotReady à partir de gros paquets.
En faisant des Sleep, il arrive à repasser en Done  mais seulement pour une certaine taille, ensuite c'est inutile (même en doublant le temps de sleep à chaque fois que c'est en NotReady)
Cela est vraisemblablement normal, on ne peut pas faire send d'un gros paquets dans le laps de temps aussi court.
Je me demandais , en mode non bloquant, c'est un timeout très courts ou bien un arrêt lorsque qu'il n'y a rien à faire d'autre que d'attendre ? Si c'est la première réponse, c'est normal. Sinon je ne sais pas.

Par contre au niveau de receive, c'est plus bizarre:
A partir d'un moment que send ne fonctionne plus, le status de Receive reste sur Done et je reçoit en permanence le même paquet.

10
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 06, 2013, 10:04:11 pm »
C'était simplement pour y mettre un Makefile avec pour t'éviter de l'écrire si tu voulais le tester.

voila:
#include <SFML/Network.hpp>
#include <iostream>

void sendBigPaquet(int size, sf::TcpSocket& socket)
{
        std::cout<<"envoie du paquet de taille:"<<size<<std::endl;
        sf::Packet paquet;
        paquet<<sf::Uint32(size);
        for(int i=0;i<size;++i)
        {
                paquet<<sf::Uint32(0);
        }
        socket.send(paquet);
}

void receiveBigPaquet(sf::TcpSocket& socket)
{
        sf::Packet paquet;
        if (socket.receive(paquet)==sf::Socket::Done)
        {
                sf::Uint32 size;
                paquet>>size;  
                std::cout<<"reception d'un paquet de taille :" << int(size)<<std::endl;
                //for(int i=0;i<int(size);++i)
                //{
                        //sf::Uint32 b;
                        //paquet>>b;
                //}
        }
}


int main(int argc, const char *argv[])
{
        std::cout<<"serveur(0) ou client(1)"<<std::endl;
        int reponse;
        std::cin>>reponse;
        std::cout<<"port:"<<std::endl;
        int port;
        std::cin>>port;

        if (reponse==0)
        {
                // Serveur
                sf::TcpListener serverListener;
                sf::TcpSocket socket;
               
                socket.setBlocking(false);
                serverListener.setBlocking(false);
       
                serverListener.listen(port);
                while (serverListener.accept(socket)!=sf::Socket::Done)
                                sf::sleep(sf::seconds(0.3));
               
               
                int size=1;
                for(;;)
                {
                        sendBigPaquet(size,socket);    
                        sf::sleep(sf::seconds(1.0));
                        size*=2;
                }

        }
        else
        {
                // client
                sf::TcpSocket socket;
               
                socket.setBlocking(false);
               
                while(socket.connect("127.0.0.1",port)!=sf::Socket::Done)
                        sf::sleep(sf::seconds(0.3));
               
                for(;;)
                {
                        receiveBigPaquet(socket);
                        sf::sleep(sf::seconds(0.3));
                }

        }
        return 0;
}

et chez moi, cela donne ceci:
server:
./main
serveur(0) ou client(1)
0
port:
1234
envoie du paquet de taille:1
envoie du paquet de taille:2
envoie du paquet de taille:4
envoie du paquet de taille:8
envoie du paquet de taille:16
envoie du paquet de taille:32
envoie du paquet de taille:64
envoie du paquet de taille:128
envoie du paquet de taille:256
envoie du paquet de taille:512
envoie du paquet de taille:1024
envoie du paquet de taille:2048
envoie du paquet de taille:4096
envoie du paquet de taille:8192
envoie du paquet de taille:16384
envoie du paquet de taille:32768
envoie du paquet de taille:65536
envoie du paquet de taille:131072
envoie du paquet de taille:262144
envoie du paquet de taille:524288
envoie du paquet de taille:1048576
envoie du paquet de taille:2097152
envoie du paquet de taille:4194304
envoie du paquet de taille:8388608
envoie du paquet de taille:16777216
 
client:
./main
serveur(0) ou client(1)
1
port:
1234
reception d un paquet de taille :1
reception d un paquet de taille :2
reception d un paquet de taille :4
reception d un paquet de taille :8
reception d un paquet de taille :16
reception d un paquet de taille :32
reception d un paquet de taille :64
reception d un paquet de taille :128
reception d un paquet de taille :256
reception d un paquet de taille :512
reception d un paquet de taille :1024
reception d un paquet de taille :2048
reception d un paquet de taille :4096
reception d un paquet de taille :8192
reception d un paquet de taille :16384
reception d un paquet de taille :32768
reception d un paquet de taille :65536
reception d un paquet de taille :131072
reception d un paquet de taille :262144
reception d un paquet de taille :524288
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
reception d un paquet de taille :1048576
 

11
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 06, 2013, 07:14:05 pm »
edit:
Ok, je n'ai pas se soucis sous windows donc ce problème est spécifique à linux.
Mais avant la nouvelle version sur windows ça ne marchait pas non plus quand les paquets dépassaient une certaines taille en TCP.
D'accord. Bon, je vais devoir me limiter à des paquets plus petits.


Voila, j'ai terminé le code minimal

http://www.mediafire.com/download/d032a18ff4dfa4x/sfmlTcpLimit.zip


On lance 2 fois le programme en parallèle.

J'initie la connexion puis j'envoie des paquets auquel je double la taille à chaque fois

A partir d'un moment, ( vers 1048576 ~ 1mo). Le client reçoit en permanence ce même paquet sans le vider j'ai l'impression.

Ce n'est pas exactement le même problème, dans mon application, le client ne reçoit plus rien (ni même les paquets suivant) tandis que dans ce code, il reçoit le même paquet en permanence.


Merci pour le temps que tu m'accorde, bonne journée.

12
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 06, 2013, 06:08:10 pm »
Je suis passé sous SFML 2.1
Je l'ai fait depuis les sources à l'aide de cmake.
J'était pas trop certain d'utiliser les bonne version.
Pour vérifier j'ai fait:
ldd -v ./monapplication | grep "sfml"
         libsfml-network.so.2 => /usr/local/lib/libsfml-network.so.2 (0x00007f4824be4000)
         libsfml-graphics.so.2 => /usr/local/lib/libsfml-graphics.so.2 (0x00007f48249a5000)
         libsfml-window.so.2 => /usr/local/lib/libsfml-window.so.2 (0x00007f482478f000)
         libsfml-system.so.2 => /usr/local/lib/libsfml-system.so.2 (0x00007f4824585000)
puis dans /usr/local/lib
ls -la | grep "sfml"
lrwxrwxrwx  1 root root       18 août   6 17:06 libsfml-audio.so -> libsfml-audio.so.2
lrwxrwxrwx  1 root root       20 août   6 17:06 libsfml-audio.so.2 -> libsfml-audio.so.2.1
-rw-r--r--  1 root root    85771 août   6 17:06 libsfml-audio.so.2.1
lrwxrwxrwx  1 root root       21 août   6 17:06 libsfml-graphics.so -> libsfml-graphics.so.2
lrwxrwxrwx  1 root root       23 août   6 17:06 libsfml-graphics.so.2 -> libsfml-graphics.so.2.1
-rw-r--r--  1 root root   302714 août   6 17:06 libsfml-graphics.so.2.1
lrwxrwxrwx  1 root root       20 août   6 17:06 libsfml-network.so -> libsfml-network.so.2
lrwxrwxrwx  1 root root       22 août   6 17:06 libsfml-network.so.2 -> libsfml-network.so.2.1
-rw-r--r--  1 root root   130445 août   6 17:05 libsfml-network.so.2.1
lrwxrwxrwx  1 root root       19 août   6 17:06 libsfml-system.so -> libsfml-system.so.2
lrwxrwxrwx  1 root root       21 août   6 17:06 libsfml-system.so.2 -> libsfml-system.so.2.1
-rw-r--r--  1 root root    55420 août   6 17:04 libsfml-system.so.2.1
lrwxrwxrwx  1 root root       19 août   6 17:06 libsfml-window.so -> libsfml-window.so.2
lrwxrwxrwx  1 root root       21 août   6 17:06 libsfml-window.so.2 -> libsfml-window.so.2.1
-rw-r--r--  1 root root   115016 août   6 17:05 libsfml-window.so.2.1
 
Avec cela, je pense être certain d'avoir les bonne versions au niveau des libs.

Malgrè le changement de version, le problème reste identique (pas de mieux, pas de pire)

Juste une précision que j'avais omis, les programmes tournent sur linux.
Je vais faire un programme minimal qui reproduit mon problème.

13
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 06, 2013, 04:57:01 pm »
Je vais effectuer la migration, je te tient au courant.

14
Réseau / Re : limite taille paquet [TCP] ?
« le: Août 06, 2013, 04:09:40 pm »
SFML 2.0

sockets non bloquantes.

15
Réseau / limite taille paquet [TCP] ?
« le: Août 06, 2013, 03:42:08 pm »
Bonjour,

J'expérimente des problèmes lorsque j'envoie par TCP des paquets trop gros.
Je ne reçoit pas de paquets lorsque ceux-ci dépasse une certaine limite proche de 1,34 Mo
Je précise que je teste cela à partir de 2 instances de mon programme qui communiquent par TCP à travers le localhost.

Peut-être que je sature une certaines files d'attente en interne ?

En règle générale, il y a t-il une limite dans la tailles des paquets qu'on peut envoyer avec TCP  ?

Je peut bien sur découper mon paquet pour que à la réception je puisse vider petit à petit la file d'attente.
Mais c'est dommage, puisque TCP fait déjà du découpage/assemblage en interne.

Merci,


Pages: [1] 2 Suivante »