• [^] # Re: Pour quoi faire ?

    Posté par . En réponse au journal Première release du framework et moteur graphique 3dNovac. Évalué à 9.

    Salut,
    je vais essayer de répondre aux questions points par points.

    pourquoi encore un projet de framework de jeu ?

    Comme je l’ai dit, au départ ce projet étais avant tout pour mon expérience personnel.
    Qu’y a-t-il de mal à vouloir apprendre ? J’ai toujours pensé que l’apprentissage ce faisait par la pratique…
    De plus je tient a préciser que le framework ne s’arrête pas uniquement aux jeux vidéo. Nc-Core a notamment été utilisé à plusieurs reprisent pour des projets perso et professionnel autre que graphique.

    Très peu de gens s'en servent à part leur auteur

    Oui c'est bien vrai, et je compte bien utiliser le framework pour mes prochains projets. Le premier avantage étant pour moi une connaissance parfaite de celui-ci.
    Je ne fais rien d’autre que partager mon travail en espérant peut être en faire profiter d’autres. Tu n’y vois peut-être pas l’intérêt là ou d’autres personnes en verront un.

    c'est quoi ta valeur ajoutée ?

    Plusieurs points semblent selon moi intéressant par rapport à d’autres framework :

    Générale :

    • Une séparation des différentes parties du moteur en namespaces.
    • Une séparation des fonctionnalités sous différentes lib.

    Nc-Core :

    • Abstraction d’engine multithread avec une communication par signaux/handler. (je le comparerais un peu avec le system de Qt mais cela reste encore limité)
    • Abstraction de structure de graph entièrement sous forme de template.
    • Implémentation d’un Visitor acyclic entièrement sous forme de template. Celui-ci évitant tout dynamic_cast tout en conservant la souplesse du visiteur acyclic de base.
    • Lib Xml rapide mais surtout légère et très facile d’utilisation (évitant surtout une dépendance externe sur une lib de plus).

    Nc-Graphics :

    • Binding OpenGL, permettant d’utiliser directement du code OpenGL.
    • Basé sur OpenGL 3.3, beaucoup de framework se faisant vieux sont basé sur la version 2.1.
    • Gestion de context OpenGL partagé en multithread.
    • Un graphe de scène très simple d’utilisation.
    • La création d’effets avec shader facile et rapide.

    Nc-GUI :

    • De nombreux framework ne fournissent pas ce genre de fonctionnalités, préférant alors laisser le développeur utiliser une bibliothèque externe même si selon moi cela diminue les performances. Après il est toujours possible d’intégrer un lib externe.

    Évidemment beaucoup de ses points sont très subjectifs. Il faudra que je réfléchisse a faire des benchmark entre différents moteurs dans l'avenir pour comparer un peu. Après l’intérêt reste limité dans l’état actuel des choses, je suis encore loin de concurrencer Ogre3D en terme de fonctionnalités :D

    Pourquoi moi, développeur d'un jeu qui a du contenu et son propre moteur, je devrais m'intéresser à ce projet ?

    Si tu as ton propre moteur, n’est-ce pas une occasion pour toi de regarder un peu ce que j’ai fait pour y piocher des idées ?
    Apres je ne dis pas que mon moteur est mieux qu’un autre, ça n'est jamais qu’une première version…

    est-ce que ton projet apporte quelque chose à la communauté ?

    Peut-être suis-je naïf de croire que la contribution à la communauté passe aussi par le partage/diffusion de mes travaux.
    Je conçois que l’intérêt est moindre au vu des différents produits présent sur le marché. Cependant j'ai la conviction que le framework pourrai en intéresser plus d'un s'ils prenaient la peine d'y regarder d'un peu plus prés.