Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Framework  (Lu 57053 fois)

0 Membres et 1 Invité sur ce sujet

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Framework
« le: Novembre 29, 2013, 08:40:08 pm »
Bonjour,

Je suis d'assez près les quelques projets de framework sur ce forum (en ce moment celui de Lolilolight avec sa 3D)

Je suis moi-même en train de développer une sorte de framework et je pense qu'au lieu de séparer les framework de chacun on devrait faire un framework ensemble avec un max de gens de la communauté SFML.

Et donc pourquoi pas créer un framework "SFGL" (idée de nom du framework de Lolilolight) par la communauté française (et pourquoi pas anglaise) enfin un truc de "fou" qui puisse justement être digne de la SFML

Je vais donner une liste de framework plus ou moins abouti que j'ai trouvé :

- https://github.com/SFML/SFML-Game-Development-Book, Le livre sur SFML qui présente un jeu plutôt pas mal avec les concepts importants

- https://github.com/tobsa/SFML-Framework, Ici un anglais mais c'est un framework avec des fonctionnalités sympas

- https://github.com/Lo-X/potato-framework, Un très bon framework, celui de Lo-x, un membre SFML français

- https://github.com/Cmdu76/GameTest, Le mien, fortement inspiré du livre SFML, je me sers de l'héritage sur des classes présentées dans le livre pour ne pas toucher à grand chose au final

- http://fr.sfml-dev.org/forums/index.php?topic=12616.0, Le projet de RPG 2D en réseau de Lolilolight

- http://fr.sfml-dev.org/forums/index.php?topic=13485.0, Le projet pour la 3D de Lolilolight, que je mentionne plus haut

- http://fr.sfml-dev.org/forums/index.php?topic=7617.0, Un projet plutôt abouti sur les jeux Sonic mais le code est très bien construit

EDIT : http://khayyam.developpez.com/articles/cpp/jeux/architecture/, Très bon article présentant une structure un peu différente mais intéressante

EDIT : https://github.com/TankOs/SFGUI, Je crois que c'est un des meilleurs (ou même le meilleur) système de GUI pour SFML

EDIT : http://code.google.com/p/gqe/, Un projet de moteur de jeu cité par Lo-x sur son devblog pour son système d'entités vraiment génial :)

EDIT : http://code.google.com/p/engenesis/, un framework développé par Lo-x

Lo-x si tu me lis, parle-moi de tes 2 frameworks :)

Bon voilà c'est des projets que certains connaissent bien et peut-être même que vous en êtes l'auteur, dans tout les cas, je pense que créer un github avec le nom de SFGL et se faire un framework qui soit digne de ce nom serait mieux ensemble :)

« Modifié: Décembre 02, 2013, 01:00:49 am par Cmdu76 »

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Framework
« Réponse #1 le: Novembre 29, 2013, 09:07:29 pm »
Si un github il doit y avoir, je pense qu'on laissera Laurent le gérer (enfin s'il est d'accord) ça évitera des problèmes "bêtes" aussi on sera sûr que le code est reconnu par un expert et que le code sera bien "digne" de la SFML :)

Ensuite on doit pouvoir se mettre d'accord sur la structure du framework, comment on englobe tout, tout ce qui est State, les ressources ... Et ça, ça se réfléchit un minimum, surtout quand on est à plusieurs, voilà voilà :)



Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Framework
« Réponse #2 le: Novembre 29, 2013, 09:21:35 pm »
Citer
Si un github il doit y avoir, je pense qu'on laissera Laurent le gérer (enfin s'il est d'accord) ça évitera des problèmes "bêtes" aussi on sera sûr que le code est reconnu par un expert et que le code sera bien "digne" de la SFML
Là je t'arrête tout de suite. J'ai déjà pas le temps de m'occuper de SFML, alors... ;D

Sinon c'est évidemment une très bonne initiative, mais je pense que ça ne va rien donner. Les gens que tu as repéré font leur framework pour le fun, pour apprendre. C'est fun parce qu'ils y mettent ce qu'ils veulent, quand ils veulent, comme ils veulent. Faire un projet commun avec toute une équipe, c'est des contraintes, de l'organisation, des opinions différentes, etc. C'est déjà moins fun. Malheureusement.
Laurent Gomila - SFML developer

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Framework
« Réponse #3 le: Novembre 29, 2013, 09:39:36 pm »
Je me doutais que tu serais trop pris, c'est pour ça aussi que j'ai précisé le "si tu étais d'accord" :)

En effet j'avais pas pensé que à ce côté contrainte comme tu le soulignes ...

Après si c'est sur github et qu'on travaille en communauté le but n'est pas de finir le framework en 1 mois, le but c'est que chacun apporte une ou plusieurs pierres à l'édifice et que sur le long terme on est un résultat plus que correct !

La plupart des projets que j'ai montré sont open-source et leurs proprios passent régulièrement ici, je pense que faire une "fusion" des idées/concepts/atouts de chaque projet peut mener à un très bon résultat si on arrive à former une équipe.

Si il y a des motivés, qu'ils se fassent connaître ici :)

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #4 le: Décembre 01, 2013, 04:37:58 pm »
Harf je n'ai pas encore pu mettre le code source de mon framework sur git-hub. (Framework que j'utilise pour mon futur jeux en 2D (pour le projet Sorrok comme tu l'as cité plus haut) et plus tard pour des jeux en 3D.)
Mais j'essayerai de le mettre bientôt en ligne et de faire un petit tutoriel par la même occasion.
Je m'impose beaucoup de contrainte au niveau optimisation, gestion de ressources, et simplicité d'utilisation. (Afin que je puisse l'utiliser le plus simplement possible dans mes différents projets c'est à dire, l'éditeur de carte, le client et le serveur)
J'ai commencé avec SFML dans le but d'apprendre comme la plupart des membres ici je suppose et donc, de ce fait, mon framework ne peut s'utiliser que avec SFML et opengl. ^^ (Mais bon si il y a des personnes qui connaissent d'autre api comme par exemple la SDL, directX pour la 3D, etc...) je ne suis pas contre le fait qu'il y ai cette fonctionnalité mais ce que je vise avant tout c'est la performance et la simplicité et non la variété dans un 1er temps.

Enfin soit pour ma part je suis d'accord pour mettre tout ça en commun afin de créer quelque chose de vraiment plus communautaire.

Surtout au niveau performance, sécurité et simplicité je pense que ça pourrait être intéressant.

Je n'ai pas encore inclus le module réseau dans le framework par contre mais ça, j'ai le code source sur mon PC donc je n'aurai qu'à l'inclure, ça ira vite.
Faire un topic sur le forum anglais serait bien également car je sèche un peu sur certains points. :P

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Framework
« Réponse #5 le: Décembre 01, 2013, 05:00:07 pm »
J'ai hâte de pouvoir ce qu'il en est de ton projet, ça m'a l'air vraiment pas mal :)

Citer
Mais bon si il y a des personnes qui connaissent d'autre api comme par exemple la SDL, directX pour la 3D, etc..

On pourrait mais moi aussi je voyais le framework sans forcément qu'il s'appuit sur d'autres API, je pense que la SFML fait déjà largement l'affaire :)
Qt peut aussi être un bon choix mais je ne maîtrise pas dutout et SFML propose un sytème de GUI qui (SFGUI) qui est aussi un très bon choix (je sais que SFGUI utilise un système de signaux/slots inspiré de celui de Qt)

Ce qu'on peut faire, c'est partir de ton framework comme base du framework communautaire , donc si tu es d'accord je te laisse créer le repertoire SFGL sur GitHub et tu mettras le lien dans ce topic.

Après faudrait un chat ou quelques choses pour pouvoir réfléchir en groupe afin d'obtenir un bon résultat et de choisir comment traiter l'utilisation de certaines parties (State;Graphisme;GUI;Collisions;Réseau;...)

Et ensuite faudrait une réel équipe avec des membres assignés à certaines parties.

Ensuite la communauté pourrait quand même travailler sur le projet en se réferrant aux différents responsables en fonction du sujet désiré

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #6 le: Décembre 01, 2013, 05:16:06 pm »
Oui sfml fait déjà très bien l'affaire.  :)

Au niveau des collisions moi j'ai fait un système simple, la map est composé d'une grille avec des cases, et le personnage peut soit passer sur la case ou soit ne pas passer sur la case. (Donc j'ai utilisé un simple booléen quoi)

Mais il y a surement moyen de faire autrement voir même mieux.

Au niveau du réseau j'ai fais un cryptage hétérogène avec la librairie openssl, ça aussi il faudra que je la link au framework (donc, un cryptage RSA pour transmettre la clé publique pour un cryptage aes)
Car la taille des messages est limitée pour le cryptage RSA à +/- la taille de la clé.
Et j'ai fais une classe Network qui stocke les messages reçu par le client ou le serveur, et qui les envoyes au client ou au serveur. (Ca dépend si on se situe du côté de l'api client ou du côté de l'api serveur)

Bref j'utilise un thread pour le réseau aussi pour recevoir et envoyé les messages.

De toute façon vous verrez ça dès que j'aurai créer le répertoire sur git-hub.
Et j'aimerais justement avoir des avis, pour le moment pour les guis avec les boutons et tout ça j'utilise QT mais sfgui pourrait convenir aussi en effet, mais, j'ai pas trop envie d'imposer une librairie pour l'utilisation de GUI, car, ça, ça varie beaucoup selon les différents types de jeux les gui donc je préfères que le créateur du jeux crée lui même ses guis avec la bibliothèque de son choix.
« Modifié: Décembre 01, 2013, 05:17:44 pm par Lolilolight »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #7 le: Décembre 01, 2013, 06:43:55 pm »
Voilà j'ai créer un répertoire git-hub ou j'ai mis en ligne quelques sources (pas tout) du framework.
Car je voulais juste test le linkage avec CMake.
Voici le lien vers le repository : https://github.com/Lolilolight/SFGL

Pour le compiler et l'installer c'est simple il suffit de faire comme pour la SFML. (Cf le tutoriel sur compiler SFML avec CMake donc)

Mais j'ai un soucis lorsque je veux utiliser le framework avec ces simple ligne de code :
#include <SFGL/World/2D/world.h>
using namespace sfgl;
int main () {
    TextureManager &tm = World::getTextureManager();
    return 0;
}
 

Le 1er soucis (qui n'en est pas vraiment un) c'est que je suis obligé de linker les .a de SFML à mon projet sinon j'ai des erreurs à l'édition de lien.

Mon second soucis c'est que j'ai un crash à l'exécution.

Donc voilà si quelqu'un pourrait m'aider se serait bien.

PS : je n'ai essayé que sur windows en 32 bits donc..., je ne peux pas garantir que la compilation de la librairie fonctionne sur des autres plateforme.
« Modifié: Décembre 01, 2013, 06:59:05 pm par Lolilolight »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #8 le: Décembre 01, 2013, 06:53:19 pm »
Et voilà le message d'erreur que ça me met :
(cliquer sur l'image pour agrandir)


Et pourquoi il me met application 16 bits dans le titre du message ???
C'est une application que j'ai compilé en 32 bits pourtant, pas en 16 bits.
« Modifié: Décembre 01, 2013, 07:01:27 pm par Lolilolight »

Excellium

  • Jr. Member
  • **
  • Messages: 70
    • Voir le profil
Re : Framework
« Réponse #9 le: Décembre 01, 2013, 07:17:05 pm »
Je suis assez partant pour une collaboration.
Là je suis sur une GUI que je vais bientôt révéler à la communauté.
"Everything should be made as simple as possible, but not simpler."

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #10 le: Décembre 01, 2013, 07:22:34 pm »
Ok. :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Framework
« Réponse #11 le: Décembre 01, 2013, 07:29:54 pm »
Citer
voilà le message d'erreur que ça me met
Ce post-ci sert à collecter les idées / contributions pour un framework commun, pas à résoudre les erreurs de ta bibliothèque, pour lesquelles tu as déjà créé un sujet sur le forum. Merci de ne pas t'éparpiller.
Laurent Gomila - SFML developer

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Framework
« Réponse #12 le: Décembre 01, 2013, 08:29:57 pm »
Ok. :)

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Framework
« Réponse #13 le: Décembre 01, 2013, 11:34:02 pm »
J'irais jeter un coup d'oeil au github demain, pour voir comment qu'ça marche :)

Pour les collisions, il faut prévoir que le jeu ne sera pas forcément constitué d'une tilemap, enfin presque mais le joueur ne se déplace pas forcément sur l'alignement des cases, il faut, je pense, une sorte de classe spéciale avec différents types de collisions. (Le système de collision du SpinyEngine est vraiment poussé là-dessus d'après ce que j'ai vu)

Pour les GUI, justement je pense qu'il faut que ça soit intégré au framework enfin dans la base, ensuite l'utilisateur envoit ses propres textures et des fichiers xml pour les découpages (enfin c'est comme ça que je vois le truc)

Ensuite, niveau réseau je suis pas trop trop callé mais un cryptage RSA est assez important donc parfait
Et le framework doit permettre de choisir si le jeu sera en réseau ou non.

Pareil pour les graphismes, il faut pouvoir laisser le choix du type 2d/3d.

Voilà, en tout cas je suis content de voir quelques intéressés :)

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Framework
« Réponse #14 le: Décembre 02, 2013, 12:01:55 am »
Okay je viens de passer jeter un coup d'oeil rapide :)

Il y a des choses pas mal dutout !

Mais j'ai pas encore fait vraiment le tour  entier j'y repasserai demain quand j'aurai le temps :)