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 ?