Original-URL des Artikels: https://www.golem.de/news/it-jobportrait-spieleprogrammierer-ich-habe-mehr-code-geloescht-als-geschrieben-1901-138195.html    Veröffentlicht: 29.01.2019 12:00    Kurz-URL: https://glm.io/138195

IT-Jobporträt Spieleprogrammierer

"Ich habe mehr Code gelöscht als geschrieben"

Wenn man im Game durch die weite Steppe reitet, auf Renaissance-Hausdächern kämpft oder stundenlang Rätsel löst, fragt man sich manchmal, wer das alles in Code geschrieben hat. Ein Spieleprogrammierer von Ubisoft sagt: Wer in dem Traumjob arbeiten will, braucht vor allem Geduld.

Ein zwei Meter großer Alexios mit rotem Umhang und langem Haar aus Assassin's Creed: Odyssey bewacht den Eingang. Ansonsten ist das Bürogebäude unweit des japanischen Viertels in Düsseldorf zweckmäßig: Neonlampen, weiße Wände, blaue Teppiche und Schreibtische in Holzoptik. Das Blue Byte Studio in Düsseldorf gehört seit 2001 zu Ubisoft und ist mit seinen 255 Mitarbeitern neben Mainz und Berlin der dritte deutsche Standort des französischen Spieleentwicklers. Assassin's Creed: Identity wurde unter anderem dort entwickelt, ebenso Die Siedler, Rainbow Six Siege und For Honor.

Gennadiy Bardachev arbeitet dort seit sieben Jahren. Mit einer VR-Brille auf der Nase und Kabeln um die Füße steht er in einem der Testräume und ruft seinem Kollegen über das Mikrofon zu: "Ich klettere die Wand hoch!" Der Programmierer befindet sich in einer virtuellen Pyramide aus dem neuen Escape-Room-Game Escape The Lost Pyramid für Arkaden und schaut zum hundertsten Mal auf eine Steinwand mit roten Sprossen. Gerade hat er den Voice- vom Games-Server separiert und testet, ob der Ton noch funktioniert: "Es gibt einen Netzwerkserver, über den die Spieldaten laufen, und einen Sprachkanal, der mehr Bandbreite benötigt. Bei vielen Spielern könnte das zum Problem werden", erklärt er. Seine Lösung: "Jedes Viererteam teilt sich einen Voice-Server und kommuniziert nur untereinander." Das in Code festzuhalten, hat ihn vier Tage Arbeit gekostet. "Es klappt", sagt er schließlich zufrieden.

Das erste Spiel als Sechsjähriger programmiert

King's Bounty war das erste Videospiel, das der gebürtige Ukrainer spielte. Kurze Zeit später begann er schon, selbst Spiele zu entwickeln. Seine Eltern, ein Schauspieler und eine Ingenieurin, schickten den sechsjährigen Gennadiy in einen Computerkurs in Odessa: "Das Einzige, was wir Jungs dort den ganze Tag gemacht haben, war, mit den klobigen, metallverkleideten Tastaturen der UdSSR-Computer Spiele zu programmieren", erinnert er sich - Asteroids-Klone. 1994 emigrierte die Familie mit dem Schüler nach Düsseldorf, wo er seinen ersten Rechner geschenkt bekam. Dort machte er auch eine Ausbildung zum informationstechnischen Assistenten und studierte Informatik - das Fach Spieleentwicklung gibt es erst seit ein paar Jahren an deutschen Universitäten. Darum entwickelte Bardachev immer wieder kleine Games privat nebenbei.

Als er dann die freie Stelle bei Ubisoft Blue Byte sah, wollte er sich sofort bewerben. Nachdem er ein Testspiel programmiert hatte, wurde er in der Tools-Entwicklung für Die Siedler Online und Anno Online angenommen: "Dort brauchte ich keine Ausbildung im Spielebereich", sagt er. Er schrieb Chat- und Support-Tools, wollte aber insgeheim lieber Spiele programmieren: "Ich habe die Firma schon fast verlassen, als mich der Backend-Lead von Assassin's Creed: Identity in der Türe abgefangen hat und meinte, ich soll in sein Projekt kommen." So wurde Bardachev endlich Spieleentwickler. Heute unterrichtet er auch als Dozent im Masterstudiengang Games Engineering in Salzburg.

An einem typischen Arbeitstag kommt der Programmierer gegen 9 Uhr ins Büro, startet die Entwicklungsumgebung Visual Studio und die Engine Unity: "Und weil ich an einem VR-Spiel arbeite, wo ich mit dem Server zu tun habe, starte ich alles, was kompiliert. Dann fange ich an zu debuggen und zu testen, ob es funktioniert, wie eben die Voice für den Escape Room." Zunächst testet Bardachev den Haupteinsatzzweck, zum Beispiel, dass alle sich mit dem Spiel verbinden und über das Mikrofon miteinander reden. Je mehr Erfahrung ein Programmierer hat, desto mehr seltene Fälle denkt er im Test durch: "Das Mikrofon von Spieler eins ist etwa nicht ganz kaputt, aber es hat eine Störung. Und plötzlich können alle nicht mehr miteinander kommunizieren. Das ist schwierig und man arbeitet sich dann eben ein." Dazu gehört, dass man oft einen Schritt vor und zwei zurückgeht: "Ich habe wahrscheinlich mehr Quellcode gelöscht als geschrieben."

Ein Schritt vor und zwei zurück

Geduld gehört für ihn zum Beruf. Und Neugierde für Technik: "Man arbeitet mit so vielen verschiedenen Techniken und Algorithmen, die man dazulernen muss. Und man muss gut Englisch sprechen, denn das ist die Amtssprache in Studios." Am besten gefällt Gennadiy Bardachev an seinem Beruf, dass er regelmäßig neue Projekte mit anderen Aufgaben bekommt, zum Beispiel im Studio in Montreal. Aktuell arbeitet er in einem kleinen Team mit nur drei weiteren Programmierern an den VR-Escape-Games, die an Settings von Assassin's Creed angelehnt sind. Das VR-Game schreibt er in C#, davor hatte er Projekte in Java und Python. Die am häufigsten verwendeten Programmiersprachen sind C++ oder C, weil die Geschwindigkeit im Vordergrund steht: "Das Schöne ist, dass man hier mit allen Sprachen mal in Berührung kommt", sagt Bardachev. "Man lernt viel." Was er wann erledigt, plant er selbst. Auch diese Freiheit schätzt er an seinem Beruf.

Das Schießen mit Pfeil und Bogen in Code schreiben

Rechnet man die Arbeit aller Programmierer der verschiedenen Studios an einem solchen großen Spiel zusammen, kommt man laut Bardachev auf bis zu 5 Millionen Zeilen Quellcode. Die Programmierer arbeiten dazu mit einem internationalen Team aus Entwicklern an dem Spiel: Erst schreiben die Autoren die Story, dann stellen Games Designer die Geschichte grafisch dar und liefern etwa die Idee, wie ein Bogen funktionieren soll: Man nimmt ihn auf, zieht die Sehne zurück und schießt den Pfeil. Grafiker entwerfen anschließend ein grobes Modell davon. Dann teilt der Programmierer den Vorgang in Teile auf, zum Beispiel: Wenn du in der Nähe der Sehne bist und die x-Taste drückst, spielt sich die Schuss-Animation und der Sound ab. Dann schreibt er die Aktionsmöglichkeiten in Code, wo etwa "Sound Event Trigger" oder "Shoot arrow" stehen würde. Tester feuern am Ende den Bogen auf alles und jeden im Spiel und notieren Fehler.

Rund ums Release steigt die Spannung

Die Game-Designer schauen sich das an und dann geht es wieder von vorne los. Der Kreislauf wiederholt sich in einer Schleife und es entstehen laufend neue Baustellen: "Es kommt sehr selten vor, dass man mal vier Tage am Stück an nur einer Aufgabe arbeitet", sagt Gennadiy Bardachev. "Jede Woche treffen wir uns zum Review und legen fest, was behoben werden muss und was Neues hinzukommt. Eine Woche später schauen wir uns das Ergebnis an und so fort." Abschließend pflegt er den Code ein, baut die Version und probiert sie auf den Rechnern aus. Damit ist für ihn das Projekt erst mal abgeschlossen. Es sei denn, es tauchen nach dem Release noch Fehler auf - ein Horror für Programmierer.

Rund um das Veröffentlichungsdatum wächst der Druck auf den Senior-Online-Entwickler, wenn die Spieler auf den Server kommen. Während für Juniors ältere Mitarbeiter grobe Schnitzer entfernen, liegt die Verantwortung heute bei ihm: "Vielleicht sollte ich mich zurückstufen lassen", lacht er. Mittlerweile wissen seine Frau, ebenfalls eine Entwicklerin, und seine Freunde, dass er ab zwei Wochen vorher keine Zeit mehr hat: "Ich gehe dann lieber früh schlafen. Es hängt einiges an mir und wenn es Probleme gibt, habe ich Bereitschaft." Dann muss er sehr schnell reagieren, damit keine Server abstürzen. Wenn das nicht passiert, umso besser: "Es macht einen wirklich sehr glücklich, wenn der Release nahtlos vonstatten geht und ich noch etwas optimieren konnte", sagt er: "Bei For Honor haben sie 50 Rechner gebraucht, damit das Backend läuft; ich konnte das auf drei reduzieren. Darauf bin ich sehr stolz."

"Ich spiele immer noch so gerne wie früher"

Bis man so weit ist, dass man keine Fehler mehr macht, dauert es seine Zeit: "Manchmal schaut man sich alten Code an und würde ihn mittlerweile ganz anders schreiben", sagt Bardachev. Ein Fehler aus seiner Anfangszeit ist dem Programmierer in Erinnerung geblieben: "Als ich eingestiegen bin, wollte ich den Code gleich neu schreiben. Dann kam meine neue Version zurück, sie hat nicht gestimmt! Das war mir wirklich sehr unangenehm und ich wurde weniger übermütig. Andererseits: Fehler sind ärgerlich, aber wenn was zurückkommt, lernt man wenigstens was."

Für ihn ist das Wichtigste, dass er nach all den Jahren als Spieleprogrammierer noch genauso gerne spielt wie als Junge: "Sehr gerne sogar!" sagt er. "Nur nicht die Games, an denen ich mitgearbeitet habe. Die kenne ich ja auswendig und das ist natürlich langweilig. Mein Lieblingsspiel ist seit Teenager-Zeiten das Rollenspiel Planescape: Torment, das hat mich so tief beeindruckt." In Zukunft will Gennadiy Bardachev in Richtung Software-Architekt gehen und als eine Art Games-Consultant arbeiten: "Dann sage ich selbst: Das, das und das muss alles weg!", sagt er lachend. Und nebenbei denkt er sich weiterhin selbst kleine Spiele aus, wie damals in Odessa.  (maj)


Verwandte Artikel:
IT-Jobs: Sein Code steckt in Tausenden Beinen   
(20.02.2019, https://glm.io/139394 )
Steam: Valve will weniger Anteil von größeren Spieletiteln haben   
(01.12.2018, https://glm.io/138018 )
Glücksspiel: US-Handelskommission hält Workshop zu Lootboxen ab   
(23.02.2019, https://glm.io/139583 )
IBM Global Technology Services: IBM lagert Teil der Servicesparte an Bechtle aus   
(05.02.2019, https://glm.io/139192 )
Spiele-Plattformen: Steam entwickelt weiter für Linux   
(22.02.2019, https://glm.io/139564 )

© 1997–2019 Golem.de, https://www.golem.de/