Faire un simple jeux vidéo 2D C# comment?

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour, tout est dans le titre: j'avais pensé à XNA mais plusieurs sont les personnes qui disent que cette librairie est morte. Alors je cherche comment faire un simple jeux vidéo 2D mais je trouve pas comment quelqun peut m'aider?

De moins en moins sur OC, de plus en plus sur ZDS

+0 -0

Salut Lapin !

Pour XNA, je veux pas dire de bêtises, mais il me semble que Microsoft avait annoncé qu'il ne le ferait plus évoluer, c'est sans doute pour ça que tu as entendu qu'il était mort.

Pour faire des jeux 2D, c'est pas les solutions qu'il manque, tu cherches uniquement pour le C# ou tu te moques du langage ? Parce que de tête tu dois avoir des trucs comme Libgdx en Java, LOVE en Lua, Cocos2d … Sinon tu as une solution un peu différente, c'est d'utiliser Unity, le développement est en C# mais c'est quand même un moteur de jeu.

Zeste de Savoir - Dark Mode | Woodsbarn Festival | (∩`-´)⊃━☆゚.*・。

+0 -0

Salut Lapin. XNA n'est plus développé comme l'on dit mes VDD, mais il reste très performant pour faire un jeu en C# donc tu peux clairement l'utiliser.

Édité par Jojo

+0 -0

Cette réponse a aidé l'auteur du sujet

Xna reste viable mais contraignant :

  • L’installation sous W8 est laborieuse dû à une version préinstallée de la lib "Game For Windows" trop récente pour le MSI de Xna (il faut ruser en décompressant le package et en installant les différents composants à la main et dans un ordre précis… de souvenir).

  • L’utilisation des versions 2012 et 2013 de Visual Studio est proscrite (Xna n’est compatible qu’ave VS 2010)

A côté de ça tu as effectivement Monogame qui, pour un jeu 2D, fait mieux que XNA en terme de performance (près de 10 fois plus efficace que XNA sous Windows et seulement 1.5 fois plus lent qu’un code équivalent en C++/DX, cf. http://code4k.blogspot.fr/2011/03/benchmarking-cnet-direct3d-11-apis-vs.html)

Tu as également le Toolkit de SharpDx (un wrapper DirectX pour C#, notamment utilisé par Monogame pour cibler Windows).

Les deux solutions ci-dessus possèdent une syntaxe identique à XNA (c’est davantage le cas pour Monogame, car le Toolkit de SharpDx possède quelques signatures de méthodes qui diffèrent un peu) Et enfin si tu souhaites faire un jeu, le plus efficace reste encore d’utiliser Unity3D qui, malgré son nom, te permet de créer des jeux en 2D.

Toutes ces solutions te permettent d’utiliser C# sous Visual Studio (pour Unity il faut payer une extension tierce pour déboguer sous VS sinon ça se passe sous MonoDevelop).

Banni

Cette réponse a aidé l'auteur du sujet

Quitte à faire du multiplateforme et à utiliser un langage de haut niveau, tu peux utiliser Vala, pour lequel des bindings SDL et SFML existent. C'est un langage très proche de C#, mais compilé en C, donc avec de meilleures performances et moins de dépendances (Mono).

+0 -0

Bonjour,

Arf, je suis super en retard. Je dirai, vous pouvez vous lancer sur Monogame, mais les avis sont vraiment variés sur le framework.

Un point avait été fait sur la question de XNA. Clairement, Monogame est le successeur de XNA. Tellement que même Microsoft l'utilise comme tel et encore aujourd'hui, j'ai vu un article de Microsoft parler de XNA. Monogame apporte des choses à XNA, mais sans implémenter tout ce que XNA était, donc c'est un peu bancal.

Par rapport à la réponse de puffy-freshy, j'irai même plus loin, quitte à prendre un autre langage, autant prendre Python (ou au final, tout autre langage).

Les idées d'utiliser les bindings sont bonnes. Je n'irai pas spécialement sur du DirectX (SharpDX) car c'est peut être un peu trop bas niveau (au niveau graphique de la bibliothèque je veux dire).

Au final, il ne semble pas y avoir beaucoup de choix, du coté de C#.

+0 -0

Monogame apporte des choses à XNA, mais sans implémenter tout ce que XNA était, donc c'est un peu bancal.

LittleWhite

C’est (c’était ?) surtout vrai pour le pan 3D de XNA. Pour ce qui est de la 2D Monogame intègre absolument toutes les méthodes/classes de XNA (même s’il persiste quelques petits bugs sur certaines plateformes, notamment Android et Ouya… mais je crois que pour cette dernière ils ont arrêté les frais).

Bref, pour de la 2D (puisque c'était la question) Monogame est tout ce qu'il y a de plus apte.

Avec XNA il était possible de générer des SpriteFont directement via Visual Studio (en gros on faisait "ajouter un élément" -> "SpriteFont" et le tour était joué). Avec Monogame il faut passer par un logiciel tiers pour générer ces fameux SpriteFont (personnellement j'aime bien Fancy Bitmap Font Generator qui permet d'appliquer pas mal d'effets sur la police).

J'imagine que les mauvais retours viennent de là. Personnellement ça ne m'a jamais vraiment dérangé outre mesure (je trouve même que le petit programme cité plus haut donne visuellement de meilleurs résultats).

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte