Ich suche nach einer Alternative zu XNA - es ist mir egal, ob es sich um eine 2D- oder 3D-Engine handelt. Es liegt nicht daran, dass ich Windows nicht mag oder gegen Microsoft bin. Das liegt daran, dass ich gerne Linux ausführe, vollständig in Linux codiere (für C # verwende ich natürlich Mono) und auf keinen Fall Hardware habe, um die Programmierung in XNA tatsächlich zu unterstützen, einfach weil meine Grafikkarte 6 Jahre alt ist. Ich habe auch keine Windows 7 / Vista-CD für DirectX 10.
Für die Spieleentwicklung stecke ich also in der Steinzeit fest. Dennoch mag ich C # sehr und würde es aus diesem Grund hassen, es als Sprache fallen zu lassen.
Kann ich irgendetwas tun?
Antworten:
Ich befürchte, dass es in der Welt der plattformübergreifenden C # -basierten Frameworks keine vollständige Alternative zu XNA gibt. Monoxna ist längst tot, und nur sehr wenige andere plattformübergreifende Tools verwenden C # als Sprache ihrer Wahl.
Dieser baldige Port von XNA für iOS und Android sieht jedoch sehr vielversprechend aus: ExEn . Ich weiß jedoch nichts über Anforderungen.
Da Sie das Wort "Engine" verwendet haben, möchten Sie möglicherweise etwas Komplexeres. Ich kann mich nur an eine billige vollwertige C # -Engine erinnern, die unter Linux laufen kann und ziemlich fehlerverzeihende Hardwareanforderungen hat: NeoAxis .
Wenn Ihr primäres Ziel jedoch 2D-Spiele sind, können Sie sich diese kleine plattformübergreifende Spielbibliothek ansehen : AgateLib . Vor zwei Jahren war es schön, noch etwas fehlerhaft zu benutzen, vielleicht ist es jetzt besser.
Wenn etwas anderes fehlschlägt, können Sie OpenGL mit SDL jederzeit über OpenTK oder SDL.Net verwenden .
quelle
Warum nach einer Alternative suchen, wenn Sie einen Port verwenden können?
"MonoGame ist eine kostenlose OpenGL-Implementierung des XNA 4.0 Framework. Es basiert auf der hervorragenden Auswahl an Mono-Compilern und ist kompatibel mit MonoTouch (iOS), Mono für Android (Android), MonoMac (Mac OS X), Mono für Windows und jetzt Linux!
Unser Ziel ist es, XNA-Entwicklern unter Windows und Windows Phone 7 die Portierung ihrer Spiele auf iOS / Android / Mac OS X / Windows / Linux und umgekehrt mit minimalem Aufwand zu ermöglichen. "
http://monogame.codeplex.com
https://github.com/mono/MonoGame
quelle
2 Bibliotheken gut für Software-Rendering:
Ich halte Allegro vom Standpunkt der Pixelverschiebung aus für leistungsfähiger, aber ich glaube nicht, dass es das gleiche Aktivitätsniveau wie SDL aufweist, und während SDL vom Autor auf dem neuesten Stand gehalten wird, denke ich, dass dies bei Allegro viel weniger der Fall ist.
quelle
Vielleicht möchten Sie ANX ausprobieren:
Das ANX.Framework ist ein Framework, das mit dem XNA Framework 4.0 von Microsoft quellkompatibel ist. Quellkompatibilität bedeutet, dass Sie ein XNA-Spielprojekt in ein ANX-Spielprojekt "übersetzen" können, indem Sie einfach alle Namespaces von Microsoft.XNA.Framework in ANX.Framework ersetzen. Der Vorteil von ANX ist einfach, dass Sie das RenderSystem, das InputSystem und das AudioSystem austauschen können. Durch den Austausch dieser Systeme können Sie Ihr Spiel nicht mehr mit DirectX9 ausführen, das XNA verwendet. ANX wird standardmäßig mit einem DirectX10-RenderSystem geliefert. Ein DirectX 11, DirectX 11.1 und ein OpenGL 3 RenderSystem befinden sich derzeit in der Entwicklung. Auf diese Weise können Sie Ihre Spiele unter Linux und anderen von OpenGL usw. unterstützten Plattformen ausführen, indem Sie einfach die Namespaces austauschen.
~ Codeplex-Site: http://anxframework.codeplex.com/
Es befindet sich noch in der Entwicklung, aber die meisten grundlegenden XNA-Funktionen sind implementiert.
quelle