Da Spiele auf vielen verschiedenen Subsystemen basieren, wie Grafiken (DirectX, OpenGL, ...), Sound (OpenAL, Ogg Vorbis, ...) oder Physik (Kollisionen, ...), welche Bibliotheken sind für Sie hilfreich? für die Spieleentwicklung in C # und welche Vorteile bieten sie?
58
Offensichtlich gibt es XNA von Microsoft selbst: http://creators.xna.com/en-US/ Mit XNA erstellte Spiele funktionieren unter Windows und (über den Creators Club) auf Xbox360. Ich denke, das ist perfekt, um in der rasanten Spieleentwicklung die Füße nass zu machen. Ich habe meine Füße in XNA noch nicht richtig nass bekommen, also kann ich es noch nicht beurteilen. Aber von der Seitenlinie aus betrachtet sieht es nach dem besten aus, was es seit geschnittenem Brot gibt. Klar, man kann nicht alles damit machen. Sie können jedoch schnelle Prototypen und funktionierende Spiele in Indie-Qualität und darüber hinaus erstellen.
Eine andere Bibliothek ist SlimDX - http://slimdx.org/, von der manche behaupten, dass sie näher an Metal / Reality ist, wenn Sie nicht mit XNA arbeiten möchten. Ideal für schnelles Prototyping - besonders, wenn Sie hauptsächlich mit C oder C ++ arbeiten. Ideal auch für Werkzeuge.
quelle
Es gibt auch einen Port der C Library SDL zu .NET, SDL.NET . Ich persönlich würde XNA in C # verwenden, weil es nur eine gut zusammengestellte Bibliothek ist, die sehr anpassbar und auch für Anfänger geeignet ist.
quelle
Haftungsausschluss: Die folgende Empfehlung kann aufgrund meiner persönlichen Beteiligung an der Entwicklung dieses Motors voreingenommen sein oder auch nicht.
Duality ist eine erweiterbare 2D-Game-Engine, die mit einem WYSIWYG-Editor ausgestattet ist. Schneller Überblick:
Wenn Sie es ausprobieren möchten, können Sie entweder die neueste Binärversion direkt herunterladen oder sie selbst mit dem Quellcode von GitHub kompilieren . Weitere Informationen erhalten Sie, wenn Sie die Info-Website und die Community-Foren besuchen. Folgen Sie einfach den Links von der Info-Website, die ich oben angegeben habe.
quelle
BulletX ist eine 100% C # -Portierung von Bullet Physics, die mit XNA verwendet werden kann.
quelle
Auf der Toolseite ist das " Managed Extensibility Framework " eine unglaublich nützliche Bibliothek , das nun tatsächlich Teil von .Net 4.0 ist. Sie können damit auf lächerliche Weise Plug-Ins erstellen oder Instanzen von Klassen automatisch erkennen, was für Ihre Tools sehr nützlich ist.
quelle
Das größte (und bewährteste) ist bis heute das XNA-Framework. Sie können sogar XNA nutzen, um Ihre Werkzeugsätze zu erstellen. Der Vorteil ist, dass Sie ein Framework haben, das die benötigten Bibliotheken (Physik, Sound, Grafik) in einem Paket vereint. Das große Plus ist, dass Sie, wenn Sie etwas wirklich gut machen, versuchen können, es in XBLA zu pumpen.
quelle
XNA ist eine ziemlich große Bibliothek für PC / Xbox360, die Ihre Grafiken, Sounds, Eingaben usw. verwaltet.
quelle
Das Tao Framework (in diesem Buch verwendet, das ich als sehr nützlich empfunden habe: C # -Spielprogrammierung für die Erstellung ernsthafter Spiele ), das OpenGL und viele andere nützliche Spielprogrammierungsfunktionen (über C # zugänglich) umfasst, ist einen Blick wert. Es wurde jedoch von der Open Toolkit Library (OpenTK) abgelöst, die in einer anderen Antwort erwähnt wurde. Ich finde es seltsam, dass das Buch das Tao Framework anstelle von OpenTK verwendet, wenn man bedenkt, dass Tao seit ungefähr 2 Jahren inaktiv ist (und das Buch ist brandneu). Ein nützliches Framework, das es wert ist, überprüft zu werden.
quelle
Nicht genau das, wonach Sie gefragt haben, aber Unity ist eine Spiele-Engine, die Skripte in c # unterstützt.
quelle
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) ist eine nette prototypenorientierte Bibliothek / Engine, die auf XNA basiert, wenn Sie nach etwas Höherem suchen.
quelle
Ich finde, dass SFML.Net eine großartige Wahl ist, und ich persönlich benutze es. Beachten Sie jedoch, dass Sie nicht die auf der Site bereitgestellten Binärdateien verwenden, sondern die neuesten vom SVN abrufen. Die Site-Version ist stark veraltet.
quelle
Werfen Sie einen Blick auf die Ploobs Engine - im Moment unterstützt sie XNA 4, Open Source und hat viele coole Funktionen:
quelle