Berufe in der Spielebranche - Programmierer

Einige werden jetzt bewusst abschalten, andere werden jetzt erst munter beim Lesen. Programmierer sind wahrscheinlich die verkannten „Helden“ in der Spieleentwicklung, so ähnlich wie die Kameramänner beim Film. Der Programmierer sorgt zunächst einmal dafür, dass all die kreativen Ideen des Game Designers und die wunderschönen Modelle des Artists im Spiel überhaupt zu sehen sind bzw. funktionieren. Dazu muss er sich noch einiges mehr überlegen. Der Job ist vielfältiger, als man vielleicht annehmen würde.


Programmierer entwickeln und schreiben den Quellcode, der das Spiel zum Laufen bringt und es steuert. Ohne diesen geht gar nichts. Dazu schreiben sie noch benötigte benutzerdefinierte Codes, testen sie und beheben die Fehler. Diese Ansammlungen von Codes nehmen sie dann in Code-Bibliotheken auf. Des Weitern entwickeln sie eigene Tools, die von den restlichen Mitgliedern des Entwicklerteams genutzt werden können und meistens auf deren spezielle Anforderungen ausgelegt sind. Auf diese Weise wird der Work-Flow vereinfacht bzw. beschleunigt. Die diversen Plattformen (PC, Konsolen, Mobile, Handhelds etc.) verlangen verschiedene Anforderungen an Programmierfähigkeiten. Zudem gibt es innerhalb der Programmierung unterschiedliche Spezialisierungen: Physik-Programmierung, KI (im englischen AI=artificial intelligence), "3D Engine"-Entwicklung, Interface und Kontrollsysteme.
Berufe in der Spielebranche - Programmierer
Um die einzelnen Spezialisierungen näher zu erläutern, werden hier die einzelnen Felder genannt. Das soll helfen, sich den Aufgabenbereich des Programmierers besser vorzustellen.

Die Engine

Die Engine besteht aus einer Programmbibliothek, die den Entwicklern häufig genutzte Werkzeuge zur Verfügung stellt. Sie ist die Basis eines Spiels und setzt sich aus mehreren Bereichen zusammen (Grafik-Engine, Sound-Engine, Netzwerkcode, Userinterface, Game-Engine).
Die Grafik-Engine ist, wie der Name schon sagt, für die grafische Darstellung auf dem Bildschirm verantwortlich. Das beinhaltet zum einen die Texturenausgabe, die Kollisionsabfrage sowie Funktionen zum Laden, Verwalten und Anzeigen von Texturen und zum anderen ein Shader-System, Effekte (z.B. Feuer, Explosionen, Nebel) sowie Funktionen zum Laden, Verwalten, Darstellen und Animieren der 3D-Modelle. Wie viele oder welche Art von Funktionen es gibt, ist von der entsprechenden Engine abhängig.Engine-Programmierer bereiten nicht nur die Schnittstellen zur Hardware (Grafikkarten, Soundkarten etc.) vor, sondern entwickeln auch eigene Engines neu oder erweitern bereits vorhandene. Je nachdem wie der Programmierer eingesetzt ist und wo die Prioritäten eines Studios stehen.

Physiksystem

Die Physik "simuliert" ein Verhalten bei der Interaktion eines Objekts mit einem anderen. Mit zunehmendem Realismus in Spielen wachsen auch die Anforderungen an die Physik-Engine bzw. an die Programmierer. Die Physik ist nicht nur ein visueller Reiz, sie trägt mittlerweile auch immer mehr zum Spielgeschehen bzw. dem Game-Play bei (Beispiel "Little Big Planet"). Ohne sie würde eine Kugel nicht rollen oder eine Dose nicht herunterfallen, wenn man ein Regal anrempelt.
Es gibt verschiedene Arten von Physik-Systemen: Rigid-Body, Ragdoll, Simulation von realistischem Verhalten. Als Physik-Programmierer sorgt man nicht nur für die physikalisch korrekte Simulation von "starren" Spieleobjekten. Das Darstellen realistischer Wasserbewegungen oder das Wogen von Pflanzen gehört ebenso dazu und ist eine Lehre für sich.

KI-Künstliche Intelligenz (engl.: AI – artificial intelligence)


Wie reagiert der computergesteuerte Gegner oder Mitspieler? Wie wird er sich verhalten? Darum kümmert sich die KI. Je nachdem wie gut sie entwickelt wurde, kann sie Gegner dazu bringen, den Spieler zu umzingeln, in Deckung zu gehen oder sogar lernfähig sein. Man versucht sich stark am realen Verhalten zu orientiren, was aber stets eine schwierige Aufgabe ist und auch bleiben wird, da ein Mensch relativ komplex und spontan reagiert. Aber die KI-Entwicklung macht stetig Fortschritte. Doch auch einfachere Abläufe gehören dazu, wie die Pfadsuche z.B. in Strategiespielen, in denen die Figuren selbstständig von einem Punkt zu einem anderen laufen bzw. einen Weg finden müssen, wobei sie dementsprechend Hindernisse umlaufen müssen. KI-Programmierer sorgen eben genau dafür, dass sich eure Gegner "naturgetreu" Verhalten und nicht an der nächsten Mauer aufgehalten werden, weil sie nicht wissen, dass sie daran vorbeilaufen können.

Skripting

Skripting ist wohl der bekannteste Begriff, den man mit Programmierung in Verbindung bringt. Um Spielabläufe festzulegen, bedient man sich der Skriptsprache (z.B. AppleScript - Skriptsprache von Mac OS, VBScript und JScript Standardskriptsprachen in neueren Windows-Versionen). C++ ist eine von der ISO standardisierte höhere Mehrzweckprogrammiersprache. Am Inhalt des Spiels werden oft viele Änderungen vorgenommen. So machen Skriptsprachen es einfacher, die Programmierung zur Laufzeit interaktiv zu ändern, ohne das Spiel neu starten zu müssen. Durch gewisse Befehle lassen sich so bestimmte Funktionen/Zustände erreichen. Außerdem sind sie unabhängig von der ortsgebundenen Sprache eines Landes. Skripter befassen sich mit der Gameplay- und Interfaceanbindung, werden im Level-Design benötigt (Level-Designer benötigen das Skripten für die Editoren etc.) und sie skripten Story- und Sequenzelemente.
Berufe in der Spielebranche - Programmierer

Tool-Programmierer

Tools sind wichtig zum effektiveren und schnelleren Arbeitsablauf. Häufig genutzte Vorgänge können so vereinfacht/automatisiert werden. Je nachdem was ein Studio gerade benötigt oder was sinnvoll wäre für den Arbeitsablauf, kann mit der Entwicklung eigener Tools vereinfacht werden.Demnach sorgt ein Tool-Programmierer für die Optimierung der Arbeitsabläufe und entwickelt spielspezifische Inhouse-Tools für die Firma z.B. Grafikexporter/-konverter, Leveleditoren, Tuning-Tools, Grafik-/Animationsviewer, etc.

Netzwerk und Gameplay


Zudem gibt es noch den Netzwerk-Programmierer, der sich um die Client- und Serverentwicklung kümmert und den Gameplay-Programmierer, der das Bindeglied zwischen Skriptern/Leveldesignern und der Engine bildet. Er setzt die Spielemechanik und die Spielregeln um.

„Special FX“-Designer


Der "Special FX"-Designer ist für die Konzeption und Erstellung aller speziellen graphischen Effekte zuständig - ob opulente Explosionen, perfekte Wasseroberflächen oder stimmungsvolle Szenarien.

Bekannte Programmierer:


Tim Sweeney (Unreal Engine), John Carmack (Doom), Anne Westfall (Archon), Chris Sawyer (Roller Coaster Tycoon), Frèdèrick Raynal (Alone in the Dark), Don Daglow ('70er mainframe games, Dungeon)

AreaGames Special: Berufe in der Spielebranche

Kommentare

Bal0o
  

Wie immer gut. Daumen Hoch.

Zitieren  • Melden
1

Kommentar schreiben

B I U Link Zitat Bild Video
  

weitere Berichte

31.07.17 18:07 Uhr

PlayStation Now - Streaming-Service könnte zukünftig Teil von PS Plus werden

Einen Hinweis darauf könnten die gestiegenen Preise von PS Plus sein. 

31.07.17 18:07 Uhr

Limited Run Games - Publisher legt Switch-Support auf Eis, fühlt sich von Nintendo vernachlässigt

Nintendo hat "keine Zeit" für kleinere Studios, heißt es. 

31.07.17 17:07 Uhr

Dunkirk - Kriegsfilm ohne Krieg (Video-Special)

Kritiken und User-Bewertungen überschlagen sich beim neuen Nolan-Film, aber er ist mehr als »nur« ein weiterer Kriegsfilm. »Dunkirk« ist eine völlig neue Form...