In Stellenbeschreibungen sehe ich oft Positionen mit der Bezeichnung "Gameplay Programmer". Was machen Leute in dieser Position?
In Stellenbeschreibungen sehe ich oft Positionen mit der Bezeichnung "Gameplay Programmer". Was machen Leute in dieser Position?
Antworten:
Wenn Unternehmen über die Einstellung eines Gameplay-Programmierers sprechen, sprechen sie von einem Programmierer, der für Code verantwortlich ist, der das Spielerlebnis direkt beeinflusst. Das heißt, der Programmierer ist für die eigentliche Erstellung der Spiele verantwortlich, nicht für die Engine oder größere Spielsysteme. Aber darüber hinaus sind die Dinge sehr unterschiedlich:
Einige Unternehmen erwarten, dass Gameplay-Programmierer die Benutzeroberfläche implementieren. Manche nicht. Einige Unternehmen erwarten, dass sie AI-Code implementieren, andere nicht. Einige erwarten, dass sie Audio-Code implementieren, andere nicht. Um ehrlich zu sein, ist das "Gameplay" im Gameplay-Programmierer eine Abkürzung für "alles, wofür wir keinen Spezialisten eingestellt haben". Daher müssen diese Programmierer sehr vielseitig sein und in der Lage sein, schnell neue Disziplinen zu erlernen.
Ich war fast fünfzehn Jahre lang Gameplay-Programmierer in der kommerziellen Industrie in fünf verschiedenen Unternehmen.
Ich habe die Erfahrung gemacht, dass in einigen Unternehmen ein Gameplay-Programmierer als Junior- oder Einstiegsposition gilt. Programmierer, die nur an einem einzelnen Spiel arbeiten, müssen schließlich nicht so ausgefeilt sein wie diejenigen, die an Systemen arbeiten, die viele verschiedene Spiele gleichzeitig unterstützen müssen, wie es Engine-Programmierer tun müssen. Wenn ein Gameplay-Programmierer in dieser Art von Firma wirklich gut abschneidet, wird er möglicherweise eines Tages in das Engine-Team befördert, wenn er seinen Wert beweisen kann. Oder er wird Spezialist, wenn er sich auf einem bestimmten Gebiet auskennt.
In anderen Unternehmen wird ein Gameplay-Programmierer als mittelständische Position angesehen. Programmierer, die an einem einzelnen Spiel arbeiten, müssen einige nützliche Erfahrungen haben und zuverlässig sein. Unerfahrene Programmierer erhalten möglicherweise unerwünschte Jobs (Daten-Pipelines, Tools usw.), an denen sie sich die Zähne abschneiden können, und können schließlich zu einem Job als "Gameplay-Programmierer" aufsteigen. In einem solchen System könnte ein Gameplay-Programmierer, der weiterhin gute Leistungen erbringt, in eine Projektleiterrolle aufsteigen oder in das Engine-Team aufgenommen werden.
In noch anderen Unternehmen wird ein Gameplay-Programmierer als Führungsposition und auch als Half-Design-Position angesehen. Von diesen Programmierern wird erwartet, dass sie ausgezeichnete und erprobte Programmierer sind, aber auch ein ausgeprägtes Gespür für Design und Qualifikationen besitzen, da sie direkt den Code berühren, der die Spielerfahrung mit dem Spiel am stärksten beeinflusst. In einem solchen System wird ein wirklich guter Gameplay-Programmierer wahrscheinlich für immer ein Gameplay-Programmierer bleiben - dies wird als die wertvollste Position angesehen, die er besetzen kann.
Als allgemeine Faustregel gilt: Je besser die Spiele des Unternehmens sind, desto höher ist die Position, die sie als Gameplay-Programmierer betrachten (und desto schwieriger wird es daher, einen solchen Job tatsächlich zu bekommen).
Ich finde es immer hilfreich, durch Beispiele zu veranschaulichen.
Einem Gameplay-Programmierer werden folgende Aufgaben übertragen: Implementierung des Nahkampfsystems, Implementierung der Mechanik zur Gesundheitsregeneration oder Implementierung der Sprungsteuerung des Spielers.
Ein Engine-Programmierer (wie Sie jemanden nennen würden, der nicht speziell ein Gameplay-Programmierer ist) würde folgende Aufgaben erhalten: Implementierung einer verzögerten Beleuchtung, eines Animationssystems oder einer Netzwerkebene.
Der Hauptunterschied besteht darin, wer der "Kunde" ist. Für Gameplay-Programmierer ist es das Designteam - ihre Aufgabe ist es, das Design in die Realität umzusetzen. Für Engine-Programmierer sind es im Allgemeinen andere Programmierer . Engine-Programmierer stellen Technologien und Systeme her, mit denen Gameplay-Programmierer und Content-Ersteller das Design realisieren können.
Engine-Programmierer schreiben Code, der weitgehend spielunabhängig ist - dieselbe Technologie kann häufig in mehreren Spielen verwendet werden. Gameplay-Programmierer neigen dazu, Code zu schreiben, der sehr spezifisch für das zu erstellende Spiel ist. Und es gibt immer Überlappungen - manchmal braucht man einen neuen Engine-Code, um das Gameplay zu implementieren.
Das Codieren des Spiels ist nicht schwieriger oder einfacher als das Codieren der Engine. Es ist jedoch definitiv eine etwas andere Fähigkeit; Sie müssen oft kreativer sein und Lösungen umgehen können . Ihr Ziel ist nicht, das perfekte wiederverwendbare System (das Ideal für Engine-Programmierer) zu erstellen, sondern die beste Spielimplementierung. Was bei der Engine-Programmierung von Vorteil sein kann (Liebe zum Detail und ausgereifte Strukturen), kann die Gameplay-Programmierung behindern (wo Anpassungsfähigkeit und Iterationszeit wichtiger sind). Ein guter Gameplay-Programmierer weiß, wann er es richtig machen muss (wenn das Design solide ist und der Code an vielen Stellen verwendet wird) und wann er es schnell tun muss (wenn das Design noch ausgearbeitet wird und Ihr Code eine gute Chance hat einmal getestet verworfen zu werden).
Vor allem müssen Gameplay-Programmierer in der Lage sein, mit dem Designteam auf einer Ebene zusammenzuarbeiten, die Engine-Programmierer nicht können. Abgesehen von den offensichtlichen Kommunikationsfähigkeiten bedeutet dies, dass Sie sich viel besser mit anderen Spieledesigns auskennen müssen als Engine-Programmierer, damit Sie wissen, wovon Sie sprechen, wenn ein Designer sagt, dass es wie Zelda funktioniert.
Um zu lernen, ein Engine-Programmierer zu sein, müssen Sie sich mit einer Technologie befassen, deren Funktionsweise kennenlernen und möglicherweise eine eigene Version davon implementieren. Das Spiel wäre nur eine Arena, um die Technologie zu demonstrieren.
Wenn Sie lernen möchten, ein Gameplay-Programmierer zu sein, nehmen Sie die Engine eines anderen und verwenden Sie sie so vielfältig wie möglich. Mit anderen Worten, wenn Sie ein Gameplay-Programmierer sein möchten, machen Sie Spiele, keine Technologie .
Genau wie es sich anhört, ein Programmierer, der die Spielmechanik implementiert und wartet.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer