Ist C ++ notwendig, um zu lernen, ob ich jemals in der Spielebranche arbeiten möchte?


17

Ist C ++ notwendig, um zu lernen, ob ich jemals in der Spielebranche arbeiten möchte? Ich bin mit C # bestens vertraut und beherrsche die Erstellung von 2D-Spielen in XNA 4.0. Im Moment bin ich erst 13 Jahre alt und liebe es, Spiele zu machen. Ich hoffe, eines Tages einen Job als Programmierer zu bekommen. Ich habe viele Leute sagen hören, dass C ++ der "Industriestandard" ist und dass es Ihrer Karriere schaden wird, wenn Sie es nicht wissen. Ich versuche auch, mehr Plattformen als nur Fenster ins Visier zu nehmen und bin mir Monogames bewusstaber aus irgendeinem grund habe ich viele probleme mit den visual studio vorlagen und ich finde viele fehler mit monogame. Da ich technisch noch keinen Job bekommen kann und wahrscheinlich keinen Programmierjob bekommen konnte, bis ich 22 oder so bin (es sei denn, ich bin selbstständig). Und in diesem Zeitraum von mehr als 9 Jahren wird sich die Spielebranche höchstwahrscheinlich stark verändern. Also hier sind einige Fragen

  • Beeinträchtigt das Erlernen von C ++ meine Chancen, einen Programmierjob zu bekommen?
  • Bis ich einen Job bekommen kann, wird C ++ immer noch die 'Industriestandard'-Programmiersprache sein
  • Wenn ich ein Indie-Entwickler bin, ist es dann wirklich wichtig, ob ich C ++ lerne oder nicht, und bleibe bei dem, was ich weiß?
  • Sollte ich anfangen, es jetzt zu lernen, da ich viele Jahre habe, bevor ich überhaupt einen Job bekommen kann?

Ich habe auch die Sorge, dass ich, obwohl ich mit objektorientierter Programmierung vertraut bin, viel Zeit mit C ++ verbringe und sehr frustiert und verwirrt werde, dann höre ich einfach auf, es zu lernen, und zu diesem Zeitpunkt habe ich viel XNA und vergessen Ich muss alles lernen. Kurz gesagt: Soll ich C ++ lernen, wenn ich jemals einen Programmierjob haben möchte?

AKTUALISIEREN

Vielen Dank für Ihre Antworten und Vorschläge. Kürzlich habe ich SFML und C ++ aufgegriffen und es läuft ziemlich gut. Ich verstehe C ++ und beginne, meine Augen zu öffnen, damit ich mir keine Gedanken darüber mache, neue Dinge zu lernen, weil ich all mein C # -Wissen in die Erleichterung des Lernens von C ++ übertragen konnte. Nochmals vielen Dank.


4
Es sollte beachtet werden, dass es in der Spielebranche tatsächlich mehr Jobs gibt, die nicht codieren, als es Jobs gibt, die codieren. Künstler, Projektmanager, Black-Box-Tester, Designer, Vertrieb usw. Außerdem gibt es weit mehr Jobs in anderen Sprachen als nur in C ++. Also, statistisch gesehen, nein, Sie müssen C ++ nicht lernen, um einen Job in der Branche zu bekommen.
MichaelHouse

1
Es wird definitiv nicht Ihre Chancen verletzen. Die Firma, für die ich arbeite, verwendet C # und Unity strikt für die Entwicklung von Spielen und benötigt kein C ++. C ++ wird jedoch weiterhin als Pluspunkt angesehen, da es viele nützliche Konzepte vermittelt, die an anderer Stelle angewendet werden können. Ich würde empfehlen, dass Sie sich auf eine Sprache konzentrieren, die Sie für Ihr Indie-Projekt kennen, aber sich ein wenig Zeit nehmen, um C ++ zu lernen, wenn Sie können (nur wegen der Erfahrung).
Benjamin Danger Johnson

2
Wenn Sie ein professioneller Entwickler sind, können Sie Ihre Tools nicht immer auswählen. Zum Beispiel hasse ich Java und MATLAB aus Leidenschaft. Aber hin und wieder muss ich nur den Atem anhalten und es hinter mich bringen. Also hör einfach auf zu jammern und lerne C ++. Lernen Sie noch ein paar Sprachen, während Sie gerade dabei sind.
drxzcl

Lerne C ++, solange du kannst.
Jcora

Ich denke, dieser Beitrag ist eine wichtige Lektüre für diese Frage.
Andrew Russell

Antworten:


23

Ich möchte mich auf Ihre dritte Frage konzentrieren, da sie in meinem Wissensgebiet liegt (Indie-Entwickler):

Ich habe seit vielen, vielen Jahren keine C ++ - Codezeile mehr geschrieben. Tatsächlich habe ich viele Details vergessen (und in C ++ gibt es viele davon). Ich mache den größten Teil meiner Arbeit in C #. Und Sie müssen C ++ auf keinen Fall lernen.

Die Fähigkeiten, die ich durch das Erlernen von C ++ erlangt habe - insbesondere die einfachen Dinge, insbesondere die Funktionsweise von Gedächtnis und Zeigern - haben sich jedoch als von unschätzbarem Wert erwiesen.

Darüber hinaus gab es mehrere Gelegenheiten, in denen ich den C ++ - Code anderer Leute lesen musste . Wenn Sie wissen, wie man in C # oder Java programmiert, können Sie wahrscheinlich erraten, was los ist - aber wissen ist viel besser.


Insbesondere empfehle ich Ihnen , jetzt C ++ zu lernen. In deinem Alter hast du viel Zeit, um nur zu lernen. Auf diese Weise müssen Sie sich keine Gedanken mehr über C ++ machen, während Sie versuchen, ein Spiel zu entwickeln oder einen Job zu bekommen.

Machen Sie sich keine Sorgen, dass Sie die Details vergessen, wenn Sie C ++ aus irgendeinem Grund nicht mehr verwenden (oder XNA oder etwas anderes). Die Konzepte sind wichtiger. Und Sie werden in der Lage sein, die Details leicht wieder aufzunehmen, wenn Sie müssen.


Wie Ihre anderen Fragen andeuteten, wissen wir nicht, wie die Branche in einem Jahrzehnt aussehen wird. Obwohl ich davon ausgehen würde, dass C ++ immer noch weit verbreitet sein wird. Sprechen Sie jetzt - wenn Sie wissen, dass C ++ die Beschäftigungsfähigkeit erheblich verbessert - auch in einem Nicht-C ++ - Shop.


7

Wenn Sie ein Spielprogrammierer sein möchten, können Sie es wahrscheinlich nicht vermeiden, C ++ zu lernen. Wenn Sie einen anderen Job in der Spielebranche suchen, wie Produzent oder Künstler, dann brauchen Sie kein C ++.

C ++ ist schwer. Viele Leute lernen es erst am College. Sie haben viel Zeit. Arbeiten Sie mit einigen anderen Sprachen, um sich mit grundlegenden Programmierkonzepten vertraut zu machen. Fangen Sie klein an und gehen Sie Schritt für Schritt vor.


2
Ich würde anders herum argumentieren. C ++ ist eine Sprache, die heutzutage als hardwarenah angesehen wird, und Sie müssen ein paar Dinge über Computerarchitektur lernen, die Sie mit einer höheren Sprache wie C # nicht lernen würden, hauptsächlich über Speicherzuweisung und Adressierung. Wenn Sie zuerst C # gelernt und sich damit vertraut gemacht hätten, wären Sie wahrscheinlich entfremdet von den zusätzlichen Rahmen, die Sie mit C ++ im Vergleich durchspringen müssen.
Hackworth

6

Sie haben noch viel Zeit zum Lernen, also sollten Sie sich keine Sorgen machen, welche Sprache Sie verwenden, aber ich werde einige Dinge anführen, die für Sie hilfreich sein könnten:

  1. C ++ ist eine Sprache, während XNA ein Framework ist. XNA wird von Microsoft nicht mehr aktualisiert, daher kann ich mir nur schwer vorstellen, dass es in neun Jahren ernsthaft eingesetzt wird. Auf der anderen Seite gibt es C ++ und seit jeher ein aktives Standardkomitee, das sich der Verbesserung verschrieben hat und Entwicklern so viel Kontrolle über die Hardware bietet, dass ein enormer Hardware-Leistungssprung erforderlich wäre, um diese Kontrolle überflüssig zu machen und damit die Ablösung durch eine andere Sprache zu ermöglichen als defacto standard für hochleistungsspiele.

  2. Das Erlernen der Konzepte ist der wichtige Teil, nicht die Sprache, in der Sie sie implementieren. Sie können eine neue Sprache ziemlich schnell "lernen", wenn Sie bereits die Grundprinzipien verstehen.

  3. C ++ würde erfordern, dass Sie sich auf einer viel tieferen Ebene mit Zeigern und Speicherproblemen befassen als C #. Daher würde ich empfehlen, dass Sie es irgendwann erlernen, unabhängig von seiner Verwendung in der Industrie.

  4. Ihre Sorge, Dinge zu vergessen, ist wahrscheinlich unbegründet. Es ist wahr, dass Sie Dinge vergessen werden, aber die Einzelheiten sind nicht wirklich der wichtige Teil. Sie werden nicht vergessen, wie Sie ein Spiel gestalten, indem Sie die Sprache wechseln.

Sie scheinen Gründe zu haben, C ++ nicht zu lernen. Ich denke, Sie versuchen eigentlich nur, Ihren Wunsch zu rationalisieren, nichts Neues zu lernen.

Stellen Sie sich das so vor: Wenn Sie C ++ lernen und es sich herausstellt, dass es in Zukunft nicht mehr verwendet wird, haben Sie viele Jahre Zeit, um zu lernen, was es ist, und ich werde garantieren, dass Ihnen das Erlernen von C ++ dabei helfen wird. Wenn Sie all Ihre XNA vergessen und C ++ nicht erlernen können, ist es besser, dies herauszufinden und voranzukommen, als sich über die Möglichkeiten Gedanken zu machen. Ich denke nicht, dass jeder Fall sehr wahrscheinlich ist.


4

Allgemeiner Rat: Konzentrieren Sie sich nicht auf das, was Sie lernen müssen oder was Sie lernen sollten. Mach einfach was.

Um Ihre spezielle Frage zu beantworten, aktualisiert Microsoft XNA nicht mehr, sodass es wahrscheinlich nicht mehr lange dauern wird. C ++ ist ein etablierter Industriestandard und wird nicht so bald verlassen. Wenn Sie an AAA-Spielen arbeiten möchten, dann ja. C ++ - Erfahrung ist erforderlich.


Toller Rat, +1. Obwohl ich ehrlich denke, dass das Erlernen neuer Sprachen auch sehr wichtig ist.
Jcora

Yannbane: Aber ist das nicht zweitrangig? Während das OP Dinge macht, werden sie entdecken, was sie brauchen, um zu lernen und es dabei zu lernen. Wenn Sie eine Sprache gut beherrschen, ist das Erlernen anderer Sprachen im Allgemeinen ziemlich einfach.
Zach Latta

Äh, nein, das ist es nicht. Sie brauchen ein bisschen von beidem, oder natürlich, aber Sprachen zu lernen ist wichtiger als Projekte zu haben. Und nein, nur weil Sie C # kennen, heißt das noch lange nicht, dass Sie C ++ kennen. Und wenn es einfach wäre, würden Sie regelmäßig Leute sehen, die mehr als 6 Sprachen sprechen.
JCORA

1

Da die Frage bereits beantwortet wurde, lassen Sie mich hier und da ein paar Löcher füllen ...

Ich habe auch die Sorge, dass ich, obwohl ich mit objektorientierter Programmierung vertraut bin, viel Zeit mit C ++ verbringe und sehr frustiert und verwirrt werde, dann höre ich einfach auf, es zu lernen, und zu diesem Zeitpunkt habe ich viel XNA und vergessen Ich muss alles lernen. Kurz gesagt: Soll ich C ++ lernen, wenn ich jemals einen Programmierjob haben möchte?

Woher kam die Idee, dass C ++ eine schreckliche Monstersprache ist? Es ist nicht! Es macht tatsächlich sehr viel Spaß.

Stimmt, du kannst sich der Hardware nähern, die tatsächlich zwei Vorteile bietet: Sie lernen viel mehr über die Funktionsweise des Computers und zweitens haben Sie viel mehr Power in der Hand als beispielsweise mit C #.

Andererseits bietet C ++ großartige Abstraktionsmethoden und sehr nützliche Bibliotheken, sodass es nicht so ist, als würden Sie direkt mit der Grafikkarte kommunizieren (das können Sie definitiv), sondern als würden Sie einfach abstrahieren.

Nahezu jede Sprache zu kennen ist sehr nützlich, hat eine gute Chance, die Wahrscheinlichkeit zu erhöhen, dass Sie eingestellt werden, und macht Sie definitiv zu einem besseren Programmierer.

Wenn Sie Zeit haben, sehen Sie sich JavaScript und / oder Python an. Andere würden Lisp wahrscheinlich auch vorschlagen, aber ich bin nicht so gut informiert, also werde ich nichts sagen. Aber es könnte nützlich sein, es trotzdem zu überprüfen. Ich denke, es ist ziemlich ordentlich, auch wenn ich die Konzepte nur begrenzt verstehe. Es gibt auch Haskell, aber bleh.

Und in diesem Zeitraum von mehr als 9 Jahren wird sich die Spielebranche höchstwahrscheinlich stark verändern.

Wahr. Aber raten Sie mal: In mehr als 9 Jahren werden wir immer noch Assembly, C ++ und C verwenden. Ich bezweifle, dass Spieleentwickler plötzlich nur noch entscheiden, dass sie über genügend Ressourcen verfügen und die Grenzen der Maschinen nicht mehr ausloten. Das ist natürlich nur eine Vermutung, aber all diese Sprachen sind viel älter als ich, also denke ich, dass ich Recht habe.

Indem Sie C ++ lernen, erleichtern Sie sich außerdem den Übergang in eine potenzielle neue Sprache der Mittelstufe.

Da ich technisch noch keinen Job bekommen kann und wahrscheinlich keinen Programmierjob bekommen konnte, bis ich 22 oder so bin (es sei denn, ich bin selbstständig).

Ich bin mir ziemlich sicher, dass Sie sich hier irren. Du wirst in ein paar Jahren tatsächlich einen Job bekommen können. Nach den Gesetzen meines Landes nur wenige, denke ich. Aber kein Vollzeitjob.

Es gibt immer noch Möglichkeiten zu arbeiten, wenn die Schule nicht besetzt ist, und wenn Sie gut sind und es wahrscheinlich auch sind, dann wird es sicher eine Entwicklerfirma geben, die Sie einstellen möchte. Eine Spielev-Kompanie? Wahrscheinlich nicht. Aber es gibt keinen Grund, warum Sie eigentlich als Anfänger in einem arbeiten möchten, AFAIK, Sie könnten in einer regulären Firma besser bezahlt werden und in Ihrer Freizeit an einem Spiel arbeiten.

Sieh dir nur deinen Namen an, es ist fast so, als hättest du dich bereits mit der Freude an der C ++ - Programmierung vertraut gemacht!


1

Ich bin noch nicht im Geschäft (ich bin 17 Jahre alt), aber ich denke, es ist wirklich ein Muss, neue Sprachen und Technologien zu entdecken. Während Sie gerade Zeit haben, lernen Sie C ++, OpenGL und Java. Es dauert einige Zeit, diese zu meistern (ich habe 5 Jahre gebraucht, also habe ich im selben Alter angefangen wie Sie), aber die Erfahrung, die Sie sammeln, ist wirklich erstaunlich.

Ein guter Versuch ist es, einen Minecraft-Klon in Java und OpenGL zu erstellen. Dies gibt Ihnen einen Einblick in viele Spielev-Techniken und wird Sie mit VIELEN Optimierungstechniken vertraut machen. Das habe ich im Alter von 16 Jahren getan . Das Ergebnis können Sie unter CraftMania nachlesen . Ich empfehle das Starten mit Java, weil es einfach zu programmieren ist. Es gibt einen Garbage Collector und eine ordentliche Ausnahmebehandlung. Auf diese Weise können Sie OpenGL sehr effizient erlernen, ohne die Schwierigkeiten zu stören, die C ++ für einen unerfahrenen Entwickler mit sich bringt.

Wenn Sie das Gefühl haben, Java in Kombination mit OpenGL zu beherrschen, werfen Sie einen Blick auf C ++ und versuchen Sie, einige einfache Dinge zu machen (noch keine Spiele). Wenn Sie wissen, wie C ++ kompiliert wird, wie es zur Laufzeit funktioniert, und wissen, wie der Speicher in C ++ organisiert ist, werfen Sie einen Blick auf SDL , um ein einfaches Spiel zu erstellen .

Warum konzentriere ich mich auf OpenGL? Weil OpenGL auf jeder Plattform außer XBox360 läuft. Dies ist: Windows, Linux, OS X, Android, iOS, BlackBerry, Wii, DS, PS3, PSP usw. Wenn Sie nur Xna und DirectX beherrschen, sind Sie an Windows und XBox360 gebunden. Ich denke, dies ist ein guter Grund, OpenGL und C ++ zu lernen, wenn Sie einen Programmierjob in der Spielebranche erhalten möchten.


0

Meine Antwort wäre, dass es wirklich davon abhängt, was Sie in der Spielebranche machen wollen. Im Moment ist C ++ ein Muss, wenn Sie AAA-Konsolenspiele machen möchten. In keiner anderen Sprache können Sie die begrenzten Ressourcen einer Konsole nutzen.

C ++ war lange Zeit die Verkehrssprache der Spieleindustrie, aber mit dem Aufkommen von iPhone und Unity ist es jetzt möglich, mit Sprachen wie C # und Objective-C anständige Spiele zu erstellen. Sogar HTML 5 ist jetzt in der Lage, Spiele zu erstellen. Die einfache Tatsache ist, dass es viele Möglichkeiten gibt.

In Ihrem Alter haben Sie noch viel Zeit zu lernen und zu beobachten, wie sich die Branche entwickelt. Mein Rat an Sie wäre: Konzentrieren Sie sich nicht auf die Sprache. Konzentrieren Sie sich darauf, zu lernen, wie man Spiele macht und / oder Modifikationen für Spiele, die es gibt. Eine Idee könnte sein, Minecraft zu bekommen und herauszufinden, wie man Mods mit Java erstellt. Nichts ist besser als zu sehen, dass Sie das Verhalten eines Spiels ändern können, auch wenn Sie keine Mods veröffentlichen.

In deinem Alter habe ich mit Basic (auf dem Commodore 64) Spiele gemacht. RPG Maker und höher mit Java zum Modifizieren von Spielen. Ich habe C ++ erst mit ungefähr 18 Jahren angefasst, damit Sie noch viel Zeit zum Wachsen haben.

So beantworten Sie Ihre eigentlichen Fragen:

  • Beeinträchtigt das Erlernen von C ++ meine Chancen, einen Programmierjob zu bekommen?

Zu diesem Zeitpunkt gibt es keine Möglichkeit zu sagen. Es kann bis zu 10 Jahre dauern, bis Sie sich auf die Suche nach einem „richtigen“ Job machen und die Technologie extrem schnell voranschreitet.

  • Bis ich einen Job bekommen kann, wird C ++ immer noch die 'Industriestandard'-Programmiersprache sein

Siehe die obige Antwort.

  • Wenn ich ein Indie-Entwickler bin, ist es dann wirklich wichtig, ob ich C ++ lerne oder nicht, und bleibe bei dem, was ich weiß?

Es kommt darauf an, wie viele Spiele Sie beenden und veröffentlichen.

  • Sollte ich anfangen, es jetzt zu lernen, da ich viele Jahre habe, bevor ich überhaupt einen Job bekommen kann?

Es ist nie zu früh, um mit dem Lernen zu beginnen, noch ist es jemals zu spät.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.