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.
quelle
Antworten:
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.
quelle
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.
quelle
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:
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.
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.
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.
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.
quelle
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.
quelle
Da die Frage bereits beantwortet wurde, lassen Sie mich hier und da ein paar Löcher füllen ...
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.
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.
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!
quelle
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.
quelle
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:
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.
Siehe die obige Antwort.
Es kommt darauf an, wie viele Spiele Sie beenden und veröffentlichen.
Es ist nie zu früh, um mit dem Lernen zu beginnen, noch ist es jemals zu spät.
quelle