GOOD Teams: Technical Integration sorgt für Automatisierung
Wer denkt, Entwicklungsteams seien ein langweiliger Haufen mit einem einseitigen Job, hat noch nicht unser Technical Integration Team getroffen. Nach eigenen Angaben sind sie „das lustigste Team bei Goodgame Studios“ – und nachdem wir sie für diesen Blog-Post persönlich getroffen haben, können wir diese Behauptung nur schwer widerlegen. Auf die Frage eines Laien ohne jegliche Programmiererfahrung oder -talent (wie mich), was sie denn tagtäglich tun, antworten sie mit einer Menge Metaphern und Bildern, so wie beispielsweise das Anbringen von Werbeplakaten, wofür sie den Kleister zur Verfügung stellen. Um es verständlicher auszudrücken: Die Mission des Teams ist es, alle Bereiche der Spielproduktion zu automatisieren, um die Entwicklung so einfach, transparent und effizient wie möglich zu gestalten. Durch ihre Arbeit ermöglichen sie es unseren Spielentwicklungsstudios, sich vollständig auf neue Spielfeatures zu konzentrieren. Im Grund sorgen sie dafür, dass unsere Artists zeichnen und Entwickler programmieren können. Unten könnt ihr ein Bild sehen, das zeigt, was das Technical Integration Team genau tut.
Kurz zusammengefasst: Wenn ein Spiel produziert wird, sind viele unterschiedliche Teams involviert. Diese Teams erschaffen eine Vielzahl von Assets wie Grafiken oder Code. Diese einzelnen Bestandteile müssen organisiert werden – und an diesem Punkt kommt das Technical Integration Team ins Spiel. Dieses erstellt ein Programm, wodurch die Art- und Code-Einzelteile automatisch zusammengefügt werden. Der Grundgedanke ist, alle manuellen Aufgaben, die normalerweise von den Game Designern erledigt werden, durch eine „Build-Chain“ zu reduzieren. Funktioniert die technische Integration reibungslos, muss der Spielentwickler am Ende nur noch einen Knopf drücken, um das finale Produkt, das Spiel, zusammenzustellen.
Wenn ihr technisch versierter seid als ich und euch diese Beschreibung darum zu oberflächlich ist, dann könnte die folgende Erklärung des Teams einleuchtender für euch sein:
Du hast also schon einmal von Jenkins gehört und das nicht im Zusammenhang mit „How I Met Your Mother“? Dann geht es um „TI“! Wir, das Technical Integration Team, besprechen, implementieren und optimieren Release- und Deployment-Ketten mithilfe von Jenkins („Der Butler“) als Organisationstool und einer Vielzahl anderer Tools wie Maven, SonarQube und Archiva. Die Liste wird mit YAML, Mesos, Docker und weiteren noch hieroglyphischer. Stell dir folgendes Szenario vor: ein neues Spiel wurde „gegreenlightet“ (d. h. für die Produktion zugelassen) und das Studio möchte es so schnell wie möglich produzieren und veröffentlichen. Besonders wichtig ist es hierbei, dem Spielteam mit der Kombination aus Artworks und Code in den erwarteten Versionen für verschiedene Plattformen (z. B. Flash, Unity oder Unreal) eine maßgeschneiderte Deployment-Infrastruktur bereitzustellen. Das Ganze muss natürlich schnell gehen und verlässlich sein, denn Zeit ist schließlich Geld! Wie schafft TI das, ohne dabei die Studios zu verlangsamen? Die Antwort lautet: Automatisierung. Wir haben in neue Technologien investiert, um sofort Jenkins-, Maven-, Deployment-Jobs (usw.) zu erstellen (auch „spawnen“ genannt), anstatt diese Tools „manuell“ zu entwickeln und anzupassen. Das spart Zeit und verringert die Anzahl menschlicher Fehler. Was steht als Nächstes an? Unser Ziel ist es, unser Dienstleistungsportfolio zu erweitern, um die Automatisierung von Produktionsprozessen zu unterstützen. Darunter fällt zum Beispiel das Beraten von Game Producern hinsichtlich der Verwaltung Dutzender Spiel-Builds, die getestet, demonstriert und an andere (externe) Vertriebsplattformen („Stores“) geliefert werden müssen. Wir sind überzeugt, dass wir auch den Arbeitsalltag der Produzenten einfacher machen können. Wir sind engagiert.
Besonders toll am Technical Integration Team von Goodgame Studios ist – zumindest sagen sie das selbst –, dass sie immer mit neuen Tools experimentieren und Grenzen durchbrechen, um neue und bessere Lösungen zu finden. Das erklärt vielleicht auch die kreative, lockere Atmosphäre im Team. Außerdem bleibt die Arbeit des Teams immer spannend, da jedes unserer Studios verschiedene Anforderungen hat und somit eine weite Bandbreite an Technologien wie Flash, Unity und Unreal unterstützt werden müssen. Das bedeutet, dass die Teammitglieder jederzeit ihr Bestes geben müssen, und ich glaube, dass diese ständige Herausforderung den Job so dynamisch gestaltet. Lu aus China ist eine der Build und Configuration Engineers im Team. Sie erzählt sehr positiv über ihre Kollegen: „Mir gefällt die Atmosphäre im Team sehr. Es ist sehr entspannt und harmonisch, und wenn man mal ein Problem hat, ganz gleich, was für eins, hilft immer irgendjemand aus.“ Die einzelnen Teammitglieder sind größtenteils selbst Spielentwickler und somit Experten in ihren Bereichen. Ihre Herangehensweisen an ein Problem und dessen Lösung können sehr individuell sein. Durch eine enge Zusammenarbeit lernen sie stark voneinander und verbessern sich somit mehr und mehr – und das ist auch ihr Ziel.
Natürlich hat das Team große Pläne für die Zukunft. Ihre Vision ist es, alles zu automatisieren und das Leben der Spielteams so einfach wie möglich zu gestalten. Die Teammitglieder möchten, dass ihre Tools die Studios zur selbstständigen Arbeit und Flexibilität befähigen. Denn letztendlich ist auch ihr ultimatives Ziel, großartige Spiele zu erschaffen.