Message #10718
Sujet: Sirius Engine - Un moteur de jeu simple et rapide
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 25-08-2012 22:35:08 | bloupbloup |
Objectif
Mon projet serait de créer une API assé complète de développement de jeu simple et rapide. Même si Irrlicht est vraiment simple d'utilisation je pense qu'on peut faire beaucoup plus simple, avec par exemple des classes unitée, terrain... La première étape serait de créer un moteur de jeux (Sirius Engine) basé en Irrlicht et c++, fournissant des fonctions de haut niveau permettant de créerles éléments d'un jeu sans être noyé dans un code trop volumineux. Il gérera la physique, l'IA, le son... tout se qui est nécessaire a un jeu. exemple : Code c++ :Ici on charge une unité a partir d'un fichier xml (.sir) et on l’ajoute sur la scène. La deuxième étape serai de crée un éditeur de monde avec lequel on pourrais crée des scènes (terrain,unité, événement...) puis les sauvegarder pour enfin les utiliser avec Sirius Engine. Sirius Engine Pour vous donner une idée de l'organisation de Sirius Engine un petit schéma, un peu brouillon mais j'espère que vous comprenez le principe, il s'agit de tout centralisé dans une seule classe. Pour faire simple la classe application gère le menu et selon ce qu'il retourne lance une scène. ![]() Pour être plus précis, la classe SiriusEngine inclura les autres classes du projet (SiriusScene,SiriusMenu...) et permettra de configurer tout ce qui est (driver,device). La classe SirusScene gérera tout ce qui est en rapport avec la scène (unité,environnement) en sachant que je considère qu'une scene a obligatoirement un seul terrain et un skydome. La classe SiriusMenu permettra de créer les menus du jeu. Et SiriusCore gérera tout ce qui la base de Sirius, comme les types, l'inclusion d'irrlicht et des principaux composants. Lorsque quelqu'un voudra utiliser SiriusEngine il n'aura qu'a créer une classe Application qui héritera de SirusEngine. Toute les initialisations se feront dans la methode virtuelle « head » et le corp du programme dans la méthode virtuelle « body ». Il ne restera plus qu'à initialiser l'application avec la methode « start » et la lancer avec « run ». La création d'une scene repose sur le même principe on crée une classe scene1 en incluant « SiriusEngine » et héritant de SirusScene, on initialise avec « head » et ensuite on utilise le « body ». Extraits de code SiriusEngine Code c++ :SiriusScene Code c++ :Main Code c++ :Application Code c++ :TestLevel Code c++ :Expériences Je n'es pas beaucoup, d'expérience pour des projet de groupe cependant, j'ai déja travailler avec une équipe de développement pour un projet de 6 mois dans le cadre de mon BTS IRIST. J'ai ue plusieurs projet solo pour les étude, siteweb, jeu caml en licence. J'ai également beaucoup programmer au tout début sur Dark Basic Pro, une expérience assé sympathique je connais la bête maintenant^^ Sinon j'ai installer après une grande bataille ogre... mais j'ai préférer Irrlicht, plus simple et je trouve qu'il se valle quoi qu'en on dise... les graphique sont similaire voir mieux je trouve. J'ai inclus irrlicht dans Qt pour crée un éditeur (C'est d'ici que vien l'idée de se projet) bien évidemment, j'ai pas ue envie de continuer, car je voulais crée l'engine avant. http://irrlicht.sourceforge.net/forum/viewtopic.php?t=46360&p=268640 J'ai crée pas mal de mini jeux sur dark basic pro qui n'on jamais abouti sauf 1 ou 2. Et une petite vidéo en bonus http://www.youtube.com/watch?v=Y_S49474ntk ![]() Conclusion Je sais que ce projet peut paraître peu un fou, mais j'aime a pensé qu'il est réalisable, je ne suis pas un professionnel de ce genre de choses juste un étudiant en Licence qui se débrouille un peu en c++, Irrlicht et Qt (pour l'éditeur) et qui se dit... why not ? Je ne sais pas combien de programmeur seront nécessaire, 4 ou 5 je pense. Je recherche plus tot des gens qui connaisse Irrlicht, c++ et vus que je ne m'y connais pas trop: les moteur physique, d'IA ... que l'on peu inclure a Irrlicht bien évidement. Donc si vous êtes intéressé dite le moi:) |
| Création du message | 25-08-2012 19:30:25 | bloupbloup |
Objectif
Mon projet serait de créer une API assé complète de développement de jeu simple et rapide. Même si Irrlicht est vraiment simple d'utilisation je pense qu'on peut faire beaucoup plus simple, avec par exemple des classes unitée, terrain... La première étape serait de créer un moteur de jeux (Sirius Engine) basé en Irrlicht et c++, fournissant des fonctions de haut niveau permettant de créerles éléments d'un jeu sans être noyé dans un code trop volumineux. Il gérera la physique, l'IA, le son... tout se qui est nécessaire a un jeu. exemple : Code c++ :Ici on charge une unité a partir d'un fichier xml (.sir) et on l’ajoute sur la scène. La deuxième étape serai de crée un éditeur de monde avec lequel on pourrais crée des scènes (terrain,unité, événement...) puis les sauvegarder pour enfin les utiliser avec Sirius Engine. Sirius Engine Pour vous donner une idée de l'organisation de Sirius Engine un petit schéma, un peu brouillon mais j'espère que vous comprenez le principe, il s'agit de tout centralisé dans une seule classe. Pour faire simple la classe application gère le menu et selon ce qu'il retourne lance une scène. ![]() Pour être plus précis, la classe SiriusEngine inclura les autres classes du projet (SiriusScene,SiriusMenu...) et permettra de configurer tout ce qui est (driver,device). La classe SirusScene gérera tout ce qui est en rapport avec la scène (unité,environnement) en sachant que je considère qu'une scene a obligatoirement un seul terrain et un skydome. La classe SiriusMenu permettra de créer les menus du jeu. Et SiriusCore gérera tout ce qui la base de Sirius, comme les types, l'inclusion d'irrlicht et des principaux composants. Lorsque quelqu'un voudra utiliser SiriusEngine il n'aura qu'a créer une classe Application qui héritera de SirusEngine. Toute les initialisations se feront dans la methode virtuelle « head » et le corp du programme dans la méthode virtuelle « body ». Il ne restera plus qu'à initialiser l'application avec la methode « start » et la lancer avec « run ». La création d'une scene repose sur le même principe on crée une classe scene1 en incluant « SiriusEngine » et héritant de SirusScene, on initialise avec « head » et ensuite on utilise le « body ». Extraits de code SiriusEngine Code c++ :SiriusScene Code c++ :Main Code c++ :Application Code c++ :TestLevel Code c++ :Expériences Je n'es pas beaucoup, d'expérience pour des projet de groupe cependant, j'ai déja travailler avec une équipe de développement pour un projet de 6 mois dans le cadre de mon BTS IRIST. J'ai ue plusieurs projet solo pour les étude, siteweb, jeu caml en licence. J'ai également beaucoup programmer au tout début sur Dark Basic Pro, une expérience assé sympathique je connais la bête maintenant^^ Sinon j'ai installer après une grande bataille ogre... mais j'ai préférer Irrlicht, plus simple et je trouve qu'il se valle quoi qu'en on dise... les graphique sont similaire voir mieux je trouve. J'ai inclus irrlicht dans Qt pour crée un éditeur (C'est d'ici que vien l'idée de se projet) bien évidemment, j'ai pas ue envie de continuer, car je voulais crée l'engine avant. http://irrlicht.sourceforge.net/forum/viewtopic.php?t=46360&p=268640 J'ai crée pas mal de mini jeux sur dark basic pro qui n'on jamais abouti sauf 1 ou 2. Et une petite vidéo en bonus http://www.youtube.com/watch?v=Y_S49474ntk ![]() Conclusion Je sais que ce projet peut paraître peu un fou, mais j'aime a pensé qu'il est réalisable, je ne suis pas un professionnel de ce genre de choses juste un étudiant en Licence qui se débrouille un peu en c++, Irrlicht et Qt (pour l'éditeur) et qui se dit... why not ? Je ne sais pas combien de programmeur seront nécessaire, 4 ou 5 je pense. Je recherche plus tot des gens qui connaisse Irrlicht, c++ et vus que je ne m'y connais pas trop: les moteur physique, d'IA ... que l'on peu inclure a Irrlicht bien évidement. Donc si vous êtes intéressé dite le moi:) |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 565 invités en ligne membre en ligne: - RSS Feed |