Tue ich mir weh, weil ich C ++ für das Game-Design nicht kenne? [geschlossen]


14

Im Moment fühle ich mich stark in Java und C #. (Eigentlich kein großer Sprung von einem zum anderen).

Ich erwarte zwar nicht, dass ein Game Designer / Programmierer zu Beginn meiner Karriere ein erreichbares Ziel ist, aber dieses Ziel werde ich später in meiner Karriere erreichen.

In diesem Sinne habe ich das Gefühl, dass das Ignorieren von C ++ und den damit verbundenen Spieledesign-Tools mich letztendlich verletzen oder verlangsamen wird, wenn ich mein Ziel erreichen will.

Ist das der Fall? Oder kann ich meine C # -Fähigkeiten mithilfe von XNA und WPF für persönliche Projekte weiter verbessern, die mich zu einer solchen Karriere erheben können?


1
Sehen Sie sich Positionen bei Spielefirmen an und sagen Sie mir, was Sie sehen. Sie werden wahrscheinlich feststellen, dass Sie die Menge der Web- / Facebook-Spiele haben, die hauptsächlich nach Actionscript- / PHP-Entwicklern suchen, die Desktop-Menge, die nach C ++ / Lua sucht, und die Menge der i-Gadgets, die Objective-C verwenden. Es hängt davon ab, was Sie wirklich tun möchten, ob Sie sich selbst verletzen oder nicht. (Dies kommt von jemandem, der sich auf C # und Python konzentriert und c ++ ignoriert)
Ken

Antworten:


21

IMO, ja, du wirst dich wahrscheinlich selbst verletzen. Erstens gibt es zu Recht oder zu Unrecht eine wahrgenommene Hierarchie zwischen den Programmiersprachen - und C ++ hat im Allgemeinen einen höheren Stellenwert als Java oder C # (z. B. sind Fragen wie Ihre ziemlich häufig - das Gegenteil ist so gut wie unbekannt). Wenn Sie sich an einem Ort bewerben, der C # oder Java verwendet, und Sie C ++ kennen, werden Sie Ihre Programmierkenntnisse wahrscheinlich nicht in Frage stellen. Wenn Sie sich an einem Ort bewerben, der C ++ verwendet, und Sie C # und Java kennen, besteht eine ziemlich gute Chance, dass Ihre Programmierkenntnisse zumindest in gewissem Maße in Frage gestellt werden. Das heißt nicht, dass die Wahrnehmung nicht überwunden werden kann, aber Sie sind immer noch im Nachteil.

Zweitens, zumindest unter den unabhängigen Spieleentwicklern, die ich kenne (zugegebenermaßen nicht sehr viele), gibt es eine gewisse grundsätzliche Abneigung gegen C #, nur weil es von Microsoft stammt. Sun wurde viel positiver gesehen, aber seit dem Oracle-Buyout scheint dies überhaupt nicht mehr der Fall zu sein. Die meisten sehen "Oracle" und "coole Spiele" so nahe wie nur irgend möglich an exakten Gegensätzen.

Aus praktischer Sicht sind Spiele einer der Orte, an denen C ++ am häufigsten verwendet wird. Wenn Sie C ++ nicht in ausreichendem Maße kennen, schränkt dies Ihre Möglichkeiten erheblich ein.


5

Es ist nicht ganz klar, aber was sind Ihre Ziele? Spieledesigner sein? Was denkst du, ist / ist diese Position?

Grundsätzlich kann es Ihnen nicht schaden, C ++ nicht zu kennen, solange Sie keinen Code schreiben. Natürlich mit einem grundlegenden Verständnis selbst zu programmieren (objektorientiertes Design und in Bezug auf conditionals denken zu können, usw.) wird zu Hilfe , die Sie gehen. Was C ++ selbst im Vergleich zu C # oder Java macht, wird wahrscheinlich keine Rolle spielen, wenn es darum geht, Spielregeln zu entwerfen, die mit Code einfach zu beschreiben sind.


3

Es kommt wirklich darauf an, was Ihre Ziele sind. Wenn Sie so schnell wie möglich in das Design einsteigen und sich zum Director hocharbeiten möchten, sind die technischen Kenntnisse in Java und C # mehr als ausreichend.

Wenn Sie sich auf eine Position als Senior / Lead-Programmierer vorarbeiten und von dort auf eine Position als Director wechseln möchten, sollten Sie eine Art nicht verwaltete Sprache lernen. Nicht unbedingt C ++ - C, Objective C oder etwas anderes wie D wäre in Ordnung. Aber selbst wenn Sie in C # auf höheren Abstraktionsebenen arbeiten, ist es schwierig, ein großartiger Programmierer zu sein, ohne Zeiger und Speicherverwaltung zu verstehen, ohne Assemblys und Speicherabbilder lesen zu können, ohne Optimierungen auf niedriger Ebene zu verstehen oder sogar umzusetzen.

Ich sollte auch hinzufügen - wenn Sie jetzt nicht in der Branche sind, ist es dumm, 20 Jahre zu planen. Vielleicht wirst du herausfinden, dass du es hasst; Vielleicht wirst du herausfinden, dass du wegen all des nicht-entwicklungsbezogenen Mülls kein Regisseur sein willst, und du bleibst lieber ein leitender Designer oder Programmierer, der unter einem Regisseur arbeitet, aber in einem bestimmten Bereich viel Freiheit hat Domain, die Ihnen gefällt.


2

Sie werden wahrscheinlich gut mit den Sprachen umgehen können, die Sie kennen. C # mit XNA ist derzeit sehr beliebt, da Sie es zu XBOX360, Zune und PC entwickeln können. Javas Popularität kehrt wegen Minecrafts Indie-Erfolg damit zurück.

Ich befand mich in einer ähnlichen Position wie Sie und beschloss, sozusagen mit C ++ neu zu beginnen. Vor zwei Wochen kaufte ich "Beginning C ++ through Game Programming". Es ist KEIN Spielprogrammierbuch, sondern ein C ++ - Einsteigerbuch, das alles behandelt, was Sie in C ++ wissen müssen, wenn Sie Spiele mit einer anderen API oder Bibliothek programmieren, und langweilige Projekte durch Projekte mit mehr Spielbezug ersetzt. Es war eine großartige Lektüre.

Jetzt gehe ich zu DirectX über und kaufe ein Buch mit dem Titel "Programmieren eines RTS-Spiels in DirectX" von Carl Granberg. Es hat fantastische Kritiken. Ich bin mir immer noch nicht sicher, ob ich mit DirectX über OpenGL eine schlechte Entscheidung getroffen habe, aber wir werden sehen.


2

Das Erlernen weiterer Sprachen ist nur zu Ihrem Vorteil. Auch wenn fast alle Pro-Engines Skripte und / oder umfangreiche Tools für eine benutzerfreundliche Gestaltung verwenden (oder verwenden sollten), ist es von Vorteil, ein Projekt zu haben, an dem Sie speziell gearbeitet haben. Selbst wenn Ihr Interviewer Ihre Projekte nicht beachtet (was bereits unwahrscheinlich ist), wird die Arbeit an einem einzigen persönlichen Projekt eine enorme Lernerfahrung sein.

Für Designer und Künstler ist das Portfolio sicherlich noch wichtiger, da Sie weder Programmiertests noch direkte technische Interviews durchführen können. Ich sage also nicht, dass Sie ausflippen und alles über C ++ lernen sollten.

Vielmehr sollten Sie in der Lage sein, einige Spiele mit gutem Gestaltungspotential zu zeigen (denken Sie an kleine, klare Spielkonzepte wie Limbo oder Portal), unabhängig davon, ob Sie sie selbst entwickelt oder mit Flash erstellt haben. Verwenden Sie die Codierung als Werkzeug und nicht als primäre Waffe. Stellen Sie sicher, dass sie auf Ihrer Website mit Gameplay-Videos, Screenshots und verfügbaren Downloads leicht zugänglich sind.

Polieren Sie vor allem alles, was Sie machen, egal wie klein oder was für ein Projekt Sie haben. Wenn es beim Programmieren um Robustheit und Benutzerfreundlichkeit geht, dann geht es beim Entwerfen um Spaß (die Leute vergessen dies oft) und um das Zeigen, dass man wirklich die Details festhalten kann.


0

C ++ ist der Urheber und Schöpfer einiger der am häufigsten verwendeten Sprachen, einschließlich Java. Durch das Erlernen von C ++ (egal ob für Spieleentwickler oder auf andere Weise) werden Sie in der Lage sein, fast jede Sprache schnell und einfach zu lernen. Das ist der Zauber dieser Sprache. Mit C ++ haben Sie im Vergleich zu Java mehr Kontrolle über den Code. Wenn Sie also wirklich ein wahrer Meister Ihres Codes sein möchten, sind Sie in der Lage, C ++ zu lernen

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.