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

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

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

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


4
Projets SFML / [jeu 3d] Pigami
« le: Juin 15, 2013, 09:59:24 am »
Téléchargement

Bonjour à tous.
Il est temps pour moi de releaser un nouveau petit jeu : Pigami.
C'est un clone en 3d du jeu flash bloxorz, auquel j'ai ajouté de nouvelles fonctionnalité.
Le but est de faire "tourner" le bloc pour atteindre l'arrivé (sans tomber).







Pour ceux qui auraient fini le jeu. Il y a à la fin un générateur de niveau. Un algorithme générera les niveaux les plus dures pour une taille de plateau donné ( et il y est très coriace ).
Voila dite moi ce que vous en pensez.

Téléchargement

(Il est disponible pour windows et linux (64bit) pour l'instant) . J'espère que les exécutables fonctionneront chez vous.

5
Fenêtrage / [résolu]Problème plusieurs touches
« le: Juillet 31, 2012, 04:13:45 pm »
J'ai un problème qui reste pour moi inexpliqué.
La sfml ne détecte pas lorsque j’appuie sur ces 3 touches en même temps.
Voila mon code:
        void SpeedFire::AcquireEvent()
        {
                Event e; while(screen.GetEvent(e));
                spacePressed=screen.GetInput().IsKeyDown(Key::Space);
                leftPressed=screen.GetInput().IsKeyDown(Key::Left);
                rightPressed=screen.GetInput().IsKeyDown(Key::Right);
                upPressed=screen.GetInput().IsKeyDown(Key::Up);
                downPressed=screen.GetInput().IsKeyDown(Key::Down);
        }

Par contre pour un trio de 3 autres touches, cela marche.

Si j'appuie sur [espace][gauche][haut]   j'obtient seulement [espace]
Si j'appuie sur [espace][gauche] puis [haut] j'obtient seulement [espace][gauche]


Étrange non?


C'est peut-être un problème de mon système (Ubuntu 12.04).
Ou de mon matériel.

Une idée?

Temps qu'on y ait, j'aimerais obtenir plus d'information sur l'utilité de vider les évenements en attente pour utiliser screen.GetInput()
( Je fais cela dans tout mes jeux, car sinon je n'obtient aucun événement à travers un Input)

6
Graphique / Calcul déporté sur carte graphique et flottant
« le: Mai 21, 2012, 03:50:05 pm »
Bonjour,

Je vous explique ce que je voudrais faire.
Pour un projet étudiant, j'aimerais accélérer le traitement d'un algo qui opère sur plusieurs matrices.
Je voudrais utiliser les PostEffect de la SFML pour cela.
Je fais en gros les même opérations que pour faire un effet de flou, je fait la moyenne des 4 valeurs des 4 plus proches pixel. Seulement ici, je fait une moyenne pondéré variable en fonction de coefficient associé à chaques pixels.

Voila le post-effect :
vec2 dimension
texture potentiel
texture coefficient
texture selection
effect
{
        vec2 pos=vec2(_in.x,1.0-_in.y);

        vec2 xx=vec2(1.0 / dimension.x,0.0);
        vec2 yy=vec2(0.0,1.0 / dimension.y);
        vec4 g = potentiel( pos -xx) * coefficient(pos).r;
        vec4 d = potentiel( pos +xx) * coefficient(pos).g;
        vec4 b = potentiel( pos +yy) * coefficient(pos).b;
        vec4 h = potentiel( pos -yy) * coefficient(pos).a;
        vec4 s=selection(pos);
        if (s.a >0.5)
                _out=s;
        else
                _out=g+d+b+h;
}

Cela marche sauf que j'ai un problème de précision.
OpenGl travail dans ce postEffect avec des flottant qui me donne une précision qui devrait être suffisante, seulement ensuite il envoie le résultat et la SFML qui conserve le resultat comme une image, et ici, les valeur sont des entiers entre [0,255].
J'aurais besoin pour que mon algo fonctionne, être plus précis que 1/256.

Par exemple, pour un simple algo de flou, théoriquement si on l'applique plusieurs fois, on devrait tendre vers une image uniforme, en réalité, il y a un moment on les petite fluctuations (<1/256) ne pèse plus assez et disparaissent avec l'arrondis, l'algo de flou n'avance plus.   Mon problème est équivalent.

Une idée pour travailler avec des flottant (voir double)   en utilisant la carte graphique pour les calculs?

Si ça peut aider, voila la fonction ou j'utilise ce PostEffect:
void iteration(RenderWindow& screen,Image& potentiel,Image& selection,Image& coefficient,int n)
{
        Sprite spr;
        spr.SetImage(potentiel);
        spr.SetPosition(0,0);
        screen.Draw(spr);
       
        EffectIteration.SetTexture("potentiel",NULL);
        EffectIteration.SetTexture("coefficient", &coefficient);
        EffectIteration.SetTexture("selection", &selection);
        EffectIteration.SetParameter("dimension", screen.GetWidth(),screen.GetHeight());
        screen.Draw(EffectIteration);
       
        for(int i=0;i<n;++i)
        {
                screen.Draw(EffectIteration);
        }
        screen.Display();
        potentiel.CopyScreen(screen);
}

Pages: [1]