Spieleprogrammierung in C#



  • Für kleine Spiele ist XNA sicherlich geeignet und auch eine sehr gute Wahl. Sofern es aber ernster werden soll, führt an C++ doch kein Weg vorbei!

    Somit mein Rat: Lieber von Anfang an auf C++ setzen. Dort nutzt auch niemand DirectX direkt, gute Engines gibt es da aber wie Sand am Meer. Irrlicht, Ogre3D...



  • Was für ein Spiel willst du denn programmieren?



  • Hallo

    Fischbutter schrieb:

    Für kleine Spiele ist XNA sicherlich geeignet und auch eine sehr gute Wahl. Sofern es aber ernster werden soll, führt an C++ doch kein Weg vorbei!

    Somit mein Rat: Lieber von Anfang an auf C++ setzen. Dort nutzt auch niemand DirectX direkt, gute Engines gibt es da aber wie Sand am Meer. Irrlicht, Ogre3D...

    Was verleitet dich zu dieser, wie ich finde falschen, Aussage?

    chrische



  • frageee schrieb:

    also mein Ziel ist es, ohne Engine also nur mit XNA spiele zu programmieren.
    Engines bestehen ja auch aus nichts anderes als XNA code nur mit XNA muss man sich auf keine Spielerichtung spezialisieren oder auf Features sondern hat immer alles wo man will! Natürlich ist es auch bisschen mehr arbeit aber das muss man in kauf nehmen. XNA ist denke ich sowieso viel leichter als dx

    Das stimmt nicht so 100%. 1. müssen in/für .Net geschriebene Engines nicht XNA nutzen, die von mir bereit erwähnte NeoAxis-Engine nutzt z.B. für das Rendering Ogre. 2. Ist XNA der Nachfolger von Managed Direct X, bietet allerdings einige Komfortfunktionen, die in Direct X selbst nicht enthalten sind. Deswegen ist XNA aber noch lange keine Engine, so fehlen z.B. Funktionen für Kollisionserkennung und Physik.
    Aber du darfst natürlich trotzdem gerne XNA nutzen 🙂

    Fischbutter schrieb:

    Für kleine Spiele ist XNA sicherlich geeignet und auch eine sehr gute Wahl. Sofern es aber ernster werden soll, führt an C++ doch kein Weg vorbei!

    Somit mein Rat: Lieber von Anfang an auf C++ setzen. Dort nutzt auch niemand DirectX direkt, gute Engines gibt es da aber wie Sand am Meer. Irrlicht, Ogre3D...

    Gerade wenn ich als Hobbyentwickler größere Projekte stemmen möchte, bin ich froh darum, mich nicht um den Overhead kümmern zu müssen, den C++ gegenüber z.B. C# hat. Ich möchte mich einfach darauf konzentrieren, meine Ideen so elegant und einfach wie möglich in Programmcode zu gießen (Ohne dabei Abstriche bei dem Programmdesign hinnehmen zu müssen), da ist eine moderne .Net-Sprache meiner Meinung nach eine gute Wahl. Aber auch hier hat jeder natürlich seine persönlichen Vorlieben, manch einer möchte ein Spiel evtl. auch in Assembler schreiben *g*.



  • Fischbutter schrieb:

    Für kleine Spiele ist XNA sicherlich geeignet und auch eine sehr gute Wahl. Sofern es aber ernster werden soll, führt an C++ doch kein Weg vorbei!

    Somit mein Rat: Lieber von Anfang an auf C++ setzen. Dort nutzt auch niemand DirectX direkt, gute Engines gibt es da aber wie Sand am Meer. Irrlicht, Ogre3D...

    das ist ja wohl der größte blödsinn den ich je gehört habe! C#.NET in kombination mit XNA ist die Zukunft und wird deshalb auch in XBOX 360 verwendet. Es ist sehr wohl auch für große Spiele geeignet! Und von der Performance steht es C++ auch nicht mehr viel nach!



  • das ist ja wohl der größte blödsinn den ich je gehört habe! C#.NET in kombination mit XNA ist die Zukunft und wird deshalb auch in XBOX 360 verwendet. Es ist sehr wohl auch für große Spiele geeignet! Und von der Performance steht es C++ auch nicht mehr viel nach!

    naja kommt auf die hardware drauf an... denk ich.. PC ist evtl. C++/DX besser als C#/XNA.. aber nur ne vermutung..



  • Gerade auf der XBOX ist C++ C# im Moment weit überlegen (was die Ausführungsgeschwindigkeit angeht), weil der JIT-Compiler der auf der XBOX eingesetzt wird überhauptnicht gescheit optimieren kann.
    Aber naja, ihr müssts ja wissen 🙄



  • Nunja, den Hobbyentwickler, der sich das XDK leisten kann, kann ja gerne in C++ für die X-Box entwickeln. Für den großen Rest bleibt nur XNA. Aber hier gehts ja nicht unbedingt um die Entwicklung für Konsolen, daher wird die meisten die Geschwindigkeit des JIT-Compilers für die X-Box nicht besonders interessieren. Unter Windows ist mir C# auf jeden Fall schnell genug und gerade wenn die Zugrunde liegende Engine auf unmanaged Code aufbaut, ist mir der Geschwindgkeitsverlust in Relation zur gesparten Entwicklungszeit doch ziemlich egal.



  • Hallo

    Sind wir doch mal ehrlich: Die meisten Hobbyprogrammierer werden nicht die Geschwindigkeit als Grenze ihrer Spiele empfinden, sondern eher ihre eigene Kompetenz und da hilft c# und xna schon deutlich weiter.

    chrische



  • OK, das "ihr" sollte ich zurücknehmen, da ich mich eigentlich nur auf die 2 Kommentare von "omfg" bezogen habe. Die ich für Blödsinn halte. Ich hatte zuerst nicht so genau darauf geachtet wer genau was geschrieben hat.

    Klar ist XNA toll, und klar kann man damit tolle Spiele machen die auch schnell genug laufen. Aber zu behaupten XNA bzw. C# im Allgemeinen würde C++ von der Performance her nichts nachstehen ist blödsinn. Gerade wo in dem Zusammenhang die XBOX erwähnt wurde. Auf dem PC siehts für XNA/C# (im Vergleich zu C++) schon viel besser aus als auf der XBOX. Was auch genau verkehrt herum impliziert wurde.

    BTW: das Problem wenn man an das XBOX Developer Kit kommen will ist nicht nur das Geld, sondern auch, dass man als kleiner Privater garkeine Lizenz bekommt. Nichtmal als kleine Firma die das Geld hätte, aber noch nix vorzuweisen hat. Ich weiss nicht ob MS das SDK rausrückt, und man das Spiel quasi machen, aber dann nicht vertreibe darf, oder ob sie gleich das SDK nicht rausrücken (vermute eher das Zweite) - ist aber im Endeffekt auch egal.


Anmelden zum Antworten