Ich habe kürzlich aus einem Interview auf CVG.co.uk über eine mögliche Zusammenarbeit zwischen zwei ehemaligen und jetzt konkurrierenden Kollegen erfahren, dass das MMO Minecraft von Java angetrieben wird. Im Interview sagte er unverblümt, dass der Gründer von Minecraft ein Java-Codierer und er ein C- oder C ++ - Codierer ist, so dass sie nicht miteinander kompatibel sind. Daher wird es schwierig sein, bei zukünftigen Projekten zusammenzuarbeiten.
Das brachte mich zum Nachdenken, ob Java das könnte? Was hält die Zukunft für die sehr beliebte C # -Sprache und .Net-Plattform von MS in Bezug auf Spiele oder die Entwicklung von Mainstream-Spielen bereit?
Antworten:
Sie sollten XNA überprüfen . Eine Plattform zum Erstellen von Spielen für Windows, Xbox 360 und Windows Mobile 7. Alles in C # und .NET.
quelle
Ich arbeite seit über 5 Jahren in der professionellen Spieleentwicklung. Die meiste Zeit habe ich fast ausschließlich C # verwendet.
C # - und .NET-Stack im Allgemeinen eignen sich hervorragend für die serverseitige Technologie. Ich habe an nicht weniger als 4 MMO-Spielen mit Server in C # gearbeitet. Da Unity3D immer beliebter wird, benötigen viele Browser- und Handyspiele C #. Vergessen Sie nicht das XNA-Framework: Es ist nicht die Engine der Wahl für AAA-Konsolentitel, aber es gibt viele großartige Spiele, die damit erstellt wurden, und viele weitere, die derzeit in Arbeit sind.
Insgesamt hat C # definitiv eine Zukunft in der Spieleentwicklung.
quelle
Wie bereits erwähnt, bringt Mono C # auf mehrere Plattformen. Im selben Bereich finden Sie Tao , eine Multiplattform-Bibliothek für Mono und .NET, die den Zugriff auf CG, DevIL, FreeGLUT, GLFW, ODE, OpenAl, OpenGL, PhysicsFS, SDL und WGL ermöglicht. Es ist offensichtlich nicht so robust, wenn es um Features geht wie XNA (das dem Entwickler grundlegende Engine-Komponenten direkt zur Verfügung stellt). aber es ist viel mächtiger.
Eine plattformübergreifende Steuerung über Microsoft-Betriebssysteme und -Hardware hinaus ist also definitiv möglich. Nur haben noch nicht so viele beliebte Indie-Spiele von dieser Fähigkeit Gebrauch gemacht.
Wie bereits erwähnt, ermöglicht XNA in Verbindung mit C # unabhängigen Entwicklern die Veröffentlichung auf 360, PC und Windows Phone 7.
Insgesamt ist C # in der Spieleentwicklung als Engine- / Spielsprache am Leben und gut.
Als Werkzeugsprache ist es überall im Einsatz. Ich habe Tools für EA, THQ und jetzt Arkadium mit C # erstellt.
quelle
C # hat nicht nur eine Zukunft in der Spieleentwicklung , sondern auch ein Geschenk: Schauen Sie sich Magicka an , ein Spiel, das kürzlich mit XNA veröffentlicht wurde (und sich gut verkauft). Schauen Sie sich auch die Gewinner von Dream.Build.Play an . C # ist ein praktikabler Weg, um Spiele zu machen (obwohl ich im Moment nicht glaube, dass es die richtige Wahl für alle Spiele ist).
Mit der Zeit wird es in der Computerspielbranche immer beliebter, aber ich erwarte zu keinem Zeitpunkt eine plötzliche Umstellung auf C #.
quelle
Java war schon immer eine sehr vielseitige Sprache, und es gab immer die Möglichkeit für Leute, darin Spiele zu programmieren , von einfachen webbasierten Spielen (Java-Applets / GWT mit dem Canvas-Plugin) bis zu vollständigen 3D-Bestien (checkout JMonkey) ). Ich würde also nicht sagen, dass die Tatsache, dass Java so etwas kann, ein C # -Killer ist, weil die meisten Leute wissen, dass Java das bereits kann.
C # wird jedoch weiterhin beliebt sein, da es unweigerlich besser zu Windows, Windows Mobile und der Xbox passt als Java (was eigentlich allen Spieleentwicklern wichtig ist, damit der plattformübergreifende Vorteil, den Java bietet, größtenteils verloren geht.) Es ist Außerdem gibt es XNA, das in Bezug auf die Spieleentwicklung wirklich auf dem Vormarsch ist.
Ja, Java ist eine perfekte Plattform für die Spieleentwicklung, wenn jemand diesen Weg beschreiten möchte, aber es ist sicherlich kein C # - oder .NET-Killer.
quelle
Testen Sie Unity 3D. C # (und JavaScript und Boo) -Skripting in einer leistungsstarken 3D-Engine.
Wenn Sie XNA zum Mix hinzufügen, sehen Sie sich einige großartige Plattformen für die Verwendung von C # für die Spieleentwicklung an.
quelle
Ja, C # hat mit dem XNA-Framework eine Zukunft. Die meisten bevorzugen C ++ , weil die Geschwindigkeit, aber C # ist nicht , dass mehr langsam ...
quelle
Auch - MonoDroid kann eine Option für C # sein.
quelle
In diesem Fall hat er mit Java ein Applet erstellt, sodass Sie sich einfach auf der Site anmelden und mit einem sehr verbreiteten Plugin spielen können, das völlig transparent ist, welches Betriebssystem verwendet wird. Ich stelle mir vor, er war der Meinung, dass Java auf diese Weise ziemlich transparent war und es für die schnelle iterative Entwicklung / Prüfung, zu der er die Fans aufforderte, leicht machen würde. Ich glaube nicht, dass Sie dies einfach mit XNA tun können, da der Tester normalerweise alles installiert haben muss sowie das Spiel und einige allgemeine Kenntnisse darüber, wie man dies kompiliert und ausführt.
Ich würde also sagen, dass es keinen Paradigmenwechsel gibt, sondern nur das, was er zu der Zeit brauchte und offensichtlich gut funktioniert hat.
quelle
Sicher, viele Programmiersprachen haben eine Zukunft in der Spieleentwicklung. Es ist ein in der Computerpresse häufig verwendetes falsches Dilemma, dass es nur ein Werkzeug vom Typ X geben kann und dass dies von allen gewünscht wird.
Nichts könnte weiter von der Wahrheit entfernt sein.
C # und Java werden seit langem in Spielen eingesetzt. C und C ++ haben noch länger gedauert und sind es immer noch. Lua wird als Skriptsprache für einige unglaublich beliebte Spiele verwendet, wobei die Engine in C / C ++ geschrieben ist.
Es ist also klar, dass keine Programmiersprache andere Programmiersprachen als The Game Programming Language aus dem Wasser jagt. Tatsächlich sehen wir die Tendenz, dass führende Spiele aus einer hochleistungsfähigen kompilierten Programmiersprache für die Entwicklung der Engine (s) und einer übergeordneten dynamischen Programmiersprache für die Skripterstellung für das Verhalten der Benutzeroberfläche und der Inhalte bestehen.
The key at the moment is performance. If any of the programming languages/libraries used cause unpredictable/uncontrollable pauses in the application then in an action game, that will fall flat on its face. In a text-based adventure game, that might be okay however.
quelle