Erste Schritte in der Spieleentwicklung: Ist XNA eine gute Wahl? [geschlossen]

16

Lange Zeit Leser; erstmaliger Fragesteller:

Ich wollte schon seit einiger Zeit Teil der Spieleindustrie sein, aber mein Lebenslauf besteht zu 100% aus Backend-Arbeiten.

Ich bin ein starker C ++ / C # -Entwickler ohne praktische Erfahrung in der Spieleentwicklung. Meine Backend-Erfahrung macht mich zu einem guten Kandidaten für die Backend-Arbeit (da viele Spiele heutzutage servicebasierte Aspekte aufweisen), aber es ist ein hart umkämpftes Feld und ich suche nach Möglichkeiten, mich abzuheben.

Da niemand einfach auf mich zukommt und mir einen Job in der Spielebranche gibt, habe ich mich entschlossen, meine eigenen Spiele zu schreiben.

Ich verstehe, warum C und C ++ die Defacto-Sprachen in der Spieleentwicklung sind, aber ich mag die Philosophie hinter XNA wirklich. Wie bereits erwähnt, beherrsche ich sowohl C # als auch C ++. Wenn ich mich jedoch richtig erinnere, funktioniert XNA nur in CLR-kompatiblen Sprachen (möglicherweise nur in C #).

Beeinträchtigt es meine Chancen, einen Job in der Spieleindustrie zu finden, wenn ich mich auf die Spieleentwicklung mit XNA und C # anstelle von C ++ konzentriere? VB hat den unfairen Ruf, keine echte Programmiersprache zu sein, und VB-Programmierer sind von diesem Stigma betroffen. Ist dies bei der Verwendung von C # in einer Community der Fall, die hauptsächlich aus C ++ - Entwicklern besteht?

Oder übersteigen die Grundlagen der Spieleentwicklung, die durch das Schreiben von Spielen erlernt werden können, Sprache und Technologien?

Alan
quelle

Antworten:

15

Ich denke nicht, dass es deine Chancen beeinträchtigen würde. Insbesondere bei XNA und SlimDX wird C # immer beliebter. Ich habe sowohl C # als auch C ++ verwendet, und ich muss sagen, dass ich XNA deutlich vorgezogen habe. Es war nur sauberer zu arbeiten, aber nicht so sehr, dass man das Gefühl hatte, nichts zu tun.

Für den Karriereteil möchten Sie erwähnen, dass Sie an XNA gewöhnt sind, obwohl ich nicht denke, dass dies Ihre Chancen beeinträchtigen würde. Aufgrund der einfacheren Handhabung sind Ihre Portfolio-Teile möglicherweise sogar besser.

Und die Konzepte bleiben gleich, nur die Syntax ändert sich. Wenn Sie nicht für einen Grafikjob auf niedriger Ebene arbeiten, ist das Layout der zu erledigenden Aufgaben nahezu identisch (Sie schreiben keinen Shader-Ladecode oder Mesh-Caches, sondern laden ihn einfach).

Die kommunistische Ente
quelle
+1: Schöne Antwort. Glauben Sie, dass es eine Erwartung gibt, dass Ihre Portfolio-Teile besser sein sollten , da Sie XNA verwendet haben? In einer meiner Hardwareklassen hatten wir beispielsweise die Wahl, unser Entwurfsprojekt in HC12-Assembly oder mit C zu schreiben, aber mit C musste unser Projekt aufgrund der einfachen Programmierung in C über Assembly wesentlich interessanter sein.
Alan
Ich glaube nicht wirklich, dass es das geben würde. Es ist ein Werkzeug für eine Lösung, und der Grund, warum ich sage, dass das Endprodukt "besser" wäre, ist, dass weniger Zeit für das Rendern des Designs und mehr Zeit für die eigentliche Spielearbeit aufgewendet wird.
Die kommunistische Ente
Wenn Sie nicht speziell nach einem Grafikjob suchen, werden die meisten Leute nicht nach Tonnen von grafischem Glanz in einem Portfolio suchen. Machen Sie etwas, das mehr als hübsch aussieht. In dieser Hinsicht spielt XNA vs. C keine Rolle, solange es Spaß macht.
Coderanger
Wenn Sie jedoch möchten, dass es hübsch aussieht, kann die Verwendung einer Rendering-Engine wie Sunburn auf XNA viel helfen!
Chris Ridenour
10

Ich habe die Erfahrung gemacht, dass dieselben in XNA verwendeten Konzepte zwischen verschiedenen Bibliotheken und Sprachen hin und her übertragen werden. Ich konnte effektiv zwischen verschiedenen Spieltechnologien hin und her springen und begann mit XNA.

Die Arbeit mit C # und XNA hat mir geholfen, mich auf ein bestimmtes Lernziel zu konzentrieren ("Was bringt ein Spiel zum Ticken?") Und nicht auf das Mischen von Zielen ("Wie lerne ich X und mache ein Spiel gleichzeitig?"). Wann immer ich Tore kombinierte, endete ich mit ziemlich miserablen Ergebnissen. Indem ich in meiner Komfortzone anfing und mich auf XNA stützte, konnte ich die Dinge zum Laufen bringen.

Gabriel Isenberg
quelle
Ich mag deine Antwort wirklich. Wenn alle Programmiersprachen ähnliche Strukturen haben (Objekte, Kontrollstrukturen usw.), sollten Sie meines Erachtens lernen, was Sie mit dem anfangen wollen, womit Sie sich wohl fühlen. Die Hauptunterschiede bei der Umstellung von Sprache auf Sprache sollten die Syntax, die Kernkomponenten und die APIs sein.
John
3

Wenn Sie ein unterhaltsames Spiel machen können und tatsächlich ein talentierter Ingenieur sind, brauchen Sie sich keine Sorgen zu machen. Niemand wird Sie dafür belästigen, wie Sie Ihr Spiel gemacht haben.

Spiele werden nicht so gepflegt wie viele andere Softwareprodukte. Es wird weniger Code zum Wegwerfen gemacht als in der Spezialeffektbranche, aber wir können immer noch mit viel Aufwand davonkommen.

Erledige einfach die Arbeit. Am Ende des Tages geht es darum, Spiele zu entwickeln.

Jonathan Fischoff
quelle
3

Mir wurde gesagt, dass:

  1. Der Inhalt ist mit einigen Ausnahmen wesentlich wichtiger als die verwendeten Tools.

  2. Obwohl die Basis der meisten größeren Spiele C ++ ist, liegt dies daran, dass die Tools in C ++ entwickelt wurden. Wenn Sie die Tools nicht codieren, ist es möglich, dass Sie ohnehin nicht in C ++ programmieren.

Bearbeiten: Ein abgeschlossenes Demo-Projekt in einer beliebigen Sprache (C # usw.) ist bedeutend besser als etwas Unvollständiges in einer schwierigeren Sprache (C ++ usw.).

acmshar
quelle