Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Banshee Engine
Un moteur de jeux vidéo 3D développé par un seul homme

Le , par LittleWhite

5PARTAGES

15  0 
Banshee Engine est un moteur de jeux vidéo 3D, multithread, développé par un seul homme. Il s'appelle Marko Pintera et propose son moteur programmé en C++14 sous licence GPLv3 sur GitHub. Pour ceux qui trouvent la licence contraignante, vous pouvez opter pour l'option « payez ce que vous souhaitez » et ainsi vous aurez la liberté d'utiliser le moteur comme bon vous semble.
Sous le capot, on retrouve donc du C++14, DirectX 11 et OpenGL pour le rendu, NVIDIA PhysX pour la partie physique, C# pour l'écriture de script (avec l'accès à l'intégralité du framework .NET), un profileur CPU et GPU. Vous pouvez retrouver la liste complète des fonctionnalités ici.


Le moteur n'est pas qu'une simple bibliothèque C++14. Banshee Engine embarque aussi un éditeur évolué et personnalisable. Il reprend les fonctionnalités appréciées des plus grands moteurs telles que le glisser/déposer pour l'importation des ressources (ainsi que la réimportation automatique), un inspecteur pour les scripts, un système de préfabriqués, la possibilité de jouer dans l'éditeur. Encore une fois, la page des fonctionnalités citée ci-dessus donnera plus de détails sur l'éditeur.

Banshee Engine est accompagné de documentation, que ce soit pour la bibliothèque C++ ou les outils d'écriture de scripts en C#.

En présentant son moteur sur Reddit, Marko Pintera a reçu quelques remarques très intéressantes sur son travail :
  • il est intéressant d'utiliser les lambdas pour l'inlining, car la lisibilité est facilitée ;
  • volatile n'est pas nécessaire, si une optimisation a entraîné un bogue, il faut plutôt corriger le cas d'usage ;
  • éviter les inclusions utilisant des chemins relatifs ;
  • il peut être intéressant de regarder dans les compilations unitaires.


L'auteur compte continuer son travail et notamment implémenter le Physically Based Rendering, le son, le support de Mac et Linux et encore plus.



Tout récemment, un membre de Developpez.com : zenux a présenté son propre moteur de jeux vidéo, en C++, reposant sur OpenGL et Qt pour l'éditeur. Vous pouvez retrouver cette discussion sur le forum.

Votre opinion

Avez-vous tenté de créer votre propre moteur ? Quel a été le résultat ? Qu'est-il devenu ?
Quels conseils donneriez-vous à ces développeurs ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de emotionengine
Nouveau membre du Club https://www.developpez.com
Le 13/05/2016 à 10:47
Quels conseils donneriez-vous à ces développeurs ?
Le conseil important à donner c'est d'avoir un code clean et bien organisé car on peut vite s'emmeler les pinceaux dans la grande quantité de lignes de code...
2  0 
Avatar de Stellar7
Membre actif https://www.developpez.com
Le 11/05/2016 à 10:56
Citation Envoyé par alves1993 Voir le message

SVP Quelqu'un connait t'il la durée de développement de ce moteur .
Sur reddit, il annonce 3 ans sur son temps libre, et une année à temps plein dernièrement (sur ses propres économies).
1  0 
Avatar de CrankFlash
Membre régulier https://www.developpez.com
Le 11/05/2016 à 11:49
Je viens de jeter un coup d'oeil rapide, et dites moi si je me trompe, mais pour la GUI, C'est entierement fait-main.
Il utilise D3D311 pour afficher des quad, qui lui servent de fenetres (il n'y a qu' une seule fenetre au sens Win32 du terme). Il a reecrit un systeme de docking, de gestion d'evenement, de Z ordering, etc ...
plus reecrit toutes les fonctionnalites d'une GUI : ListBox, Slider, Boutton ..

J'avais eu cette idee il n'y a pas si longtemps, et lorsque j'ai commence a ecrire un systeme de fenetre comme lui, j'ai jete l'eponge devant la quantite de boulot astronomique (et sans vraies debouchees derriere) .

bref, chapeau bas
1  0 
Avatar de Gregoriz
Nouveau membre du Club https://www.developpez.com
Le 11/05/2016 à 17:00
Ce mec est une brute !

Sacrée perf
1  0 
Avatar de SkyZoThreaD
Membre expérimenté https://www.developpez.com
Le 12/05/2016 à 3:25
J'ai filé le lien de la new à Marco himself. Voici sa réponse.
Hi! Nice to see so much support, thanks guys! (I translated the thread and read your comments)
1  0 
Avatar de mattdef
Membre actif https://www.developpez.com
Le 11/05/2016 à 9:50
Super boulot ! Félicitations au mec derrière ce moteur
0  0 
Avatar de alves1993
Membre confirmé https://www.developpez.com
Le 11/05/2016 à 10:42

SVP Quelqu'un connait t'il la durée de développement de ce moteur .
0  0 
Avatar de zecreator
Membre expert https://www.developpez.com
Le 11/05/2016 à 10:47
Alors là, chapeau. On dirait Unity. j'espère qu'il sera possible, dans l'avenir, de faire des importations vers différents supports (comme le webGL ou mobile). Espérons que le moteur ne soit pas racheter trop vite, que l'on puisse en profiter un peu.
0  0 
Avatar de Gumichan01
Membre régulier https://www.developpez.com
Le 11/05/2016 à 11:23
Citation Envoyé par Stellar7 Voir le message



SVP Quelqu'un connait t'il la durée de développement de ce moteur .
Sur reddit, il annonce 3 ans sur son temps libre, et une année à temps plein dernièrement (sur ses propres économies).
Ca semble crédible vu la date du premier commit.
https://github.com/BearishSun/Banshe...c6dbc4e79594f1
0  0 
Avatar de Stellar7
Membre actif https://www.developpez.com
Le 11/05/2016 à 13:19
Citation Envoyé par CrankFlash Voir le message
et dites moi si je me trompe, mais pour la GUI, C'est entierement fait-main.
Tu ne te trompes pas, il l'explique en clair sur le lien reddit (cela vaut le coup de lire tout l'échange, même s'il y a pas mal de réactivation de la guéguerre "tabulation vs espace".

Il a même énormément pensé à l'architecture de toute l'application. Genre, si tu n'aimes pas le scripting C# (que au passage il fait en s'appuyant sur mono), tu peux utiliser Lua ou autre chose, tu respectes l'interface. Il a fait du "plugable" presque partout. Si tu te fiches de l'interface, tu peux recompiler sans et te servir juste du moteur comme d'une librairie. Au final, il montre pourquoi il pense que même si c'est sur Windows, cela est prévu pour minimiser les portages Linux et Mac.

Et plein d'autres choses. Ce gars n'est pas un débutant, et avec un tête bien organisée. Oui, chapeau bas.
0  0