Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Moteur de jeu] Nazara Engine

Moteur de jeu en développement

    20 octobre 2017 à 12:52:57

    Lynix a écrit:

    Nazara est utilisé à mon boulot,



    tu a bien vendu t'on moteur à ta boite ;)

    félicitation pour la V0.4 et bonne chance pour la prochaine version. Je continue a suivre l'évolution de t'on moteur.

    • Partager sur Facebook
    • Partager sur Twitter
      22 octobre 2017 à 22:18:16

      Bravo pour ton travail 

      Je me demande après avoir regardé ton exemple de 3d(spaceship) quand utiliser les ref ou handle du moteur ? Quand utiliser les ref ou pointeurs du c++ ? Et quand utiliser les objets ? 

      • Partager sur Facebook
      • Partager sur Twitter
        23 octobre 2017 à 12:48:03

        MatéoMercier a écrit:

        Je me demande après avoir regardé ton exemple de 3d(spaceship) quand utiliser les ref ou handle du moteur ? Quand utiliser les ref ou pointeurs du c++ ? Et quand utiliser les objets ? 

        En soi, c'est assez simple:

        Les ObjectRef (MaterialRef, MeshRef, etc.) sont des pointeurs intelligents propriétaires, ils assurent que la ressource ne sera pas supprimée tant qu'ils existent, c'est important par exemple pour un Sprite de maintenir en vie son matériau, il utilise donc un MaterialRef.

        À noter que les objets qui sont légers mais propriétaires de ressources (les Model/Sprite/Billboard, etc.) peuvent également être gérés par ces mêmes pointeurs intelligents (ModelRef par exemple).

        En revanche, certains objets n'ont qu'un seul propriétaire mais il peut être intéressant de garder une référence dessus, c'est le principe des Handle qui sont donc des pointeurs intelligents non-propriétaires, ils passent à nullptr lorsque l'objet est détruit, ce qui est intéressant dans le cas du scripting (les variables Lua pointant sur des objets n'en sont pas toujours propriétaires) et des entités.

        Pour les pointeurs du C++ (ça s'applique aussi aux références), tu les utilises quand tu fais une fonction qui ne va pas prendre possession de ton objet, typiquement dans Nazara j'utilise les références constantes pour les objets 'in', les références pour les objets 'inout' et les pointeurs nus pour les objets 'out'.

        Quant aux objets en général, tu peux les utiliser là où ça a du sens, mais si une fonction te demande un "MaterialRef" en entrée, tu as tout intérêt à avoir créé ton matériau avec la fonction MaterialRef::New.

        En pratique, les objets de ressources (ou gérant des ressources) sont toujours alloués à l'aide de leur méthode statique Objet::New(Params).

        • Partager sur Facebook
        • Partager sur Twitter

        Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

          27 octobre 2017 à 11:11:09

          Bonjour

          j'ai essayé d'utiliser nazara en le compilant et en le téléchargeant:

          Je récolte ces erreurs:

          Gravité    Code    Description    Projet    Fichier    Ligne    État de la suppression
          Erreur    LNK2001    symbole externe non résolu "__declspec(dllimport) public: __thiscall Nz::VideoMode::VideoMode(unsigned int,unsigned int,unsigned char)" (__imp_??0VideoMode@Nz@@QAE@IIE@Z)    Project4    c:\Users\Sandrine\source\repos\Project4\Project4\main.obj    1   
          Erreur (active)    E1449    la spécialisation explicite de class "std::hash<Nz::MaterialPipelineInfo>" doit précéder sa première utilisation (à la ligne 575 de "c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\type_traits")    Project4    c:\Users\Sandrine\Desktop\misterMAT_qui_rale_tout_le_temps\vs2017\NazaraDownload32\include\Nazara\Graphics\MaterialPipeline.inl    108   

          Merci de votre aide

          • Partager sur Facebook
          • Partager sur Twitter
            27 octobre 2017 à 14:35:40

            Bonjour,

            Tout d'abord, mais il n'y a aucune obligation, si tu veux une réponse plus rapide la prochaine fois je te suggère de rejoindre le Discord sur lequel Nazara a un canal dédié.

            Ensuite, je dirais que la bibliothèque NazaraPlatform n'est pas indiquée dans le projet comme bibliothèque de cette façon:

            Attention du coup à bien spécifier les dossiers de dépendances. :)

            • Partager sur Facebook
            • Partager sur Twitter

            Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

              27 octobre 2017 à 16:57:30

              Merci Beaucoup

              PS: J'avais copié la liste de ton tuto sur le wiki github donc il faudrait le rectifier( je ne vois pas trop l'intèrêt de mettre une issue ou une pull request donc je me dis ici)

              • Partager sur Facebook
              • Partager sur Twitter
                29 octobre 2017 à 22:58:11

                Bonjour, pourrait-tu faire un tuto un peu comme pour VS 2017 mais pour CLion s'il te plaît car comme CLion utilise CMake c'est beaucoup plus compliquer a utiliser. Merci !
                • Partager sur Facebook
                • Partager sur Twitter
                Walkloly
                  31 octobre 2017 à 14:04:21

                  une chose 

                  c'est génial un particulier créer son propre moteur de jeux ça envoie du lourd.

                  mais par contre je trouve le rendus 3D un peu...médiocre

                  mais bon pour le moteuren question c'est plutot cool.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  méfiez vous des cochon d'indes couineurs

                  Anonyme
                    31 octobre 2017 à 15:11:07

                    Lynix annonçait justement cet été qu'il comptait intégrer un rendu PBR moderne dans Nazara.

                    Donc ça devrait finir par arriver !

                    -
                    Edité par Anonyme 31 octobre 2017 à 15:11:25

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 novembre 2017 à 19:28:45

                      Walkloly a écrit:

                      Bonjour, pourrait-tu faire un tuto un peu comme pour VS 2017 mais pour CLion s'il te plaît car comme CLion utilise CMake c'est beaucoup plus compliquer a utiliser. Merci !

                      Du coup on t'a répondu sur le Discord, si ça en intéresse on a un FindNazara.cmake en beta :D

                      JeanValJean46 a écrit:

                      une chose 

                      c'est génial un particulier créer son propre moteur de jeux ça envoie du lourd.

                      mais par contre je trouve le rendus 3D un peu...médiocre

                      mais bon pour le moteuren question c'est plutot cool.

                      Je ne peux qu'être d'accord avec toi, ça n'a pas été ma priorité ces derniers temps mais je compte bien y remédier.

                      Str4nger a écrit:

                      Lynix annonçait justement cet été qu'il comptait intégrer un rendu PBR moderne dans Nazara.

                      Donc ça devrait finir par arriver !

                      En fait le boulot a déjà commencé vers ce côté, le fait que Nazara supporte les réflexions est le premier pas vers le support du PBR. J'aimerai quand même finir de refaire ces RenderQueue avant de commencer le PBR, ça apporte trop de trucs chiant.

                      Oh au fait, je vous réserve une surprise. *rire diabolique*



                      • Partager sur Facebook
                      • Partager sur Twitter

                      Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                        22 mars 2018 à 17:20:25

                        Hello tout le monde, ça fait longtemps qu'il n'y a pas eu de nouvelles ici.

                        Désolé pour ce long moment silencieux, mais néanmoins productif.

                        Alors, pour procéder dans l'ordre, il faut savoir qu'une des raisons du silence est que je me suis finalement lancé dans la réalisation d'un jeu vidéo avec Nazara, rassurez-vous cependant, ça ne signifie pas du tout que le moteur n'avance plus, au contraire il mûrit.

                        En effet je me suis rendu compte en utilisant Nazara à mon boulot depuis l'année dernière qu'il y avait beaucoup de problèmes/bugs qu'il m'était impossible de voir en développant plutôt qu'en utilisant le moteur.

                        Concevoir un jeu à l'aide du moteur me permet donc de mieux comprendre les éventuels problèmes de celui-ci, et aussi de réaliser un peu l'objectif de base que j'avais, parce qu'à la base si je me suis lancé dans la conception de moteurs de jeux, c'était avant tout pour faire un jeu (ce que je ne recommande à personne :D ).

                        Concernant le jeu, il s'agit bien évidemment d'Utopia, un jeu de programmation (qui à l'époque était un MMORTS de programmation, si si!).

                        Donc le principe du jeu est de gérer des combats de vaisseaux spatiaux (et à terme, un empire spatial) où chaque vaisseau est programmé par le joueur et agit indépendamment lors des combats.

                        Le projet est décrit ici:
                        https://openclassrooms.com/forum/sujet/jeu-de-programmation-utopia

                        Pour revenir au moteur, comme je l'ai dit il avance et notamment la version en cours de développement (la 0.5) inclut énormément de correctifs (Changelog).

                        Je travaille beaucoup sur les nouvelles render queues en ce moment ainsi que sur l'implémentation Vulkan qui progresse enfin.

                        Les nouvelles render queues vont apporter la possibilité de faire des widgets plus avancées (avec notamment - enfin - la coupure du rendu aux bordures), qui vont ensuite introduire le concept de layouts (pour éviter de devoir positionner les widgets à la main).

                        Suite à cela, je vais revenir aux améliorations graphiques du moteur, notamment rajouter un système de compositors pour gérer les effets et post-processes beaucoup plus facilement.

                        Je vous tiendrais informé dans tous les cas.

                        J'en profite aussi vite fait pour vous dire que j'ai ouvert un devblog, un blog consacré au développement, où je parlerais donc des avancées de Nazara ou d'Utopia, en plus d'articles plus généraux sur la programmation.

                        Vous le trouverez ici: https://sirlynixvanfrietjes.be (http://lynix.be fonctionne aussi, au cas où vous trouveriez le nom complet imbitable :-D ).

                        Des nouvelles soon !

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                          29 mars 2018 à 22:30:29

                          Vraiment sympathique :). Bon courage pour le développement du moteur et du jeu ;).

                          Jusque ici, cela fait combien de temps que tu travail sur le moteur ?

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Erwan28250

                          Anonyme
                            30 mars 2018 à 10:15:01

                            Le premier post date de mai 2012 donc à peu près six ans.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 avril 2018 à 21:44:38

                              Salut ! Ca fait un moment que je suis le post. Ce soir j'avais un peu de temps j'ai essayé de compiler le moteur pour tester Utopia. J'ai pas réussi. Voilà l'erreur :

                              --:~/NazaraEngine/build/gmake$ make -f NazaraExtlibs.make -j4
                              make: NazaraExtlibs.make : Aucun fichier ou dossier de ce type
                              make: *** Aucune règle pour fabriquer la cible « NazaraExtlibs.make ». Arrêt.
                              --:~/NazaraEngine/build/gmake$ make -f NazaraEngine.make -j4
                              make: NazaraEngine.make : Aucun fichier ou dossier de ce type
                              make: *** Aucune règle pour fabriquer la cible « NazaraEngine.make ». Arrêt.

                              Besoin d'un coup de main :)

                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 avril 2018 à 7:18:01

                                Essaie juste make -j4
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 avril 2018 à 13:26:42

                                  Salut tout le monde !

                                  Aujourd'hui j'apporte la bonne nouvelle: je me refocus sur Nazara (après avoir passé pas mal de temps sur Utopia, même si les projets ont et continueront d'évoluer en parallèle).

                                  La raison à cela c'est qu'après presque six mois de développement (déjà o_O ) sur Utopia, surtout de mise en place et d'avancement technique, j'ai décidé qu'il était temps de faire avancer le côté graphique/audio/GUI (au final, tout ce qui touche surtout à l'expérience utilisateur). Et c'est quelque chose qui demande des modifications moteur que je repoussais depuis longtemps (par exemple le refactor des render queues qui fonctionne parfaitement depuis hier o/).

                                  Et j'ai notamment constaté que j'avançais bien plus rapidement sur Utopia que sur Nazara vis-à-vis de tâches complexes, la raison à cela étant je pense liée fortement aux conditions de travail:

                                  1) Je travaille sur Utopia à un horaire fixe, celui de mes lives Twitch et sous le regard de plusieurs dizaines de spectateurs (ne me laissant pas le loisir de procrastiner).
                                  2) Je travaille sur Nazara sur mon temps libre, en dehors des lives (sauf dans de rares occasions quand il y a un bug ou une feature à intégrer, très liée aux besoins du jeu, telle que le support IPv6).

                                  Du coup, afin d'avancer sur des tâches complexes de Nazara, j'ai décidé de dédié un de mes deux jours de stream au développement du moteur, notamment à ce qui est en lien avec l'expérience utilisateur.

                                  Je vous propose donc de me retrouver, pendant une période indéterminée (d'un ou deux mois) le mercredi soir à partir de 18h15 en train de streamer le développement de Nazara sur ma chaîne twitch, à partir de ce soir. (Le stream du samedi/dimanche reste pour sa part consacré au développement d'Utopia.)

                                  À très vite !

                                  -
                                  Edité par Lynix 11 avril 2018 à 15:02:57

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                    18 avril 2018 à 21:35:41

                                    -
                                    Edité par Lynix 18 avril 2018 à 21:37:29

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                      30 juillet 2018 à 15:36:46

                                      alors, du nouveau?

                                      est ce que le moteur avance bien ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 août 2018 à 13:34:55

                                        Hello !

                                        Pas beaucoup d'avancement en ce moment (comme chaque été j'ai l'impression), la version 0.5 est en bonne voie et sera un changement majeur qui cassera pas mal la compatibilité (mais c'est un mal pour un bien), je t'invite à regarder la tronche du changelog.

                                        Dernièrement il y a eu une énorme amélioration sur le rendu des sprites, qui est bien plus optimisé et beaucoup de correction de bugs, mais je vise encore au moins deux features essentielles avant de sortir la 0.5, notamment le nouveau système de "pipeline layout", permettant à l'utilisateur de spécifier les variables uniformes de son choix dans les shaders, et au système de matériau d'être bien plus souple. Autorisant au passage l'intégration des matériaux PBR (comme montré lors du dernier screenshot).

                                        La seconde feature essentielle est liée à la GUI, j'aimerai finaliser le nouveau système et avoir des layouts (ce qui demande un boulot monstre quand même...).

                                        Mais voilà, en ce moment je tourne un peu au ralenti, ayant en plus de ça acheté récemment un HTC Vive (huehue). Parlant de ça il faudra que je teste l'utilisation de Nazara en VR, voir ce qu'il est possible de faire.

                                        Donc en bref: en ce moment ça tourne au ralenti mais ça va certainement revenir, comme chaque année :D

                                        -
                                        Edité par Lynix 1 août 2018 à 13:36:01

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                          2 août 2018 à 10:15:31

                                          amuse toi bien avec le HTC (le qu'elle la V1 à 500 ou V2 à 1 300 ?) ;)

                                          et profite des vacances. 

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            3 août 2018 à 1:03:56

                                            C'est le V1 à 600 si tu veux tout savoir, mais qu'est-ce qu'on s'éclate dessus :D
                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                              10 janvier 2019 à 11:51:46

                                              Hello!

                                              Je me baladais par là il y a maintenant quelques années, au début du projet. Je suis vraiment admiratif car tu as su garder le cap malgré les années qui passe, et rien que pour ça chapeau! Plus de 4500 commits, presque 200 stars, c'est énorme :D

                                              Je me posais quelques questions au sujet du projet:

                                              1. Quelles ont été les gros changements de direction que tu as pu avoir au cours du développement, entre ce que tu avais prévu et ce qui a été finalement fait?

                                              2. Comment se mesure Nazara Engine face à d'autres librairies comme la SFML ou OGRE?

                                              3. Dans quelle mesure ton projet a été utile pour la boite dans laquelle tu travailles?

                                              4. Avec l'avènement du tout web, comment évolue le marché des codeurs C++?

                                              Voilà, si tu as le temps de répondre ça me ferait bien plaisir, mais si tu n'as pas le temps je comprendrai ^_^

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                11 janvier 2019 à 13:00:24

                                                Hello, merci pour ton message.

                                                J'en profite pour dire que bien que je n'en ai pas encore pris le temps, il est prévu que je fasse un message récapitulatif de ces derniers mois pour vous tenir au courant, mais en quelques mots : le projet est toujours vivant et utilisé, mais je passe plus de temps à développer les jeux qui utilisent le moteur que le moteur lui-même en ce moment. Et il me reste une feature à intégrer pour la 0.5 qui retarde tout.

                                                Pour répondre à tes questions :

                                                Arsleust a écrit:

                                                1. Quelles ont été les gros changements de direction que tu as pu avoir au cours du développement, entre ce que tu avais prévu et ce qui a été finalement fait?

                                                Il y en a eu beaucoup, déjà Nazara n'est pas mon premier moteur : il y a eu l'Ungine à mes débuts dont l'architecture s'est écroulée au bout d'un an et demi à cause de mon inexpérience. Nazara a été conçu de façon beaucoup plus modulaire pour régler ce problème.

                                                L'architecture du moteur a énormément évoluée au cours des années, la gestion des entités et des scènes a totalement été revue et ça a causé beaucoup de refactor qui, si le moteur n'avait pas été modulaire, m'aurait fait tout recommencer ou presque à coup sûr.

                                                Du coup, je ne peux pas lister tous les gros changements, je peux en revanche dire que là où il était prévu à l'origine que le moteur soit .. un moteur, il est aujourd'hui découpé en deux parties : d'un côté un framework (ensemble de bibliothèques) donnant accès à des fonctionnalités et de l'autre un SDK regroupant toutes ces bibliothèques de façon cohérente et apportant toute une gestion beaucoup plus aisée mais aussi plus intrusive pour l'utilisateur.

                                                Arsleust a écrit:

                                                2. Comment se mesure Nazara Engine face à d'autres librairies comme la SFML ou OGRE?

                                                Nazara intègre presque toutes les fonctionnalités de la SFML (à l'exception il me semble du support du micro, des joysticks et du rendu mobile), et bien d'autres encore. La partie framework du moteur ressemble beaucoup à la SFML en terme de fonctionnalités mais avec une interface bien moins facile, ce que la partie SDK vient rajouter.

                                                Nazara est bien plus performant que la SFML, mais on ne peut pas dire que ça soit un exploit (la performance de la SFML s'explique surtout par l'intelligence des drivers OpenGL) ni forcément quelque chose de très utile (la SFML étant majoritairement utilisée pour des jeux au rendu simpliste que nos ordinateurs peuvent faire tourner extrêmement rapidement avec ou sans optimisation).

                                                Quant à OGRE, je dirais d'un avis totalement subjectif que Nazara dispose d'une conception plus élégante et d'une architecture globalement mieux foutue, mais je n'ai pas regardé spécialement OGRE2. Cela étant, ce moteur est capable de bien plus de choses que Nazara actuellement (notamment il y a un aspect de Nazara - les matériaux - qu'il faut que je retravaille pour autoriser de faire ce qu'on veut).

                                                Arsleust a écrit:

                                                3. Dans quelle mesure ton projet a été utile pour la boite dans laquelle tu travailles?

                                                C'est un socle de base fournissant des fonctionnalités élémentaires très utile, comme le support de la physique et des entités via son ECS, cependant beaucoup de travail a dû être fait par-dessus, notamment j'ai conçu tout un module d'intelligence artificielle (pour le jeu vidéo, donc rien à voir avec les réseaux de neurone) très intéressant que je n'ai évidemment pas le droit de partager.

                                                Néanmoins, j'ai prévu dans les prochains mois de faire une nouvelle bibliothèque qui viendra apporter des fonctionnalités utiles à l'intelligence artificielle dans le jeu vidéo, cette bibliothèque ne sera pas liée à Nazara (mais rien n'empêcherait de faire un module pour ce dernier capable de faire le lien).

                                                Plus d'info dans le pavé que je compte écrire bientôt.

                                                Arsleust a écrit:

                                                4. Avec l'avènement du tout web, comment évolue le marché des codeurs C++?

                                                Je fais partie de ceux qui ne croient pas au "tout web", je pense qu'il n'est ni souhaitable ni intéressant que nos navigateurs continuent de se transformer en systèmes d'exploitations.

                                                Concernant le marché des codeurs C++, disons que je n'ai pas une vision suffisamment large pour pouvoir te répondre clairement, tout ce que je peux dire c'est que je n'ai pas l'impression qu'il se porte particulièrement mal, ou même qu'il souffre de la présence des technologies du Web.

                                                Je rajouterai même que maintenant que WASM a atteint 80% de support en terme de navigateur (et qu'il existe des solutions pour les 20% restant), le C++ peut être utilisé en tant que technologie pour le web client-side, donc ce langage n'est pas prêt de disparaitre.

                                                Néanmoins, je commence à envisager le long terme, et j'ai commencé à apprendre Rust, qui est un langage qui a un très gros potentiel pour l'avenir mais qui souffre pour l'instant de sa jeunesse. Je n'ai pas encore prévu de l'utiliser dans un de mes projets mais ça ne saurait tarder.


                                                 Je profite de ce message aussi pour expliquer le manque d'activité de ces derniers mois (et ce pour tous mes projets) : on est en plein rush à mon boulot pour lancer le jeu sur lequel nous travaillons depuis près de deux ans, cela entraîne de la pression et des heures supplémentaires. Ça va bientôt se calmer, heureusement.

                                                J'en profite aussi pour faire un peu de pub pour mon devblog sur lequel je viens de publier le début d'une série d'articles traitant du réseau dans le domaine du jeu vidéo. Si ça vous intéresse n'hésitez pas à jeter un oeil.

                                                J'en profite également pour dire que je stream sur Twitch de nouveau à horaires fixes (le mercredi à 18h30 et le week-end) le développement d'un jeu vidéo utilisant Nazara, que je n'ai pas encore présenté sur ces forum.

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                  13 juillet 2019 à 20:38:53

                                                  Coucou.

                                                  Ça faisait longtemps que je n'avais pas posté de mise à jour concernant le moteur, et ça fait bien longtemps que je devais le faire mais je repoussais le moment, sans vous mentir, par pure fainéantise.

                                                  Alors pour commencer, mon nouveau travail m'a beaucoup occupé ces derniers temps, cela fait quelques mois que nous sommes en rush (avec des heures sup quotidiennes du coup) pour sortir notre jeu et cela a beaucoup affecté mon envie de programmer en rentrant du boulot malheureusement.

                                                  Mais tout ça se termine bientôt (j'ai l'impression d'écrire ces mots pour la quinzième fois).

                                                  Alors depuis que je me suis mis à faire des jeux avec Nazara, ce dernier avance au ralenti (et selon les besoins des jeux en question), mais il continue d'avancer heureusement.

                                                  Pour ce qui est d'Utopia (le premier vrai jeu que j'ai fait avec le moteur), l'avancement à atteint un prototype jouable où je me suis aperçu que l'idée qui avait été explorée n'était pas amusante, le scripting trop complexe, trop de facteurs à prendre en compte. J'ai donc décidé de mettre en pause le développement le temps de simplifier l'idée pour ensuite mieux y revenir (Voici tout de même une vidéo de ce que ça pouvait donner vers le milieu du développement).

                                                  J'ai donc décidé de commencer un second jeu dont l'idée me tenait à coeur, plus simple (en tout cas sur papier) et pas destiné à des programmeurs pour le coup (ce qui a l'avantage d'augmenter le public cible d'environ 9 millions de %), un projet de jeu 2D, une espèce de mélange entre teeworld et GMod. Burg'war.

                                                  Le concept est simple : c'est un jeu sandbox déguisé sous des airs de jeu de combat, tout le côté gameplay est entièrement scripté en Lua et ouvert à la modification. Envie de rajouter une nouvelle arme ? Allez-y. Envie de faire un mode de jeu qui soit la course à celui qui empile des objets le plus haut possible avant qu'ils ne tombent ? Go. Envie de faire un remake de Portal 2 en 2D ? Pourquoi pas.

                                                  Bon évidemment on est encore un peu loin de ces possibilités mais vous voyez le délire, et évidemment ce jeu est conçu avec Nazara.

                                                  Pour revenir sur le moteur, il y a eu beaucoup de changements dernièrement, avec notamment le support du text outlining :

                                                  Ainsi que du côté des widgets le support du line wrap (le saut de ligne automatique) et des scrollbar :

                                                  À côté de ça, le RichText arrive (la possibilité pour un texte d'alterner le style, la couleur, la police, la taille de chaque lettre) :

                                                  (Ok, c'est moche mais ça illustre les capacités).

                                                  Cette fonctionnalité se trouve pour l'instant sur sa branche à part et demande encore quelques petits avancement pour être mergée, mais après deux ans dans les cartons cette fonctionnalité (tout de même assez utile) arrive enfin.

                                                  D'autres changements vont arriver avant la sortie de la 0.5 comme par exemple je pense la disparition de la classe Nz::String (au bénéfice de fonctions libres pouvant fonctionner avec std::string), et l'intégration de la SDL2 comme backend (rendant le moteur compatible avec macOS et potentiellement Android et iOS dans la foulée, du moins techniquement. C'est aussi une façon d'améliorer le support Linux pour le fenêtrage).

                                                  Et last but not least, la refonte des matériaux devrait également arriver avec la 0.5.

                                                  Je vous avais mis un screenshot du PBR (technique d'éclairage moderne basée sur des propriétés réalistes des matériaux) partiellement implémenté dans Nazara :

                                                  Seulement ce screenshot avait été fait en modifiant le shader du phong lighting, le moteur continuait de son côté à considérer que tous les matériaux étaient basés sur du phong lighting. La grosse mise à jour des matériaux casse ce principe en rendant le tout totalement personnalisable, c'est-à-dire que vous pourrez faire vos matériaux comme bon vous semble et y associer autant de textures et de données (variables uniformes) autres que vous voudrez. C'est aussi l'occasion de passer à des uniform buffer objects au lieu des variables uniformes simples, améliorant la performance et surtout rendant le tout compatible avec par exemple Vulkan (ça a été un gros point de blocage pour la branche Vulkan).

                                                  Côté personnel j'ai commencé à m'intéresser au langage Rust, qui ma foi est un langage extrêmement intéressant. Je ne vais évidemment pas me mettre à réécrire mes projets en Rust, mais certains de mes futurs projets risquent d'être écrits dans ce langage, à suivre en tout cas.

                                                  Voilà, en résumé le moteur avance, plus lentement en ce moment à cause de mon boulot et de mes autres projets qui me prennent pas mal de temps, mais il avance quand même. :D

                                                  Au fait, pour ceux que ça peut intéresser pas mal de nouveaux articles sont sortis sur mon dev blog (à l'adresse https://sirlynixvanfrietjes.be ou https://lynix.be) et je continue évidemment les lives Twitch sur la programmation (notamment de Nazara).

                                                  Oh au fait, si vous souhaitez suivre les nouvelles autour de mes projets un peu plus fréquemment je dispose d'un serveur Discord où vous retrouverez les dernières nouvelles ainsi que les notifications (désactivables) pour mes lives sur un sujet particulier.

                                                  Bises.

                                                  -
                                                  Edité par Lynix 13 juillet 2019 à 20:42:37

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                    14 septembre 2019 à 8:58:55 - Message modéré pour le motif suivant : Commentaire dégradant, non constructif, insolent.


                                                      14 septembre 2019 à 12:35:56

                                                      @songoku9 Si sont travail est inutile .. Que devrait on dire de ton commentaire ? ..
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      [Moteur de jeu] Nazara Engine

                                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                      • Editeur
                                                      • Markdown