Golem.de hat am 29. Januar 2019 ein Jobporträt über Gennadiy Bardachev veröffentlicht, Senior-Online-Entwickler bei Ubisoft Blue Byte in Düsseldorf. Der Programmierer arbeitet an VR-Escape-Room-Spielen für Arkaden und beschreibt seinen Alltag mit einem nüchternen Satz: „Ich habe wahrscheinlich mehr Quellcode gelöscht als geschrieben.“
Das Studio im Umfeld des japanischen Viertels in Düsseldorf zählt 255 Mitarbeitende und gehört seit 2001 zu Ubisoft. Es ist nach Mainz und Berlin der dritte deutsche Ubisoft-Standort. Zum bisher sichtbaren Portfolio des Hauses zählen Assassin’s Creed: Identity, Die Siedler, Rainbow Six Siege und For Honor.
Sprachkanal und Gameserver getrennt
Begonnen hatte der Reportagetag in einem Testraum mit VR-Brille und Kabeln um die Füße. Bardachev prüfte zum hundertsten Mal eine Steinwand mit roten Sprossen in der virtuellen Pyramide von Escape The Lost Pyramid, einem kooperativen Escape-Room-Spiel für Arkaden. Kurz zuvor hatte er den Sprachkanal vom Games-Server separiert. Seine Beobachtung: Der Netzwerkserver für die Spieldaten und der Sprachkanal mit dem höheren Bandbreitenbedarf können bei vielen gleichzeitigen Spielern zusammen zum Problem werden. Die Lösung stammt von ihm und kostete vier Tage Arbeit: Jedes Viererteam teilt sich einen Voice-Server und kommuniziert nur untereinander.
Vom Asteroiden-Klon in Odessa zur Backend-Verantwortung
King’s Bounty war das erste Videospiel, das der gebürtige Ukrainer spielte. Seine Eltern schickten den sechsjährigen Gennadiy in einen Computerkurs in Odessa, wo er mit den metallverkleideten Tastaturen der UdSSR-Rechner Asteroiden-Klone programmierte. 1994 emigrierte die Familie nach Düsseldorf. Dort folgten eine Ausbildung zum informationstechnischen Assistenten und ein Informatikstudium. Einen Studiengang Spieleentwicklung gab es an deutschen Universitäten da noch nicht, also entwickelte er privat nebenbei kleine Games.
Als die freie Stelle bei Ubisoft Blue Byte ausschrieb, wollte er sich sofort bewerben. Nach einem Testspiel bekam er den Einstieg in der Tools-Entwicklung für Die Siedler Online und Anno Online, wo er Chat- und Support-Tools schrieb. Spiele programmieren war eigentlich sein Ziel, kurz vor der Kündigung fing ihn laut seinem Bericht der Backend-Lead von Assassin’s Creed: Identity in der Tür ab und holte ihn in sein Projekt. Heute unterrichtet er zusätzlich als Dozent im Masterstudiengang Games Engineering in Salzburg. Sein Weg passt zu der Beobachtung aus der Branche, dass Fähigkeiten schwerer wiegen als der passende Studiengang.
Arbeitstag zwischen Unity, Debugging und Wochenreview
Der typische Arbeitstag beginnt gegen 9 Uhr mit Visual Studio und der Engine Unity. Weil Bardachev an einem VR-Spiel mit Serveranbindung arbeitet, startet er alles, was kompiliert, und steigt ins Debugging ein. Je mehr Erfahrung ein Programmierer mitbringt, desto mehr seltene Fälle denkt er beim Testen mit: Etwa ein Mikrofon von Spieler eins, das nicht ganz kaputt ist, aber stört und damit die Kommunikation des gesamten Teams lahmlegt. Solche Fehler arbeiten sich Schritt für Schritt ab, ein Schritt vor und zwei zurück.
Wenig Platz lässt der Alltag für zusammenhängende Arbeitsphasen. „Es kommt sehr selten vor, dass man mal vier Tage am Stück an nur einer Aufgabe arbeitet“, sagt Bardachev. Jede Woche trifft sich das Team zum Review, legt fest, was behoben wird und was neu hinzukommt, und prüft eine Woche später das Ergebnis. Zum Schluss pflegt er den Code ein, baut die Version und testet sie auf den Rechnern. Abgeschlossen ist ein Projekt damit erst, wenn nach dem Release keine Fehler mehr auftauchen.
Bis zu 5 Millionen Zeilen Code an einem großen Spiel
Rechnet man die Arbeit aller Programmierer mehrerer Studios an einem großen Titel zusammen, kommt man nach Bardachevs Einschätzung auf bis zu 5 Millionen Zeilen Quellcode. Die Arbeitsteilung beschreibt er als Kette: Autoren schreiben die Story, Game Designer stellen sie grafisch dar und liefern die Mechanik, etwa wie ein Bogen funktioniert. Grafiker entwerfen ein grobes Modell, der Programmierer zerlegt den Vorgang in Einzelheiten und schreibt sie in Code, etwa in Ausdrücken wie „Sound Event Trigger“ oder „Shoot arrow“. Tester schießen am Ende mit dem Bogen auf alles im Spiel und notieren Fehler, worauf die Schleife von vorn beginnt.
Sein VR-Escape-Room schreibt er in C#, zuvor arbeitete er in Java und Python. Die am häufigsten eingesetzten Sprachen in der Spieleentwicklung bleiben für ihn C++ und C, weil die Geschwindigkeit im Vordergrund steht. Dazu kommt Englisch als Amtssprache in den Studios. Für den Beruf braucht er nach eigener Aussage vor allem Geduld und Neugier auf Technik, weil laufend neue Verfahren und Algorithmen dazukommen.
Bereitschaft rund um den Release
Zwei Wochen vor dem Release ist für Bardachev mit der freien Zeit Schluss. Dann übernimmt er als Senior die Bereitschaft, wenn Spieler auf die Server kommen und Probleme schnell reagieren müssen. Während Junior-Kollegen früher von älteren Mitarbeitern grobe Schnitzer abgenommen bekamen, liegt diese Verantwortung heute bei ihm. Stolz ist er auf eine Optimierung bei For Honor: Brauchte das Backend dort ursprünglich 50 Rechner, reduzierte er sie auf drei.
An seinem Beruf gefällt ihm, dass regelmäßig neue Projekte mit anderen Aufgaben folgen, bis hinein ins Studio in Montreal. Fehler aus der Anfangszeit, etwa der Versuch, alten Code sofort komplett neu zu schreiben und mit der falschen Version zurückzukommen, haben ihn nachdenklich gemacht. In Zukunft möchte er Richtung Software-Architekt und Games-Consultant arbeiten. Sein Lieblingsspiel ist seit Teenager-Tagen das Rollenspiel Planescape: Torment. Die eigenen Projekte spielt er nicht: Die kennt er auswendig.

