2010-05-15 10 views
6

Es ist schon eine Weile her, seit ich irgendwelche Spieleprogrammierungen in C# gemacht habe, aber ich hatte einen kürzlichen Bug, um darauf zurückzukommen, und ich wollte ein paar Meinungen darüber, welche Konfiguration ich verwenden sollte.C# 2D Vektor Grafik Spiel mit DirectX oder OpenGL?

Ich wollte C# verwenden, da das ist, was ich für die Arbeit verwende, und mit dem ich vertraut geworden bin. Ich habe in der Vergangenheit sowohl mit DirectX als auch mit OpenGL gearbeitet, aber hauptsächlich in 3D, aber jetzt bin ich daran interessiert, ein 2D-Spiel mit allen Vektorgrafiken zu schreiben, das dem Look von Geometry Wars oder dem alten Star Wars-Arcade-Spiel ähnelt.

Wichtige Punkte, die mich interessieren:
• Benutzerfreundlichkeit/Implementierung.
• Einfacher Speicher. (Ich habe vor, sofort viel los zu haben)
• Sieht gut aus, ich möchte nicht, dass die Kurve pixelig aussieht.
• Vielleicht ein paar nette Effekte wie Glühen oder Partikel.

Ich bin offen für Vorschläge irgendwelchen und allen, vielleicht sogar etwas, das ich nicht gedacht haben ...

Vielen Dank im Voraus!

Antwort

11

Wenn Sie gerade erst anfangen und bereits einen C# -Hintergrund haben, warum nicht XNA versuchen? Sie werden definitiv in der Lage sein, Ihre C# Fähigkeiten hier

http://creators.xna.com http://creators.xna.com/en-US/downloads

+0

+1. XNA hat große Unterstützung und viele Bücher, um mehr Unterstützung zu bieten. –

+0

Und zusätzlich, wenn Sie XNA verwenden, haben Sie sofort einen Platz, um es für Leute zu setzen, um es mit nur geringem zusätzlichen Aufwand zu versuchen: XBox Live Indie. Im Gegensatz zu anderen Veröffentlichungsmethoden erfordert es nur sehr wenige funktionale Richtlinien, und im Gegenzug trifft man eine Menge potenzieller Leute, um es auszuprobieren (wenn man Leute dazu bringt, es auszuprobieren)!) Sie erhalten auch Zugriff auf viel mehr als nur Grafik-APIs mit XNA. Sie erhalten Sound, Input, Dateizugriff ... alles, worüber Sie beim Erstellen von Spielen nachdenken müssen. – EdgarVerona

1

TBH zu nutzen, es ist eigentlich egal, was Sie verwenden. OpenGL, SlimDX oder XNA. Sie werden alle so komplex sein (oder nicht wie es der Fall ist).

1

Sie könnten die Axiom-Engine in Betracht ziehen, die ein C# -Port von Ogre3D ist. Es ist genug höhere Ebene, dass Sie Ihre Grafiken über XNA oder OpenGL mit wenig oder keine Änderung an Ihrem Code rendern können. Es kann auch Tastatur- und Mauseingaben verarbeiten (die normalerweise getrennt sind - z. B. über DirectInput unter Windows oder SDL unter Linux).

+0

Axiom ist nicht mehr in Entwicklung. –

1

Sie könnten auch die Verwendung von TAO Framework, die OpenGL-basiert und ziemlich nett ist. Aber du musst die 2D Engine ganz alleine schreiben. Es funktioniert auch auf Mono!

+1

Dies wurde durch OpenTK, afaik ersetzt. –

3

Ich benutze SlimDX für C# Grafikprogrammierung und ich bevorzuge es zu XNA.

http://slimdx.org/

+0

+1 esp. Mit XNA wird keine aktive Entwicklung mehr SlimDX scheint eine sehr gute OpenSource-Alternative zu sein – Seph

1

Ich eröffne mein OpenGL-Engine mit einem Wrapper C#, weil Ich mag C# zu viel. Traurig gehandhabte Sprachen sind sehr langsam, wenn es um Grafiken geht und deshalb mache ich meinen OpenGL-Teil immer in C++, kompiliere ihn als DLL und erhalte ihn aus C# mit Hilfe von Interop. Wenn Sie DirectX nicht mögen, schlage ich vor, dass Sie XNA fern bleiben. Jeder, den ich kenne, ist sehr enttäuscht darüber und hat wieder zu C++ (OpenGL) + C# gewechselt.

1

Da Sie C bereits kennen, würde ich XNA oder Unity verwenden. Zwar gibt es schnellere Sprachen und Middlewares, aber sie sind wahrscheinlich schnell genug. Beide Frameworks verfügen über die erforderlichen Funktionen, die Sie benötigen.