Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Le moteur C# NeoAxis 3D 2.2 est disponible !


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux

    Le moteur C# NeoAxis 3D 2.2 est disponible !
    Le moteur C# NeoAxis 3D 2.0 est disponible !


    NeoAxis est un moteur de jeu, multi-plateforme, simplifiant la création d'applications 3D interactives. NeoAxis propose une série d'outils graphique pour concevoir vos jeux :
    • un éditeur de carte ;
    • un éditeur d'interface utilisateur ;
    • un éditeur d'objets ;
    • un éditeur de matériaux ;
    • un éditeur pour la physique ;
    • un éditeur de terrains ;
    • ....


    De plus, il est aussi possible d'ajouter des fonctionnalités en utilisant le C#.


    Cette version utilise propose de nouvelles licences dont une entièrement gratuite :
    • Édition gratuite : environnement de développement complet, incluant la plupart des fonctionnalités telles que : l'ombrage dynamique, l'éditeur de paysage, les particules, les effet de HDR, Screen Space Ambiant Occlusion (SSAO), le champ de profondeur, les effets de lentilles... ;
    • Édition professionnelle : ajoute des fonctionnalités et propose un accès au code source des composants du moteur ;
    • Édition illimité : toutes les fonctionnalités et contient aussi le code source des outils du moteur ;
    • Édition source : inclut tout le code source.


    Vous pouvez découvrir les nouvelles fonctionnalités du moteur dans notre actualité précédente.

    Les développeurs prévoient d'ouvrir une boutique pour partager et récupérer des extensions du moteur ou du contenu pour les projets (modèles, textures...). De plus, ils souhaitent ajoutés des techniques manquantes telles que le rendu différé, le streaming en fond... et faire une documentation complète. À long terme, NeoAxis pourra supporté Linux et les plateformes mobiles.

    Téléchargement

    Vous pouvez télécharger le SDK ici : http://www.neoaxis.com/neoaxis/downloads

    Votre opinion

    Quel moteur C# utilisez vous pour vos projets ?
    Que pensez-vous de NeoAxis ?


    Voir aussi

    Dévoilement des fonctionnalités
    Annonce version mineure 1.31


    Source

    Site officiel
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Quelles sont les différences avec unity ?
    nous devons inventer la langue de feu pour crâmer la langue de bois

  3. #3
    Membre expérimenté
    Personnellement je préfère Mono pour:

    - L'aspect XNA (Simple à programmer).
    - La liberté de faire autre chose qu'un jeu.
    - Contrôle total du code.
    - On reste dans Visual Studio et pas dans une interface de plus.

    Voilà
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  4. #4
    Membre chevronné
    Citation Envoyé par DotNET74 Voir le message
    Personnellement je préfère Mono pour:

    - L'aspect XNA (Simple à programmer).
    - La liberté de faire autre chose qu'un jeu.
    - Contrôle total du code.
    - On reste dans Visual Studio et pas dans une interface de plus.

    Voilà
    Je suppose que lorsque tu parles de Mono, tu fais allusion à Monogame. Ce dernier n’est pas un moteur de jeu, selon moi, mais davantage un Framework de jeu. Du coup je ne pense pas qu’on puisse les comparer aussi facilement :

    D’un côté on a un ensemble d’outils (éditeur de map, éditeur de matériaux, physique, etc...), une interface dédiée qui permet de scripter des objets prédéfinis/d’appliquer des comportements (ou de créer ses propres objets/comportements, rapidement, via un langage de programmation) et de l’autre on a une surcouche sur l’API Graphique (DirectX ou OpenGL suivant la plateformes visée) permettant d’abstraire la création et la mise-à-jour du contexte graphique et le chargement des assets... il n’y a pas grand-chose de plus (si on veut créer un terrain de 3km² avec LOD dynamique, on se le code, si on veut de la physique, on se la code, et plus globalement si on veut créer un jeu vidéo il est nécessaire de se créer une surcouche par-dessus le Framework -éléments affichables, gestionnaires, etc...). Clairement, un moteur de jeu permet de s’affranchir de toutes ces étapes en donnant des solutions clé en main (plus de code HLSL/GLSL on a un éditeur de matériaux, le placement des objets se fait en temps réel via l’interface, on a une bibliothèque de composants afin de créer des interfaces, etc...).

    Tu vas me dire que tu préfères tout faire toi-même manuellement, mais dans la réalité un studio de jeux un tant soit peu sérieux ne s’amusera pas à réécrire la roue (sauf quand on s’appelle Dice et consort) et passera par un moteur de jeu. Après, Il faut savoir ce qu’on veut ; faire du jeu vidéo, ou un moteur de jeux vidéo.


    Pour en revenir au sujet, Il manque encore quelques arguments à ce NeoAxis pour faire de l’ombre à Unity3D ou UDK (pas de support multiplateforme parmi les différences les plus notables). Cela dit, le moteur a au moins le mérite d’ouvrir ses sources... si on y met le prix.
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  5. #5
    Membre confirmé
    Citation Envoyé par jean_kevin_musclor Voir le message
    Quelles sont les différences avec unity ?
    En complément, on pourrait surtout dire que l'outil manque encore cruellement d'ergonomie, même si la version 2.x apporte de réelles améliorations.
    Dommage, car le moteur est intrinsèquement plutôt bon, même si quelques manque se font encore sentir (Deferred Rendering, etc...)....

  6. #6
    Responsable 2D/3D/Jeux

    La version 2.1 de NeoAxis 3D est disponible
    La version 2.1 de NeoAxis 3D est disponible

    Cette nouvelle version est une mise à jour mineure de la version 2.0. Même si elle ne rajoute pas de grandes fonctionnalités, la liste des modifications reste intéressantes :

    • amélioration des comportements physiques et des animations des personnages ;
    • ajout des versions 32 bits pour l'éditeur de cartes et l'éditeur de ressources ;
    • correction du comportement avec les chemins de fichiers invalides pour les fichiers de squelettes ;
    • changement de la gestion des entrées pour certains événements de l'interface ;
    • la liste des assembleurs de références peut être configurée dans l'éditeur logique et non plus uniquement par le fichier Data\Base\Constants\EntitySystem.config ;
    • amélioration du code C# généré par l'éditeur logique ;
    • correction de la compilation du SDK avec Visual Studio 2012 et supérieur ;
    • ajout d'un paramètre d'inversion des normales pour l'exporteur 3DS Max et l'importeur.


    De plus, cette version apporte le regroupement statique des géométries. Cela permet des améliorations sur le rendu et la physique. La fonctionnalité ne fonctionne que sur les modèle statiques (StaticMesh)



    Votre opinion

    Avez-vous essayé ce moteur ? Qu'en pensez-vous ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Responsable 2D/3D/Jeux

    La version 2.2 de NeoAxis 3D est disponible
    La version 2.2 de NeoAxis 3D est disponible


    Le moteur de jeux vidéo, multi-plateforme, en C# atteint la version 2.2. Même si c'est une mise à jour mineure, celle-ci apporte :
    • Physique des personnages : refonte complète du code de la physique des personnages ;
    • Physique des personnages : ajout du support de la position accroupie ;
    • Ajout d'un outil d'analyse de performance dans l'éditeur de carte. L'outil fournit des informations détaillées sur les composants du moteur, l'utilisation des ressources et des statistiques sur le rendu des images ;
    • Ajout du type RenderableCurve. Les RenderableCurve permettent d'afficher des courbes épaisses et ayant un matériel ;
    • Ajout du type ParticleSystemSource. C'est un objet spécial utilisé pour ajouter des systèmes de particules sur la carte ;
    • support de WPF : optimisation de performance : ajout du support de D3DImage. D3DImage permet une nouvelle interopérabilité entre WPF et DirectX permettant ainsi de mélanger une surface personnalisée Direct3D avec une surface WPF native Direct3D ;
    • support de WPF : gestion correct de l'événement "Device lost" du widget WPF ;
    • PhysX : les corps cinématiques sont maintenant supportés. Quelques fois, le contrôle d'un acteur avec juste les forces et les contraintes ne suffit pas (pas assez robuste, précise ou flexible). Par exemple, le déplacement de plateformes ou de personnage nécessite souvent de jouer avec une position d'acteur ou de suivre un chemin spécifique. Ce type de contrôle est fournit avec les acteurs cinématiques ;
    • PhysX : ajout de la possibilité de débloquer les axes de mouvement pour la jointure rotule. Nouvelle propriétés : PhysX_MotionLockedAxisX, PhysX_MotionLockedAxisY, PhysX_MotionLockedAxisZ ;
    • Arbre d'animation : ajout de l'option de bouclage dans le block source ;
    • Arbre d'animation : correction du block de transition ;
    • Correction de bogue : Système sonore : calcul de l'atténuation de mouvement qui ne fonctionnement pas correctement ;
    • Correction de bogue : Éditeur de carte : impossibilité d'exécuter un code C# compilé dans certains cas ;
    • Correction de bogue : batching statique : bogue avec les matériels.


    Vous pouvez télécharger la nouvelle version du moteur sur la page officielle.


    Votre opinion

    Avez-vous essayé ce moteur ? Qu'en pensez-vous ?


    Source

    Annonce officielle
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Débutant
    c# pour le jeux video ?!

  9. #9
    Responsable 2D/3D/Jeux

    Oui, ce n'est pas nouveau. Y avait déjà XNA, MonoGame, SharpDX, OpenTK ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Débutant
    et quand le GC passe, le jeux freeze ?

  11. #11
    Membre expérimenté
    Citation Envoyé par guillaume07 Voir le message
    et quand le GC passe, le jeux freeze ?

    ça c'est surtout lié au politique de développement métier,
    si tu développe un jeux complexe direct en WPF Pure avec le refresh par zone, ça va lagger

    Le but des moteurs C# est de permettre de développer un jeux avec un moteur performant
    et de ne pas être trop limité par les performances des frameworks graphiques actuel qui sont fait pour l'applicatif.

    Perso avec les surfaces direct3D incluse dans WPF on est a de très bonnes perfs,
    même si programmer un jeu est rudement compliqué lorsqu'on est habitué à programmer de l'applicatif métier...

  12. #12
    Membre chevronné
    Citation Envoyé par guillaume07 Voir le message
    et quand le GC passe, le jeux freeze ?
    Non ton jeu ne va pas freezer (ou alors il a un sérieux souci d’allocation d’objets). Grossièrement une collection de génération 0 prend entre 0 et 9ms, soit au pire la moitié de ton budget pour la mise à jour et le rend d’une seule image. bref si les collections sont maîtrisées ça passe inaperçu.

    Cela dit, le GC est certainement l’un des principaux facteurs qui fera qu’un jeu développé en C# sera moins performant qu’un jeu développé en C++ (ou tout autre langage qui laisse la main sur la mémoire). Mais cette différence est tout de même pas si énorme que ça ; une routine écrite en C#/SharpDX sera en moyenne 1.2x plus lente que la même routine écrite en C++/DirectX.

    Pour limiter les effets du GC il faut tout simplement éviter de le solliciter. Ça passe par exemple par l’utilisation de pools d’objets pour éviter les allocations (sur le tas) dans la boucle de jeu, éviter les foreach sur les collections qui implémentent IEnumerable, etc...
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  13. #13
    Citation Envoyé par I_Pnose Voir le message
    Pour limiter les effets du GC il faut tout simplement éviter de le solliciter. Ça passe par exemple par l’utilisation de pools d’objets pour éviter les allocations (sur le tas) dans la boucle de jeu, éviter les foreach sur les collections qui implémentent IEnumerable, etc...
    Je suis d'accord avec ça.
    nous devons inventer la langue de feu pour crâmer la langue de bois

  14. #14
    Expert confirmé
    Citation Envoyé par I_Pnose Voir le message
    Pour limiter les effets du GC il faut tout simplement éviter de le solliciter. Ça passe par exemple par l’utilisation de pools d’objets pour éviter les allocations (sur le tas) dans la boucle de jeu, éviter les foreach sur les collections qui implémentent IEnumerable, etc...
    Si finalement il faut faire attention à ne pas solliciter le GC, n'est ce pas aussi "pénible" que de se taper la gestion de la mémoire à la main?
    J'y connais pas grand chose en jeux vidéo, et encore moins en c++, du coup si je veux me faire un petit jeu je partirais sur ce genre de solution, mais pour un pro y a t-il un avantage à utiliser du c#?

  15. #15
    Membre chevronné
    Citation Envoyé par micka132 Voir le message
    Si finalement il faut faire attention à ne pas solliciter le GC, n'est ce pas aussi "pénible" que de se taper la gestion de la mémoire à la main?
    J'y connais pas grand chose en jeux vidéo, et encore moins en c++, du coup si je veux me faire un petit jeu je partirais sur ce genre de solution, mais pour un pro y a t-il un avantage à utiliser du c#?
    Un pro peut tout à fait utiliser le C# en tant que langage de script, mais les composants bas-niveau seront généralement développés en C++ (c’est le cas de Unity par exemple, qui est développé en C, C++ et Vala, alors que la partie script se fait en C#, JS, ou Boo). Bref, ça c’est plus ou moins la règle dans l’industrie AAA.

    L’utilisation d’un wrapper DirectX comme SharpDx (ou OpenGl via OpenTK par exemple) permet toutefois de développer un moteur ou un Framework de jeu entièrement en C# (et de ce que j’ai compris c’est le cas ici avec NeoAxis), en gros le C# sera utilisé pour la plomberie du moteur ainsi que pour le scripting du jeu. L’inconvénient c’est qu’un deuxième boulet entre en compte (le premier étant le GC), c’est les changements de contexte managé/non managé ; ceci a un cout qui peut difficilement être gommé (puisque le moindre appel à l’API va nécessiter un changement de contexte).

    Pour te répondre, certains pro n’auront pas besoin de la puissance de frappe d’un moteur de jeu triple A et pourront tout à fait opter pour une solution full C# (Terraria a été développé avec XNA par exemple, FEZ et Armed! avec monogame).
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

###raw>template_hook.ano_emploi###