84 - Custom Engines 2.0 (und Enshrouded) - podcast episode cover

84 - Custom Engines 2.0 (und Enshrouded)

Nov 05, 20243 hr 43 minEp. 84
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Wir reden über die Vor- und Nachteile von Custom Engines und warum sowohl Julien als auchund Philipp nicht mit Technik "von der Stange" (aka Unreal, Unity, CryEngine, ...) arbeiten wollen würden. Zusätzlich gibt es noch spannende Einblicke in die langen Karrieren von Julien und Philipp, wie es sich anfühlt nach langer Zeit bei Piranha Bytes nun bei Keen zu arbeiten und am Ende löchert Simon den Julien mit Detailfragen zum Voxel-System zu Enshrouded

Transcript

Simon

Hey, hallo zu dieser neuen Folge 12,6, also beziehungsweise 12 Stunden und ungefähr 36 Minuten hat es gedauert, dieses Episode zu bearbeiten. Ah ne, da kommt ja noch eine halbe Stunde dazu, weil ich jetzt hier das ganze Marketing und verteilen und blablabla. Egal, wenn ihr das cool findet, könnt ihr gerne bei Patreon vorbeischauen. Da brauchen wir nur noch vier Männchen, bis wir dann 60 sind, also 60 Patreons. Das wäre doch mal eine schöne Zahl.

Wer Bock hat, kann da gerne gucken und ansonsten auch gerne beim Discord vorbeischauen. Und beim Discord habe ich übrigens mal geguckt, da sind wir mittlerweile 518 nette Männchen, die da auf dem Server sind. Ist doch toll. Also, wenn ihr da Bock habt, mit zu joinen, könnt ihr das gerne machen. Und übrigens werde ich in dieser Episode behaupten, dass das das erste Mal ist, dass wir eine zweite Folge zu einem schon vorhandenen Thema aufnehmen.

Das stimmt aber gar nicht. Habe ich wohl gelogen? Und zwar haben wir nämlich zu Outsourcing auch schon mal eine zweite Episode gemacht. aber naja, ein kleines Fehlerchen darf ich mir ja mal erlauben und jetzt geht's los. Hallo und herzlich willkommen zum Gamedev-Podcast. Heute eine der seltenen Sachen, ich glaube, das haben wir noch nie gemacht, und zwar den zweiten Teil einer Episode, und zwar Custom Engines 2. Und statt einen gibt es auch diesmal zwei Männchen, die zu Gast sind.

Und einmal den Julian, den kennen wir schon von der ersten Episode. Hallo.

Julien

Hallo.

Simon

Und einmal den Philipp. Hallo, herzlich willkommen.

Philipp

Hallo.

Simon

Genau, und damit du, Philipp, auch kurz abgeholt bist, will ich hier kurz erklären, wie es jetzt eigentlich dazu kam, dass wir eine zweite Episode machen. Und zwar hat das zwei Gründe. Das eine, muss ich sagen, das ist so ein bisschen selbstkritisch. Unsere eigene Folge nochmal angehört und ich finde, der Julian hat das super gemacht. Er hat eigentlich zum Beispiel am Anfang versucht, das mal so ein bisschen einzuordnen, was eigentlich ein Engine überhaupt ist und sowas.

Und ich habe einfach direkt drauf losgeredet und im Grunde war es für mich so eine kleine Therapiestunde. Weil, was man vielleicht wissen muss, ich habe als Content Creator, also 3D- oder VFX-Artist, habe ich in drei verschiedenen Kasten im Engines gearbeitet und die waren alle nicht so nett zu mir. Und deswegen hatte ich viel Redebedarf an Dingen, die nicht so gut gelaufen sind. Das konnte dafür gar nichts.

Nee, genau, aber der Julian, der hatte ein ganz offenes Ohr und ich fand, du hast das auch super gemacht, weil du hast dann immer versucht, das so ein bisschen einzuordnen, was es vielleicht auch für Gründe gab, dass vielleicht ein Tool nicht so perfekt war oder so. Und ja, genau, dann war das halt nicht ganz so strukturiert von meiner Seite her, aber hat mir auf jeden Fall gut getan. War eine gute Therapie für mich und danke Julian war es auch super spannende Information.

Und das ist so der eine Grund, dass ich auch selbst gar nicht so ganz zufrieden war, wie ich das aufgebaut hatte, Und der andere ist, nach dieser Episode kamen super spannende Fragen von Timo. Danke Timo übrigens, es hat nur irgendwie vier Jahre gedauert, bis jetzt mal die Antworten auf deine Fragen kommen. Er hatte nämlich dann einige Fragen eben geschickt und gesagt, hey, ja, nette Folge, aber hier noch ein paar Sachen, die ich gerne hätte noch wissen wollen.

Und da kam dann so die Idee, hey, dann lass uns doch mal nochmal eine Episode machen. Genau, also das nur für dich, Philipp, als kurze Übersicht.

Philipp

Ja, vielen Dank. Danke.

Simon

Und wenn du möchtest, kannst du ja gerne mal ganz kurz erzählen, wer du eigentlich bist, Philipp. Denn ja, das wird bestimmt einige Leute freuen, die sich mit deutscher Spieleentwicklung schon ein bisschen auseinandersetzen.

Philipp

Ja, ich habe fast 20 Jahre jetzt bei Piranha Bytes gearbeitet und war da 15 Jahre lang der Lead Programmer. Ja, die letzten 10 Jahre oder letzten 5 Jahre habe ich primär Engine-Entwicklung gemacht. Davor habe ich ja noch alles mögliche andere mit Game-Programming und so weiter gemacht. Das habe ich dann aber hinterher abgegeben, als die reine Engine- und Grafikentwicklung immer komplexer wurde. Und ja, deswegen. Und ja, das habe ich gemacht.

Simon

Genau, und jetzt bist du bei Keen.

Philipp

Genau, ja, genau. Ich meine, wir wissen ja, wie es mit Piranha Bytes gelaufen ist oder wenn man das ein bisschen verfolgt. Und jetzt bin ich seit nicht ganz einem halben Jahr bei Keen und arbeite da in Entschraudet mit. Als Grafikprogrammierer.

Simon

Genau, das heißt, ihr beiden seid das Kollegen. Ja, genau. So, und Julian, dich hatten wir schon beim letzten Mal, aber da gibt es nicht ganz so viel zu erzählen, weil du bist bei Keen gewesen und bist immer noch bei Keen.

Julien

Genau, das letzte Mal konnte ich nicht viel erzählen über das Projekt, was wir jetzt released haben, Man Trouted. Das kam ja jetzt dieses Jahr raus und das war schon in der Entwicklung, als wir den Podcast damals aufgenommen haben, aber noch sehr früh. Da haben wir ja auch noch an Portal Knights gearbeitet und so weiter.

Simon

Ja, aber du hast, das finde ich ganz interessant, du hast zweimal so einen kleinen Schlenker gemacht. Und zwar habe ich einmal in deinem LinkedIn gefunden, dass du mal kurz für, nicht für Keen, sondern für Keen Core gearbeitet hast und dann aber wieder zurück zu Keen bist.

Julien

Ja, King Core war eine Ausgründung von dem Engine-Department, kann man so sagen, von King Games, weil es damals noch einen anderen Kunden gab, eine zweite Firma, die auch Interesse hat an der Engine damals und die auch benutzt hat für Spiele. Da ging es um Handyspiele und die haben die Technik auch benutzt und da war es dann einfacher für die Firmenstruktur, dass wir das Engine-Geschäft quasi in der eigenen Firma ausgegründet haben.

Simon

Ach so, und dann war der Kunde irgendwann weg und hat gesagt, komm Leute, das mit den zwei Firmen ist zu aufwendig, doppelte Buchhaltung, also vierfache Buchhaltung.

Julien

Ja, es gab dann Gründe, dass man wieder zusammengegangen ist. Das hat auch mit dem Entschraubt-Projekt zu tun. Das war halt so groß, dass wir gesagt haben, wir machen das dann wieder zusammen als eine Firma, als Keen Games. Und die Handysparte hat sich ja dann auch so ein bisschen aufgelöst. Ja, das ist... Sehr schwieriger Markt geworden. Das haben wir dann nicht mehr weiterverfolgt.

Simon

Ja, okay. Und der zweite Schlenker ist, wenn man nämlich mal in dein MobiGames-Log guckt, dann sieht man da, dass du auch an Atlas Fallen gearbeitet hast. Und das ist ja bekannterweise kein Keen-Produkt. Das stimmt. Möchte aber ganz kurz Werbung machen. Ich habe selbst noch nicht gespielt, aber es kam gerade ein riesen Update dafür raus. Sense, irgendwas mit Sand. Und das hat wohl das Spiel super toll überarbeitet. Und jetzt sollen das alle bitte spielen. Das kann ich unterschreiben.

Julien

Also ich habe ein paar Monate ausgeholfen bei den drei Szenen, aber ich habe da wirklich nicht viele Sachen gemacht. Ich habe da halt ein paar Ecken mitgeholfen, wo Hilfe gebraucht wurde. Und es waren ein paar Leute aus unserem Team. Wir hatten Glück, dass die gerade Leute brauchten und wir gerade Zeit hatten, weil das Break and Trouble auch nicht ganz so rund lief, wie es von außen vielleicht aussieht. Und es gab dann ein paar Monate Leerlauf.

Simon

Okay, das ist spannend. Klingt nach dem üblichen Auf und Ab der Spielindustrie. Aber was ja interessant ist, das könnte man ja sagen, oh, dann hast du bei Atlas 4 und irgendwas mit der Engine gemacht, aber im Mobi steht Compliance Integration und wer nicht weiß, was das bedeutet, DeepL sagt Integration der Einhaltung von Vorschriften. Was hast du denn da gemacht?

Julien

Tatsächlich habe ich, glaube ich, ein paar es gibt viele Konsolen, Nun gibt es halt gewisse Richtlinien, die man einhalten muss. Da habe ich dann ein bisschen was dran gemacht. Ich habe dann aber vor allem auch an den internen Tools gearbeitet. Aber ich finde es nett, dass sie mich überhaupt aufgenommen haben. Aber es war wirklich nur ein paar Monate und es war nicht besonders viel, was ich da jetzt beigetragen habe zu dem Spiel.

Simon

Aha, okay. Und übrigens habe ich auch einen Tweet von dir gefunden. Das ist auch noch mal sehr beeindruckend. Da hast du nämlich geschrieben, das ist wirklich tief gewühbelt.

Philipp

Gewühlt.

Simon

Das muss man mal wirklich in Relation setzen. Der Tweet ist, warte, wo ist es denn? Ah, genau. Du hast einfach nur geschrieben, hey, vor 30 Jahren habe ich meine ersten Babyschritte im Programmieren gemacht. So, jetzt kann man ja denken, wow, 30 Jahre Erfahrung Programmieren, das ist ja Wahnsinn. Dieser Tweet ist von 2019. Der ist nicht von heute. Das heißt, du bist ein super Programmierer.

Julien

Ich bin einfach nur sehr alt. Ja, ich glaube, das ist der ganze Trick dabei. Und ich habe relativ früh angefangen, wobei ich das jetzt nicht als professionelles Programmieren natürlich bezeichnen würde, was ich damals gemacht habe in dem Alter. Das war... Ich hatte Glück und Pech, dass ich einen Schneider CPC hatte und keinen C64, deswegen hatte ich keine Spiele.

Die gab es nämlich auf diesem Gerät fast nicht und deswegen musste ich dann Listings abtippen aus uralten Zeitschriften, also damals natürlich nicht uralt, aber aus Zeitschriften meines Vaters und musste meine Spiele selber in Basic und später auch Hexcodes, also Maschinensprache abtippen und das hat dann natürlich angefangen und dann natürlich Sachen geändert.

Ich glaube, das ist auch, kenne ich einige, die so angefangen haben, dass man sich das macht, abtippen zu spielen und dann ändert man ein paar Sachen und sieht, oh, da passiert ja was und dann hat man ein sehr, sehr direktes Feedback und das ist ein ganz guter Weg, glaube ich, zu lernen generell.

Simon

Du hast gerade gesagt Hexcode. Ist das eine andere Bezeichnung für Assembler oder ist das nochmal was anderes?

Julien

Ja, Assembler sagt man normalerweise zu der textuellen, also da hat man Befehle, englischsprachige, MOF oder so, die man auch erkennen kann. Der Assembler als Programm übersetzt dann diese Sprache in Binärcode, die in der Computer wirklich spricht und den kann man natürlich auch direkt als Hexzahlen eingeben.

Simon

Ach krass.

Julien

Das ist dann quasi nochmal eine Stufe niedriger.

Philipp

Das ist der größte Schmerz, ja. Wenn man sich da einmal irgendwo vertippt, dann funktioniert hinterher gar nichts und man darf alles händisch durchsuchen. Ich hatte so ein schönes Buch.

Julien

Leider habe ich das nicht mehr, Z80-Assembler, da waren die ganzen Opcodes drin und da konnte man auch auf dem Papier selbst die Hexcodes von den ganzen Humanos aufschreiben und die rein in den Computer eingeben und dann ausführen.

Philipp

Ich komme aber vom Amiga, 68.000er, aber auch Assembler und bei mir sind es auch schon 35 Jahre, ich habe mit 12 angefangen und bin mittlerweile 47.

Simon

Bei dir ist es auch ganz interessant, weil du hast kein Studium gemacht oder sowas, Philipp, in Informatik oder irgendwas. Und du bist einfach, also man sieht, du warst auf der Schule, hast dein Abi gemacht und plupp, warst du plötzlich bei CodeCult.

Philipp

Vorher war ich noch bei Comunix. Das ist hier eine lokal ansässige Firma, die Software für Kommunen und Behörden macht. Und da hat mich eigentlich mein Informatiklehrer hinvermittelt. Also der war ein Freund von dem Besitzer von der Firma und der hatte ihn gefragt, kennst du nicht einen? Und da ist ihm wohl nur mich eingefallen und dann bin ich da gelandet. Aber nach einem Jahr wurde mir das wirklich zu langweilig und ich wollte in die Spielebranche und habe mich dann da bei CodeCult beworben.

Das war eine Firma, das war eine Tochterfirma von der Phenomedia AG, also eigentlich mit Piranha Bytes auf einem Flur schon. Ich habe morgens immer die Leichen da gesehen von Gothic 1, die da im Flur lagen und völlig übermüdet waren.

Und das war im Prinzip damals, als die Phenomedia AG mit dem Moorhuhn so unglaublich einen Erfolg hatte und das Geld aus der Wand kam, haben sie die tolle Idee gehabt, dann irgendwie eine Tochterfirma zu gründen, die dann irgendwie eine eigene Engine, eine eigene Technologie aufsetzt. Und da war meine erste Stelle in der Spielebranche und dann als Tool-Programmierer, weil das war die einzige Stelle, auf die habe ich mich beworben, war die einzige, die frei war und bin dann da reingerutscht.

Simon

Ja genau, es gibt nämlich, es war lustig, wenn man so Research macht, also manche Leute belächeln ja schon, wenn man auf Wikipedia ist oder so. Ich war dann auf mohun.fandom.com und hab dort recherchiert und dort hab ich nämlich auch über diese Engine gelesen. Ziel war es, 3D-Engines zu entwickeln und an andere Spieleentwickler zu lizenzieren, die nicht die Zeit hatten, sie selbst spielbegleitend zu entwickeln. Und diese Engines wurden dann für hausinterne Produktion benutzt.

So beispielsweise auch ein Spiel in der Gothic-Reihe.

Philipp

Das ist nicht richtig. Also im Prinzip war es so, die Idee war ja prinzipiell nicht schlecht, weil das war damals so die Zeit, die kam auf. Das war, ich glaube, da gab es auch die erste Unreal-Version. Das war damals so ein ganz neuer Markt irgendwie überhaupt Lizenz-Engines. Und ja, das Problem, was wir eben hatten, ist, wir haben nicht gleichzeitig auch ein Spiel damit entwickelt und deswegen war die ganze Entwicklung so ein bisschen realitätsfremd.

Das Einzige, was damit wirklich jemals Geld gemacht hat, war eine Transrapid-Simulation für Transrapid Shanghai oder so, glaube ich. Also das war ein Projekt, was wir damit gemacht haben. Ansonsten sind große Teile der Engine in der Tat am Ende in die Gothic 3 Engine und die dann die Genome Engine immer weiterentwickelt wurde, also bis zuletzt jetzt, da auch reingewandert. Also hauptsächlich aber so Core-Basis-Funktionalität wie Mathe-Library und die

ganzen Container-Klassen und so ein Zeug. Also so ganz rudimentäre Sachen. Mehr hat davon nicht überlebt. Aber es ist in der Tat, ein Teil davon ist in der Piranha Bytes Engine am Ende gelandet, ja.

Simon

Wurde die Engine für Gothic 3 komplett neu gemacht oder hast du dann...

Philipp

Ja.

Simon

Ah, okay. Deswegen konntest du jetzt noch Sachen da rein integrieren dann.

Philipp

Ja, also ich bin erst so Mitte, Ende Gothic 3 dazugestanden. Also eigentlich hätte Gothic 3 in drei Monaten fertig sein müssen, als ich dazu gekommen bin. Und als ich dann den Stand gesehen habe, habe ich mir gedacht, okay, das wird wohl nichts. Also es hat dann de facto, glaube ich, noch eineinhalb Jahre oder noch länger gedauert.

Ja, da wurde während der Entwicklung von Gothic 2, wurde die Engine parallel von einem Teil des Teams, oder ich glaube vom Nacht des Raben Add-on, ich bin mir nicht ganz sicher, ich war da ja noch nicht da, wurde die Engine parallel schon aufgesetzt und entwickelt. Und die Gothic 1, Gothic 2 und Nacht des Raben wurden im Prinzip noch mit der alten Engine gemacht. Und die war ja dann ab einem gewissen Punkt auch nicht mehr wirklich wartbar und pflegbar.

Simon

Ja, aber du hast auch eine kleine, genau wie Julian, eine kleine Ausschweifung. Also, wir haben jetzt gelernt, du fängst direkt nach der Schule schon Programmierung an, was ja schon echt cool ist, ein Direktjob so, ne, und dann, ah gut, klar, vielleicht ein bisschen Vitamin B, aber trotzdem müssen deine Skills ja auch stimmen, ne, um dort bei Comnix zu arbeiten. Und trotzdem ist es dann so, dass du für, dass du kurz QA gemacht hast.

Philipp

Das ist auch irgendwie, weiß ich nicht, wo das herkommt. Also das ist voller Unwahrheiten. Ja, also ich weiß es nicht. Es kann sein, dass in irgendeinem, keine Ahnung, in irgendwelchen Credits das vielleicht drinsteht. Ich weiß es nicht. Also habe ich eigentlich nie gemacht. Ich habe mal Game Design gemacht für Risen 3. Das war damals die Zeit, wo es die Trennung von Michael Hoge bei Pernarbalz gab. Und ja, da bin ich dann damit eingesprungen und habe Game Design mitgemacht.

Aber QA, ach doch stimmt, jetzt fällt es mir wieder ein habe ich doch wirklich mal gemacht, aber das war nur das war nur auch über Vitamin B und ganz kurz, also ja aber stimmt, ja, jetzt wo du es sagst, das, ja ich hatte ein kurzes Intermezzo und zwar haben wir nachdem die Phenomedia AG den Bach runtergegangen ist wegen diesem ganzen Börsenbetrug, ja, das war ja auch irgendwie ein ganz großes Zinnober da genau, habe ich probiert oder wir haben den Vorteil gehabt, da wir,

wir haben die Rechte an der Engine bekommen, also die Angestellten mehr oder weniger. Das war so eine Art Mini-Abfindung, mehr oder weniger. Und mit diesen Rechten sind wir dann losgezogen, ein Arbeitskollege und ich, also der Roman, und haben uns mit einem Team zusammengeschlossen rund um Thomas Schäfer. Die haben ein Spiel gemacht, das hieß Y-Project und die wurden auch eingestampft damals. Das war glaube ich irgendwie eine Kölner Firma.

Und mit denen zusammen haben wir probiert, einen Pitch auf die Beine zu stellen. Da haben wir auch fast ein Dreivierteljahr, glaube ich, daran gearbeitet, aber wie es so läuft, ist daraus leider nichts geworden und da habe ich auch mal QA gemacht für Thomas, ich erinnere mich nicht mal mehr an das Spiel.

Simon

War es vielleicht Augustus im Auftrag des Kaisers?

Philipp

In der Tat. Danke fürs Auffrischen meines Gedächtnisses.

Simon

Ja, da wird sich der, ich weiß nicht, ob ihr den kennt, Jens Kurtbeuer freuen. Der hatte mit It Matters eine Firma in Berlin und macht jetzt sein eigenes Ding unter dem Namen, oh, jetzt habe ich den Namen vergessen, auf jeden Fall machen die nämlich gerade ein Römer-Survival-Spiel. Und das läuft auch ganz gut bisher, es ist sehr spannend und er ist halt total auf Römer gedingst.

Und der war letztens auch nochmal im Podcast und dann fand ich das ganz nett, dass du auch so ein Römer-Dings-Spiel damals gemacht hast.

Philipp

Also das war wirklich nur, keine Ahnung, zwei Tage irgendwo.

Simon

Ach so.

Philipp

Ja, das war auch super trashy irgendwo. Ich glaube, bei Thomas zu Hause in der Bude. Und also wirklich, das war ...

Einfach ein bisschen Geld verdienen, weil klar, wir waren natürlich alle arbeitslos zu der Zeit und haben das Ganze finanziert über, ja, eigentlich nicht über arbeitslosen Geld, sondern wir hatten damals, wie nennt man das nochmal gleich, wenn man sich so selbstständig machen will, dann kann man ja beim Arbeitsamt irgendwie, das war damals vor 20 Jahren, ich weiß nicht mehr genau, wie, aber so lief das mehr oder weniger. Also dieses Gründungsirgendwas, ich weiß es nicht. Ich habe es vergessen.

Simon

Aber was mir jetzt trotzdem noch nicht ganz, also wir wissen ja, man muss ja schon einen gewissen Skill mitbringen, um in die Branche reinzukommen. Gerade in der Programmierung, gerade in so 3D-Programmierung. Und du hast vorher die Anwendungsentwicklung gemacht dann bei Communix, aber woher kam, weil dann bist du bei Winx Simulation eingestiegen.

Philipp

Ja, bei Wings war ich auch knapp für ein Jahr, bis die dann auch dicht gemacht worden sind. Da hat Roman mich mehr oder weniger auch mit. Also Roman und ich, wir haben zusammen bei CodeCult gearbeitet und danach haben wir zusammen probiert, diesen Pitch zu machen mit dem Thomas Schäfer. Und irgendwann wurde es dem Roman dann auch zu heiß und dann hat er sich einen Job bei Wings Simulation gesucht.

Und nach zwei, drei Monaten oder so, als ich dann auch so langsam gedacht habe, okay, das wird nichts mehr, hat er mich gefragt, ob ich nicht Lust habe, da auch anzufangen und dann habe ich da eben auch für eineinhalb Jahre gearbeitet oder ja, also bis zu der Joe Wood, bis Joe Wood den Laden nicht gemacht hat im Prinzip und da haben wir auch an einer Nachfolgetechnologie für Söldner gearbeitet.

Also Söldner war ja damals das Projekt, was da lief und das Add-on, genau und da haben wir dann auch noch mitentwickelt an Söldner, haben da ein bisschen optimiert, War aber relativ spät in der Entwicklung und dann haben wir im Prinzip so eine kleine Mini-Abteilung gegründet und haben im Endeffekt vom Scratch eine neue Technologie auch angefangen.

Julien

Warst du damals eigentlich auf dem USF-Forum?

Philipp

Irgendwann war ich mal auf dem USF-Forum. Das ist, ja.

Julien

Ich war da viel unterwegs. Ich kann mich nicht erinnern an dich.

Philipp

Einmal war ich da, ja. Das ist in Frankfurt, ja. Ja, aber ich bin auch nicht so der super Socializer. Also ich meine, man findet im Internet auch nicht so besonders viel von mir, was jetzt irgendwelche Forum-Posts oder Twitter oder sonst was. Also ich bin eher so der im stillen Kämmerlein vor sich hin hackt. Ich habe eine Sache gefunden.

Simon

Unten poste ich euch jetzt auch mal hier ins Disco. Das ist ein Besuch bei Wings Simulation. Und da gibt es auch noch Fotos zu sehen. Und ich glaube, da bist du auch drauf. Genau. Und für alle, die sich jetzt wundern, Söldner, was ist das? Wer Bock oder sich nostalgisch an Söldner erinnern, weil sie es damals gespielt haben. Das gibt es immer noch. Es gibt eine Fan-Remake, glaube ich. Oder Leute, die das einfach aktuell halten. Und das verlinke ich auch in den

Shownotes. Wer da Bock hat, kann Söldner heute noch sich angucken. Ist dir das klar, Philipp, dass es Söldner noch hat?

Philipp

Ja, ich hatte das vor kurzem auch mal gesehen, ja. Aber ja, also es gibt ja schon auch immer ein paar Freaks irgendwie, ich weiß nicht, Gothic 1 wird ja auch noch, da gibt es ja auch noch eine riesen Community, die da irgendwie dran rum basteln. Also ich finde es schon verrückt, aber gut, wenn es Spaß macht.

Julien

Ja, Wolfgang Engel ist ja schon, sagen wir mal, in der Grafik, Computer-Grafik-Branche doch ein Name.

Philipp

Ja, das stimmt. Klar, der hat die ganzen GPU-Gems-Geschichten gemacht und jetzt KonfettiFX mit The Forge und so. Ja, der war auch nicht lange da. Ja, aber wir waren Kollegen kurz.

Simon

Ach echt? Die GPU-Gems sind ... Von Ihnen geschrieben wurden dann?

Julien

Nee, geschrieben nicht. Also er hat auch Artikel geschrieben, aber das sind Artikelsammlungen. Aber er hat das, soweit ich weiß, ins Leben gerufen und halt koordiniert und rausgegeben.

Simon

Also wer es nicht weiß, das sind so Bücher, die so tolle Beispiele sammeln, oder? Kannst du es besser beschreiben, Julian?

Julien

Ja, kurze Artikel, die sehr spezialisiert über ein Thema zu einem Thema sich auslassen. Also drei, vier Seiten zu einem spezialisierten Thema, wie Rednerchen Edelstein, ganz toll. oder so Sachen.

Philipp

Ja, es war früher relativ wichtig. Es hat dann Bedeutung verloren, weil eben alle Papers online zur Verfügung stehen. Da wird viel gepublished und so weiter. Früher war das recht wichtig. Also da waren die Bücher schon auch echt eine Quelle von guten Informationen.

Julien

Ich finde es auch immer noch nett, wenn ich mich um ein neues Thema kümmere, doch mal in alten Büchern zu wälzen, zu blättern, zu gucken. Da waren durchaus auch Sachen dabei vor zehn Jahren, die ambitioniert waren, auf der damaligen Hardware zu releasen und die man jetzt aber ohne weiteres so machen kann. Und manchmal gibt es auch so ein bisschen Hintergrundinformationen oder so ein bisschen Einstieg in aktuelle Paper. So ein bisschen so einen Hintergrund zu haben, ist auch ganz gut.

Philipp

Ja, sie sind nicht ganz so super. Ja, also Paper sind ja oft, die setzen oft ein sehr großes Wissen voraus. Und das ist, finde ich, bei den Büchern gut gemacht, dass da...

Julien

Wissenschaftliche Paper sind nochmal eine andere. Also diese GPU-Games sind doch eher für den Praktiker geschrieben, würde ich sagen.

Simon

Ja, so richtig praxisnah mit auch Code-Beispielen und alles sowas. Das ist nicht nur so theoretisches Wissen, das könnte man so und denkt ihr den Code selbst aus. Ja, und Julian, ich habe bei dir noch etwas Spannendes entdeckt. Du warst vier Jahre lang bei Vega IT von 2002 bis 2006 und dort habt ihr für die Air Force gearbeitet.

Julien

Ja, für die Schweizer Luftwaffe.

Simon

Und das klingt ja schon irgendwie cool, so hey, ich arbeite für die Luftwaffe. Ich weiß nicht, irgendwie klingt das ganz nett. Und außerdem klingt es so, als wäre es sehr gut bezahlt.

Julien

Ja, das ist gar nicht richtig. Das war gar nicht die Schweizer Luftwaffe, das war die Schweizer Marine. Die hatte einen Marine-Helikopter. Also die Schweiz hat auch eine Marine und die haben ein neues Hubschrauben-Modell bekommen und dafür brauchten sie zu Schulungszwecken einen Desktop-Simulator. Jeder kennt ja wahrscheinlich diese vollen Simulatoren, in die man sich reinsetzt mit Protraulik und so. Da lernt man halt fliegen und wie sich so ein Fluggerät bewegt in der Luft so ein bisschen.

Und wir hatten einen Desktop-Simulator, da geht es hauptsächlich darum, wie die ganzen komplexen Computersysteme im Cockpit miteinander funktionieren und wie die Bedienung da funktioniert. Das ist also etwas, was man dann auf seinem Desktop-Computer oder auf seinem Laptop als Pilot hat und in der Ausbildung, also zur Begleitung der Ausbildung einfach daran rumklicken kann und gucken, wie das sich verhält. Das muss auch akkurat sein natürlich alles.

Das ist, glaube ich, der Hauptunterschied zu dem in der Spielindustrie. Aber es ist nicht ganz so, es war kein 3D-Rendering zum Beispiel. Wir hatten zwar ein Flugmodell und der flog auch, der Helikopter, im Hintergrund, weil gewisse Systeme auch im Cockpit nur Sinn machen, wenn man so ein Minimalflugmodell hat, aber das war nicht der Fokus. Es ging dann eher darum, wie ein FMS funktioniert oder andere Systeme, Navigation oder so weiter.

Simon

Okay, jetzt verstehe ich auch mehr, warum du dann irgendwann weggegangen bist. Das klang ganz cool da so.

Julien

Es war auch cool. Es waren nette Kollegen, aber es war eine ganz andere Art zu arbeiten. Ich habe während der Zeit noch studiert, das heißt, es war ein sehr guter Studenten-Nebenjob. Und danach habe ich mich dann als fertig vom Studium beworben bei ein paar Spielefirmen und so. Da dann losgelegt.

Simon

Weißt du noch, kannst du noch ungefähr sagen, wie die Gehaltsunterschiede waren damals? Hättest du dort weitergearbeitet? Wie viel du dann bekommen hättest du ganz grob?

Julien

Ich habe noch nicht mal gefragt, ob ich dann, also ich weiß nicht, was so ein Einstellungsgehalt gewesen wäre. Ich habe ja nur als studentische Hilfskraft gearbeitet, also Nebenjob gearbeitet. Ich habe mich da nicht beworben. Das war auch völlig klar für mich, dass ich das nicht Vollzeit machen will.

Simon

Ah, schade. Ist immer spannend so.

Julien

Wahrscheinlich wäre es mehr gewesen.

Simon

Ich kenne so ein, zwei Leute, die haben die Spielebranche verlassen. Nach Secret 2 dann und erzählen dann so, ja, also jetzt kriege ich doppelt so viel, jetzt kriege ich dreifach so viel. Ja. Immer ganz, ganz nett, so einfach mal die Dimensionen zu sehen.

Julien

Das ist möglich.

Simon

Okay, ja, schön. Das ist sehr spannend. Also wir wissen jetzt schon mal, ihr seid beide Orgisteine im besten Sinne des Wortes der Programmierung und Spielebranche und habt beide quasi das gesamte Leben mit Custom-Mentions gearbeitet, oder? Also bei Durian weiß ich es ja, Du hast immer mit Custom-Technik gearbeitet. Aber bei Philipp hast du auch mal ...

Julien

Also tatsächlich habe ich einmal mit einem Spiel gearbeitet, wo wir Superscape benutzt haben. Das kennt wahrscheinlich niemand mehr.

Simon

Das habe ich noch nie gehört.

Philipp

Nee.

Simon

Okay, jetzt wird's wild. Super.

Julien

Und dann gab es noch ein Spiel, da haben wir Virtools benutzt. Ich weiß nicht, wie man das Französisch ausspricht. Das ist eine französische Firma. Virtools ist auch ein bisschen komplett in die Vergessenheit geraten, glaube ich. Ich glaube, außerhalb der Spiele gibt es das sogar noch. Und wir haben damals Beyond 3000 gemacht, bei der Parallel AG in Dieburg. Das war 1999, 2000 rum. Also das war noch vor meinem Studium.

Simon

Björn 3000?

Julien

Ja, Björn 3000.

Simon

Boah, da gucke ich mal Björn.

Julien

Das war ein Method-Multiplayer-Spiel mit prozeduralen Planeten. Also so ein bisschen wie No Man's Sky.

Simon

Okay.

Philipp

War seiner Zeit vorausschalmer, ne?

Julien

Ja, das war auch nicht besonders gut.

Simon

Aber warte mal, bin ich jetzt so komplett falsch? Weil ich hatte mir unsere Episode noch mal angehört und ich dachte, da wäre auch mal Unity kurz zur Sprache gekommen.

Julien

Ja, das stimmt. Also, die Keen Games hatten mal an einem Unity-Spiel gearbeitet. Da war ich aber nicht beteiligt.

Simon

Ah, okay.

Julien

Da war Star Trek in Fiddlespace.

Simon

Ah, genau so war das.

Julien

Da war ich nicht, weil ich ja damals schon Technik gemacht habe bei Keen und die brauchten mich ja nicht.

Simon

Ach so, ja. Okay, und Philipp, wie sieht das bei dir aus? Hast du mal den C in, weiß ich nicht, eine andere Engine gehalten?

Philipp

Nee, eigentlich nicht bis jetzt. Also klar, ich sage mal so, man guckt sich natürlich das an, was da so passiert. Aber nee, gearbeitet selber habe ich bis jetzt hauptsächlich also mit Lizenz-Engine

noch nicht. Und ich habe, ja, dadurch, dass ich jetzt so, Urlange bei Perenna-Weiz war und die Engine natürlich auch von der CodeCult-Engine ein Stück weit abstammt, auch eigentlich ja, 20 Jahre mit einer Engine-Gabel, außer eben bei Söldner, aber es war auch eine Custom-Engine, also, Lizenz-Engines habe ich bis jetzt eigentlich noch nichts wirklich tiefer mitgemacht, nein.

Julien

Ist ja für dich jetzt schon ein Kulturschock quasi mit einer neuen, anderen Custom-Engine zur Arbeit wahrscheinlich?

Philipp

Ja, es ist immer eine Umstellung, klar, sicher. Vor allem, ich meine, so eine Engine ist natürlich ein riesen Code-Base, Und es gibt unterschiedliche Ansätze und Philosophien. Dazu kommt natürlich, dass Sachen auch einfach wachsen. Und manche Sachen, auch bei den eigenen Sachen, die guckt man sich an und denkt sich, oh Gott, was hast du denn da gemacht vor zehn Jahren? Das ist normal eben.

Simon

Ich muss sagen, ich finde das manchmal, wenn ich länger in der Firma bin, dann fühle ich mich so ganz angenehm, weil das ist so eine Komfortzone. Man weiß, was man so machen muss und so. Und wenn man dann irgendwann in ein neues Team kommt oder ein neues Projekt, dann kann das für mich teilweise schon etwas, ich finde das Wort gerade nicht befürchtend, beängstigend.

Also so aus der Komfortzone rauszugehen und sich auch neu beweisen zu müssen von einem kompletten neuen Team und sowas, das ist ja schon auch eine Challenge. Hattest du da in irgendeiner Form, weiß ich nicht, auch so kurz Hemmungen oder Hemmschwellen oder so oder war das alles?

Philipp

Natürlich, klar. Klar, also ich meine, das ist natürlich, je länger du, ich kenne auch Leute, die haben irgendwie nie länger als drei oder vier Jahre in irgendeiner Firma gearbeitet. Die sind dann irgendwie von da nach da und dann zu Epic und hierhin und da, weil es da irgendwie besseres Geld gab. Oder ich habe eben aspachlange in dieser Firma gearbeitet und natürlich ist das dann schwer. Ja, aber ich meine, was will man machen?

Dafür bin ich noch nicht zu alt, dass ich das nicht noch hinkriegen würde. Aber klar, also ein bisschen Bammel hatte ich schon, natürlich.

Simon

Ja, ich meine, das vergeht dann teilweise so recht schnell, also vor allem, wenn die Teams nett sind, aber ich habe das, ich weiß nicht, Julian kann gerade wahrscheinlich gar nicht so gut reden, weil er einfach so die ganze Zeit...

Philipp

Ich sage hier gar nichts mehr.

Julien

Nein, ich höre sehr gerne zu. Ich glaube, das ist ein bisschen schwieriger, als es früher vor Corona, vor dem Remote und Homeoffice war. Also ich glaube, gerade wenn jemand neu dazukommt, verliert man auch schon einiges, wenn alle nur zu Hause hocken. Ja, ich glaube, das ist schwierig.

Philipp

Das habe ich auch. Also ich habe das auch umgekehrt. Also ich meine, ich kannte die meisten Leute ja bei Brandarbeits, aber es kamen natürlich auch in den letzten drei, vier Jahren dann neue Leute dazu, die dann teilweise auch nur remote gearbeitet haben. Und ich habe auch gemerkt, dass die auch viel mehr Probleme hatten, ins Team reinzukommen. Es gab viel mehr Kommunikationsprobleme.

Ja, also da umso wichtiger ist es da, glaube ich, dass man sich wenigstens ab und zu mal zu irgendeiner Weihnachtsfeier oder so trifft und sich mal persönlich kennenlernt. Ja, also das ist schon was anderes. Da muss ich Julian recht geben.

Simon

Ich werde wahrscheinlich einen kleinen Einsprecher machen, wie man so eine Game Engine grob definieren kann und ich habe auch was tolles über die History gefunden und sowas. So, hier kommt jetzt ein kleiner Einsprecher von mir, denn ich wollte die Zeit nicht verschwenden von den beiden. Da wollte ich lieber spezifisch auf Dinge eingehen, was die beiden betrifft und so allgemeinere Fragen, was eigentlich eine Game Engine ist, wollte ich hier als kleinen Einsprecher machen.

Und zwar ist es nämlich so, ich habe eine kleine Mini-Research gemacht und dann bin ich darauf gestoßen, es gibt Es gibt tatsächlich 3D-Engines, die wirklich nur für Grafik da sind. Beispielhafte Namen wären Ehrlich, OBA oder True Vision 3D. Verlinke ich euch auch einen kleinen Wikipedia-Artikel. Und es gibt dann Game-Engines und die sind normalerweise eine Ansammlung von verschiedenen Engines. Grafik, Sound-Engine, Physik-Engine und dazu Tools.

Es gibt, ich verlinke euch auch eine kleine Study, History and Comparative Study of Modern Game Engines. Da steht noch mal so ein bisschen drin, dass es auch sehr spezifische Engines gibt, zum Beispiel spezifische Engines für Spursenshooter, für MMOs oder, und das ist vielleicht den meisten geläufig, für Visual Novels. Es gibt so ganz spezielle Tools oder Engines, womit man diese Art von Spielen machen kann. Und damit hat es historisch auch so ein bisschen angefangen.

Das war ganz interessant, weil in den 80ern ist es so, dass die Hardware sich so schnell entwickelt hat, dass man den Code sowieso nicht weiter benutzen konnte. Und deswegen war das Konzept einer Engine, die man immer wieder weiter verwendet, lag überhaupt nicht auf dem Tisch. So, und es gab aber damals trotzdem schon sogenannte Construction Sets. Gibt es einen schönen Wikipedia Artikel und das sind Engines oder Tools.

Ich weiß nicht, also auf jeden Fall nicht 3D Anwendungen, wo man Spiele machen konnte und die waren sehr spezifisch. Zum Beispiel gab es 1983 gab es das Pinball Construction Set oder 86 das Wargame Construction Set. Und es wird ja auch erwähnt, dass ein bekanntes Programm der RPG Maker von 1998 dann war. Also das sind so Tools oder halt Engines, die sich ganz spezifisch auf eine gewisse Art von Spielen festgesetzt haben.

Und ein anderer, den man vielleicht auch sehr kennt, ist das SCUM, das sogenannte Script Creation Utility for Maniac Menschen. Das ist eine Videogame Engine für eben diese Art von Adventure. So, in den 90ern gab es dann das erste Mal die Lizenzierung von Engines wie für Doom oder Quake. Das war aber soweit ich weiß, das wird auch gesagt 3D-Engine, also da geht es dann wirklich nur um die reine Grafik, alles andere musste man noch selbst machen.

Und erst mit Quake 3 und Unreal wurde dann das erste Mal eine Engine erschaffen, die dafür gedacht war, dass man sie auch lizenziert. Und interessant ist dann, wie sich das so ein bisschen entwickelt hat, da blende ich euch auch mal ein Schaubild ein, weil das ist eine große Mindmap.

Beginnend von der Quake Engine hat sich zum Beispiel schon mal die Quake World Engine abgespalten und die wurde verbessert, was die Physik berechnet und den Netzwerk Code drin hat, damit man Quake gegen Online besser spielen kann. Und Valve hat für Half-Life 1 die Quake World Engine benutzt und die haben aber intern überhaupt keinen Namen dafür gehabt.

Also wir haben die jetzt nicht irgendwie fancy genannt, so die super Half-Life-Engine oder irgendwas, das war bei denen einfach Source, oder halt also Source für Quellcode sozusagen. Die haben diese Engine auf jeden Fall stark verändert und haben dann Half-Life 1 damit gemacht.

Und als Half-Life 1 rauskam, als sie den Gold Master von Half-Life 1 fertig hatten, hatten sie natürlich jetzt die Sache, sie wollen auf der einen Seite die Engine weiterentwickeln, aber sie wollen bei dieser Entwicklung keine neuen Bugs einführen in den Half-Life 1 Code. Und deswegen haben sie einen Fork gemacht. Und dieser Fork heißt Gold Source. Und das heißt, also weil es eben für den Gold Master von Half-Life 1 war.

Und deswegen heißt die Engine für Half-Life 1 Gold Source quasi, damit sie den Stand beibehalten können. Und falls ein Bug in Half-Life 1 auftaucht, können sie dann dort eben weiterarbeiten. Und was dann weiterentwickelt wurde für die Source Engine, ist eben der Name, den sie davor hatten, halt einfach nur Source. Daher kommt dieser ganze Name Source Engine. Und die Source Engine wurde eingesetzt für Titanfall und Portal und Team Fortis 2 und so weiter.

Und dann haben sie weiterentwickelt an der Source 2 Engine. Daher kommt auf jeden Fall der Name Source sehr unkreativ. Es steht einfach nur von den Quake-Code. Das Kreativste ist eben die Gold-Source, die sie für Half-Life gemacht haben, für den Gold-Master. Diese Gold-Source-Geschichte, das ist nicht nur der Source-Code und nicht nur eine 3D-Anchance.

Sie haben zum Beispiel auch dort Worldcraft gekauft. Das war so ein Editor, ein Level-Editor und den haben sie umbenannt in Hammer-Editor und dann mit ihm Spiel geschippt und dann konnte man ein Level dafür bauen. Und jetzt als letztes noch eine kleine andere nette Link. Auf GitHub gibt es eine tolle Übersicht über aktuelle Spiele und deren Custom Engines. Und die ist wirklich ausschweifend die Liste und sie hat sowohl ganz, ganz riesige Firmen mit dabei als auch ganz kleine Solo Developer.

Und zwar gibt es zum Beispiel jetzt als Beispiel sieht man da ganz oben Electronic Arts mit der Frostbite Engine und entstehen noch so ein paar Games als Beispiel in dem Fall Star Wars Battlefront 2 und Anthem und so. Und wenn man weiter runter scrollt, dann findet man auch kleinere Studios, die so, So, weiß ich nicht, bis 40 Leute, so 3 bis 40 Leute haben. Was haben wir hier zum Beispiel? Ich hatte hier gesehen, Hades war, glaube ich, mit dabei.

Genau, Supergiant Games haben eine Mono-Based-Engine für Hades, Pyre und Transistor. Und wenn man dann noch weiter runter scrollt, dann findet man auch Männchen, die ganz alleine Spiele machen. Wie zum Beispiel das Spiel Teardown. Das war dieses Voxel-Spiel, wo man alles kaputt machen kann. Und da ist der Dennis Gustafsson und der hat halt eine Custom-Engine dafür geschrieben.

Also das ist eine gute Übersicht über aktuelle Spiele oder aktuelle Spiele und was für Technologie sie benutzen, beziehungsweise wenn sie Custom-Technologie benutzen, dann findet man das hier aufgelistet. Ja, so. Und das war's. Aber eine Sache ist ganz spannend vielleicht, weil diese Frage haben wir uns auch in der ersten Folge gestellt. Da habe ich nämlich Folgendes gesagt, dass ich mal gehört habe, dass bei Piranha Bytes für Gothic Maya als Level-Editor benutzt wird.

Und da hatte Julian gesagt, oh, das finde ich spannend, da müssen wir mal nachfragen.

Und jetzt und die Frage kommt jetzt daher, dass eine Engine, früher, war das vielleicht wirklich nur der 3D-Code und alles andere musste man selbst machen und heute kommen ja so viele Tools mit und wenn jetzt aber bei Piranha Bytes jetzt mal, sagen wir mal, es wäre so, dass ihr jetzt wirklich ein externes Tool benutzt habt, wie jetzt Maya für Level-Design oder so, dann hättest du vielleicht eine andere Definition von was eigentlich so ein Engine ist, Philipp,

weil dann wäre zum Beispiel dieser Level-Detour eben nicht so richtig Teil der Engine, sondern es eigentlich ein externes Ding. Und vielleicht hast du ja, Eine interessante Ansicht, was du unter Engine eigentlich verstehst.

Philipp

Gut, also war das jetzt die Frage, ob wir das wirklich gemacht haben mit Maya, weil das ist nämlich auch eigentlich nicht richtig. Also sowohl die alte Gothic-Engine als auch die Genome-Engine ab Gothic 3 hatten ein eigenes Tooling. eigene. Wir haben klar natürlich eine 3D-Software zum Erstellen der Modelle und so weiter verwendet.

Was vielleicht da ein bisschen zur Verwirrung führen könnte, ist, dass wir bei vielen, Projekten keine High-Smap verwendet haben, wie das typischerweise in vielen Spielen der Fall ist, sondern die Welt selbst, also die Landschaft wurde auch händisch gemodelt. Vielleicht ist das der Grund, woher da diese Verwirrung kommt, aber das ist, also ich glaube was die Definition von einer Engine angeht, also ich glaube, dass das Tooling einfach, eigentlich das A und O ist an der Stelle.

Man kann die tollste Rendertechnologie haben, die die Bilder super schön, super schnell rendert. Das Tooling ist eigentlich das Wichtige. Man muss es zugänglich machen, man muss es für die Benutzer einfach machen. Eigentlich ist das, was am Ende des Tages wirklich eine gute Engine meiner Meinung nach auch ausmacht. Gutes Tooling, gute Zugänglichkeit und natürlich viele andere Sachen wie Stabilität, Performance und natürlich auch eine grafische Qualität.

Aber eine Engine macht ja noch viel mehr als nur Grafik. Da steckt ja alles Mögliche mit drin. Da sind ja auch viele Gameplay-Systeme drin und so weiter und das spielt alles zusammen.

Julien

Ich würde dem so etwas zustimmen. Ich glaube, wichtig ist für mich noch, gerade bei einer Inhouse-Engine, wie flexibel man auch reagieren kann auf Änderungen an, was für ein Spiel wollen wir machen, was wollen wir jetzt hier an Features einbauen, welche Systeme müssen wir jetzt anpassen, welche Tools müssen wir neu bauen. Das ist für mich auch ein Qualitätsmerkmal für eine gute Engine. Dass das nicht dann ein Jahr dauert oder so, bis man da mit irgendwas loslegen kann.

Also Agilität im besten Sinne, nicht zu wechseln mit diesem merkwürdigen Cargo-Kult, aber Agilität ist halt schon wichtig bei uns. Es ist eine schnelle Branche und Und wir wollen Sachen ausprobieren, weil ohne Iterationen kommt man zu keinem guten Ergebnis. Das betrifft alle Teile, alle, Teile des In-Suite-Prozesses, auch Game Design. Da müssen wir halt in der Lage sein, Sachen auszuprobieren, ohne dass es ein riesen Investment wird.

Philipp

Ja, da gebe ich absolut recht. Ich meine, das ist auch der Vorteil von einer eigenen Engine. Also ich meine, Vor- und Nachteile gibt es sicherlich viele, aber gerade die Möglichkeit, also A, hat man natürlich das ganze technische Knowledge in-house, wenn dann die Normierer abgehauen sind. Aber das ist schon mal eine wirklich gute Sache Und auf der anderen Seite kann man die Engine eben komplett auf seine Bedürfnisse anpassen.

Und das ist, ich sag mal, wenn man sich eine lizenzierte Engine anguckt, ist es erstmal die eiligende Wollmichsau im Endeffekt. Die kann alles, ist aber vielleicht in den Sachen, die man jetzt speziell braucht oder machen will, gar nicht so gut. Ja, das ist eben, ja, ich habe andere Anforderungen, wenn ich ein bestimmtes Spiel mache. Ein Autorennspiel hat andere Anforderungen als ein Fußballspiel oder als ein First-Person-Shooter und so weiter.

Und das betrifft auch gerade das Tooling. Ja, das ist, ja, also die Tools so anzupassen, dass das Team optimal zusammen auch arbeiten kann. Das ist zum Beispiel auch eine ganz, ganz wichtige Sache, weil wenn man jetzt, keine Ahnung, zum Beispiel in der älteren Version von Unreal, da war es ein super Problem, da konnten ganz schlecht Leute zusammen an derselben, an demselben Level oder so arbeiten.

Wenn man jetzt ein Open-World-Spiel macht, dann wird es ja noch viel schwieriger und da kann man ja nicht sagen, oh nö, ihr könnt jetzt gerade nicht an der Welt arbeiten, da bin ich jetzt gerade dran, das funktioniert ja nicht. Das heißt, das muss ja irgendwie funktionieren. Klar hat sich das alles in den letzten Jahren auch mal weiterentwickelt, aber ja, vor zehn Jahren war das noch anders. hast du.

Simon

Ja, genau. Also ich habe auch so notiert, man hat dann mehr Kontrolle, ist unabhängig, keine Lizenzgebühren und halt man kann es, genau, das hat Julian sehr schön gesagt in der letzten Episode, der hat gemeint, wir haben die perfekte Portal Knights Engine, also weil es halt wirklich exakt auf das Spiel, angepasst ist und es gibt wahrscheinlich keinen Engine, die so gut ist eben für Portal Knights, wie die, wie die, habt ihr Namen für eure Engine eigentlich?

Julien

Damals noch nicht, heute, jetzt haben wir einen Namen, wir haben sogar eingetragen, das Trademark, die heißt Holistic Stick Engine.

Simon

Aha.

Julien

Und ja, das ist die Engine, die hinter Entschauung steht.

Simon

Okay, aber ihr benutzt die, benutzt ihr die alleine oder benutzt die auch jemand anderes mittlerweile?

Julien

Die benutzen wir alleine.

Simon

Achso.

Philipp

Ich glaube, wenn man anfängt, die Engine dann auch irgendwie noch weiter zu verteilen und andere Teams mit ins Boot zu nehmen, dann gehen einem genau die Vorteile, die wir gerade genannt haben, auch flöten. Und da muss man, glaube ich, ganz vorsichtig sein.

Julien

Vor allem auch diese Flexibilität. Du willst ja natürlich deinen Kunden nicht alle zwei Monate alles kaputt machen, weil du jetzt gerade irgendwie denkst, du musst Sachen ändern. Und wir wollen Sachen noch ändern, verbessern. Und deswegen sind wir ganz glücklich, dass wir das gerade nur selbst benutzen.

Simon

Genau, also gut, ihr müsst wahrscheinlich noch zum Beispiel für Portal-Lines eine gewisse Abwärtskompatibilität bereithalten.

Julien

Nee. Nein. Nein, nein, das ist reine Entschraudet-Engine jetzt.

Philipp

Ach so, das haben wir aber auch nie gemacht.

Julien

Also Portal-Lines-Entwicklung ist ja eh schon abgeschlossen. Leider, muss ich sagen, persönlich. Weil der Publisher, mit dem wir damals zusammenarbeitet haben, leider nicht mehr machen will. Aber das ist ein kompletter Fork, kann man sagen, von der Engine. Also es ist zu irgendeinem Zeitpunkt kopiert worden, abgespalten und dann sehr stark verändert.

Philipp

Das haben wir auch bei jedem Produkt immer gemacht. Wir haben das Ding weggebranched, eigenen, ja, oder Fork ist ja dasselbe, mehr oder weniger. Und dann haben wir den alten Kram von dem alten Spiel irgendwo liegen lassen. Und wenn dann da noch Bugs zu fixen waren oder irgendjemand ankam, oh, jetzt, wir kommen auf die super Idee, lass uns doch davon nochmal eine Switch-Portierung machen oder so, dann haben wir den unveränderten Source-Coder liegen.

Und falls sich noch jemand daran erinnern kann, an, wie es funktioniert hat, kann man es nochmal wieder ausgraben.

Julien

Ich meine, das ist ein gutes Beispiel von Leitz, die, ich weiß nicht, ob ihr das gespielt habt, aber die Inseln, auf denen man da sich bewegt, die sind, wahrscheinlich habe ich die Zahlen jetzt nicht ganz genau im Kopf, aber so ungefähr 500 mal 500 Voxel, breit und hoch, halt vielleicht 300 oder so, also handlich, sag ich mal, das ist alles, auf einem modernen PC kann man das einfach alles in den Speicher laden, was da drauf irgendwas tut und und das alles simulieren und entschraudert es

halt 10 mal 10 Kilometer die Fläche und die Höhe ist glaube ich 4,5 oder so. Also ist das einfach tausendmal mehr so und da kann man, da muss man mit anderen Strategien rangehen oder sollte man, glaube ich, um ein halbwegs gutes Ergebnis zu erzielen. In Borderlines haben wir das ausgenutzt, zu wissen, dass die Inseln so klein sind und konnten dann sehr viel schneller zum Ziel kommen an ein paar Stellen.

So was wie globale Beleuchtung, die auch in Borderlines drin ist, natürlich, Der Artstyle ist ein bisschen anders, ist sehr stilisiert, aber da gibt es auch eine Beleuchtung, die dynamisch funktioniert. So Sachen gingen einem viel einfacher, weil man halt nur eine kleine Welt hatte.

Philipp

Außerdem ist ja Kompatibilität auch eine Illusion. Also ich meine, das ist ja auch was, womit die trotz, ich lizenziere eine Engine wie die Unreal Engine und da kommt eine neue Version und dann möchte ich die gerne integrieren und dann klatscht mir alles an die Decke. Also das kommt da auch nicht selten vor. Da werden Features gestrichen, da werden Sachen geändert.

Nicht umsonst gibt es dann auch teilweise Entwicklungen, die dann eineinhalb Jahre oder so von der neuesten Engine-Version zurückliegen, weil die einfach nicht mehr integrieren, um nicht das Risiko einzugehen, sich damit irgendwelche Probleme, irgendwelche Fehler, irgendwelche Inkompatibilitäten ins Haus zu holen. Das ist, also es macht keiner eine Engine, die komplett abwärtskompatibel ist.

Julien

Das ist ganz besonders schlimm für Spiele wie Entschraudert oder Portal Knights, die darauf angelegt sind, dass sie lange laufen. Also die Idee bei Entschraudert ist ja nicht, vielleicht wie bei Renner-Bytes bei den Spielen, dass oft so jemand von außen wirkt und man releast das Spiel und dann macht man das nächste Spiel.

So war es auch. Sondern Entschraudert ist, wir wollen es gerne jetzt noch jahrelang erstmal erstmal in EA betreuen noch, ist ja noch gar nicht fertig, und danach aber auch noch weiter mit mehr Content befüllen. Und je länger dieses Projekt dann geht, wenn das zehn Jahre geht, und man hat einen externen Engine-Partner, dann wird das ganz schön schwierig, glaube ich, aus langer Sicht.

Philipp

Dann landest du eh da, dass du zum Großteil viele Sachen einfach selber machen musst, weil du, dafür, dafür sind wir dann auch zu klein, um dann irgendwie von Unreal den super-duper, Support zu bekommen, wie das zum Beispiel irgendwie ein CD Projekt oder sowas bekommt dann, wenn die jetzt sagen, oh, wir machen einen neuen Witcher-Tal mit Unreal, dann freuen die sich natürlich und dann kriegen die da irgendwie ein

paar Programmierer abgestellt, die dann die Features klöppeln, die die haben wollen. Aber ich meine, ja, das ist nun mal... Eine andere Dimension.

Simon

Ja, das sind sehr gute Punkte für Custom Engines. Ich wollte auch noch mal ganz kurz eure Perspektive einholen, was nicht so cool an Custom Engines ist, falls es da was gibt. Also ich meine, ihr habt ja, also meine Perspektive könnt ihr in der letzten Episode alle hören, die jetzt zuhören. Da gibt es so ein paar Punkte, die haben mir nicht so gut gefallen, aber aus Programmierersicht, von eurer Sicht ist es ja auch mal spannend.

Vielleicht, Philipp, was sind denn so Sachen, wo du sagst, so, boah, das nervt schon ein bisschen.

Philipp

Da gibt's eine Menge. Also, ich mein, gut, es hängt immer von den Umständen ab. Also, ich mein, jetzt bei Keen ist es eine Engine, die wirklich auch auf das Spiel zugeschnitten ist und ich glaub mal, das Spiel in der Form kann man nicht mit einer anderen Engine jetzt einfach aus dem Stehgreif machen. Also, ich könnte nicht das Spiel machen, eine Engine lizenzieren und das mit Lust zusammen klicken.

Das ist ja kein First-Person-Shooter oder ein bekanntes, einfaches Konzept, was was sozusagen in der Engine schon standardmäßig machbar ist. Das war bei Piranha Bytes eigentlich anders. Also ich sage mal, 3D-Rollenspiele in der Form hätte man auch mit einer anderen Engine machen können. Das hat natürlich dazu geführt, dass wir technisch eigentlich immer auch ein gutes Stück hinterhergehängt haben.

Wir waren auch immer chronisch unterbesetzt im Programmierbereich, haben deswegen auch, sage ich mal, nur die nötigsten Features immer reingekriegt, wobei dann teilweise auch die Grafik hinten angestellt wurde, weil das Gameplay dann doch wichtiger war. Also was nützt mir das schönste Spiel, wenn es beschissenes Gameplay hat? Da habe ich auch nichts von. Deswegen war die Grafik immer eher so ein bisschen stiefmütterlich behandelt.

Und klar, natürlich das Tooling hatten wir gerade angesprochen, ist ein ähnliches Problem gewesen. Die Artists waren auch regelmäßig sehr unglücklich.

Deswegen kann ich deine Haltung da auch gut nachvollziehen. Klar, es ist eben keine hochgepolischte, superduper Unreal-Tooling-Gedönse, wo man im Prinzip alle möglichen Shortcuts hat, wo man mal eben per Druck und Drop hier rein und da rein, das ist eben alles ein bisschen umständlicher, ein bisschen kronkliger, stürzt ab und zu mal ab, weil irgendjemand irgendwas geändert hat, also bei Unreal kriegst du dann nichts. Vielleicht Stable Version, die ist ja schon durch eine QA gelaufen.

Das ist natürlich da nicht der Fall. Da lädt irgendjemand was hoch und dann fliegt es einem um die Ohren. Das ist für einen Artist natürlich auch frustrierend. Also ja, kann ich schon nachvollziehen. Ich sage mal, aus Programmierersicht ist es natürlich schöner. Ja, ich sage mal, es war auch so ein bisschen natürlich mein Baby. Und ja, deswegen hat mich das auch schon sehr traurig gemacht, als ich das ganze Ding natürlich dann aufgeben musste.

Weil ich habe da unglaublich viel Energie und Zeit reingesteckt. Ja, also das war schon fast obsessiv teilweise. Und das ist natürlich dann etwas, wovon man sich schwer trennt. Und das war natürlich auch immer eine Diskussion in der Firma oder beziehungsweise eher zum Ende hin eine Diskussion.

Die lieber die Unreal Engine und hin und her, weil unser Argument war eigentlich immer, wenn wir jetzt auf eine andere Engine umsteigen, dann brauchen wir eine ganz schön lange Zeit, um die ganzen Systeme anzupassen, die wir jetzt haben, die auf uns maßgeschneidert sind. Die müssen alle integriert werden. Wir brauchen ein Jahr, eineinhalb Jahre oder so, bis wir überhaupt, sag ich mal, wieder was haben, wo zum Beispiel die Story anfangen könnte zu arbeiten und so weiter.

Und das ist etwas, was dann in den toughen Zeitplänen, die wir da immer hatten, eigentlich nicht wirklich gut funktioniert hat. Und deswegen haben wir uns eigentlich die ganzen Jahre immer dagegen entschieden, diesen Schritt zu gehen. Und jetzt zum Ende hin ist es allerdings so gelaufen, dass wir probiert haben, ja, einen Investor zu finden, der mit uns weiterarbeiten will. Vermutlich jetzt nicht mehr unter dem Namen Piranha Bytes.

Wahrscheinlich wäre das dann Piranha Bytes Red geworden oder so, was weiß ich, keine Ahnung. Aber, ja, und da war dann auch die Diskussion natürlich regelmäßig wieder da und am Ende des Tages gab es auch eine Entscheidung, wo gesagt wurde, so, wir wollen jetzt auf die Unreal Engine gehen, alle außer ich, so, von den Leuten, die in der Firma was zu sagen hatten.

Und ja, das hat für mich dann auch den Ausschlag gegeben, dass ich gesagt habe, ja, da habe ich aber keine Lust zu, das möchte ich nicht. Also selbst wenn das jetzt weitergegangen wäre mit Piranha Bytes, hätte ich mit der Unreal Engine das nicht machen wollen, weil ja, da bin ich dann lieber bei einer Firma wie Keen und kann. An tieferen Systemen arbeiten, kann Grafikprogrammierung machen und so weiter. Das, was ich machen möchte, anstatt dann irgendwie.

Bugs in der Unreal Engine zu fixen. Das ist irgendwie... Dafür habe ich jetzt nicht 20 Jahre lang mir alle möglichen Zeugchen ins Kopf gepeitscht.

Simon

Ja, das... Das habe ich schon mal gehört, dass das nicht so attraktiv ist für jemanden, der so richtig tief in der Programmierung drinsteckt, dann wirklich, wie du es eben sagst, eher so aushelfend da zu sein, weil der Hauptkram wird halt von irgendwelchen Epic-Männchen gemacht.

Julien

Also ich meine, die Situation in der Spieleindustrie, gerade auch in der deutschen, ist natürlich betrüblich gerade. Aber für uns, die wir irgendwie gegen den Strom zu schwimmen scheinen gerade, zu Glück, war das auch wieder ganz gut. Wir haben jetzt echt uns verstärken können mit Leuten, die auch bei Deck 13 gegangen sind, weil sie keinen Bock haben auf Unreal oder auch viel Werbung gekriegt von anderen.

Also das ist für einige, die bei uns jetzt im Team sind, ein Argument gewesen, dass sie keine Lust haben auf Unreal.

Simon

Ja, das ist ganz spannend, weil bei denen, weiß ich nicht, bei mir ist es so, oh ja, Unreal ist schön, tolle Tools und das ist dann je nach Provision anders, das stimmt. Aber ich muss auch eins sagen, das stimme ich auch zu, selbst wenn so eine Engine clunky ist, wenn man da einmal so drin ist und über, weiß ich nicht, drei oder fünf Jahre damit gearbeitet hat, kennt man alles wirklich aus dem Schlaf.

Und dann, wir sind jetzt nämlich auch auf Anvil umgestiegen und ich hatte, obwohl ich wirklich dieses Engine nicht so dolle mag, kurz Bedenken, ob das eine gute Idee ist, weil ich kenne alles auswendig, ja, und jeden Bug, jedes Problem, jeden kleinen Hickhack kann ich irgendwie umschiffen und so. Und sich dann jetzt nochmal neu einzuarbeiten, ist durchaus auch wieder so eine kleine Hemmschwelle.

Julien

Aber klar, ich meine, am Ende ist das natürlich auch eine wirtschaftliche Geschichte. Ich meine, wir bei Kien sind ja 60 Leute. Natürlich spielen da persönlich Präferenzen eine Rolle, aber es spielt auch halt Firmenstrategie eine Rolle und andere Sachen, die so ein bisschen größer sind, um zu überlegen, welche Entscheidung man da trifft, die Erfahrungen aus der Vergangenheit. Und spiel da mit rein. Also es ist jetzt auch nichts, was bei Keen jetzt ein Selbstläufer ist jedes Mal.

Wir gucken ja schon, wir überlegen dann schon, macht das Sinn, in Zukunft da weiterzumachen oder nicht?

Simon

Ja, und ich fand dein Argument auch sehr, sehr nachvollziehbar mit eben gerade, nicht abhängig zu sein von einem externen Anbieter, wenn man ein Spiel macht, was eben zum Beispiel eben 10 Jahre laufen soll. Also das macht auf jeden Fall Sinn, weil ja, ich kenne das nämlich auch, dass man mit den alten Unreal Engines dann immer noch bleibt, weil man nichts kaputt machen will und auch alte Max-Versionen oder Maya-Versionen, Und auf denen bleibt, damit auch da nichts kaputt geht.

Und dann arbeitet man nämlich mit richtig alter Gurkensoftware teilweise.

Julien

Max 2014 haben wir noch im Einsatz, ja.

Simon

Ja, genau. Also das ist nicht so ungewöhnlich, genau. Aber trotzdem, also genau, ich kann das auch verstehen. Und ich muss auch sagen, ich habe ein Video gesehen von einem Tool für Entschraudet. Da ging es darum, da habt ihr gezeigt, wie man so ein bisschen so ein Level baut, wie man so ein bisschen Geometrie baut. Und das sah cool aus. Also die Tools so, der Level-Editor, das sah alles echt schmuck aus, muss ich sagen.

Julien

Ja, muss man sagen, unser Lead Environment Artist, Jonas, der ist trotz aller Warzen, die überall so sind, immer noch sehr happy mit der Art und Weise, wie er die Welt da bauen kann. Weil das auch etwas ist, was von der Philosophie her, glaube ich, so ein bisschen aus der Mode gekommen ist. Also generell, dass man so Brushes hat, mit denen man die Welt bauen kann im Editor. vor und nicht dieses klassische Heightmap, bloß stellen ein paar Rocks rein, die dann auch irgendwie hässlich intersekten.

Also das war, das gefällt ihm schon sehr gut, wie er da arbeiten kann und wie doch flüssig das dann geht.

Simon

Genau, also das sieht auf jeden Fall sehr schmuck aus, aber trotzdem, trotz dessen, dass die Engine jetzt, du die so gut kennst und ihr auch coole Tools habt und so, gibt es irgendwas, wo du sagst, naja, da kommt doch ab und zu mal ein graues Härchen oder so.

Julien

Ja, sieht man ja, es ist holler grauer Haare.

Simon

Einfach aus Interesse halber, es ist einfach eine sehr spannende Perspektive, glaube ich, von jemandem, der so lange schon dabei ist und so, ob es dann doch noch Sachen gibt, die einfach mal ein bisschen nervig sind oder einfach.

Julien

Also es gibt sicher Bereiche, in die einfach Unreal oder It's Epic einfach aufgrund ihrer Größe und aufgrund der Mittel, die sie haben, Leute draufwerfen können auf ein Spezialproblem und dann wirklich eine technische Lösung finden können, die wahrscheinlich in vielen Bereichen das überschreitet, was wir können. Das ist schon so. Wir haben jetzt keinen Nenner als selbst gebaut oder so. Unsere Geometrie-Pipeline funktioniert auch komplett anders.

Das, deswegen würde das gar nicht funktionieren mit der Neid, aber sowas in dem Ding oder deren Kompressionsalgorithmen, dass sie einfach Red Game Tools kaufen und dann sagen, okay, die, zehn besten Programmierer der Welt, die sich mit Kompressionen auskennen, die arbeiten jetzt halt für uns.

Klar, das hilft, ja, der Unreal, Engine natürlich, ja, dass solche, das muss man auch erstmal dann einbauen und benutzen und so weiter und das ist dann wirklich, und ich glaube, am Ende muss dann auch der Spieleentwickler vor Ort immer auch noch wissen, welche Checkboxen in welche Kombinationen drücken Also ich glaube, ein bisschen Hintergrundwissen braucht man am Ende immer.

Also die Illusion, dass man da komplett ohne Ingenieure auskommt, die ein gewisses Wissen haben darüber, was da im Hintergrund passiert, das halte ich eh für schwierig. Aber das... Wenn ich mir jetzt was wünschen könnte, dann hätte ich so ein paar von den Sachen schon gerne, ab und zu.

Simon

Okay, ja, okay. Aber jetzt nochmal was zu Positiven. Und das ist so eine Frage, die kam von Timor. Und zwar ist die Frage, gibt es etwas, worauf ihr bei der Custom-Männchen besonders stolz seid?

Julien

Jetzt bei der konkreten, mit der wir gerade arbeiten?

Simon

Ähm, ja, also ich meine, ich glaube, es ist auf jeden Fall sehr, sehr spannend. Also wer es nicht weiß, das Entrouted ist voxelbasiert und das heißt, man kann so sich durch alles durchgraben und so. Das ist wirklich beeindruckend technisch. Aber vielleicht gibt es ja abgesehen davon noch was, wo du sagst, boah, das ist so cool.

Julien

Also ich finde es immer, es ist ja ein Teamsport, dieses Spielentwickeln. Ich finde es immer sehr wichtig, wenn die anderen Mitglieder des Teams halt auch ihren Job gut machen können und ich das Gefühl habe, die können halt ihre beste Arbeit da reinbringen ins Spiel. Und da steht die Engine und die Tools nicht im Weg, sondern helfen halt im Idealfall noch. Und insgesamt entsteht da was Cooles. Also das Gesamtprodukt steht für mich da schon im Vordergrund.

Das heißt, ich würde sagen, ich bin schon stolz, ich bin so erzogen worden, dass mir das Schwierige über die Lippen kommt, dieses Wort. Aber ich bin, wenn überhaupt, dann stolz halt über die Spiele, weil am Ende diese ganze Entwicklungsentwicklung, also wir machen halt Spiele, das ist halt Unterhaltung und Portal Knights war cool und ich fand auch Secret 3 cool, auch wenn das nicht Secret 3 heißen soll.

Und ich finde auch Uncharted sehr cool als Gesamtprodukt, einfach ohne, wenn du da warst, einfach so ass ist, ja, das ist ein cooles Ding und da habe ich mal einen Teil dazu beigetragen.

Simon

Ja, ja.

Philipp

Ich wollte auch mal ganz kurz noch was zu sagen, weil ich habe nämlich, wir haben ja bei Piranha Bytes immer, sag ich mal, in so drei bis dreieinhalb Jahren Zyklen die Spiele rausgehauen und haben gerade was die Technik angeht und Engine angeht immer richtig auf die Fresse gekriegt. Ja, also es war immer alles Altbacken, hölzerne Animationen, ganz schlimme Technik, benutzt doch die Unreal Engine und ich sag mal, da vergeht es einem dann ganz schnell, dass man da stolz drauf ist.

Ich habe irgendwann aufgehört, mir überhaupt die ganzen Kommentare und so weiter da anzugucken, weil es einfach nur noch frustrierend ist. Ja, und deswegen finde ich es ein bisschen schade dann, weil ich muss Julian recht geben, es ist genau das eigentlich, wofür man es auch macht. Also ein gutes Feature, was man reingebracht hat und die Art, das freuen sich darüber, das ist was Cooles. Dafür macht man es. Und eigentlich will man auch, dass der Kunde am Ende des Tages sagt, wow, cool.

Und wenn man dann irgendwie, ja, manchmal sind eben einfach die Schreihälse sehr laut.

Julien

Ja, das würde ich aber relativieren. Ich glaube, ihr habt schon sehr viele Fans gefunden und die Schreihälse im Internet sind halt immer lauter als die schweigende Mehrheit, würde ich sagen. Also ich habe das schon mal auch mitgekriegt, gerade Gothic 1 war ganz schön gagelig, muss ich sagen, aber die städteren Spiele, das ist schon ordentlich gewesen. Also das ist auch eine ganz andere Komplexität dahinter.

Es gab ja gar nicht also die ganzen vergleichbaren AAA-Spiele, die hatten ja einfach Faktor 10 plus mehr alles.

Philipp

Ja, das weiß natürlich der Kunde am Ende des Tages nicht. Der steht im Laden und sieht das Ding für 60 Euro und das Ding für 60 Euro. Absolut.

Julien

Und das ist auch fair, das muss man auch sagen. Also vielleicht kann man sagen, vielleicht hätte die einfach kleinere Spiele machen sollen oder müssen.

Philipp

Ja, da kommen Da kommen andere Faktoren dazu, aber da gebe ich dir vollkommen recht und da war ich auch nie so begeistert von diesem Größenwahn, das ist absolut richtig. Nein, da hast du schon recht. Es ist eben einfach, wenn man so Kritiken da durchliest, ist es immer so, ja, und die Atmosphäre und dies und das und alles so toll, aber die Engine, oh, die ist so veraltet und warum nehmen die nicht an? Also das ist schon so, ich sag mal, so ein Gros, so ein Tenor,

den man da rausgehört hat. Und das, ja, das hat mich dann häufig auch ganz schön demotiviert, muss ich sagen. Aber ja, es ist eben, es ist eben so. Man muss es dann einfach ausblenden.

Simon

Also ich meine, es bringt dir jetzt auch nichts so, aber damals, als ich 2004 bis 2006 an der Games Academy war, haben wir die Gothic-Screenshots gesehen, ich habe euch die jetzt gerade mal gepostet und das war für mich zumindest super beeindruckend, weil ich kam da noch aus der Zeit so, also ein Dach zum Beispiel wäre halt zwei Vierecke, also zwei Quad, so eins für jede Dachhälfte.

Und dann haben wir diese Screenshots gesehen, das war so detailliert, also da ist uns schon mal die Kinnlade runtergefallen.

Philipp

Gothic 3 war das, ja.

Simon

Genau, und das fand ich, also ich finde das auch heute noch hübsch und sehr ausmodelliert und so.

Philipp

Naja, Gothic 3 hatte dafür das Bug-Desaster.

Simon

Das stimmt.

Philipp

Das darf man auch nicht vergessen.

Simon

Genau.

Philipp

Und deswegen haben wir zum Beispiel, also ich habe nach Gothic 3, also bei Risen 1, war ich das erste Projekt, was ich als Lead-Programmer gemacht habe. und da haben wir dann zum Beispiel gesagt, okay, jetzt vergessen wir alles, jetzt geht's um Stabilität.

Wir wollen nicht wieder so ein Bug-Desaster haben, dass uns alles um die Ohren fliegt und da haben wir eigentlich so viele, also haben wir eigentlich fast, alle Programmierer die erste Zeit draufgeworfen, um dafür zu sorgen, dass das Spiel einfach eine gewisse Stabilität bekommt und wir die Crashes in den Griff bekommen und so weiter und darunter leiden dann natürlich potenziell wieder irgendwelche grafischen Features, die man dann in der Zeit nicht implementieren kann.

Aber so muss man eben die Prioritäten setzen. Und das Problem mit den Bugs haben wir dann auch Gott sei Dank nicht mehr gehabt in der Zukunft, in dieser Größenordnung. Da bin ich zum Beispiel stolz drauf.

Simon

Ja, guter Punkt. Genau, das ist nämlich krass. Du hast nämlich Coffee 3, Risen 1, 2, 3 und an Alex mitgearbeitet. Also echt ganz, ganz viel Erfahrung.

Julien

Produktivität kann man auch stolz drauf sein. Aber es ist ja schon eine ganze Menge geschippt einfach.

Simon

Ja, und ich muss auch sagen, das ist so eine, also damals, wie ich eben meinte, so Games Academy, da ist man noch so ein bisschen so, ja, ich will später mal bei Blizzard arbeiten und nur die besten, krassesten Spiele machen oder so. Und ich muss auch sagen, selbst wenn man jetzt so, weiß ich nicht, zum Beispiel jetzt ein Gothic 3 nimmt, was dann eben buggy rausgekommen ist, es ist halt trotzdem eine Riesenleistung sowas irgendwie überhaupt auf die Beine zu stellen.

Und also da bin ich auch mit den Jahren sehr.

Philipp

Sehr viel Vor allem mit 35 Leuten.

Simon

Ja, krass. Also ja, es ist auf jeden Fall eine tolle Leistung.

Philipp

Und wir sind nicht gewachsen. Wir sind sogar geschrumpft. Gothic 1 waren noch fast 60 Leute. Und wir waren von da an, waren wir eigentlich im Schnitt um die 30 bis 35 Leute.

Simon

Aber, also ich weiß nicht, ob du das sagen kannst, aber das klingt, counterintuitiv irgendwie, weil Gothic 1 ist ein tolles Spiel, bis heute noch hochgeliebt. Ich würde jetzt auch mal sagen, dann halt auch ein Erfolg. Und ich hätte jetzt gedacht, man wächst da in die andere Richtung.

Philipp

Ja gut, aber darf man nicht vergessen, dass das Neuland war. Ein Großteil der Leute, die da mit Gothic 1 mitgearbeitet haben, die haben vorher noch nie irgendwas mit, die haben gesagt, oh cool, Computerspiele, da mache ich mal irgendwie auch ein bisschen mit. Und da ist natürlich eine riesen Lernkurve und verbreitet man natürlich auch eine ganze Menge Energie Technologie, ja.

Julien

Da muss man ja auch die Spiele, also du weißt jetzt eben, hakeligere Animationen und so, das ist ja so ein gängiges Ding, was man bei Spielern oft nachgesagt hat, das ist ja auch nicht nur Technik. Also natürlich ist das ein bisschen Technik, aber es hilft halt enorm, wenn man jemand erfahrenen hat, einen Technical Artist oder einen Animator, der erstmal genau sagt, was er will.

Er erstmal sagt, okay, ich brauche das und das und das, ich brauche folgende Tools, ich brauche einen Animationsgraf, ich brauche dieses Blending Features, weil dann kann man auch als Programmierer da ganz anders rangehen und die Sachen machen. Oft ist es so, dass ein Programmierer dann einfach sich hinsetzt und den Task kriegt, mach mal ein Animationsding, hat davon selbst gar nicht so viel Ahnung, recherchiert da ein bisschen, macht da irgendwas und dann weißt du, das ist halt kein,

da kommt nicht die beste Qualität raus aus diesem Ansatz. Das ist schwierig.

Philipp

Da gebe ich dir vollkommen recht, das ist nämlich auch genau das Problem, ich sag mal, der Laie hat von Tuten und Blasen keine Ahnung, hat aber seine zehn Finger, um im Internet irgendwas zu schreiben und wirft alles in einen Topf. Natürlich wird dann auch irgendeine schlechte Textur als schlechte Engine tituliert. Das ist nun mal, das liegt in der Natur der Sache, weil die Leute nicht genau wissen, die können das nicht auseinanderhalten. Was ist Technik, was ist Content?

Das geht ja fließend ineinander über. Ich kann mit der Unreal Engine auch ein grottenhässiges Spiel machen, das ist überhaupt kein Problem.

Julien

Ich vor allem.

Philipp

Ja, ich auch.

Simon

Aber, Philipp, gibt es denn etwas, so einen technischen quasi Generationssprung, also ich habe mir aufgeschrieben, damals zum Beispiel gab es das Wasser im Morrowind, das war so ein ganz großes Ding, so wow, das ist so ein, was ist, okay, ich such mal den Screenshot raus, Morrowind. Morrowind Water. Das war damals, da ist die Kinnlade runtergefallen. Das sah halt aus, also ich meine, heute ist das, warte, ich poste euch ein Bild. Ich blende das jetzt auch hier als Podcast-Bild ein.

Das war halt damals was, das hat man bis dahin noch nicht gesehen. Das war einfach diese Reflexion. Das war einfach unerhört damals und da ist die Kinnlade schon mal runtergefallen.

Julien

Das sagt Seicho, das ist ein Bug, weil die Screenspace-Rectus passt überhaupt nicht. Wenn man es da oben sieht irgendwie, aber gut. Ja, klar. Ja klar, es war eine andere Zeit. Es ist einfach CubeMap.

Philipp

Planar Reflection.

Julien

Oder Planar, weiß ich nicht, auf jeden Fall passt sie gar nicht.

Philipp

Oder Planar Reflection, obwohl man weiß es nicht. Keine Ahnung.

Simon

Genau, aber du hast jetzt an so vielen verschiedenen Spielen halt auch mitgearbeitet und die Engine immer weiter ausgebaut. Und da dachte ich, vielleicht hast du so ein paar Features, zum Beispiel so ein Wasserding, wo du gesagt hast, boah, das ist echt cool geworden, das hat Spaß gemacht, das war ein cooles Ding, was du da gebaut hast.

Philipp

Ja, es gibt jedes Mal, wenn man, also ich sag mal, wir haben immer bei jedem Projekt im Prinzip die Ente ein bisschen weiterentwickelt. Wir haben uns mal so zwei, drei Dinger rausgenommen, die Probleme waren in der Vorher-Version und die wir dann entweder komplett neu gemacht haben oder eben weiterentwickelt haben.

Und ja, wir haben jetzt für das noch nicht announcede Nachfolgeprojekt von Elex 2, man kann sich vermutlich denken, wie es heißen sollte, haben wir auch schon relativ viel entwickelt gehabt. Und da habe ich die ganze Grafik-Engine eigentlich komplett auf links gedreht und unglaublich viele Sachen neu gemacht. Ja, und da war ich eigentlich auch ziemlich stolz drauf und fand es ziemlich cool, hätte mich echt darauf gefreut, da mit einem Spiel zu sehen.

Aber ja, ist auch sicherlich ein Stück weit ein Problem dabei gewesen, weil ich auch einfach da ja, zu hinten dran war von der Zeit her, es war alles zu viel gewollt, es ist ja häufig so, dass dann, ja, Es ist wie mit so einem riesen Jenga-Turm. Man muss eben gucken, wenn man ein Steinchen rauszieht, dann wackelt der ganze Turm. Dann kommt eins zum anderen und dann muss man das noch neu machen und dies noch neu machen. Und deswegen hat das ganze Ding eigentlich viel zu lange gedauert.

Aber das wäre, glaube ich, cool gewesen.

Julien

Ich habe mir erst etwas gezeigt davon und ich fand es schon sehr beeindruckend.

Philipp

Dankeschön.

Simon

Ich habe in der Recherche ein paar Sachen gefunden, die erwähnt wurden in verschiedenen Artikeln, was jeweils die Spiele neu hinzubekommen haben. Und eine Sache war, für Risen 2 hattest du eine Terrain-Engine. Erstmals in einem Piranha-Bale-Spiel, Ausrufezeit, eingebaut. Und das ist ja ganz interessant, weil auch in Shrouded hat der superinteressantes Terrain. Aber das hat wahrscheinlich nicht viel miteinander zu tun.

Aber immerhin gibt es die Parallele, dass ihr beide coole Terrain-Engines hattet. Und ich hab mich da gefragt, wie hat die eigentlich funktioniert? Also, ja.

Philipp

Also das war eine klassische High-Snap-basierte Terrain-Rendering-Geschichte. Also ein Schraube mit den Voxeln, das finde ich schon auch sehr cool. Das hätte ich mir auch mal gewünscht. Nur, ich sag mal, wir haben dafür natürlich nicht wirklich die Anwendungsfälle gehabt. Nur damit die Artists ein paar Höhlen da reinschrauben können, brauche ich jetzt nicht unbedingt eine richtige Voxel-Engine zaubern. Da können sie auch ein Loch ins Terrain schneiden und dann gemoddelte Höhle

reinsetzen. Das funktioniert für die paar Höhlen dann genauso gut. Deswegen ist das so eine Kosten-Nutzen-Geschichte. Aber es ist natürlich sehr viel cooler, keine Frage.

Simon

Aber das sind nämlich genauso Sachen, wo dann wirklich die Custom Engine ihre Stärke ausspielt. Dass man wirklich Technik einbauen kann, die jetzt vielleicht irgendwie nicht ... Ich weiß nicht, ob es mit Unreal möglich wäre, so da Boxel zu bauen wie jetzt zum Beispiel in Entrouded.

Julien

Ja, wirklich sicher. Aber nicht out of the box, denke ich. Man muss dann halt auch da viel draufsetzen. und wir reden jetzt ganz viel über Grafik und so, aber Entrouded und Portalize4R sind ja auch, Datenbankmonster mit tausenden an Items und tausenden Rezepten und NPCs und Sachen, die rumstehen, das hattet ihr ja auch bei euren Spielen, da die ganzen Regeln einzuhalten und alles quasi konsistent zu halten und das so, dass man auch ein neues Item einbauen kann, ohne dass alles zusammenfällt,

ist auch schon eine ganze Menge Arbeit Und das ist eine ganze Menge Komplexität, die man da managt. Ähnlich groß, würde ich sagen, für dieses ganze Grafikteil. Wenn wir jetzt, weil Shouted war für uns die große Herausforderung, diese große Welt zu machen und die Handcrafte zu machen. In Portal Knights war ja alles prozentual erzeugt, mit Sternchen dran, weil wir haben irgendwann später realisiert...

Irgendwie macht es auch total Spaß, so ein paar Burgen zu bauen und die als Ding im Spiel zu haben, weil Burgen prozentual generieren haben wir uns nicht dran getraut. Also das sah nicht so gut aus. Und dann haben wir gesagt bei Unshadowed, wir wollen dieses, ja, keine Ahnung, was man über Zelda erkennt oder so. Du hast wirklich das Gefühl, das ist eine Welt und du entdeckst die und man läuft da rum und sieht Sachen und die sind interessant und die Welt an sich sollte interessant sein.

Und wir hatten nicht geglaubt, dass das über post-dorale Techniken, dass wir das hinkriegen.

Simon

Oder halt aus Gothic oder Alyx oder so.

Julien

Oder aus vielen anderen Spielen, die wir kannten und gerne haben, dass die Welt schon einen eigenen Charakter eigentlich darstellt im Spiel. Und dass man die Welt entdeckt und dann on top kommt dann noch das Gameplay natürlich. Aber das war eine riesen Herausforderung für uns. Wie schafft man das in so einer großen Welt mit so einem kleinen Team?

Wir haben eigentlich am Anfang nur einen Environment Artist gehabt und das war so der Startpunkt von vielen Überlegungen und da haben wir sehr viel in Tools investiert, die einen Environment Artist so effizient wie möglich zu machen. Das war so der Startpunkt von vielen Überlegungen.

Simon

Habt ihr dann extra noch neue Leute eingestellt für das Tooling oder mussten dann Leute, die vorher was anderes programmiert haben, plötzlich in Tools gehen? Weil man, also das klingt jetzt so wie, die Hälfte des Teams hat plötzlich Tools dann kurz gemacht, aber ihr hattet ja vorher wahrscheinlich nicht die Hälfte des Teams nur für Tools da.

Julien

Ja, Tools haben wir dann alle gemacht, aber das waren jetzt nicht nur UI-Tools, sondern wir waren viel beschäftigt auch mit der Asset-Pipeline und mit dem Ganzen, wie konvertieren wir Sachen, wie bauen und wir Sachen zusammen und so weiter, dass das funktioniert. Da haben viele Leute dran gearbeitet. Ein paar waren, glaube ich, immer im Rendering unterwegs, aber die meisten waren dann damit beschäftigt, ja.

Simon

Und wie groß ist das Team aktuell so?

Julien

Also insgesamt 60, du meinst das Programmierteam?

Simon

Nö, nö, so das gesamte Team einfach.

Julien

Das gesamte Team 60 mit Publishing dabei. Also wir haben ja Self-Publishing, das heißt da sind acht Leute, glaube ich, im Publishing so roundabout.

Simon

Das ist ja interessant. Das heißt, ihr seid jetzt so groß wie das Gothic 1 Team damals. Natürlich wahrscheinlich wesentlich erfahrenere Leute so, aber damals waren es tatsächlich...

Philipp

Da kannst du von ausgehen, ja. Interessant.

Simon

Krass. Ich habe noch eine spezifische Frage an Philipp. Ich fand es einfach ganz spannend. Und zwar habe ich in einem Artikel, warte, den schicke ich euch, von PC Hardware etwas gefunden über die Alex, genau. Da sagt jemand, und zwar fängt mit Philipp an, hört mit Krause auf, das Wasser wurde komplett ersetzt. Wir haben nun eine Flüsse-Simulation bis ins Meer. So, da würde ich jetzt mal gerne wissen wollen, was das bedeutet.

Philipp

Ja, das ist im Prinzip eine statische Simulation. Im Prinzip werden die Flüsse geplaced und dann werden die einmal durchsimuliert, wie das Wasser fließen würde.

Und dann wird das mehr oder weniger abgebaked. aber es wird eben simuliert also vorher war es eben einfach scrollende, auf einem Schlauch scrollende, Flusstexturen das sah immer sehr statisch aus und dann in der Simulation werden dann eben auch Hindernisse und so weiter berücksichtigt also wenn Steine im Fluss liegen dass die Textur dann drum herum fließt also ihr.

Simon

Baut eine Flowmap dynamisch.

Philipp

Genau, also die Flowmap wurde mehr oder weniger dynamisch abgebaked und ja das war im Prinzip die das Ganze umzusetzen. Voodoo dahinter. Das Schwierige ist es natürlich, das auf einer Größenordnung von 8x8 Kilometer hinzukriegen. Das passt nämlich nicht wirklich in irgendeinen, GPU-Speicher vernünftig und das muss man dann aufteilen und dann wird es auch wieder ein bisschen schwierig.

Simon

So, jetzt können wir im Vergleich fragen, wie werden denn Flüsse in Entschraudet gehandelt? Habt ihr auch da eine coole Technik?

Julien

Gar nicht. Wir haben noch kein Wasser.

Simon

Warte mal, ich habe das schon gespielt. Stimmt, ich habe kein Wasser gesehen. Aber ich dachte, vielleicht habe ich einfach noch nicht die Ecken der Welt gefunden. Kein Wasser.

Julien

Nein, wir haben noch kein Wasser. Wenn du Wassersimulationen sehen willst, dynamische, kannst du Port-on-Lines spielen. Da haben wir eine dynamische Wassersimulation drin. Aber das sagte ich ja vorhin bereits, es hilft halt enorm, dass die Inseln sehr viel kleiner waren. Die verhält sich immer noch ganz cool. Also ich kenne wenige Spiele, vielleicht kenne ich die auch noch nicht, die so eine dynamische Wassersimulation haben.

Also es macht mir immer noch sehr viel Spaß, in Port-on-Lines einfach zum See zu gehen und unten ein Loch einzubohren und zu gucken, was passiert. Und mal gucken. Wir haben, Wasser steht auf der Roadmap von Uncharted und wir wollen das halt, wenn wir es machen, richtig machen und müssen mal gucken, wie wir das hinkriegen. Ist noch in der Arbeit. Weil das Problem bei Uncharted für die Zuhörer, also vielleicht, man kann halt wirklich die ganze Welt terraforen.

Das heißt, man kann überall Löcher rein bohren. Klassischerweise macht man in solchen Rollenspielen Wasser und Seen und Flüsse halt doch relativ statisch. Das heißt, man baut die irgendwo ein. Und bei uns kann man aber immer hingehen und kann ein Loch reinbohren. Und dann ist halt die Frage, was macht man dann?

Man kann natürlich sagen, das hat man auch ganz kurz mal überlegt, um alle Seen rum ist halt so ein spezieller Block, den man nicht abbauen kann, aber das fanden wir doch ein bisschen traurig.

Philipp

Das riecht nach Shitstorm.

Julien

Und jetzt einfach eine Wasserfläche sehen, die sich nicht bewegt, das ist auch ein bisschen traurig. Also es muss halt fließen, eigentlich, wenn man Wasser hat. Und da wir jetzt in EA kommen, war das halt so eines der Features, was wir wirklich gerne drin haben wollen, aber was nicht mehr reingepasst hat in der Qualität, in der wir es wollen. Und dann ist es, glaube ich, auch besser, das dann zu schieben.

Simon

Für alle, die sich wundern, IE ist Early Access und nicht der Publisher. Nein, nein, das ist wirklich so. Genau. Und der Timo hatte letztens, also vor vier Jahren, eine Frage gestellt. Und zwar, da konnte ich mich gar nicht dran erinnern, aber kann das sein, dass ihr eine eigene Skriptsprache entwickelt habt für Portal Knights oder für eure Engine? Weil die Frage ist, würdet ihr wieder C++ als primäre Programmiessprache wählen?

Warum hat man sich entschieden, eine eigene Skriptsprache zu entwickeln?

Julien

Ja, also, Gott. Also, C++, vielleicht zwei Themen, würde ich sagen. C++ haben wir immer noch und wir sind auch zugegangen, dass wir mehr an C++ machen als jemals zuvor. Und wir haben eine eigene Skriptsprache entwickelt damals, K-Skript, also Keen-Skript. Und die, jetzt muss ich aber, die ist aber schon lange her, ich glaube, die wurde ursprünglich entwickelt für Anno DS. Also, don't quote me, aber es ist sicher so in dem Zeitraum.

Und die Nintendo DS ist halt eine sehr kleine Konsole mit sehr wenig Speicher und wir hatten damals das Problem, dass wir wirklich eine Sprache brauchen, die vor allem in der Runtime sehr wenig Speicher brauchte und das war also wirklich limitierend, das Spiel da drauf zu kriegen und dann war sie halt da und das ist wie so oft, glaube ich, Wahrscheinlich kennt Philipp das auch. Man hat halt schon was, was irgendwie das Problem, was man jetzt gerade hat,

so halbwegs löst. Und dann nimmt man das halt. Solange es irgendwie so wehtut, dass man es dann umbauen muss. Und das ist jetzt die ganze Geschichte. Wir hatten eine Script-Schwache, die hat auch einen Debugger gehabt und war halbwegs vernünftig. Und damit wurde dann in Secure 3 UI gemacht zum Beispiel. Die UI wurde nämlich gescriptet und hat funktioniert. Ja, wir haben geschippt, aber hat schon eine ganze Menge graue Haare gefordert von Leuten.

Und das haben wir auch gesagt, das machen wir dann so nicht mehr.

Simon

Philipp, wie war das? Ich nehme an, die Gothic- und LX-Engine waren auch C++.

Philipp

Genau, aber keine Skriptsprache. Wir haben für das Gameplay, beziehungsweise die Engine hatte im Prinzip eine recht strikte Trennung von verschiedenen Systemen. Wir hatten im Prinzip das allerunterste Kernsystem, Grafiksystem und so weiter. Darauf kamen dann die Engine, darauf kamen dann Gamesysteme.

Das waren so Dinge wie Pathfinding, ja, die Zurverfügungstellung von so Sachen wie Quests und Infos, Inventory-System und so weiter, aber das war nicht die eigentliche Implementierung des Spiels, sondern das Spiel selbst wurde in so einer Pseudoscript-Sprache gemacht, die im Prinzip auch C++ war. Aber, ja, wie soll ich das erklären? Also da wurde im Prinzip der C++ so weggerappt.

Dass man zum Beispiel nicht so viele Fehler machen kann, dass man keine Pointer hat und so weiter, sodass es im Endeffekt freundlicher ist, für Nicht-Programmierer zu benutzen. Außerdem haben wir so Features reingemacht, wie dass man, ja, man kennt das ja, wenn man jetzt zum Beispiel was programmiert, dann läuft das Programm ja linear ab.

Und wenn ich jetzt aber sowas machen möchte wie, ich habe einen NPC und der steht an der Schmiede und soll dann eine Animation spielen und danach soll er zu einem Tisch gehen, da soll er dann eine andere Animation spielen und danach soll er ins Bett gehen und schlafen und dann soll er wieder aufstehen und zur Schmiede gehen. Das kann ja nicht innerhalb eines Frames einfach in einem linearen Ding ablaufen, aber ich möchte es gerne linear programmieren.

Ich möchte gerne schreiben, okay, mach dies, wenn du damit fertig bist, mach das, wenn du damit fertig bist, mach was anderes. So haben wir uns im Prinzip aus C++ eine Skriptsprache gebastelt, oder eine Pseudo-Skriptsprache, die eigentlich C++ war. Hat eben den Vorteil, es ist debugbar. Es ist jetzt nicht irgendwie was Eigengestricktes, wo man keine Tools für hat, wo man keinen vernünftigen Debugger für hat und so weiter.

Ja, Nachteil war eben, es war in C++, man musste es immer kompilieren, es wird nicht Laufzeit interpretiert, also ich glaube, da gehen wir jetzt schon wieder eigentlich zu sehr ins Detail vermutlich, aber ja, das war so das, wie wir das gehandelt haben. Also es hat aber recht gut funktioniert, also das haben wir auch eigentlich seit Gothic 3 unverändert.

Genauso gemacht. Wir haben es immer ein bisschen weiterentwickelt, ein bisschen verändert, aber das war einer der Systeme, an denen eigentlich nie gerüttelt wurde, weil sie ihren Zweck wunderbar erfüllt hat und natürlich auch eine ganze Menge, einfach da war, was wir immer wieder für das nächste Spiel einfach weiter benutzt haben und angepasst haben und erweitert haben.

Wir haben eben die Sachen, die für das Spiel speziell waren, in speziellen Dateien gehabt, die wurden dann eben weggeschmissen, teilweise erstmal man nur auskommentiert und dann wird das neue Spiel daneben gesetzt und hatte eben den Vorteil, dass an diesem System mehr oder weniger nie gerüttelt wurde. War immer schon ein Stock da, der benutzbar war direkt von Anfang an.

Das heißt, man konnte schon im sehr frühen Stadium des nächsten Projekts eigentlich mit Sachen anfangen, wie Story, man hatte rudimentäre, man hatte eigentlich alles schon da vom letzten Spiel und hat dann nach und nach eben Sachen ausgetauscht, wie die GUI oder wie eben dann auch bestimmte Spielemechaniken. Aber wir hatten dadurch nicht so einen langen Vorlauf, so einen langen Leerlauf, wo man im Prinzip sagt, jetzt müssen wir erst mal ein Jahr lang von vorne anfangen und alles neu machen.

Das hätten wir uns gar nicht leisten können.

Simon

Ist interessant, weil ihr habt ja, also Julian meinte, Skriptsprache ist deswegen entstanden, weil ihr einfach speicherlimitiert wart. Und Philipp meint sozusagen, dass...

Julien

Also die eigene Programmiersprache, ja. Also man hätte auch eine andere nehmen können, aber da haben wir keine gefunden, die da vom Speicher her gepasst hätte.

Simon

Genau, und für viele war es halt so diese, ich weiß nicht, Event-Orientierte, kann man das so sagen? Im Grunde genommen geht es ja darum, dass man so ein bisschen wie bei Multithreading auf ein gewisses Event wartet und dann halt was Spezielles ausführt.

Julien

Das hatten wir in Case Script auch, also das ist typisch in so Skriptfragen für Spiele. Wir hatten ja, Anno war ja ein Realtime-Strategy-Game und man will dann halt so Gegnerwellen auch skripten und so natürlich unterschreiben wie ein Drehbuch. Also man kann sagen, ich warte jetzt 100 Frames und dann kommt der nächste Gegner oder 5 Sekunden und dann kommt das und dann 3 Sekunden und dann das als einen linearen Ablauf.

Und das ist eher untypisch, so programmiert normalerweise Spiele in Sysplus nicht direkt, sondern da muss man viel mehr Rücksicht nehmen auf, oh jetzt kommt ein neues Frame und das letzte Frame ist 16 Millisekunden weg und was mache ich denn jetzt? Also man muss die State Machines sehr explizit programmieren normalerweise. Und diese Programmiersprachen, diese Scriptsprachen haben das einem quasi in einer linearen Form schon gezeigt. Also das war einfacher zu verstehen.

Simon

Ja, und wenn jetzt jemand sagt, hey, ich möchte meine eigene Custom Engine schreiben, gibt es ja jetzt tatsächlich eine Menge Leute, die das einfach so auslernen oder eben, weil es eben gut passt fürs Spiel. Ich glaube, letztes Mal hatten wir sogar, glaube ich, darüber gesprochen, Thumper ist ein Beispiel, was ganz interessant war, wo jemand von Null wirklich

Programmierung gelernt hat. hat, dann das erste Dreieck auf dem Bildschirm und dann halt Thumper, was da noch sehr bekannt geworden ist, das Spiel gemacht hat. Und wenn jetzt also jemand sagen würde, ich mache jetzt eine Custom Engine und ich würde Lua benutzen oder sowas, würde, mir dann sagen, ist es eine gute Idee oder eher nicht? Also ich kann es gerade nicht einschätzen, ob das dann...

Julien

Was soll ich anderen Leuten in ihr Hobby reinreden? Mach, was du Bock hast, erstmal. Kommt ein bisschen, wie immer, kommt darauf an. Was will man denn machen? Will man was lernen? Will man tatsächlich mit dem Spiel, mit dem Angel ein Spiel machen? Das, glaube ich, wäre für mich so die erste Frage.

Simon

Ja, ja, doch. Davon gehen wir jetzt mal aus. Doch, ja. Sagen wir einfach mal ja.

Julien

Dann würde meine Empfehlung wäre, so konkret wie möglich zu überlegen, was für ein Spiel das dann ist. Weil wir hatten ja jetzt viel über Custom-Engines geredet und die Stärken. Eine der wichtigsten Stärken ist, dass man halt die Engine macht für das Spiel, was man machen will. Dafür muss man so ein bisschen grob wissen, was für ein Spiel man sich dann machen muss. Und daraus ergeben sich halt, glaube ich, sehr viele konkrete Probleme, die man dann lösen muss.

Das Engine-Ding ist ja eigentlich ein Haufen Probleme, die man hat, weil man das Spiel nicht machen kann, so wie man es will. Und die müssen wir alle lösen. Also das würde ich da, glaube ich, versuchen, ranzugehen. Also schon die Motivation aus dem Endprodukt sich holen, wenn man jetzt sagt, man will ein Spiel machen. Es gibt ja auch Motivation, dass man einfach nur sagt, ich will vor mich hin programmieren und Spaß haben beim Programmieren und vielleicht Sachen ausprobieren oder so.

Das ist ja auch völlig okay, aber das ist eine andere Herangehensweise. Aber da würde ich dann viel aufs Spiel gucken. Was für ein Spiel ist es? Welche Plattform shippe ich das? Was erzeuge ich das für Rahmenbedingungen, für Constraints? Welche Plattform kann man überhaupt nur shippen? Es geht nämlich gar nicht auf allen. Und so weiter.

Simon

Ah, ach so. Okay. Ja, spannend. Weil genau, eine nächste Frage wäre nämlich auch so ein bisschen was mit Portabilität ist, wenn man Interesse hat. Das ist natürlich, wenn man jetzt zum Beispiel.

Julien

Das ist der Grund, warum wir Salesforce benutzen. Niemand in unserem Team liebt die Sprache, glaube ich.

Simon

Aha.

Julien

Ja, es ist so ein, er hat sich daran gewöhnt, ja, über die Jahrzehnte, genau. Also bei mir ist das so, ja. Aber so richtig lieben würde ich nicht sagen. Die ist schon ziemlich unelegant und ziemlich... Okay.

Simon

Bevor ich dich frage, was du lieber magst, kann Philipp ja mal kurz seine Meinung zu C++ sagen.

Philipp

Ja gut, ich muss dazu aber auch sagen, dass ich eigentlich nicht viele andere Sprachen intensiv mag. Ausprobiert habe. Also ich habe mal Pascal programmiert vor Ionen und klar, war in Lua reingeschnuppert und mal hier reingeschnuppert, aber nicht wirklich tief eingetaucht. Und es gibt natürlich modernere Programmiersprachen wie Ruby oder wie auch Rust oder, ich sag mal, man muss einfach lang genug auch mit einer Sache arbeiten, um die Vor- und Nachteile an einer Sprache zu sehen und zu erkennen.

Und es ist immer so, sodass ich nach über 20 Jahren immer noch neue Dinge, ich meine, klar, C++ entwickelt sich auch weiter, nicht zum Besseren meiner Meinung nach teilweise, aber es gibt immer noch neue Dinge oder auch alte Dinge, die ich lernen kann, weil die Sprache einfach so unglaublich vielseitig ist und komplex ist. Und das finde ich ziemlich cool an C oder C++ eben, weil man kann auch wilde Dinge tun und die Sprache, sag ich mal, missbrauchen in bestimmten Rahmen.

Also sie schränkt einen nicht ein. Und das finde ich schon eigentlich. Man muss natürlich immer aufpassen, weil es auch wieder gefährlich ist potenziell.

Julien

Wir müssen uns selber einschränken. Wir haben Code Guidelines zum Beispiel, weil wir wissen, dass man da wilde Sachen macht, die man super cool findet und die auch super cool sind, aber die nach sechs Monaten einfach keine Sau mehr versteht. Und das passiert halt. Da muss man ein bisschen aufpassen.

Simon

Okay, aber das ist interessant, was du meintest mit, dass Lua gar nicht geschippt werden kann auf alle Systeme. Hast du da ein Beispiel, wo es nicht klappt? Also zum Beispiel auf Nintendo oder so, ich weiß es nicht.

Julien

Naja, also soweit ich weiß, kann man zum Beispiel auf der Playstation kein nur Lua-Ding shippen, weil es einfach keinen Lua-Interpreter gibt, der dafür dringend ist. Man kann Lua-Skripte embedden in Excel, was man shippen kann, aber da gibt es auch gewisse Limits. Deswegen wurde ja sowas wie Luayu und Roblox dann gebaut, ähm.

Simon

Aber was ist denn Lua U?

Julien

Lua U ist eine Erweiterung von, oder ein Lua-Dialekt, der bei Roblox entstanden ist, aus verschiedenen Gründen. Unter anderem diesem Portabilitätsgrund und dass man es vorkopulieren kann. Aber auch, die haben auch Typs, Type Safety, glaube ich, hinzugefügt. Weil ab einer gewissen Größe das sonst nicht mehr manageable ist.

Philipp

Das ist ja grundsätzlich ein anderes interessantes Thema, was Custom Engines angeht, und zwar Middleware. Also ich sage mal, wenn man jetzt über Lua spricht, dann ist es ja im Prinzip eine externe Software, die man in seine Software einbettet. Das nennt man dann im Endeffekt Middleware, weil sie eben, weil sie eben, ja, es ist eben eine zusätzliche Software, die man mit benutzt. Und das ist auch so eine Sache, die gerade wenn man jetzt, man kann nicht alles selber schreiben.

Also zum Beispiel Physik war bei uns etwas, da haben wir uns nie dran getraut. Da muss man sich wirklich gut mit auskennen, aber das ist Performance-kritisch. Das ist einfach nichts, was man mal eben so zwischen Tür und Angel macht.

Julien

Selbst wenn man es könnte, weil ich glaube, wir haben Leute im Team, die das könnten. Es ist eine Frage, ist das jetzt wirklich das Beste, was sie machen könnten für das Projekt? Also im besten Fall kommt man vielleicht dahin, wo die anderen Physiker jetzt schon sind. Ja. Es sei denn, man hat irgendeine wirklich große, krasse Idee, wie man einen Twister einbauen kann und das ausnutzen kann, dass man die selber schreibt. Also das ist halt immer, glaube ich, der Punkt, den man dann überlegen muss.

Es ist einfach nur nachbauen, ist schwierig. So. Sondern man muss dann schon gucken, okay, was kann man denn anders machen da draußen? Weil am Ende, Sind wir halt ein Business, ein Entertainment-Business. Same, same ist da nicht das Erfolgsrezept.

Philipp

Ja, auf der anderen Seite hast du natürlich bei Middleware das Problem und das hatten wir, also ich war hinterher echt ein richtiger Feind von Middleware, weil uns das mehrfach passiert ist, dass wir Middleware lizenziert hatten, du baust die ganze Engine drumherum, also muss man sich so vorstellen, du lizenzierst eine Animationssoftware zum Beispiel, die ist relativ komplex, die hat einen eigenen Editor, da baust du die ganzen Animationen zusammen in so Ablaufdiagramme mehr oder

weniger, wie die so zusammenpassen, die Animationen. Und dann sagt der Produzent der Middleware, nö, ab nächstem Jahr ist die nicht mehr lizenzierbar, wir wurden gekauft von Tencent oder so und jetzt müsst ihr euch was anderes suchen. Dann stehst du da, dann hast du deine ganze Engine angepasst darauf, auf diese Middleware und plötzlich ist das Ding nicht mehr da. Und das ist uns nicht nur einmal passiert.

Julien

Klar, das ist ja im Mittleren dann, was im Großen die Third-Party-Engine ist. Das kann natürlich auch passieren. Wir leben immer so im Hier und Jetzt, aber wie alt ist denn Unity und wie alt ist Unreal und sind die in 20 Jahren noch da? Also was ist denn die Perspektive auch für eine Firma, wenn man jetzt eine gründet?

Philipp

Und eine Sache, die dabei, finde ich, noch wichtig ist, ist, man darf auch nicht vergessen, was wir jetzt gerade sehen, ist eine totale Monopolisierung von 3D-Technologien.

Simon

Also Echtzeit-3D-Technologie.

Philipp

Die wird gerade in wenige Hände gelegt, das ganze Knowledge. Ja, also ich sag mal, wenn jetzt alle ansagen, oh, Custom-Engine schmeiß ich weg, ich geh jetzt Unreal hier, Unity da, dann hast du am Ende des Tages zwei Firmen oder drei, die überhaupt noch das Know-how haben. Ja, so, weil alle Leute ihre Custom-Engines eingestampft haben, wenn du dich weiterentwickelst, dann kennt sich irgendwann A, damit keiner mehr aus und B, so veraltet, also kannst du nicht mehr damit anfangen.

Simon

Ja, und du bist auch abhängig vom Business-Modell. Wir haben ja das ja jetzt gerade erst gesehen mit Unity, die mal ein bisschen mehr Knete machen wollten, weil sie dachten, okay, wir sind quasi unersetzbar so ungefähr. Und man muss auch sagen, wer weiß, was mit Unreal ist, weil Epic ist bis jetzt...

Philipp

Die hatten auch schon finanzielle Probleme, ja.

Simon

Ja, aber die sind halt bis jetzt sehr freundlich. Die haben zum Beispiel Artstation gekauft und haben dann den Shop kostenlos gemacht für alle und die Quixel-Assets waren kostenlos für alle, die Unreal benutzen und so. Und das dann so, ah, die sind aber nett zu uns. Aber wenn sie dann wirklich mal monopolt sind...

Philipp

Wenn du erst mal das Monopol hast, ja.

Simon

Dann heißt es vielleicht doch, ja, wir hätten jetzt aber gern 50% Revenue. Kann passieren. Ja.

Julien

Kann auch passieren. Ich meine, das ist ja Tim Sweeney, dem die Firma immer noch gehört, soweit ich weiß. Mehr hat nicht. Das heißt, das ist immer schwierig bei Einzelpersonenfirmen, weil man weiß, wenn der am Montag falsch aufsteht, wer weiß, was er dann macht. Oder wenn er keinen Bock mehr hat. Ja. Da ist schon eine ganze Menge abhängig von in der Industrie jetzt.

Simon

Ich möchte nur ganz kurz eine kleine Anekdote einwerfen, weil ich habe gerade, es gibt einen ganz tollen, also Stay Forever ist ein Podcast, den kennen wahrscheinlich viele, der ist sehr bekannt. Gunnar Loth und Christian Schmidt reden dort über Spiele und die machen aber auch manche Interviews. Und ein Interview war mit und über CDV.

Und das war so spannend, weil die haben dann erzählt, dass die mit Epic, damals Apogee Epic, und mit Tim Sweeney persönlich einen Vertrag gemacht haben und früher die Software vertrieben haben in Deutschland. Und er hat erzählt, dass sie 500 Mark pro Monat Lizenzgebühren bezahlt haben, weil damals irgendwie anscheinend Epic oder halt Apogee damals nicht so richtig wusste, Deutschland ist das überhaupt ein großer Markt, keine Ahnung, who cares.

Und sie haben dann wirklich einen Vertrag, wo Tim Sweeney unterschrieben hat, für 500 Mark. und sie haben sich dann eine goldene Nase verdient mit damals hier. Und es gab dann wohl auch so eine Story, dass mal irgendwann so ein Unterhändler vorbeigekommen ist von denen und meinte so, ey, kann man da nicht doch nochmal was machen? Ich meine, ihr macht hier gerade richtig Cash.

Aber da ist dann, ja, Vertrag ist Vertrag, genau. Also die Folge werde ich auch verlinken, die war ganz, ganz spannend, was mit CDV, wie es da losging und so, ultra spannend. Genau, kam mir nur gerade der Gedanke, weil Tim Sweeney. Aber eine Sache, die, genau, also ich fand das sehr gut. Philipp hat er eben gesagt, Mittelwehr. Und das war nämlich auch eine Frage, die ich mich gefragt habe. Denn es gibt ja auch solche für Sound. Gibt's ja WYs oder FMOD und so.

Und ich habe aber auch in einem Video gefunden, da ist der Julian nämlich zu Gast bei DevPlay und hat gesagt, wir machen unsere Audio-Engine auch selbst. Und das stimmt, ne? Ja.

Julien

Wir haben auch schon Spiele mit FMOD geschippt. Das war GeForce auf der PSP und auf dem DS. Und auf der PSP haben wir FMOD benutzt.

Simon

Aber irgendwann trefft ihr ja eine Entscheidung, welche welche Mittelwerke ihr einsetzt und welche ihr selbst schreibt. Hättet ihr auch sagen können, komm, wir shippen weiter mit F-Mod. Und wie werden denn dann die Entscheidungen bei euch getroffen? Jetzt zum Beispiel, weiß ich nicht, eine Physik, da setzt man dann auf Bullet oder so was. Aber bei der Audioengine, nee, die schreibt man schon selbst. Gibt's da irgendwas?

Julien

Ja, Physik in den Schrauben ist auch so ein gutes Beispiel. Wir haben im Moment keinen Physik-Engine-Einsatz. Tatsächlich kann sich das noch ändern. Aber alles, was dann Physik jetzt gerade im Spiel ist, ist quasi eigener Code.

Simon

Mhm. Habt ihr irgendwas an Mittelwehr? Im Spiel? Ja.

Julien

Aber es sind meistens kleinere Libraries. Wir haben ja auch, die stehen auch alle, ich kann ja auch gerne eine Liste geben, die stehen alle auch in den Credits. Kann man sich angucken. Da steht auch schon Jolt drin, allerdings benutzen wir es noch nicht im Spiel, aber es kann sich vielleicht noch ändern. Also Jolt ist eine Physik, Open Source Physik Engine.

Simon

Genau, die wird jetzt auch, soweit ich weiß, in X eingesetzt, in den XX-Serien, weil die besser ist, weil die irgendwie Volumen händelt.

Julien

Genau, die kommt ursprünglich von Guerilla, also von einem, der bei Guerilla arbeitet und kann ich sehr empfehlen.

Philipp

Wenn schon Middleware, dann Open Source finde ich auch am besten. Also das Schlimmste ist Middleware ohne Source-Code, das ist das Allerschlimmste.

Julien

Genau, das machen wir gar nicht. Das machen wir grundsätzlich nicht. Also da gibt es auch gar kein Diskutieren.

Simon

Das ist ein Kriterium für euch, dass ihr sagt, wenn, dann Open Source.

Julien

Das ist eine Red Flag. Da gibt es gar nichts.

Simon

Das ist ein guter Tipp.

Julien

Also wir gehen jetzt von Middleware, die im Spiel geschippt wird. Wir haben auch, es gibt durchaus auch Middleware, die in den Tools zum Beispiel zum Einsatz kommt. Das muss man nochmal trennen. Also in den Tools haben wir durchaus auch Sachen, wo wir nicht unbedingt eine Source Code haben. Weil im Moment, glaube ich, haben wir da nichts. Aber theoretisch, da wäre das kein so hartes Kriterium. Aber in dem finalen Produkt, was wir shippen, brauchen wir eine Source Code für.

Und wie treffen wir die Entscheidung? Das ist so eine Mischung. Ich glaube, also natürlich gibt es Input von den Leute, die an den Gewerken arbeiten. Da gibt es dann Leute, die meinen, Scaleform war so ein Ding, wir wollen das mal ausprobieren. Da haben wir coole Sachen mitgesehen, davon gesehen, wir können uns das gut vorstellen. Das ist so ein Input. Also Leute, die dann motiviert sind, das zu machen.

Und dann gibt es aber auch andere Inputs und andere Sachen, wo wir sagen, das wollen wir lieber selbst kontrollieren, weil das zum Beispiel, wir wollen eine bessere Integration haben in unseren eigenen Tools. Das ist jetzt zum Beispiel ein Ding, was gegen Wwise sprach oder gegen FMOD Studio. Die übernehmen eine ganze Menge von den Sachen, die wir eigentlich selbst im Editor haben wollen.

Also es geht da ja viel um, dass man Events hinschickt oder irgendwelche Status-Values aus dem Spiel und man hat da die Möglichkeit, in diesem FMOD Studio oder in Wwise quasi diese Daten zu nehmen als Input für eine Vertonung. Also sowas wie, es regnet gerade oder andere Variablen. Genau. Und das ist grundsätzlich eine Sache, die wir haben wollen. Die wollen wir aber nicht nur für Sound haben, sondern wir wollen da auch andere Sachen dranhängen können.

Zum Beispiel, wie fix die gestartet werden sollen im Spiel oder anderes. Und da dachten wir, das ist etwas, was wir selbst in Engine machen wollen, mit eigenen Tools, in einer ähnlichen Philosophie, natürlich in der Ausprägung anders. Und da hängen wir dann Sound mit dran am Ende.

Ja, und wenn wir das haben als System, und das haben wir jetzt, also wenn man in den Shoutout rumläuft, dann wird man das relativ schnell auch hören, dass das sich anpasst an die Umgebung, in der man gerade ist, was man da hört. Das konnten wir oder wir glauben, dass bessere Ergebnisse erzielbar sind, wenn wir das halt dedikieren mit dem Editor, weil es dann auch in Sync ist mit anderen Sachen.

Wir machen Post-Processing-Effekte, die angepasst werden oder Effects, die gestartet werden oder so weiß. Das schien uns dann sinnvoll. Aber das entsteht aus einer Diskussion im Team. Es gibt dann, hin, vor und zurück, hin und her, wie andere Entscheidungen auch getroffen werden, würde ich sagen.

Simon

Und Philipp, wie war das bei euch da auch so? Weiß ich nicht, vorher auch im Meeting vielleicht, okay, was wollen wir einsetzen, was nicht? Also da hast du ja schon angemerkt, dass ihr auch öfters mal auf die Nase gefallen seid, aber wie war da bei euch der Entscheidungsprozess?

Philipp

Ja, also es hängt davon ab. Es gab Middleware, die wir drin hatten, die war einfach gesetzt, weil sie, ja, weil sie funktioniert hat und wir, also wir haben zum Beispiel Fmod eingesetzt, ja, aber wenig Fmod Studio, also wir haben Fmod nur als Low-Level Sound-API eingesetzt, weil wir keinen Soundprogrammierer hatten und auch keiner so richtig Lust darauf hatte und davon Ahnung hatte. Und deswegen war das eben einfach da, hat funktioniert und das wurde auch nie geändert.

Neue Versionen integrieren, ja, aber jetzt irgendwie, warum sollen wir never change the running system, wenn es funktioniert, war das für uns vollkommen in Ordnung. Physics haben wir genauso behandelt. Wir haben immer die neueren Versionen upgradet, sobald so was Gutes ging, aber wir hatten keinen Grund und dafür zu switchen.

Problematischer ist es dann bei so Dingern wie zum Beispiel UI-Dingen, du hast gerade Scaleform gesagt, da lief das dann so, dass wir im Prinzip hingegangen sind und eine Evaluierung erst mal gemacht haben. Das heißt, erst mal haben wir uns eingeguckt, okay, was gibt es denn überhaupt auf dem Markt? Was haben die für Vor- und Nachteile?

Welche kommen überhaupt in Frage? Manche gehen dann schon alleine aus Portabilitätsgründen vielleicht schon den Bach runter, wenn man sagt, okay, das Ding läuft gar nicht auf der Playstation, brauchen wir gar nicht mehr weitergucken. Und dann bleiben meistens gar nicht so viele Produkte übrig. Dann gibt es meistens so zwei Stück oder so, zwischen denen man sich dann entscheiden muss oder drei. Und ja, da muss man sich einfach die entsprechende Zeit nehmen, sich das genau angucken.

Sowohl Programmierer als auch Artists müssen da drauf gucken. Und da muss man eine gemeinsame Entscheidung treffen an der Stelle. Oder dass es alles andere wäre, ja, also nur weil es irgendwie cool und nifty ist und irgendjemand dafür tolle Werbung gemacht hat, heißt das nicht, dass es auch toll funktioniert. Also da muss man schon eine...

Julien

Ja, ich meine, es ist ein Teamsport, habe ich ja vorhin gesagt, und ich sehe es als meine Aufgabe jetzt zum Beispiel auch an, dass ich versuche, alles zu erreichen, dass wir zum Datum des Shippens dann auch wirklich shippen können auf den Plattformen. Das heißt, wir nehmen ein bisschen die Verantwortung für den Technikteil. Weil, dann nehme ich mir aber auch raus, da auch ein Wort mitreden zu können, wie schwierig ich mir den Job da mache, am Ende da hinzukommen.

Und klar, wenn wir sagen, wir können zehnmal besseres Ergebnis erzielen oder so, dann ist das natürlich ein wichtiges Argument, dann gucke ich dann schon, dass das geht. Aber wenn wir ähnlich gutes Ergebnis selber machen können und es deutlich weniger Risiko ist, dann präferiere ich das üblicherweise.

Philipp

Wir hatten zum Beispiel einen Fall, das war auch eine Animationssoftware, die wir lizenziert hatten. Ich glaube, das war Natural Motion Morphe. Das war das Beispiel, was ich vorhin gebracht hatte, dass die gekauft worden sind und dann die Lizenzierung eingestellt haben und das hat uns wirklich die Beine weggerissen. Dann hat unser Publisher noch irgendeinen Schweinedealer ausgehandelt, dass wir das noch zwei, drei Jahre weiter nutzen dürfen ohne Support oder so.

Keine Versionsupdates mehr, kein Support, einfach nur diese Version weiter nutzen. Und wir haben dann eben wirklich über drei Jahre eine Animationssoftware selbst entwickelt und dafür musste ich dann zwei bis drei Programmierer abstellen, die mir auch bitter gefehlt haben an anderen Stellen, damit wir dieses Loch stopften. Ja, das ist eben einfach, ja.

Aber am Ende des Tages, wäre es dann was gewesen, dann hat man diese Zeit investiert, aber dafür hat man dann auch was, wo man sich A mit auskennt und B eben auch worauf man weiter aufbauen kann und das ist auch eine gute Sache.

Julien

Genau, also je weiter es quasi am Kern des Spiels ist, desto nervöser wäre ich dabei. Also sowas wie Animationen, da fällt mir schon direkt die Nackenhaare schnell in sich auf, weil das so ein zentrales Element ist. Einfach auch vom Know-how her und wir investieren sehr viel in Animationstools.

Das wird auch eine ganze Menge, das macht ich ja vorhin, das ist ein gutes Beispiel, wo nicht einfach ein Programmierer sich hinstellen kann und sagen, hier ist jetzt das Animationstool, sondern das ist ein sehr kreativer Prozess. Wie wollen wir was machen? Was brauchen wir hier? Wie können wir das jetzt lösen? Und dann sind die technischen Tools ein Bauteil, aber auch nur ein kleiner. Auch die ganzen Leute, die damit arbeiten, müssen Verständnis entwickeln, was geht und wie die Sachen gehen.

Und das finde ich oft einfacher, wenn es organisch wächst, also für die Leute, sich dann so langsam ranzutasten und dann auch das tiefe Verständnis zu entwickeln, als wenn man sagt, wir hatten fertige Lösungen und die Machtsachen, die auch sicher guten Hintergrund haben, aber wo man die Reise gar nicht mitgemacht hat zu diesem Punkt. Und dann kann man nicht wirklich nachvollziehen oft, warum Sachen so sind, wie sie sind und hat nicht dieses tiefe Verständnis, was jetzt bei uns doch

viel da ist im Team. Und das ist halt viel wert, glaube ich.

Philipp

Das kann ich bestätigen. Da passieren ganz gruselige Dinge. Vor allem, weil wenn man eine komplexe, ich meine, das ist ja mit Unreal vermutlich auch nicht anders, man kann immer Sachen auf verschiedene Arten und Weisen machen.

Jetzt zum Beispiel als Artist oder auch als VFX Artist oder so gibt es natürlich tausend Möglichkeiten, irgendein bestimmtes Ergebnis zu erzielen und da gibt es nicht den Königsweg, aber es gibt auch sicherlich Wege, die nicht so besonders gut sind und wenn man jetzt Software lizenziert, dann ist dir vermutlich nicht unbedingt klar, wie es gedacht ist, was du hier noch meinst. Und aus Erfahrungen,

Ja, das erste Projekt damit ist erstmal kranklich. Also habe ich es auf jeden Fall kennengelernt, also gerade in Bezug auf diese Animationssoftware.

Simon

Ich habe mal nachgeguckt, eure beiden Spiele, Entschwadet und Alex, sind Playstation, Xbox und PC.

Julien

Entschwadet noch nicht.

Simon

Was?

Julien

Er ist noch nicht draußen. Also wir machen das, aber das ist noch nicht fertig.

Simon

Okay, und eine Sache, die mir schon mal auffällt, ist, es steht nicht explizit Linux da. Ist das in irgendeiner Form ein Thema bei euch gewesen, so Linux-Native-Build anbieten? Und wenn ja, hat das irgendwas mit Engine da noch spezifisch zu tun gehabt oder ist das ein komplett anderes Thema?

Julien

Also wir haben tatsächlich Leute im Team, die Linux aktiv benutzen als Betriebssystem bei der Entwicklung, also Programmierer natürlich. Natürlich. Aber wir haben auch tatsächlich geplant, dass wir einen dedicated Server für Linux bereitstellen wollen. Aber jetzt einen Linux-Native-Client hatten wir uns dagegen entschieden.

Das wäre wahrscheinlich gar nicht so viel Aufwand für die Technik gewesen, aber wir schätzen vielleicht zu Unrecht, aber wir schätzen den Support-Aufwand, den wir dann leisten müssten, als zu groß ein, dafür, dass wir das irgendwie rechtfertigen können. Und man kann das Spiel sehr gut mit Proton und Wein und den Emulatoren spielen. Von daher ist der Bedarf da, glaube ich, auch nicht so da. Das läuft auch auf dem Steam Deck, also dann läuft es auch irgendwie auf der Linux-Kiste.

Simon

Und Philipp, war das bei euch, war das irgendwann mal ein Thema?

Philipp

Nee, also, ja, okay, klar, Thema war es. Die Publisher kommen manchmal auf die wildesten Ideen, aber haben wir auch immer direkt, also hätten wir auch gar nicht leisten können. Also, das, man muss immer aufpassen, dass einem nicht noch mehr Sachen aufgeheizt werden, die man am Ende des Tages, einfach auch nicht leisten kann und dann das Produkt im schlimmsten Fall schlechter wird, weil man einfach mehr Zeit für Mac-Versionen, Linux-Versionen und sonst was noch drauf geht.

Ja, das bringt am Ende des Tages nichts. Also es gibt eine Mac-Version von Elex 2, glaube ich, aber die wurde nicht von uns portiert.

Simon

Ja, also ich meine, es ist nicht euer Scale, aber mein kleines Spiel hat durchaus profitiert, weil ich habe tatsächlich ein Linux-Bild rausgetan, und dadurch bin ich in GamingOnLinux.com Es hat jemand gesehen, hat einen kleinen Artikel gemacht und es hat 100 Wishlists gemacht, was für meine Verhältnisse wirklich so ein kleiner Bump war in der Wishlist.

Julien

Und das kann ich nur sagen, das ist genau der, glaube ich, was man so machen sollte als kleiner Indie-Entwickler. Also, dass man halt sich so an Nischen rausguckt, die halt von den großen, größeren, ganz groß sind wir auch nicht, aber von den größeren nicht mehr bedient werden, weil es da nicht so sinnvoll ist. Ich glaube, da gibt es viele solche Nischen, wo man sich ganz gut als Solo-Entwickler einfinden kann.

Simon

Genau, aber das mit den Nischen war nur so eine Seitenfrage.

Julien

Aber wir haben ein Linux-Bild, der läuft vom Spiel, also intern.

Simon

Aber gab es denn, das ist halt eine sehr offene Frage, weil ich kann es gar nicht einschätzen, aber gab es in Bezug auf die Custom-Technologie in irgendeiner Form Herausforderungen oder irgendwas, wo wenn es um die Portierung ging auf Playstation, auf Xbox ... Ähm, weiß nicht.

Julien

Philipp hat viel daran gearbeitet, das heißt, du kannst ihn direkt fragen. Er hat jetzt hier relativ lang, also fast ausschließlich in der PS5-Version gearbeitet.

Simon

Also was heißt das überhaupt dann? Also was musst du denn überhaupt machen?

Philipp

Ja, also im Endeffekt ist es, also ich habe auch den Großteil der Portierungen von Elex und Elex 2 gemacht. Aber im Prinzip besteht eine Portierung aus verschiedenen Teilen. Also einmal muss natürlich dafür gesorgt werden, dass die Sachen überhaupt kompilieren. Die haben eben leicht Unterschiede, die Systeme, aber das ist der kleineste Aufwand. Das zweite ist dann, du hast bestimmte Systeme, die sind nicht kompatibel oder eben auch Middleware-potenziell.

Das ist natürlich ein separates Problem, aber das größte Ding ist meistens die Grafik. Die Grafik, wir haben zum Beispiel immer Diat X12 eingesetzt jetzt bei den neueren Spielen, davor Diat X11 und dann davor Diat X9, das haben wir aber nie auf Konsole portiert. Und wenn du jetzt sowas hast wie die Playstation, dann musst du eben dafür sorgen, dass du im Endeffekt sowas wie Diat X...

11 oder X12 auch für die Playstation hast, dass du dann sozusagen eine gemeinsame Sprache hast, wo du mit der Grafikkarte sprechen kannst. Wo die Render-Engine mit der Grafikkarte sich unterhält, auf eine gemeinsame Sprache bringen. Und das ist eigentlich mit der größte Aufwand. Und ein weiterer relativ großer Aufwand ist dann das, was wir vorhin auch schon angesprochen hatten. Das sind diese TCRs, also die Technical Compliance Requirements.

Im Endeffekt die die Voraussetzungen, die du erfüllen musst, um auf der Plattform überhaupt rauskommen zu dürfen. Da gibt es dann lauter kleine Sachen, wie soll der Knopf, also wenn du den Knopf anzeigst von deinem Controller, wie muss der aussehen und so weiter. Das sind ganz viele kleine Sachen. Was passiert, wenn du den USB-Stick rausziehst, gleichzeitig speicherst und irgendwie dich im Kreis drehst.

Julien

Ja, das ist ja auch ein Netzwerkspiel, da schau dir das jetzt an, da ist das schon mal die Hälfte von den ganzen TCRs, die sich nur um Online kümmert und Und was passiert mit Invites, wenn man irgendwo ganz woanders im Menü ist und so Sachen. Also dass das alles funktioniert. Und das finde ich auch sehr gut, weil ich spiele selbst gerne auf der Konsole und ich genieße, dass das halbwegs funktioniert, das Allermeiste.

Und das kommt nur daher, dass es da so eine, mittlerweile gar nicht mehr so harte leider, aber so eine Kontrolle gibt. Qualitätssicherung einfach nochmal von dem Plattformhalter.

Simon

Aber gibt es denn DirectX überhaupt auf Playstation? Station?

Julien

Nein, gibt's nicht. Und das ist das, was Philipp gerade meinte. Also wir benutzen auch kein DirectX, wir benutzen Vulkan. Also das ist ja, ja, und Vulkan gibt's auch nicht. Und selbst wenn es das gäbe, würden wir es wahrscheinlich nicht benutzen, weil wir schon versuchen auf den Konsolen halt, da wissen wir ja einfach anders als auf PC, welcher Grafikchip da drin ist. Also wir kennen die Architektur, wissen viel mehr darüber und wir könnten da viel mehr direkt ausnutzen.

Also auf PC ist es immer schwierig, weil da haben wir mindestens drei, ja zweieinhalb Grafikkartenhersteller, die relevant sind und die haben auch sehr viele unterschiedliche Architekturen dann immer noch. Da gibt es noch einen großen Zoo an möglichen Sachen und da benimmt der Treiber sehr viel Arbeit, um möglichst gute Performance zu erzielen am Ende. Weil der Gesamtsinn, der Lebenssinn der GPU ist Geschwindigkeit. Das ist das Einzige, was sie tut. Also sie ist nur dafür da.

Das heißt, da geht es immer nur um Geschwindigkeit und nur ums Maximum rausholen. Ja, und da kann man auf Konsolen mehr erreichen, immer noch, wenn man die da vorstelligen, die da vorhandenen Schnittstellen benutzt und nicht Vulkan oder Blacklist.

Philipp

Dafür muss man natürlich sehr viel mehr zu Fuß machen. Also man muss sehr viele Sachen selbst machen.

Julien

Genau, und muss auch die Experten haben, die das können.

Philipp

Man muss sehr viel selbst machen, was normalerweise eben der Treiber bzw. Die höhere Grafikstelle wie Vulkan oder Diatics abnimmt. Das gilt nicht unbedingt für alle Konsolen, aber gerade auf der Playstation ist das schon eine ganze Menge, was man da so selber machen muss, was normalerweise abgenommen wird.

Julien

Das ist schon ein ziemlich komplexer Kram, den man nachmachen muss, dass ja ein Supercomputer da drin ist mit quasi zehntausenden kleinen Prozessoren, die alle synchronisiert werden müssen. Das ist schon nichts, was man mal eben so macht.

Simon

Nee, klingt auch nicht so. Ich überlege gerade, ich habe noch nie ein Bild mit Unreal exportiert und dann auf Playstation geschoben. Ich würde jetzt mal hoffen, dass das geht.

Julien

Das geht wahrscheinlich.

Simon

Und das ist wahrscheinlich ein Vorteil, den so ein Engine dann bietet.

Julien

Das ist ein großer Vorteil, den so ein Engine bietet.

Simon

Also wenn sie das unterstützt, weil wenn jetzt zum Beispiel Godot eben Playstation nicht unterstützt, dann hat man eben Pech gehabt, ne? Ich weiß gar nicht, wie es bei Goodwoods ist.

Philipp

Das hat was damit, das ist ja ein Open-Source-End und das macht das Ganze unglaublich kompliziert, weil du musst ja bei der Konsole, bei dem Plattform-Holder, also bei Microsoft oder bei Sony, musst du das ja beantragen, dass du überhaupt ein Spiel entwickeln darfst auf der Konsole.

Julien

Du musst registrieren als Entwickler, dann überschreibt man eine NDA und dann darf nichts über die Details dieser Schnittstellen irgendwo offen liegen, was sehr schwierig vereinbar ist mit dem Konzept von Open-Source.

Philipp

Ja, das heißt, du kannst keine Sourcen veröffentlichen.

Julien

Godot versucht das jetzt tatsächlich, soweit ich weiß, mit einer extra Firma und mit einem PlayStation-Port der, Godot-Engine, die nicht Open-Source ist und die man sich dann holen kann, wenn mal ein registrierter Entwickler ist. Also sie versuchen das.

Philipp

Der geht ja bei Forge, glaube ich, auch.

Simon

Aber wie sieht denn das dann im Code aus? Ich versuche mir das gerade vorzustellen, weil normalerweise also du hast ja irgendwelche OpenGL- oder Vulkan-Befehle, die du halt irgendwie hinschreibst, ne?

Julien

Genau, das macht man nicht. Also das versucht man zu vermeiden. In aller Regel hat man eine Abstraktionsschicht, also eine Schicht, wo man quasi das auf eine eigene Sprache mappt. Also wir haben eine eigene Grafik-Schnittstelle, mit der das Spiel redet und diese Grafik-Schnittstelle ist dann unterschiedlich implementiert für die verschiedenen Plattformen. Da lebt der Vulkan-Code drin für das Vulkan-Backend oder das PS5-Code oder Xbox-Series.

Simon

Das ist von euch selbst?

Julien

Ja, genau.

Simon

Noch mal eine kleine Sprache zwischendurch.

Julien

Genau, das ist aber auch, also man kann sowas theoretisch auch sich holen wieder von außen, aber da sind auch wieder Sachen drin, die wir gar nicht brauchen. Da ist Komplexität drin, die wir nicht brauchen und da sind Sachen drin, nicht drin, die wir brauchen. Also es ist halt einfach auch wieder im Kleinen oder im Kleineren das gleiche Thema wie bei, ich nehme halt eine andere Engine. Es ist halt dann nicht so maßgeschneidert auf unsere Bedürfnisse, wie das jetzt halt der Fall ist.

Philipp

Wobei für mich grundsätzlich alles, was mit Grafik zu tun hatte, was Middleware angeht, auch ein Red Flag war. Das kriegt man nie vernünftig integriert und das ist genau das, was du gerade sagtest. Also wenn man seine eigene Schnittstelle hat und dann holt man sich jetzt irgendeine externe Grafikgeschichte da rein, dann kriegt man das nie zusammengeführt vernünftig, sodass das gut wartbar und gut verletbar ist und auch noch performant funktioniert.

Deswegen alles, was mit Grafik zu tun hat, muss man eigentlich selber machen.

Simon

Und hinter jedem eurer Zwischensprachenbefehle ist dann so, ich stelle mir so vor, so eine kleine If-Abfrage, if Playstation, dann wird das und das gemacht?

Julien

Nee, eben nicht. Die Zwischensprache ist ja wirklich für uns, die ist agnostisch, idealerweise. Die redet dann mit High-Level-Konzepten, die kennen sowas wie Textur, total crazy, oder Buffer oder so, und dann kann man damit Operationen ausführen. Also man kann die Sachen kopieren und man kann Sachen reinrendern und so, was wollen wir das vertiefen. Und das sind Operationen, die dann in der PS5 anders implementiert sind als auf Vulkan.

Simon

Ja, aber irgendwo muss doch dann, also irgendwer hat ja irgendwo dann den richtigen Code geschrieben und es muss unterschieden werden, wenn ihr ein Bild macht für Playstation, wird eben das Stückchen benutzt und wenn ihr ein Playstation...

Julien

Genau, ja, das ist Teil von dem Bildsystem. Also wir haben eine C++-Codebase und die wird ja kompiliert in eine ausführbare Datei, also auf PC halt so ein Portable-Executable und auf Playstation gibt es halt ein anderes Executable-Format. Da gibt es andere Compiler und einen anderen Linker und die produzieren bei dem Code-Builden halt die Dateien, die man dann braucht, um sie auszuführen. Und als Teil von diesem Kompilierungsprozess werden andere Quelldateien mit eingebunden als auf PC.

Da gibt es dann halt die PS5-Versionen dieser Dateien. Jetzt sind wir schon ganz schön tief drin.

Simon

Ja, ich finde es gerade interessant. Ich musste gerade daran denken an Vampire Survivors. Und da hat ja der, ich will den Namen jetzt gerade nicht, aber der Hauptprogrammierer dort, der hat ja nicht damit gerechnet, dass das so ein Riesending wird. Und ich glaube, ich weiß gar nicht, was das für ein Engine ist. Sagen wir mal, er hätte jetzt eine Custom Engine geschrieben oder er hätte nicht damit gerechnet, dass das so ein Riesending wird.

Er sagt, komm, ich mache mal hier ein kleines Übungsprojekt und ich mache das halt für Windows. Und plötzlich explodiert das an Erfolg. Erfolg und wenn ihr dann sagt, okay, jetzt mache ich das ja auch für Playstation, ist halt vielleicht überhaupt nichts darauf vorbereitet, weil er Lua benutzt hat und direkt X.

Julien

Genau, da gibt es ja Porting-Studios, die machen das dann für einen, denen gibt man dann Geld und dann macht ihr das.

Philipp

Habe ich auch schon Erfahrungen mitgemacht, war nicht gut.

Simon

Mit Porting-Studios meinst du?

Julien

Muss ja mehr Geld geben, dann wäre es besser vielleicht.

Philipp

Also ja, obwohl es stimmt nicht ganz. Ich habe auch gute Erfahrungen gemacht. Also wir hatten einmal Xbox, ich glaube Xbox One damals noch war das. Nee, sogar Xbox 360 Portierung von Risen 1, glaube ich. Die haben wir outgesourced und noch eine weitere Portierung später. Das war schon ziemlich chaotisch. Das ging nach Frankreich auch. Und ja, das war nicht so doll. Aber wir haben auch gute Erfahrungen gemacht mit einer Portierung.

Playstation 3 Portierungen, die haben wir auch nicht selbst gemacht, weil das auch, die Playstation 3 war auch ein ziemlicher, Schmerz und da hatten wir auch keine Leute mit Erfahrung und das hat, glaube ich, Black Forest Games für uns gemacht und da waren wir recht zufrieden mit, das haben die super hingekriegt.

Julien

Ich glaube, man kann, also das war ein gutes Beispiel, wenn man da komplett unvorbereitet reingeht und gar auf nichts achtet und einfach, dann hat das vielleicht den Vorteil, dass man schneller beim PC dann ins Ziel kommt, aber dann hat man wahrscheinlich mehr Schmerzen bei der Portierung. Ich glaube, das ist so ein Vorurteil, den wir haben, dass wir das schon ein paar Mal gemacht haben, dass wir so grob wissen, was ankommt.

Entschadet wurde jetzt auch für den PC entwickelt, weil wir uns gesagt haben, wir wollen, weil es ist halt langsamer. Also wenn man alles gleichzeitig nachziehen muss und man hat dann natürlich auch Leute, die das machen und nichts anderes machen. Also man hat gewisse Opportunitätskosten im Team, wenn man nicht sagt, wir machen jetzt all in alles nur PC. Und da haben wir uns dafür entschieden, das halt mit den Konsolen nachträglicher

zu machen. Wobei wir auch vom Herzflut her immer eigentlich ein Konsolenstudio sind. Wir machen seit... Also, falls es Keen gibt und Neon davor, eigentlich hauptsächlich Konsolenspiele.

Simon

Warte, ich habe bei Google einfach eingegeben in Shrouded und in diesen kleinen Seitennotizen, aber ich sehe gar nicht, woher die kommen. Woher kommt denn diese Info? Weil hier steht Plattforms, PlayStation 5 und so weiter.

Julien

Übrigens ist noch nicht fertig.

Simon

Eure Engine steht hier übrigens da, ne? Engine Holistic. Kann man sich angucken. Ich klicke mal drauf. Mal gucken, was hier dasteht. Ah, nee, okay. Jetzt kommt man einfach nur in eine Google-Suche, die nach Holistic sucht. Und da findet man alles Mögliche. Aber nicht Role Engine.

Julien

Grüne Teeblätter und so.

Philipp

Ich weiß immer noch nicht, was das bedeutet, Holistik. Ich habe es schon dreimal gegoogelt und immer wieder vergessen.

Simon

Eine Sache, die ich ganz interessant finde und die auch so ein bisschen ein Nachteil sein kann, wenn es um Custom Engine geht, das hatten wir in der ersten Folge auch schon besprochen, aber passt gerade ganz gut, und zwar die fehlende Dokumentation. Weil gerade, wenn man sich nochmal neu einarbeiten muss, dann gerade in diese ganzen Standardsachen kann man jetzt wunderbar Google Unity und Unreal und Godot, und das ist schön dokumentiert und so.

Und da wollte ich jetzt Philipp mal fragen, wie ging es dir denn so? Weil du musstest dich jetzt einarbeiten in die Keen Engine und so. Und Julian kann ja ganz kurz mal kurz weghören, damit Philipp auch besprechen kann, wie das für dich war. Also ob das ein Problem für dich war, ob du dir gewünscht hättest, dass es mehr dokumentiert ist. Oder vielleicht ist ja alles super gut dokumentiert. Vielleicht gibt es auch

ganz tolle Kommentare. Und wie lange hat das für dich so gedauert, bis du so das Gefühl hast, angekommen zu sein? Oder bist du überhaupt schon da oder vielleicht brauchst du ja auch noch, weil du bist ja jetzt erst in Anführungsstrichen fünf Monate da. Vielleicht kannst du so deinen Einstieg so ein bisschen erklären. Zum Besten geben?

Philipp

Also ich glaube, es ist ein Riesenunterschied, ob man als Programmierer oder als Artist da einsteigt. Also als Programmierer, ich bin nicht so ein großer Dokumentationsleser. Ich gucke mir meistens eh lieber den Code an. Bevor ich mir eine Dokumentation, durchlese, springe ich durch den Code, gucke hier, gucke da, springe da hin und schaue, wie es funktioniert und wie es abläuft.

Da brauche ich keine Dokumentation. Klar, eine gewisse In-Code-Dokumentation, hier und da mal ein Kommentar und so weiter, das ist schon eine gute Sache, aber da ist eine Dokumentation eigentlich nicht wirklich wichtig. Richtig. Wenn man vielleicht nicht so viel Erfahrung hat, ist es vielleicht eine andere Geschichte, dass man da doch mehr Dokumentation braucht oder eher Tutorials im Internet.

Aber das sehe ich schon auch als riesen Vorteil von den Lizenz-Engines, dass man einfach eine Knowledge-Base hat, auf die man zurückgreifen kann. Gerade jetzt auch, wenn es um Art geht. Wie macht man dies, wie macht man das? Ein bisschen googeln hier und rumsbums findet man irgendwo ein YouTube-Tutorial und das hat schon wirklich Vorteile in dem Moment. Als Programmierer, glaube ich, ist es nicht so essentiell. Also da ist es eher die Frage, wie ist der Code strukturiert?

Findet man Konzepte wieder, die man selber schon kennt? Es gibt auch C++-Code, mit dem werde ich gar nicht warm. Also den kann ich überhaupt nicht lesen, so modern C++ oder so. Das ist für mich einfach, da kriege ich körperliche Schmerzen.

Okay. Ja, weil jetzt bei Unchrouded ist es jetzt so, es ist anders als wir es gemacht hatten bei Piranha Byte, aber ja, ich komme klar, ich fühle mich so durch, es ist eben einfach viel, viel, viel Code, viele verschiedene Stellen, bis man da so einen groben Überblick drüber hat und so grob versteht, wie Abläufe sind und wie Sachen konzeptionell funktionieren und so weiter, da geht viel Zeit ins Land. Das ist nun mal so.

Simon

Ja, ich finde, es gibt so zwei verschiedene Arten von Kommentarencode. So das eine ist natürlich, weiß ich nicht, wenn man jetzt irgendwie eine Zeile hat oder so zwei, drei Zeilen, dass man da so ein bisschen drüber beschreibt, was das ist. Und dann sagen auch manche, ja gut, ich kann mir den Code auch direkt angucken, da brauche ich nicht noch einen Kommentar. Aber manchmal finde ich es auch ganz praktisch, wenn man so oben in der Detail so einen globalen Überblick hat.

Also zum Beispiel jetzt über dieses Voxel-System vielleicht bei euch, dass man so einen kleinen Abschnitt hat, der einfach mal so ganz grob erklärt, okay, was sind unsere Gedanken, wie funktioniert das so ganz grob, wo muss man so grob gucken, wenn man in irgendeine Richtung will oder sowas. Sowas kann ja vielleicht manchmal ein bisschen helfen. So, das High, wie heißt das? High System? Nee, High Design? Hoch Design?

Julien

Ja, ich bin da, glaube ich, weniger statisch unterwegs immer, weil ich immer das Gefühl habe, das beste Design kommt ja erst noch. Also wir sind ja noch nicht fertig. Und es ist mir lieber, dann die Leute im Team zu haben und vorzuhaben, die den Kram geschrieben haben und denen ich fragen kann, hey, was hast du da gemeint und kann man das nicht vielleicht so machen und dann umbauen oder zu einem besseren nächsten Ding iterieren.

Also ich habe das Gefühl, dass es vielleicht, klar, es ist nett, den Status Quo zu dokumentieren, aber das zurrt einen so ein bisschen auch fest.

Simon

Ja, und es veraltet auch relativ schnell.

Philipp

Und es kostet Zeit, ja, und Dokumentation veraltet.

Simon

Genau, und dann hat man eine falsche Dokumentation, was vielleicht sogar noch schlimmer ist.

Philipp

Das ist schlimmer als gar keine Dokumentation.

Simon

Ja, aber es war auf jeden Fall interessant, so deine Perspektive, Philipp, zu sehen, so wie es sich so anfühlt, irgendwo reinzukommen.

Julien

Und ich muss aus meiner Seite sagen, dass ich super happy bin, dass Philipp da ist, weil er ist einfach super schnell reingekommen im Vergleich zu vielen und super schnell sehr produktiv gewesen, also in der Zeit. Das merkt man ja auch, dass er die Erfahrung hat. Und das macht mich auch vielleicht auch ein bisschen stolz, dass Leute von außen reinkommen und nicht schreiend weglaufen, wenn sie Cookbase sehen, wo wir das vorhin hatten. Also da legen wir schon Wert drauf.

Natürlich hat jedes Team so seine eigenen Prioritäten und Präferenzen und so, aber dass wir schon versuchen, da konsistent zu sein und wenig Überraschungen ist so ein bisschen die Hauptprämisse bei uns, dass wir wirklich versuchen, einen möglichst langweiligen Code zu schreiben.

Simon

Du hattest es, Julian, eben schon kurz erwähnt, dass quasi die etwas problematische Situation der Branche, also aka viele Leute werden gefeuert, den Vorteil hat, dass ihr euch jetzt so ein bisschen auch rauspicken konntet, wer kommt und so. Aber es war auch eine Frage von Timo, dass du gesagt hattest in der ersten Folge von uns, dass es halt ein bisschen weniger vielleicht auf die Technologien ankommt, aber mehr aufs Team. Und er sagt auch, ja, stimme ich auch zu, ist auch meine Erfahrung.

Aber wie schafft man so ein Team? Also wie? Es ist ja, finde ich, auch sehr, sehr beeindruckend, wie man ein gutes Team aufbaut. Weil vor allem am Anfang. Beim Bewerbungsgespräch, man weiß ja noch gar nicht so richtig, passt die Person wirklich gut ins Team? Und ihr habt ja anscheinend ein Erfolgskonzept, weil die Leute bleiben ja auch super lang bei euch. Was ist das Geheimnis?

Julien

Weiß ich nicht. Das ist ein Thema, was mich sehr interessiert tatsächlich, mehr und mehr in der Vergangenheit, auch weil ich jetzt auch ein bisschen mehr in der Leitungsrolle unterwegs bin und auch viele Bewerbungsgespräche geführt habe und versucht habe, den richtigen Leute zu finden, die wir gut integrieren können in dieses Team.

Und das ist ja auch, ja, es geht darum, dass man sich wohlfühlt, aber es geht, glaube ich, auch darum, dass man noch hungrig ist so ein bisschen oder ein bisschen versucht, halt die Qualität hochzuhalten und ein bisschen versucht, vorwärts zu gehen und, ja, so eine gesunde Mischung dazu haben aus, schon cozy und entspannt, aber auch doch eher ernsthaft dabei, ja, und sagen, okay, das ernst nehmen, diese Aufgabe. Ich habe kein Geheimrezept, nee, kann ich dir leider nicht sagen.

Also bisher, ich glaube, da sind Es sind viele Leute dabei, die schon lange dabei sind, die wirklich ihren Job ernst nehmen und das versuchen, das Beste zu machen mit den Möglichkeiten. Und ich glaube, das ist ein bisschen ansteckend. Also ich weiß nicht, ob Philipp da vielleicht ein Perspektiv hat von außen. Ich bin ja einfach da schon so lange dabei. Aber ich glaube nicht, dass wir ein Geheimrezept haben.

Simon

Oder wie ihr damals auch bei euch bei Piranha Bytes vielleicht geheim.

Philipp

Ja, also was das angeht, muss ich sagen, ist es bei Kien schon, was jetzt, also man hat schon das Gefühl, dass man gut aufgehoben ist und so. Also ich weiß nicht, das war bei Piranha Bytes teilweise war schon auch ein bisschen, ja... Ich weiß nicht, schwierig zu sagen, aber es gab so eine ganz spezielle Atmosphäre da, die irgendwie manchmal, also bei uns gab es immer einen Spruch, das größte Lob, was man bei Paranerballs kriegt, ist, es ist nicht ganz scheiße.

Simon

Der Ropert-Charme so ein bisschen.

Philipp

Genau, und der zog sich auch durchs Team und das hatten wir. Leute, die schon lange da waren, die kannten das, die haben das alles verstanden und das war in Ordnung. Wir hatten aber auch Leute teilweise mal aus der Schweiz, hatten wir mal einen da, aus Österreich hatten wir glaube ich auch mal einen. Die sind teilweise damit überhaupt nicht klargekommen. Das war dann irgendwie zu laut, zu wild, zu asozial. Ich weiß es nicht. Also es war schon irgendwie vom Klima her speziell.

Es hat sich dann aber auch hinterher auch stark gewandelt. Also das waren wirklich die ganz alten Zeiten, da wurde auch im Büro geraucht und Pizza-Kartons, wir hatten Mäuse, die durchs Büro gelaufen sind, die wieder Mülleimer eingefangen haben, weil es war einfach ein bisschen sehr chaotisch alles. Ist aber professioneller geworden mit der Zeit und jetzt zum, die letzten zehn Jahre war es auch eigentlich alles ziemlich, ja, ziemlich cool und die Leute sind auch alle recht gut klargekommen.

Also klar ist auch immer nur eine persönliche Frage, ob man ins Team passt oder nicht. Da gehört immer auch das Team als auch das Individuum dazu. Manchmal funktioniert es eben einfach nicht, aber in der Regel hat sich das schon ganz gut alles mal eingespielt.

Simon

Ja, ich habe noch eine Frage, wie verführerisch das eigentlich ist, immer neue Sachen zu implementieren. Aber vorher wollte ich noch eine Sache fragen. Und zwar habe ich ein, genau, Philipp, ich habe ein Interview mit dir gefunden. Jetzt muss ich gucken, wo ist denn das? Das war, da war die Frage, was für ein Feature hättest du Lust einzubauen und da gab es irgendwie keine Antwort. Warte, ich gucke mal, ob ich das hier noch finde.

Und dann dachte ich so, hä, aber da gibt es doch bestimmt Wünsche.

Philipp

Naja, gut, aber es ist ja auch nicht unbedingt ein Wunschkonzert und da muss ich Julian ja recht geben. Es ist immer eine Frage der, also, es geht ja nicht darum, was ich für Features gerne einbauen will am Ende des Tages.

Julien

Also, das kann ich so sagen, für mich persönlich finde ich immer super cool, wenn halt ein Artist auf mich zukommt, Jonas zum Beispiel wieder, ein Environment Artist, und sagt, hey, könnten wir dich mal das hier machen? Das fände ich cool. Und dann kann ich ihm das einbauen und dann sehe ich, er benutzt halt an allen Ecken und Enden das Feature und das wird richtig coole Ergebnisse. Ein Beispiel, das so ein bisschen organisch so gewachsen ist, ist die Deko-Objekte in Entrouded.

Also wir haben, das soll ich jetzt gar nicht vertiefen, aber wir haben, wollten halt nicht diesen Minecraft-Look haben, dass halt die Voxel so super hartkantig sind und so. Und in Portnights hatten wir dann auch schon was versucht oder was gemacht, was da auch ganz cool aussah, so ein bisschen abgerundet, ein bisschen gebabbelt und mit Texturkanten.

Und das haben wir jetzt in den Schaudern dann nochmal weitergetrieben, dass wir halt wirklich an den Kanten dynamisch abhängig von den Wachstüllen in der Umgebung mit gewissen Regeln sogenannte Deko-Objekte spawnen, und zwar live.

Ähm, das heißt, es passiert auch zur Laufzeit, wenn du, wenn man selbst was baut, dann werden die, werden die auch gespawnt und, ähm, das ist so ein Ding, was, was super cool ist, ja, so ein Feature einzubauen, wo man sagt, hey, weiß nicht mehr genau, wer die originale Idee hat, aber das, das, da hat man mitgeholfen, das zu machen und das ist halt zu was Größerem geworden, also zum richtig coolen Feature am Ende im Spiel, ja.

Das coolste Feature in Wanderer oder so bringt ja nichts, wenn das niemand dann auch wirklich ausfährt mal. Das macht schon mir am meisten Spaß, wenn man sieht, das wird auch wirklich angenommen und kommt am Ende im Spiel an.

Simon

Genau, ich habe es gefunden, worldofrisen.de. Das war gar nicht nur auf Engine-Features bezogen, sondern was würdest du gerne mal im Spiel sehen? Da gibt es keine Antwort. Das heißt, du hast schon alles gesehen.

Philipp

Liegt auch daran, weil ich selber nicht spiele.

Simon

Wie?

Philipp

Das ist, ja, weiß ich auch nicht. Also ich meine gut, wenn man fernab davon, dass ich mit meinen Kindern ganz gut, also mit Job und Kindern und so ganz gut bedient war. Jetzt sind meine Mädels groß, sie sind jetzt schon 19 und 17, von daher ist das jetzt nicht mehr ganz so viel Zeitaufwand.

Ja, aber, ähm, ja, weiß ich nicht, es ist irgendwie alleine mich da hinsetzen und zu spielen, das war noch nie so mein Ding, ich hab mit Freunden gerne gespielt, ähm, aber dann oft so Sachen wie Tony Hawk oder ganz früher auch, äh, die Klassiker wie Tom Brady und Final Fantasy 7 und so'n Zeug und natürlich auf dem Amiga, aber irgendwann hab ich, äh, ja, keine Zeit mehr dafür, weil meine Frau ist jetzt auch nicht so die Zockerin, ähm, und, ähm,

toll, ergibt sich das eben nicht so, So, das ist eben, außerdem sitze ich, wenn ich spiele, immer davor und denke mir so, wie haben sie dies gemacht.

Simon

Wie haben sie das gemacht?

Philipp

Wie sieht das denn aus? Ach, guck mal, den Fehler da. Also das macht dann auch nicht so unglaublich viel Spaß.

Julien

Das ist Berufskrankheit, dass man so dekonstruiert.

Simon

Okay, ja, spannend. Ja, außerdem ist ja, Vielleicht Spiele machen ist ja auch eine Art Spielen, also man hat ja andauernd Probleme zu lösen, wie in einem Spiel muss man auch dauernd Probleme lösen. Ich merke das auch.

Julien

Dass das Leben ist ein Spiel.

Simon

Dass das Spiele machen halt auch einfach eine sehr spannende und teilweise auch sehr befriedigende Sache ist und ja, interessant, aber dass du an sich ansonsten gar nicht so reinspielst.

Philipp

Ja, ab und zu spiele ich mal was, aber nicht so exzessiv. Dann auch meistens, was habe ich letztens gespielt, wie hieß das denn nochmal gleich hier, das ist auch so ein Pixel-Spiel auf der Playstation, das du mit Kollegen spielen kannst. Broforce. Ja, sowas dann. Das ist eben einfach zum Spaß.

Julien

Ich spiele tatsächlich relativ viel jetzt wieder. Ich habe ein bisschen reingekommen. Ich habe lange kompetitiv World of Warcraft gespielt. Da bin ich zum Glück weg von. Und mittlerweile spiele ich auch mit meinen Frauen und Freunden halt so alles Mögliche. Also wir haben wie Rising jetzt gespielt und ich gespielt und wir spielen jetzt Helldivers 2, weil ganz viele Leute meinten, dass wir immer ganz cool sind. Das guckt man dann gerne so Spiele mal an. Aber auch immer mit anderen zusammen.

Simon

Ah, okay, okay. So, jetzt muss ich hier mal reingucken. Ah, genau. Das war die Frage, was du gerne mal in einem Spiel sehen würdest. Aber ich hatte mich auch gefragt. Also, ja, ich weiß, es gibt natürlich Gründe, warum man priorisieren muss und so weiter und so weiter. Aber, Julian, du hast eben gesagt, dann kommt jemand, hat eine coole Idee und manchmal juckt es einen ja auch in den Finger Und man denkt so, ey, das ist eine echt coole Idee.

Boah, da habe ich jetzt gerade echt mehr Lust drauf, als Feature XY hier einfügen zu machen oder so. Weil manchmal hat man vielleicht da Bock oder sieht da eine Challenge oder so und dann überkommt es einen vielleicht. Und da habe ich mich gefragt, ob das... Durchaus doch schon mal verführerisch ist, weil gerade wir leben jetzt in Zeiten, das habt ihr ja vorhin auch gesagt, Internet, wo halt dauernd auch coole Talks rauskommen.

Ich erinnere mich da zum Beispiel an die, genau, da habe ich mich dran erinnert, ich habe die Wolken gesehen in, Trouted und die sind auch so volumetrisch und so und da habe ich mich erinnert, es gab da diesen fantastischen Talk von Horizon Zero Dawn, wie sie ihre Wolken gemacht haben und ich könnte mir vorstellen, dass wenn du das siehst, dass du dann denkst so, hm.

Julien

Naja, da haben wir uns gut eingeguckt.

Simon

Da hätte ich jetzt auch Lust. Oder zum Beispiel das Night-Night-Feature in Unreal, als das dann rauskam, könnte man ja auch überlegen, das ist ja auch eine schöne, spannende Sache. Und kribbelst dein da nicht so auch mal ein bisschen? Aber ihr habt volle Kontrolle.

Philipp

Muss ich gestehen, habe ich sogar gemacht.

Julien

Ja, genau. Das macht man ja auch. Ja und nein. Also privat, wenn ich Zeit hätte, würde ich alles machen. Ich würde alles gerne privat machen. Aber personell muss man oder würde ich immer gucken, macht das jetzt Sinn? Ist das etwas, was uns weiterbringen kann? Nein, nein, das ist auf jeden Fall interessant, sich anzugucken.

Ich glaube, sie lösen Probleme, die wir jetzt so in Entschauung nicht haben, weil wir ja einfach, der Fokus bei Entschauung ist ja einfach diese veränderbare dynamische Welt und das ist etwas, was sehr schwer ist mit Nenite, weil Nenite einfach einen relativ langen Pre-Processing-Step braucht, um die LOD-Hierarchie aufzubauen, und das ist das, was jetzt uns helfen würde.

Also wir haben LOD-Probleme in der Schau noch, wir arbeiten auch da dran, aber das ist nicht der Weg dafür, um das zu erzielen. Aber sich so beschäftigen mit den Themen, wie haben die das gelöst, was für. Einschränkungen gibt es mit der Technik und was nehmen die in Kauf, um andere Sachen zu kriegen, das ist sehr interessant, auf jeden Fall. Und da gibt es ja auch gerade Nenner, da gibt es eine hervorragende Präsentation, kann ich nur jedem empfehlen, der sich dafür interessiert.

Und Und auch Lumen oder so, das sind auch sehr interessante Weiterentwicklungen, würde ich sagen, generell. Aber es ist halt vielleicht aus Spielerperspektive oft nicht so klar, dass das, Das ist immer ein Kompromiss, das ist immer ein Trade-off. Also die machen Sachen sehr, sehr gut, aber nehmen in Kauf, dass sie halt ein Pre-Processing-Step brauchen zum Beispiel und sind deswegen nicht dynamisch. Also es gibt dann immer etwas, was nicht so gut damit funktioniert.

Und das muss halt passen auf das, was man machen will.

Simon

Habt ihr irgendwie dicke, fette Fails im Kopf, wo ihr mal irgendwas gemacht habt, wenn so Engines irgendeine Entscheidung getroffen habt, wo ihr dann am Ende sagt, das war nicht gut, das war keine gute Idee. Irgendwie was implementiert, was dann gar nicht funktioniert oder was ganz schlimm war. Ich meine, genau, Philipp hat das eben schon erzählt mit der Mittelwert, die dann plötzlich delezensiert wird irgendwie. Aber so Sachen sind ja auch mal schön zum Lernen.

Julien

Generell würde ich sagen, wenn man das nicht hat, dann hat man, glaube ich, nicht hart genug versucht. Also, weil ein bisschen Fail gehört dazu. Wir haben mal Scaleform geschippt. Ich glaube, im letzten den Podcast haben wir ein bisschen drüber geredet. Also Portal Knights ursprünglich als Galeform benutzt und das hat sich dann später aus verschiedenen Gründen herausgestellt, dass es keine so gute Idee war.

Simon

Aber vielleicht doch als eigenverschuldetes.

Julien

Ja, ich bin auch dabei. Ich wollte noch ausruhen.

Simon

Das kommt doch.

Julien

Weil tatsächlich habe ich mich dann, ich glaube, ein paar Wochen oder sogar ein paar Monate, zwei Monate hingesetzt und habe versucht, den ActionScript 5-Code komplett zu parsen und nach C++ zu konnotieren, automatisiert.

Simon

Weil ActionScript war die Skriptsprache für Galeform.

Julien

ActionScript war die Skriptsprache, mit der der quasi in Scaleform durch UI geskriptet wurde.

Philipp

Scaleform ist ja Flash.

Julien

Genau, und ich dachte, hab mir halt die Spec durchgelesen von der Sprache und dachte, so schwer ist es jetzt nicht aus. Hat auch einen Parser, mit dem ich es komplett, einlesen konnte am Ende und hab auch angefangen, das rauszuschreiben. Aber im Nachhinein war das eine ziemlich scheiß Idee, das so zu machen und die Zeit hätte ich mir sparen können. Aber es war, keine Ahnung, ob das jetzt ein gutes Beispiel ist für das, was du meinst, aber das war so ein, Im Nachhinein ein Fail, würde ich sagen.

Simon

Aber hat es funktioniert?

Julien

Zum Glück habe ich es nicht bis zum Ende entwickelt. Aber es wäre einfach auch keine, nicht die richtige Strategie gewesen am Ende. Also die Lösung wäre einfach...

Philipp

Aber das gehört, glaube ich, zum Programmieren einfach dazu, dass man auch mal Sachen probiert. Dass man Sachen probiert und dass man auch mal Zeit verschwendet, weil man weiß vorher nicht, ob es funktionieren kann oder nicht. Manchmal, und wenn man es nicht probiert, dann ich glaube, das ist das Falschste, was du machen kannst, so konservativ da rangehen und sagen, ach, das wird eh nicht funktionieren.

Also ich meine, so nimmt man sich ja, so werden ja die guten, großen Features entwickelt, indem man sich eigentlich was vornimmt, von dem alle sagen, nö, das geht nicht. Das sind so Dinge wie das, was jetzt auch Loom oder Nanite oder so, das sind ja auch so Dinge. Deswegen hat Unreal damit ja am Ende des Tages auch so einen Hype erzeugt, weil die auch auch mit als Erste fast hingekriegt haben, sowas zu machen und für die breite Masse benutzbar zu machen am Ende des Tages.

Und das ist, klar, es kommen jetzt natürlich immer noch andere Möglichkeiten, Global Elimination zu machen und so weiter, aber das ist schon, muss man schon Respekt zollen.

Julien

Ja, das ist ein gutes Beispiel, das Nenadpapier, ich habe es gerade mal verlinkt. Wie gesagt, würde ich jedem empfehlen. Das ist auch zur Hälfte einfach eine Beschreibung von allen Sachen, die er versucht hat, die nicht funktioniert haben.

Simon

Okay.

Julien

Und das ist, glaube ich, anders geht es nicht. Man kommt, glaube ich, da nicht deutlichen Schritt weiter, ohne eine ganze Menge Pfade mal zu versuchen und die nicht klappen.

Simon

Was jetzt auch ganz gut passt, und zwar ich putze jetzt hier mal einen Thread. Der ist wiederum auch, es geht um einen Thread im Epic Forum, wo User getestet haben, wie die Performance ist von Nenad versus konventionelle Workflows, also normal LODs und so. Und dann feststellen, dass Nenad gar nicht so geil ist, wie Epic teilweise schreibt, dass sie halt mit normalen Meshes und ein paar LODs durchaus bessere Ergebnisse kriegen.

Philipp

Aber das ist, man kann natürlich auch, wenn man ein System, also ich sag mal, wenn man Nenner nimmt und das ein System ist, was darauf ausgelegt ist, ultra hoch aufgelöste Meshes zu rendern, mit 5 Millionen, 10 Millionen Triangles jetzt. Und dann geht man hin und macht mit demselben System, was darauf ausgelegt ist, einen Test, wo man dann irgendwie 10 Millionen Boxen rendert, die dann alle einzelne Boxen, dann ist das natürlich nicht toll, weil das System ist nicht dafür gemacht.

Julien

Man kann mit einem 1-Auto auch nicht schneller beim Aldi einkaufen fahren, als mit einem Opel Astra. Das ist halt immer die Frage, was man damit tut.

Simon

Ja, was ganz schön bei dem Thread ist, die haben das alles sehr organisiert, da kann man direkt zu dem...

Julien

Aber ich kenne den Zwerg nicht, also ich weiß nicht.

Philipp

Ob ich da jetzt... Ich kenne ihn, ich habe ihn schon, ja, habe schon gelesen.

Simon

Also, was ich einfach noch interessant daran finde, ist, wenn... Also, Epic hat ja sehr viel investiert in diese Nenner-Technologie und hat vielleicht jetzt auch ein, sagen wir mal, wirtschaftliche Motivation, das zu pushen.

Julien

Das Team ist relativ klein. Also, was sehr viel investiert, ja, weiß ich nicht.

Simon

Ja.

Julien

Zwar nicht so teuer wie ein paar Acquisitions, die sie gemacht haben. Aber gut, ja.

Simon

Meine Theorie wäre jetzt nur so, die haben jetzt vielleicht eine wirtschaftliche, Motivation, das so ein bisschen zu pushen, weil es ein cooles Feature ist, keine Ahnung, jetzt benutzt das alle mal bitte. Und vielleicht ist dann eben die Kommunikation darüber nicht so ehrlich, wie sie jetzt zum Beispiel intern bei euch sein würde.

Wenn ihr jetzt ein Feature entwickelt und dann stellt man fest, ah, das ist gar nicht so super, dann würdet ihr euren Artist vielleicht erzählen, ja, macht's vielleicht so und so, das ist noch ein bisschen schneller. Während jetzt hier das Problem, soweit ich das weiß, bei dem, bei dem Thread ist, dass Epic die ganze Zeit so ist, ja, benutzt alle Nenner, das ist die neue Super-Technik und.

Julien

Aber ich glaube, dass Brian Karras, also der Erfinder von Nanite oder der Ingenieur, das gemacht hat, würde jetzt nicht sagen, dass der sagt, macht jetzt euer Vampire Survivors mit Nanite. Aber das ist natürlich irgendwie, dafür ist es nicht gedacht. Also dafür ist es auch nicht gemacht und nicht optimiert für. Und wie gesagt, es kommt aufs Spiel an. Wenn man, man kann mit Nanite wahrscheinlich zur Zeit Sachen machen, die man nur schwer anders machen kann.

So, und wenn man das, dann muss man das aber auch machen.

Philipp

Dafür muss man dann auch die Assets liefern, die hoch aufgelöst sind.

Julien

Dann muss man die Assets liefern, dann muss man die Asset-Pipeline dafür haben, dann muss man auch das Spiel dafür haben und so weiter. Und dann kann man das richtig ausfahren, das Ding, und dann kommt auch keiner hinterher. Oder ich meine, es ist ja auch kein Hexenwerk, man kann das auch nachbauen. Philipp hat das ja auch gemacht und andere Leute, Andor Remedy oder andere Leute haben das auch gemacht. Es ist jetzt nicht mit der Open-Source-Implementierung mittlerweile.

Das ist jetzt auch nicht so, dass das ein uneinholbarer Riesenvorsprung wäre, aber man muss halt dann, das muss passen. Das Werkzeug muss zu der Aufgabe passen, die man da vor sich hat.

Simon

Und, okay, so ein bisschen allgemeinere Frage noch von Timo. Sagen wir mal, morgen gehen die Server kaputt und alles ist weg. Von euch jetzt, von der Engine, die ganze Engine ist weg. Würdet ihr, wenn ihr jetzt nochmal ganz von vorne anfangen müsstet, von null, Ich wollte erst mal Herzinfarkt kriegen. Nee, aber alles gut, Entfaudet ist fertig, 1-0 ist released, alle sind happy, aber aus irgendeinem Grund ist der Server plötzlich weg.

Und jetzt ist also die Frage im Grunde, würdet ihr, wenn ihr jetzt nochmal ganz, ganz, ganz, ganz, ganz von Null anfangen müsstet für ein Spiel mit einem Engine, würdet ihr dann trotzdem sagen, nö, das ist schon okay, weil, also eine Sache ist ja, es ist ja... Also man braucht ja eine sehr lange Zeit, um so eine Engine von Grund auf aufzubauen erstmal, ne? Und würdet ihr das einfach nochmal machen? Oder würdet ihr dann in diesem speziellen Extremfall sagen, so ach, weißt du...

Julien

Also, da gibt's zwei Antworten. Also, falls Philipp anfangen will. Ich fang mal an. Zwei Antworten. Das eine ist persönlich. Ich persönlich arbeite einfach grundsätzlich nicht mit Third-Party-Engines. Das kann ich mir nicht vorstellen. Für mich persönlich. So, und das Team, was auch immer dann nach diesem Serverschritt noch da bleibt und nicht frustriert woanders hingegangen ist, das sollte sich wahrscheinlich dann zusammensetzen und überlegen, was man jetzt macht.

Ich glaube, die Perspektive wäre schon, dass man zum gleichen Stand deutlich schneller kommen kann, weil viel ist natürlich nicht das Abtippen des Codes, sondern viel ist Konzepte ausprobieren, die funktionieren oder nicht funktionieren. Und ich hoffe, dass man das meiste noch erinnert, wobei nicht alles in allen Details, aber so die groben Züge, weil wir jetzt hoffen, dass nicht auch die Gedächtnisse gelöscht sind, dann kann man glaube ich deutlich schneller, als wir das jetzt beim ersten Mal

gemacht haben, zu einem ähnlichen Stand kommen. Aber es ist ein nennenswertes Investment. Also es ist jetzt nicht völlig klar. Und das habe ich auch im ersten Podcast schon gesagt. Es kommt halt darauf an, wo man startet. Ist man jetzt wie wir ein Studio, was schon eine Engine hat? Oder ist man ein neues Studio, was sich zusammensetzt im Keller und hat vor, ein geiles Spiel zu machen? Dann können die Ergebnisse von so einer Entscheidung durchaus anders aussehen.

Simon

Es gibt ja noch so eine Zwischenlösung. Man könnte ja auch zum Beispiel Godot nehmen und die komplett einfach umbauen, aber da hat man zumindest schon mal eine Basis. Wäre das eine ganz kleine für dich?

Julien

Ja, könnte sein. Also ich meine, Claybook zum Beispiel ist auch so ein Spiel, was auch der Unreal ist offiziell, aber sie haben das komplette Rendering selber gemacht. Und auch die Physik und Kollisionen und alles. Und die haben Unreal am Ende nur als Container benutzt, um Cross-Plattform-Grafik-Programme machen zu können. Klar, sowas kann man auch machen.

Philipp

Dafür gibt es aber auch Game Frameworks Das ist dann Vielleicht ein bisschen weniger Overhead Claybook?

Simon

Hier steht Developer Second Order War.

Philipp

Das nicht so ein Distance-Field-Ding oder was? Ja, doch, ne?

Julien

Sowas reizt mich halt am meisten Mich reizt halt Ein bisschen anders machen Deswegen finde ich jetzt auch Unshadow ganz cool Ich.

Simon

Habe gerade Claybook gepostet, ist das das? weil da steht Pub Developer Second Order, war das dann so ein Code-Development oder so?

Julien

Das ist nicht von mir, ich meinte nur, das wäre so ein Beispiel Achso! Ein Spiel, was Unreal benutzt, aber tatsächlich eigentlich komplett alles selber gemacht hat also alles Entscheidende, die haben den Input nicht selber gemacht und den Sound, aber die haben komplett Grafik und Physik und so selber gemacht.

Simon

Okay, und Philipp, was wäre deine Antwort, wenn jetzt morgen der Server kaputt geht?

Philipp

Also ich glaube, es gibt da zwei Seiten. Es gibt natürlich auf der einen Seite das, was jetzt Job und Firma angeht und so weiter. Da gibt es natürlich jede Menge strategische Gedanken, die man sich da machen muss. und auf der anderen Seite gibt es natürlich die persönliche Sache, also hat man da Bock drauf. Also ich hätte auf jeden Fall Bock darauf, irgendwie von scratch irgendwas, eine coole Engine zu entwickeln. Natürlich, das ist eine coole Sache.

Also vor allem, weil man die Möglichkeit hat, ja, bestimmte Sachen irgendwie so zu machen. Also ich habe ja vorhin gesagt, sagt man, man schleppt häufig auch eben einfach alle Lasten mit sich rum.

Man hat viele Sachen, mit denen man eigentlich gar nicht glücklich ist, die man nicht ändern will oder kann oder das zu aufwendig wäre oder jetzt keine Zeit dran stecken will und dann schleppt man die mit rum und ärgert sich darüber und so Sachen dann eben irgendwie, from scratch zu machen und ja, mit den Erfahrungen, die man schon gesammelt hat, irgendwie neue, coole Designs und Philosophien sich zu überlegen und so, das ist Klar, das ist cool. Da hätte ich natürlich schon Bock drauf.

Julien

Es gibt nichts Cooleres, als eine neue Engine mit einem neuen Spiel anzufangen. Das ist schon weißes Papier.

Simon

Wenn jetzt jemand fragt, wie lange dauert es denn denn? Also wir fangen gerade fresh an und ihr müsstet jetzt evaluieren, das Spiel, weiß ich nicht, dauert für mich erst zwei Jahre Entwicklungszeit oder drei oder so. Und jemand fragt, wie lange dauert es jetzt extra, noch die Engine parallel zu entwickeln? Also das finde ich ja schon eine ganz.

Julien

Ganz spannende die ehrliche Antwort ist, wie immer, es kommt drauf an es kommt drauf an, machst du jetzt ein Prozedural-Spiel, so ähnlich wie Portal Knights, wo man nicht viel Tools braucht, vielleicht sondern viel Runtime ist und man vielleicht auch schon ganz viel Art vorproduzieren kann, und previewen kann in externen Tools oder Engines dann kann ein Teil des Teams schon loslegen,

quasi, mit Sachen machen, die produktiv sind fürs Spiel. Man muss halt identifizieren, welche Sachen brauchen wir möglichst schnell, damit andere Leute im Team dann auch produktiv werden können. Also, damit man möglichst schnell Gameplay hat. Und dann ist Grafik wahrscheinlich eher sogar weiter hinten.

Wenn man jetzt ein Spiel macht, was aber von der Grafik lebt und Custom-Level-Welt hat und so, dann braucht man wahrscheinlich Jahre, bevor man wirklich produktiv werden kann, wenn man vom Scratch anfängt. Aber vielleicht nimmt man dann Maya kurz Zeit das Level dieser Editor. Also es gibt dann schon...

Philipp

Ja, es hängt auch immer davon ab, es hängt auch ganz stark davon ab, wie pedantisch man dann auch ist. Also wenn man jetzt denkt, oh, das ist so ein bisschen wie wenn man ein Haus renoviert. Irgendwie, oh, wenn wir jetzt schon dabei sind, dann können wir auch gleich die Fenster noch neu machen. Oh, dann können wir auch das Dach noch machen.

Das ist eben, wie pragmatisch geht man ran, wie viel Zeit nimmt man sich, um irgendwie stundenlang darüber zu diskutieren, ob man lieber irgendwie das auf die Art macht oder auf die Art macht und so weiter. Da kannst du auch Jahrzehnte drin versenken. Also das ist immer so eine Minimax-Aufgabe, glaube ich.

Julien

Aber wenn jetzt jemand ankommt und sagt, wir haben noch keine Erfahrung am Engine machen, wir sind ein kleines Team, wir wollen ein neues Witcher machen und...

Philipp

Cyberpunk.

Julien

Dann sage ich halt Good Luck. So, dann vielleicht muss man dann auch einfach das Spiel, das man machen will, ein bisschen anpassen an die Realität, die die man da hat und sich dann langsam zu dem Witcher-Spiel halt hinarbeiten. Das ist ja auch gar nicht nur die Technik und die Tools, sondern auch Workflows und wie man untereinander zusammenarbeitet und das Team halt formen, also um da hinzukommen.

Simon

Ja, ich meine, gerade Witcher ist ja auch ein gutes Beispiel, weil von Witcher 1 zu Witcher 2 zu Witcher 3, das waren ja auch Generationenspiele.

Julien

Die waren auch alle nötig. Man kann nicht einfach mit Witcher 3 anfangen, glaube ich.

Simon

Ja. Ne genau, aber ich finde das gut, eure Einschätzung, einfach falls es irgendwie Leute zuhören, die denken so, ey, wir hätten gerade Bock eine Engine zu bauen, dann finde ich es gut, so eine realistische Einschätzung einfach zu bekommen.

Julien

Wenn man so einen 2D-Sidescroller oder 2D-Sonstwas, das kann man, wenn man weiß, was man tut, in der Woche zusammenkleben, sodass man da was hat, womit man das Spiel machen kann.

Simon

So, das ist hier eine kurze kleine Halbzeit, weil es war von vornherein klar, dass der Philipp nur ein begrenztes Zeitbudget hat und das ist jetzt leider aufgebraucht. Deswegen ist Abi jetzt nicht mehr dabei im Podcast hier, aber der Julian hat gesagt, er hat noch ein bisschen Zeit und wir wollen jetzt noch ein bisschen über Entschraudet quatschen. Also ein bisschen spezifischer um das Spiel. Da habe ich mir nämlich auch noch einige Fragen notiert gehabt.

Genau, das ist nur eine kurze Zwischenmeldung, nur dass ihr euch jetzt nicht wundert, warum der Philipp plötzlich nichts mehr sagt.

Julien

Dann bis morgen.

Philipp

Alles klar, bis dann.

Simon

Mach's gut, dankeschön, tschüssi. Genau, so, Entschraudet. Jetzt reden wir ein bisschen über Entschraudet, genau. Das ist wieder mal so ein Spiel. Ist faszinierend, wo ich, ich hab erst mal so ein bisschen geguckt so und dachte so, ja, ist halt so ein Spiel. Und umso tiefer ich mich dann damit beschäftigt habe, umso größer sind meine Augen geworden, umso mehr habe ich kapiert, was da eigentlich stattfindet und wie beeindruckend das ist.

Übrigens, weil wir über Nenad gesprochen haben eben, das war bei mir exakt genauso. so. Ich habe diese Demo gesehen am Anfang von, wo man durch dieses Tal fliegt mit diesen Statuen und dachte so, ja und, was ist da jetzt so besonders? Und ich habe gar nicht verstanden, weil das ja auch nicht ganz so, also rein aus dem Visuellen erschließt sich das ja nicht, dass das alles so dynamisch tesselliert wird und sowas.

Und auch, dass das auch so diese, die Änderung der Global Illumination hat man vorher auch schon in Spielen gesehen, da war es dann halt gebaked. Aber du siehst ja in dem Video nicht, ob das nicht mit, mit, mit, Mit, wie hieß das nochmal?

Julien

Mit Luben.

Simon

Nee, nee, es gab eine Technologie, wo die, da wird das halt in so Probes gebaked und dann kannst du auch die Lichtquelle verändern und dann ändert sich auch die Global Illumination. Das haben wir nämlich in Reim.

Julien

Enlighten?

Simon

Enlighten, genau, genau, Enlighten. So, das heißt, ich hatte das alles schon mal so ein bisschen gesehen und hab gar nicht gecheckt, dass es alles Realtime ist. Und erst als ich mich dann damit beschäftigt habe, dachte ich so, was? Das ist ja Wahnsinn. sind.

Julien

Ich glaube, das ist tatsächlich gerade für einige Spieler ein Problem, weil natürlich so gebakete Lightmaps sehen immer noch ziemlich geil aus. Also da muss man auch erstmal rankommen mit Realtime-GI. Und für den Spieler, dem ist es ja erstmal egal. Da muss man immer gucken, passt das überhaupt fürs Spiel, dass man da Realtime-GI braucht oder dass es einen sinnvollen Use-Case gibt dafür, weil natürlich gebakete Lightmaps ist ganz schön viel schneller als Lumen.

Das ist einfach so. Da muss man mal gucken, ob das sich auch immer lohnt.

Simon

Ja, das ist wahrscheinlich auch eine Frage der Teamgröße. Ich hatte ein ganz, ganz tolles Gespräch letztens mit einem von, mit dem David von Industria, dieser Shooter. Und die waren halt quasi zu zweit größtenteils und haben halt Lightmaps gebaked für Industria. Und die haben öfters mal das Problem gehabt, dass es da Lightleaks gibt, so an Kanten, dass es da doch nicht ganz so perfekt aussieht oder mancher flickert kurz was.

Und jetzt könnt ihr halt dank Neu-Unreal-Engine wirklich sich auf ihre geilen Level fokussieren und das sieht halt super schick aus. Das heißt, man hat am Ende was davon, weil einfach der Content besser ist. Denen bringt das sehr, sehr viel. Aber klar, es gibt natürlich auch genug Spiele, die mit Lightmaps Aber es gibt.

Julien

Glaube ich, auch Lightmap-Baker selbst bei Naughty Dog oder so, die das Problem nicht hatten. Das kann man da auch fixen, wenn es mit viel Handarbeit ist. Aber GI ist natürlich gerade für so ein kleines Team auch ein enormer Produktivitätsgewinn.

Simon

Genau.

Julien

Weil man natürlich alles in Echtzeit machen kann. Und ja, das war das Thema bei Entschraudet, denke ich. Weil das ist da aus verschiedenen Gründen einfach notwendig gewesen. Es ist jetzt nicht unbedingt, dass wir das unbedingt machen wollten, aber es geht halt nicht anders. Wenn man eine Welt hat, wo sich sowohl Geometrie als auch die Sonne die ganze Zeit bewegen können, dann braucht man da irgendeine Lösung. Wenn man trotzdem nicht zu große Kompromisse eingehen will.

Simon

So, jetzt habe ich da direkt mal eine Frage. Und zwar kommen wir zu einem wichtigsten Punkt. Du hast gerade die Sonne gesagt. Von allen Dingen, die es zu besprechen gibt, geht es um die Sonne. Und zwar, ich habe mich, ich habe mich, also es ist nur ein ganz kleines Detail, aber ich habe so ein Bild hier und da siehst du, dass die Pixel sehr pixellig sind. Ja, also und wenn man die Sonne sich bewegen sieht, dann sieht man auch, dass die Pixel perfekt positioniert werden. Also es gibt keine...

Fade-in und fade-out Pixel, so wie wenn so ein Pixel, ich weiß nicht, wie man das beschreiben soll, also wenn so ein Objekt sich über ein Bildschirm bewegt und ganz langsam ist, dann kann es auch so erstmal einen halben Pixel ausfüllen und der ist dann einfach nur halbtransparent. Die Sonne bei euch, und das ist das einzige Objekt, was mir aufgefallen ist, ist so pixelpapiert. Was ist da los? Was ist denn mit dieser Sonne los?

Julien

Ich habe deine Liste gesehen und ich wollte, habe mir vorgenommen, die alle durchzugehen und deine Fragen wirklich ausführlich zu beantworten. Ich habe es nicht getan. Ich kann dir ein bisschen was zu sagen zu der Sonne. Das ist ein VFX, also Also die Atmosphäre selbst ist ein Ray-Marger, um das Scattering hinzukriegen. Aber die Sonne selbst als Objekt, das ist ein VFX, die einen speziellen Drawcall macht.

Ich glaube, die wird nur für die Sonne und für den Mond benutzt, also für so Sky-Bodies, die auf die Fahrpläne poliziert werden quasi, also ganz weit weg hinter allem anderen. Und ich vermute, da ist irgendwas schiefgelaufen bei der Auswahl des Samplers. Also ich kann das ja aber nicht sagen, warum. Das ist mir auch nicht aufgefallen vorher. Ich habe es nicht gesehen vorher.

Simon

Ich kenne das nämlich, wir hatten diese Diskussion bei X, da haben wir ganz viele kleine Icons auf dem Bildschirm, wo eben Raumschiffe sind. Also wenn die Raumschiffe ganz weit weg sind im Weltall, dann macht man ein Icon drum, damit man sie überhaupt nachher sieht. Und dann ist immer die Frage gewesen, macht man Pixel-Perfect-Icons oder nicht? Weil wenn man es nicht macht, dann werden die so ein bisschen blurry.

Und wenn man es macht, sehen sie gut aus, aber bewegen sich so So kluck, kluck, kluck, immer weiter. Und vielleicht ist mein Sehsinn daher geschärft, weil mein Sehsinn von damals.

Julien

Ja, ich meine, du ablest ja auch wirklich in dem Bereich, von daher ist dein Auge wahrscheinlich da auch extrem.

Simon

Fand ich irgendwie schon interessant. Aber, Genau, und eine Sache, die ich auch ganz spannend fand, ich finde das, ich habe gerade, kann ich dir auch mal posten, ich habe gerade einen Talk gemacht über, wie man so ein paar Tools benutzt, um Drawcodes sich anzugucken und sowas, um rauszufinden, wie Sachen gehen und ein Teil der Realisierung ist immer so ein bisschen, wenn ich das mache, dann kollidiert mein theoretisches Wissen über Optimierung in Spiele-Engines mit der Praxis.

Julien

Ja, gut.

Simon

Zum Beispiel. Und das ist aber jetzt mal ein wunderschönes Beispiel vielleicht auch dafür, ein ganz toller Vorteil von Custom Engines, weil du weißt einfach exakt, was dort passiert. Weil wenn man jetzt ein Anwäl ist und sich fragt, ja, wie ist das jetzt mit dem Culling irgendwie, keine Ahnung.

Julien

Genau, ich muss da immer ein Sternchen dran machen, weil ich habe natürlich nicht alles selber persönlich programmiert. Ich habe ein großes Team und Teile davon sind auch Jahre alt. Und ich vergesse Sachen. Aber ja, ich versuche, das zu beantworten.

Simon

Ja, also wenn ich sage, du weißt das alles, meine ich auch so, es ist theoretisch rausfindbar. Ihr habt kompletten Code-Zugriff und so und das ist ein super großer Vorteil auf jeden Fall. Und mir ist aufgefallen einfach, und das habe ich auch in meinem Talk festgestellt, ich habe mir Elden Ring angeguckt, jetzt nicht tiefgreifend oder so, aber da ist es dann halt so, dass man da merkt, aha, man hat eine Wand vor dem Gesicht direkt und es werden trotzdem Objekte hinter der Wand gerendert.

Dann irgendwie so, hä, ich habe doch in meinem Theoriekurs wie Performance-Optimisierung und sowas und wie Engines funktionieren gelernt, dass es eine Sortierung gibt von Objekten und dann wird halt von vorne nach hinten gemalt, sodass wenn ein Objekt vorne, das hintere überdeckt, gar nicht erst gerendert wird und so weiter und so weiter.

Julien

Da sind natürlich viele Sachen, die du jetzt... Soll ich da ein bisschen drauf eingehen? Ich habe deinen Talk jetzt nicht gehört, aber das, was du meinst, ist wahrscheinlich Occlusion Culling. Also du hast jetzt das Wort Objekt benutzt. Also Objekt ist quasi ein Draw Call oder so, der als Ganzes nicht passieren soll, weil eine Wand dazwischen ist. Das macht die Hardware an sich nicht. Das muss man selber machen. Und das kann man entweder auf der CPU oder auf der GPU machen,

aber das muss man selbst programmieren. und das lohnt sich nicht immer. Was die Hardware aber macht, ist auf Dreiecksbasis oder auf Pixelbasis später die Sachen wegschmeißen. Das heißt, es kommt auch ein bisschen drauf an, welchem Tool du dir das angeguckt hast, dass dir der Drawcall passiert und das muss nicht unbedingt teuer gewesen sein. Also wenn die von vorne nach hinten sortiert sind, dann ist dieser Drawcall, das Objekt, wirklich gemalt worden.

Das war aber sehr, sehr schnell, weil die Pixel alle verdeckt sind und die GPU das festgestellt hat, bevor sie quasi teure Pixelschäder gestartet hat für diesen Wechsel überhaupt. Also diese Objekte sind trotzdem, ich kenne diesen Einzelfall nicht, aber trotzdem sehr viel günstiger, als sie wären, wenn man sie von hinten nach vorne gemalt hat. Weil dann muss man erst das Objekt einmal komplett malen, schattieren und so weiter. Und dann malt man eine Wand davor.

Also das bringt den Hauptteil des Gewinns. Zusätzlich gibt es da auch Occlusion Culling, was dann komplett einen Draw Call verhindert. Und das bringt vor allem dann was, was wenn man sehr, sehr viele Objekte hat, sehr viele kleine. Aber dann, genau, das, was sehr viel da ist, will man versuchen zu reduzieren. Wenn man sehr viele Pixel hat, also ein großes Objekt, was sehr viele Dreiecke hat oder so, oder viele Pixel einnimmt im Screen, dann ist das das Problem.

Wenn man sehr viele einzelne Objekte hat, dann will man versuchen, das zu reduzieren, so ganz grob.

Simon

Genau, und da war jetzt nämlich meine Frage, wie habt ihr das so gehandhabt? Weil ich habe nämlich mal reingeguckt bei euch und da habe ich auch gesehen, weil man so vor so einem Keller steht, also... Oben drauf, kann man manchmal nach unten gucken und dann sieht man zumindest die Wireframes von Objekten, die dann im Keller sind, aber die man noch...

Julien

Aber auch nicht alle. Du siehst nicht alle. Also wir haben Occlusion Culling, allerdings ist das relativ ungenau. Also es benutzt halt ein Bounding Sphere für jedes Modell als Test und je nachdem, wenn das zu nah an der Oberfläche ist, dann kann der Test fehlschlagen. Also es ist ein Test, der nicht so präzise ist.

Simon

Also die Bounding Sphere ragt sozusagen über die Erdoberfläche mit raus. Da ist der Keller nicht tief genug oder nicht hoch genug.

Julien

Der Seller ist nicht tief genug, die Wand ist nicht dick genug, genau. Und das ist immer ein Trade-off. Wenn man es genauer macht, dann wird es halt insgesamt teurer.

Simon

Ja, genau. Das ist nämlich auch so eine Realisierung. Ja, genau. Das ist manchmal, also das ist so spannend, weil du gehst so rein mit dem Theoriewissen und dann so, ja, alles muss irgendwie LODs haben und alles muss irgendwie zum Beispiel auch Occlusion kalt werden und so. Und dann merkt man so, hä, irgendwie wird es jetzt langsamer obwohl ich doch optimiert habe, das ist doch komisch. Und das ist spannend, okay. Aber okay, das heißt, ihr macht Occlusion Culling?

Julien

Wir haben Occlusion Culling für den Mainview, also für das, was man hier direkt sieht, aber auch für die Schatten. Also die Schatten haben wir eigene, das ist Occlusion Culling für Sachen, damit man sich vorstellen kann, wenn man ein bisschen weiß, wie Schatten funktionieren.

Also bei uns, wir rendern die in eine sogenannte Shadow Map, das heißt, wir rendern aus der Perspektive der Hauptlichtquelle, in dem Fall die Sonne, in eine extra Textur und rendern quasi die Tiefe, also die Distanz von der Sonne zu dem Objekt da rein. Und dann können wir diese Shadow Map benutzen beim Rendern des Hauptviews, um zu gucken, ob ein Pixel im Schatten ist von einem anderen Objekt oder nicht.

Und wenn ich es mir vorstellen kann, ist es egal, ob man zwei oder drei Moral Zwischensicht in der Sonne hat. Eine reicht, um Schatten zu erzeugen. Das heißt, die anderen sind eigentlich überflüssig.

Simon

Ach so, das heißt, von der Sonne aus wird das Obduchengalle. Ach, das ist ja spannend. Okay. Aha.

Julien

Und das ist auch wieder nichts, was jeder Engine macht oder jedes Spiel macht. Es kommt halt darauf an, wie viele einzelne Draw Calls hat man, wie groß ist die Distanz der Schatten, wie viele Schattenkaskaden hat man. Also es ist einfach sehr, ja, organisch. Und das entwickelt sich eigentlich immer meiner Erfahrung nach, man guckt sich das Spiel an, das Spiel ist zu langsam auf der Zielplattform, dann guckt man sich an, was ist denn das Langsamste.

Und dann guckt man sich an, okay, was können wir da machen? Und dann sieht man, Schatten sind ganz schön langsam, wir rennen dann ganz schön viele Objekte in diese Schatten. Wir werden dann Objekte, die im Keller sind, in den Schatten. Und er sagt, das ist ja nicht besonders sinnvoll, weil im Keller ist sowieso alles im Schatten. Da können wir halt irgendwas machen. Und dann versucht man da was und dann bringt das was und dann hat man das.

Also es ist nicht, in meiner Erfahrung nicht, dass man so einen Masterplan hat und sagt, das macht man alles, sondern man macht Sachen, und iteriert daran und misst und guckt, was ist jetzt langsam, was ist ein Problem, wo muss man jetzt als nächstes dran arbeiten. Und daraus ergeben sich dann so merkwürdige Lösungen manchmal, die man im Nachhinein versucht zu verstehen. Und man hört dann halt auch auf, typischerweise, wenn es gut genug ist.

Simon

Ja, genau, das ist das ist halt, da muss man halt priorisieren, ja, genau. Genau, aber das ist sehr spannend, genau, okay, und natürlich Frustrum Culling natürlich, ne, also Genau, Frustrum Culling.

Julien

Das ist, das bringt aber, das ist immer ein bisschen schwierig, das ist generell auch, das hilft ja nicht immer, also man muss immer gucken, was ist der Worst Case. Bei uns im Worst Case steht man in einer Ecke der Map und guckt in die Tiefe, in die andere Diagonale. Man sieht quasi alles. Frustrum Culling bringt effektiv nichts. Man zahlt aber trotzdem den Preis dafür. Frustrum Culling ist nicht besonders teuer, weil es ein relativ einfacher Test ist, den man macht pro Objekt.

Aber in diesem Spezialfall ist es schlechter, Frustrum Culling zu machen, als es nicht zu machen. Weil das Ergebnis ist immer sichtbar. Und den Test macht man trotzdem. Das muss man im Hinterkopf behalten. Dritten, man darf sich nicht so sehr fokussieren auf die eine Szene, die man jetzt gerade vor sich hat, die ein Spezialfall ist, sondern muss auch ein bisschen überlegen, was ist denn der Worst Case, was ist denn das Schlimmste, was passieren kann und hilft dann diese Optimierung da auch noch.

Simon

Ist natürlich jetzt auch interessant, weil das ist jetzt so ein Extremfall, man könnte ja auch andersherum argumentieren, zu sagen, die meiste Zeit ist man nicht in der einen Ecke und guck uns die andere, die meiste 99%...

Julien

Das muss man auch, ja, ja, das machen wir auch, wir haben ja auch Frost and Cutting. Ich meine nur, das ist generell so ein Prinzip, dass man nicht sagt, dieser eine Fall ist der wichtige. Man muss schon gucken, wo bringt das denn im... Also die besten Optimierungen sind eigentlich immer die, die überall halt was bringen. Weil die einfach, ja, die will man halt als erstes irgendwie haben.

Simon

Da related habe ich mich eine Sache gefragt. Ihr habt ja Portal Knights gemacht und in Portal Knights, soweit ich jetzt weiß, gab es noch keinen coolen Gleiter, mit dem man dann... Ganz schnell über die Welt.

Julien

Die Welten waren auch zu klein dafür, muss man sagen.

Simon

Genau. Und übrigens, danke, dass ihr das eingebaut habt. Das ist, seit ich Zelda einmal gespielt habe, vermisse ich das in allen anderen Spielen. Und tatsächlich habe ich danach nochmal Dark Souls gespielt. Und ich vermisse jetzt so einen Gleiter einfach. Wenn du da bei Dark Souls auf einer Mauer oben stehst, da träume ich dann, jetzt würde ich hier gerne einfach runtersegeln. Und das ist so cool.

Julien

Genau. Ich finde es auch sehr cool. Und zum Glück haben wir ja auch jemanden, der da ein gutes Handicap hat für Design. Und es ergab sich bei den Shrouded aber auch daraus, lustigerweise aus dieser Voxel-Welt ein bisschen, weil da drängt sich auf, dass man Vertikalität halt noch viel mehr integriert in das Spiel. Wir haben sehr viele steile Klippen und so und das wird jetzt auch hoffentlich im nächsten Update noch mehr werden, weil dann haben wir endlich unser Bergbiom.

Also wir machen sehr viel übereinander und dann ist so ein Gleiter halt noch cooler, wenn man da noch besser navigieren kann, weil es auch sehr schwierig ist sonst in den Bergen sich zu bewegen. Also es hat so ein bisschen alles miteinander zu tun. Aber ich finde auch diesen Gleiter besonders sehr cool. Da kommen auch die Türme her, natürlich.

Die passen ja dazu. Man erobert einen Turm in Shrouded und dann hat man den ja als Point, wo man sich hin teleportieren kann und wovon man aus relativ weit gleiten kann in andere Gebiete.

Simon

Es ist einfach echt cool. Aber ich habe mich da gefragt, ob ihr Probleme hattet mit Streaming, weil….

Julien

Also, ja. Ich bin da auch immer, also Sonnenberg ist da auch sehr, ist sowieso ein cooles Studio und soweit ich das mitkriege, wird da auch genau definiert, was die Maximalgeschwindigkeit des Characters in diesem Spiel ist. Und das ist eine Zahl, die man niemals ändert, sondern darauf basiert dann ganz viel. Bei uns kam der Gleiter relativ spät dazu und war schon ein bisschen schwierig. Man hat eine ganze Menge Probleme verursacht und macht es auch noch. auch heute.

Ich muss aber sagen, dass unsere Voxel-Daten insgesamt kompakter sind als jetzt New York bei Spider-Man, glaube ich. Also wir streamen wahrscheinlich deutlich weniger Daten pro Meter, die wir uns bewegen, als Spider-Man. Ich meine, die Dichte ist vielleicht auch noch kleiner, das kann sein, weiß nicht genau. Aber ja, da gab es auf jeden Fall, oder gibt es immer noch Herausforderungen. Wir sind dann auch nicht am Ende, wir sind auch nicht so da, wo wir sein wollen.

Also das ist ja wahrscheinlich auch gefallen, dass das Level of Detail von den Voxel-Mashes doch sehr abrupt sich ändert, wenn man da rumfliegt. Das ist etwas, woran wir noch arbeiten.

Simon

Also ist mir jetzt gar nicht so aufgefallen, aber ich habe jetzt vielleicht nicht so ganz drauf geachtet.

Julien

Mir fällt es immer auf. Ja, genau.

Simon

Aber genau, und das ist jetzt auch das größte Ding da. Also das ist wirklich faszinierend mit diesen Voxel. Und ich muss auch sagen, heavily under-documented, argumentet, weil wenn man bei YouTube eingibt Voxel Engine und sich da mal so ein bisschen informieren möchte, was bedeutet das eigentlich, findet man nur Minecraft. Tutorials und also wie mache ich eine Minecraft-Engine?

Julien

Das ist ja fast schon synonym mit Minecraft.

Simon

Ja, und alles geht nur auf Klötzchen. Und deswegen hatte ich auch so ein Problem, erstmal zu verstehen, dass eure Engine auf Voxen basiert, weil die sieht aus wie eine wunderschön gestaltete Welt, wie man sie jetzt auch aus einem Goffig oder so eben erwarten würde. Schöne Berge, Landschaften, alles schön organisch. Die Objekte, die da drinstehen, die Häuser, sieht alles aus wie aus einem normalen 3D-Kit, zusammengebastelt. Und dann, hä, was sind jetzt diese Voxel so?

Und also grob zusammengefasst kann man ja auch sagen, und das ist ja wahrscheinlich auch die Basis bei euch, dass halt ein Voxel-Grid ist halt einfach ein dreidimensionales Grid, was man sich ja durchaus als Klötzchen vorstellen kann.

Julien

Genau, das sind auch Klötzchen, ja. Das sind auch Klötzchen, ja.

Simon

Aber jetzt macht ihr irgendwie Magie und ihr habt zwei Voxel-Systeme. Ihr habt einmal diese ganzen Gebäude und dann habt ihr das Terrain.

Julien

Drei tatsächlich. Ja, die Dächer von den Gebäuden sind nochmal extra. Also die haben extra Mashing, nennen wir das, ein Mashing-Algorithmus. Das heißt, der Algorithmus, der zur Laufzeit des Spiels quasi die Voxel-Daten, diese Blöcke, überführt in Dreiecksdaten. Und die Dächer haben einen Spezialweg, weil die anders funktionieren als die normalen Gebäude.

Simon

Okay, und es ist ja faszinierend auch. Also ihr generiert on the fly diese Meshes.

Julien

Genau, ja.

Simon

Bedeutet das... Dass ihr tausend Millionen Draw Calls habt, weil ja theoretisch alles komplett unique ist dann. Also, weißt du, weil man sagt ja immer so, man hat dieselben Meshes mit denselben Textoren und dann kann man die instanzieren oder batchen oder so, aber das bedeutet ja.

Julien

Dass ja, instanzieren können wir nicht, das sind einzelne Draw Calls und tatsächlich haben wir, ich weiß nicht, ob man das sieht in den Render Draw Captures, aber die einzelnen Draw Calls von den Boxen-Daten, das sind relativ kleine, wir haben die Junklets genannt. Also relativ kleine Stückchen, die haben alle 64 Dreiecke ungefähr nur. Und wie der Name schon sagt, Chunklit ist also ein Stückchen von einem Chunk. Ein Chunk ist auch ein Stückchen von der Welt. Also wir teilen die Welt auf

in solche Chunks. Das kennen wir vielleicht von Minecraft auch. Die haben eine gewisse räumliche Ausdehnung und darüber funktioniert auch das LOD, also Level of Detail System. Und dann wird ein Mesh erzeugt für so ein Chunk und das wird aufgeteilt nochmal in Chunklits. Warum wir das machen, ist, dass dass das Occlusion-Culling zum Beispiel deutlich besser funktioniert, wenn man kleinere Objekte hat.

So ein großer Chunk, wenn man sich vorstellt, eine Bounding-Sphere da rum, also eine, die wäre gigantisch groß, die würde niemals von irgendwas occludet werden. Und deswegen zersplittern wir quasi diesen großen Chunk nochmal in kleine Stückchen und cullen die einzelnen Stückchen dann im Occlusion-Culling und Frost-Culling und zeichnen die einzeln.

Simon

Ah, ja.

Julien

Genau. Aber so ein Chunk wird tatsächlich auf der CPU von Voxel-Daten in Dreiecksdaten überführt. Und wenn man sich vorstellt, so ein Chunk kann ja die drei Voxel-Typen enthalten. Das heißt, da werden auch drei Meshes erzeugt. Also im Worst Case. Also ein Terrain, so ein softes Mesh. Das sieht man ja, das ist ja nicht Minecraft-Blöcke. Dann die Gebäude, die sind eher schon typische Blöcke.

Und die Dächer mit ihrer Spezialregel, dass sie halt so ein Diagonal so ein Mesh erzeugen, was halt soft ist, diagonal. Weil es ist glatt.

Simon

Aber es scheint ja auch noch irgendwie Unterschiede zu geben zwischen verschiedenen Materialien, denn, ich blende hier auch Bilder ein, es ist ein bisschen schwierig zu beschreiben, aber ich habe mir nämlich mal das Mech anzeigen lassen von Holz und das sieht noch am nächsten so aus wie als wäre es aus Blöcken zusammengesetzt, also, wie man sich das so ganz grob bei Minecraft vorstellen könnte, aber daneben gibt es so einen Stein, ein Stein-Mech Die sind einfach.

Julien

Das ist Hardware-Testillation und die sind dann displaced. Da sind Displacement-Maps drauf.

Simon

Ah, also okay, das heißt eigentlich, wenn man jetzt das Displacement weglassen würde.

Julien

Kann man auch ausstellen im Spiel, dann siehst du es vielleicht besser.

Simon

Ach so.

Julien

Kannst du ausstellen. Dann sind es Blöcke.

Simon

Dann sind alles Blöcke.

Julien

Ja, also die Gebäude sind Blöcke. Gebäude sind Blöcke, das Terrain nicht. Das Terrain ist ein eigener Algorithmus, der halt so softe Geschichten macht, weil wir speichern in jedem Voxel nicht nur den Typ des Materials ab, sondern wir speichern auch zusätzlich bei den Terrain-Voxeln wie viel von diesem Material in diesem Voxel vorhanden ist, um quasi partiell gefüllte Voxel abbilden zu können.

Man kann sich so vorstellen, wir haben einmal 7 Bit, die wir für den Füllstand haben, das heißt ein Wert zwischen 0 und 128, oder 127 und wenn er halb gefüllt ist, also bei 64 oder so ist, dann würden würden wir, je nachdem wie die Nachbarn aussehen, diesen Terrain, das Terrain Mesh auch so generieren, dass das nur einen halben Boxel füllt.

Simon

Das bedeutet, dass dann dort eine kleine Schräge entsteht, sozusagen.

Julien

Genau, mit den Nachbarn zusammen. Wenn man mal guckt in der direkten Nachbarschaft, wie voll sind die? Und gibt es jetzt hier eine Kurve? Also es entstehen halt wirklich so Kurven und weiche Verläufe.

Simon

Ja.

Julien

Das kann man mit Voxel auch machen. Also Voxel sind nicht per se immer diese harten Kanten. Diese harten Kanten sind natürlich eine Methode, um diese Voxel-Daten zu überführen in Dreiecksdaten, die man dann zeichnen kann, aber das ist nicht die einzige.

So ähnlich kann man eben mal gucken wie bei Pixeln, wo man auch sagen kann, man kann so ein Smooth-Ding drüber machen und die Nachbarschaft gucken und dann macht man so Graustufen daraus und dann hat man auch so eine softe Kante, so ähnlich funktioniert das.

Simon

Aber, also jetzt die CPU generiert die Meshes, ne?

Julien

Genau.

Simon

Und das wird wahrscheinlich erstmal nur dann gemacht, wenn ich jetzt zum Beispiel mit meiner Spitzhacke, kann ich ja machen, ich kann mir den Spitzhack auf den Boden hauen, dann verändert er sich, in dem Moment wird wahrscheinlich das Mesh geupdatet und dann wird es auch erstmal so gelassen, ne? Wäre ja blöd, das jeden Frame neu zu generieren, so.

Julien

Ne, das wird dann, genau.

Simon

Aber, wenn ich mich jetzt umdrehe und das Mesh wird dann rausgeworfen, weil gekallt oder so?

Julien

Ne, das ist nicht abhängig von der Kameraorientierung, sondern nur von der Position des Spielers. Das heißt, um einen rum ist quasi immer so ein Bereich. In einer gewissen Detailstufe gehen er fertig als Mesh-Star. Und wenn man sich weiter bewegt durch die Welt, das sieht man auch, weil es tatsächlich immer noch sehr offensichtlich ist, dann werden vor einem höher aufgelöste Mesh-Stars erzeugt, wenn man hier rankommt.

Simon

Aber ihr, also es werden trotzdem... Alle Voxel für immer gespeichert, ne? Also irgendwo im Speicher liegen alle Daten rum.

Julien

Genau, also das konnten wir auch mal drüber reden. Also die Voxel, die auf der Platte liegen, wenn man es installiert, das Spiel, das sind knapp 16 Gigabyte, glaube ich, roundabout. Wir reduzieren das jetzt gerade noch ein bisschen, weil wir es noch ein bisschen komprimieren. Aber das sind die Daten, so wie sie bei uns quasi produziert wurden, die Welt an sich. Und dann gibt es die Änderungen, die man macht. Und wir speichern da nur die Änderungen.

Und wir haben, ich weiß nicht, wie weit du gespielt hast in dem Spiel, aber man kann ja so diese Flammenaltare anlegen und darin hat man so einen gewissen Baubereich. Das ist quasi das Safe Game. Also davon kann man auch mehrere haben und die kann man auch ganz schön groß machen am Ende. Am Ende sind die ungefähr so groß wie die großen Portnights-Welten. Das heißt schon ordentlich gibt ja Leute, die haben Minas Tirith nachgebaut.

Man kann schon einen großen Bereich abdecken, aber das ist der Bereich, den wir im Safe Game speichern und der wird dann quasi gemerged mit den oder zusammengeführt mit den Szenendaten, die wir mitliefern. Und ich glaube, das ist auch einer der coolen Features von Voxel, dass man sie merchen kann. Das ist ja etwas, was mit 3D-Smashes gar nicht funktioniert. Man kann nicht einfach zwei 3D-Smashes nehmen und die beliebig ineinander stecken und irgendwas rauskommt, was sinnvoll ist.

Sondern das ist immer super kompliziert und das geht mit Voxel-Daten aber ohne weiteres. Wir können, so arbeiten ja unsere Level-Designer eigentlich die ganze Zeit, dass sie einfach unabhängig Sachen bauen, und die dann am Ende zusammenstecken in die große Szene oder in ein Ding. Und so ähnlich arbeiten unsere Spieler ja auch. Sie bauen halt etwas und selbst wenn wir später die Welt drumherum ändern, dann kann man das trotzdem immer noch.

Ihr Save geben, da reinpacken. Das sieht an der Kante vielleicht nicht ein bisschen unsauber aus, aber das wird schon funktionieren.

Simon

Also es sind wie zwei Volumen, die man ineinander schiebt und dann wird eben immer on the fly dieses Polymech rausgeneriert und das ist dann immer sauber. Eine Sache kennt man ja auch, in letzter Zeit sieht man das öfters mal, so SDF-Renderer, die dann mit Remarching was Schönes rendern und das bekannteste Beispiel sind so Lava-Ball-Applikationen, wo man so, wo die Bälle sich so zusammen schieben. Aber es gibt gerade jetzt von Adobe tatsächlich eine neue Software.

Julien

Ja, da ist der IQ beteiligt.

Simon

Ja, wie hieß der nochmal, der Typ, es gibt einen SDF-Mensch auf der Welt.

Julien

Der IQ, ja, der heißt Ignacio.

Simon

Genau, Ignacio, genau. Genau, genau, genau. Und der macht nämlich seit tausend Jahren macht der SDF-Kram und ich verlinke das natürlich auch, hat eine ganz tolle Website, wo man ganz viele Formeln bekommt für ganz viele SDF-Shapes. Genau. Und wenn man die dann benutzt, kann man die ineinander schieben und so und dann sieht das alles super cool aus und man kann damit modeln und Adobe.

Julien

Super cool. Ich meine, Dreams kennt man vielleicht, das Spiel von Media Molecule, das ist auch, basiert auch auf SDF-Shapes. Das haben wir jetzt nicht, ja, wir haben ja ein, wir nutzen auch SDFs intern, aber das sind SDF-Grids, die wir haben. Also wir haben ein reguläres Gitter. Wir haben keinen analytischen Körper, die man ineinander schiebt, sondern wir, unsere Basisdaten sind diese diese Voxel-Daten.

Wir erzeugen daraus während dem Meshing ein SDF-Feld als Zwischenschritt für das Terrain und daraus erzeugen wir tatsächlich das Mesh am Ende. Und wir benutzen auch diese SDF-Repräsentation für unser Raytracing, was wir im Spiel haben, für die globale Beleuchtung. Also, da ist auch ein bisschen SDF mit drin. Wir kennen Ignacio nicht persönlich leider, aber die Webseite haben wir oft besucht.

Simon

Ja, Science Distance Field. Und für das Terrain, ist das dafür bei euch, dass man das da ein bisschen rund schleift damit?

Julien

Genau, ja. Ja, okay.

Simon

Ja, genau. Das ist nämlich ganz spannend. Das hat der Ignacio auch erklärt. Das ist wirklich faszinierend, wenn man zwei Körper, zwei SDF-Körper hat und die ineinanderschiebt. Sieht so aus, wie wenn man zwei Geometrien ineinanderschiebt. Nicht besonders spannend. Aber es gibt dann so eine, ich sage jetzt mal jetzt unmathematisch, so eine Zwischenformel.

Damit kann man sagen, dass diese beiden Shapes plötzlich nicht mehr einfach nur intersekten, sondern wie so eine Lavalampe, wenn zwei Bälle sich wie so Metaballs, dass sie so weich ineinander so zusammen ploppen. Das ist schwierig zu beschreiben.

Julien

Sieht sehr gut aus, ja, genau.

Simon

Und wenn man das macht, dann sieht das super cool aus. Und alles geht so weich ineinander über und so und ist gar nicht mehr so diese harten Polygonkanten und so.

Julien

Und das ist tatsächlich so ein bisschen, du musst ja sehen, es war uns sehr wichtig, dass wir den Shrouded, das haben wir in Portnoy jetzt auch schon versucht und auch, glaube ich, ganz gut geschafft. Wir wollen dem Spieler eine Möglichkeit geben, selbst seine eigene Basis zu bauen und dabei ein cooles Gefühl zu haben.

Also er soll ja was Cooles bauen. Also es soll ja am Ende nicht nötig sein, dass er selbst ein Grafikdesigner ist und super komplizierte UV-Mapping und sowas versteht, um was Gutes zu machen. Das wollen wir nicht, sondern es soll quasi ein Laie, ein Spieler irgendwas bauen können und es soll gut aussehen. Also wir brauchen was, was sehr robust ist, was sehr gut funktioniert.

Und da haben wir uns dann halt ein bisschen verliebt in die Voxel, weil die eine ganze Menge sehr coole Eigenschaften haben, die für jemanden, der das nicht acht Stunden am Tag macht, sehr intuitiv sind.

Ja, die nehmen halt Volumen ein, das kennt man irgendwie wie Lego-Bausteine, da hat man eine gewisse Intuition für, dass sie den Raum einnehmen und das Ganze on top, was wir dann machen, dass A, die Beleuchtung gut aussieht, einfach bei Default und dass diese Verzieherobjekte da automatisch drankommen, das geht alles in die Richtung, dass wir halt wollen, dass jemand ein gutes Gefühl dabei hat, wenn er was baut.

Simon

Genau, das ist nämlich das nächste Ding, weil wenn wir uns jetzt vorstellen, dass man so Minecraft-Klötzchen hat, die dann mit Displacement-Map ein bisschen interessanter aussehen, dann hat man immer noch so eine Wurscht.

Julien

Ja.

Simon

So, genau. Und jetzt hast du aber schon mehrmals erwähnt, diese Zierobjekte. Und die wiederum, das ist auch faszinierend, also das ist, wie soll man das beschreiben, genau, das hast du vorhin auch schon gesagt, zum Beispiel bei so Steinen, da kommen dann halt noch so kleine Steinmärche, es werden so platziert. Bei Holz sieht man so kleine Holzleisten, die überall dran gemacht werden,

die das schön abschließen alles, die ganzen Formen. Und dann sieht das aus wie so eine kleine Fachwerkhütte, die so, nee, eine Blockhütte, wo die Blöcke sich auch so überkreuzen, so an den Ecken und sowas. Aber wie funktioniert das eigentlich? Weil das wäre so ein typisches Ding, wo ich mir denke, ja, da schmeiße ich jetzt Houdini an und setze mich da erstmal eine Woche ran und gucke, wie ich da meine Analysen mache.

Julien

Ja genau, das ist so eine richtige Intuition. Houdini ist ja, für die, die es nicht kennen, halt so ein Werkzeug, mit dem man, sagen wir mal, regelbasiert Modelle bearbeiten kann, automatisiert. Also man kann dann Regeln definieren und dann kann man da Sachen reinschmeißen und der Automat spuckt dann am Ende was aus, so ganz grob. Ich weiß nicht, ob du das besser erklären kannst, aber so ähnlich funktioniert es hier auch.

Also wir haben Regeln im Code, in der Runtime, die sagen, wenn das aktuelle Voxel ein Steinvoxel ist zum Beispiel und die Nachbarn auch Steinvoxel sind in der Umgebung und hier eine gerade Kante ist, das heißt über mir ist kein Steinvoxel, also Luft zum Beispiel, links ist ein Steinvoxel und rechts ist ein Steinvoxel, dann spawne ich hier genau an dieser Kante hier eine Instanz von diesem Objekttyp.

Da gibt es dann manchmal noch Varianz drin, also eins von diesen N. Und dann machen wir eine Zufallszahl, die auch abhängen muss natürlich von einem Seed, der stabil ist, damit das nicht die ganze Zeit flackert. Aber ja, so kann man sich das vorstellen. Also jeder Voxel guckt quasi in seine Nachbarschaft und abhängig von dem eigenen Voxeltyp und dem Voxeltyp der Nachbarn wird dann in einer Tabelle von Möglichkeiten nachgeguckt und da wird dann einer ausgewählt. Ganz grob.

Simon

Und das ist dann alles bei Handprogrammiert. Ich stelle mir das gerade so vor wie sehr viele Ifs.

Julien

Die Regeln sind von Hand programmiert. Die sind von Hand programmiert und das ist ein sehr enger Zusammenhang gewesen von einem Artist, der gesagt hat, ich brauche noch folgende Regel und einem Programmierer, der, dann halt geguckt hat, wie er das formulieren kann und das dann eingebaut hat.

Simon

Okay, aber jetzt so ein paar Steinmiches, das kann ich mir nur vorstellen, weil es mir aber auch aufgefallen ist, wenn man jetzt eine, Also man kann ja, wir denken jetzt ja immer noch in Minecraft-Terms, man kann auch ein Holzblock einfach in die Welt setzen und dann sind halt an den Seiten von den Würfelchen so kleine, sagen wir mal, runde Äste dran, die das so alles schon abrunden. Also ich hoffe, alle, die dir zuhören, gucken jetzt auch ab und zu mal auf den Podcatcher.

Julien

Ja, kurz einfach euch selber anmessen.

Simon

Genau, kauft einfach ein Schraube. Aber jetzt ist es ja so, ich kann ja auch eine höhere Wand bauen und dann sind diese Seitenleisten, diese Seitenäste, die da dran sind, super lang. Und ist das dann auch dynamisch generiert?

Julien

Genau, also sie gucken nicht nur in die eine Nachbarschaft, sondern sogar in das Two-Neighborhood, also sie gucken zwei Voxel-Block weiter. Aber viel weiter geht es nicht, es geht nur in zwei Voxel weiter.

Simon

Okay, aber zum Beispiel die langen Holzzylinder sind...

Julien

Der eine Block sieht anders aus, als wenn du zwei Blocke übereinander machst, aber danach wird es nicht noch länger.

Simon

Aber ich habe ja, warte, ich habe doch hier dieses eine Bild hier über Ignacio, über Ignacio den Artikel. Da sieht man ja diese Holzwand und da steckt noch so ein Steinchen-Ding dran.

Julien

Welchen Teil meinst du jetzt gerade? Weil das ist natürlich auch viel in der, Displacement der Holztextur. Clevererweise, es passt zu den Deko-Objekten außen. Du kannst es aber, das kann ich dir empfehlen, du kannst die Deko-Objekte separat ausstellen. Dann wird das Spiel deutlich hässlicher. Aber man sieht dann deutlich mehr, was sie tun und was das ist.

Simon

Ich habe mal eine grüne Linie reingezeichnet. Also diese Holzstange, die da ist.

Julien

Das ist keine Stange, sondern das sind drei Einzelteile, die zusammenpassen.

Simon

Ah. Und das sind aber manuell generiert, die sind nicht dynamisch generiert.

Julien

Also die möglichen Kandidatenmodelle sind von Hand erzeugt.

Simon

Ah, okay.

Julien

Das ist eigentlich wie ein 2D-Border, wo man sagt, man hat so einen Nine-Shape, wo man einen Teil in der Mitte hat, was man repeaten kann, und hat die Kanten. Und dann kann man beliebig langen, Rahmen machen.

Simon

Ja, okay, okay, okay. Also, okay, die sind alle per Hand, ja. Okay, und die sind alle abgerundet, die stecken einfach ineinander, die sind nicht sauber, also die stecken einfach ineinander, aber das passt ja bei so organischen Formen. Ah ja, okay, spannend. Mal gucken, ob uns noch irgendwer folgen kann. Wer jetzt zuhört, könnt ja mal schreiben, ob ihr komplett verwirrt seid.

Aber es ist wirklich ganz faszinierend, weil das sieht wirklich so aus wie eben, also mindestens ein 3D-Kit, hätte ich gesagt, von Hand gebaut. Aber nein, das sind alles ganz dynamische Sachen und ich konnte meinen Augen nicht trauen, als dann nämlich jemand in einem Video gezeigt hat, ja, also ihr macht jetzt hier eine Steinmauer und dann könnt ihr ein kleines Fenster reinschneiden und dann werden um den Fensterrahmen herum so kleine Steinchenpusteln. Ich denke so, was ist denn da los?

Also klar, da hat man schon mal gesehen in Houdini und jetzt gerade auch rausgekommen Tinyglade.

Julien

Tinyglade, genau, wollte ich auch gerade sagen. Die machen das nochmal sehr viel, nochmal sehr viel mehr.

Simon

Genau, das ist nämlich das Ding. Tiny Glade ist ja quasi, das gesamte Spiel dreht sich um die prozedurale Sache und hier geht es ja nicht nur darum, sondern da ist ja auch noch ein ganzes Spiel dahinter mit irgendwie Quests und allem drum und dran. Und deswegen habe ich das gar nicht erwartet, dass da so ein Detail drin steckt.

Julien

Ja, man kann es in Borderlands schon sehen. Also es ist glaube ich wirklich eine Iteration von etwas, was wir in Borderlands schon hatten. In Borderlands hatten wir diese Möglichkeit nicht, das wirklich als einzelne Modelle zu machen. Aber wir hatten schon auch diese Logik, dass man die Nachbarn anguckt und dann haben wir halt so mit einem zweiten Movie Channel so Kanten gemacht mit Texturen. Das kann man sich in Portnites auch sehr gut angucken. Das sieht man da.

Das ist halt nicht ganz so auffällig, weil es halt keine echten 3D-Objekte sind. Und nichts schlägt echte Geometrie. Aber man sieht das da schon und das ist ein ähnlicher... Ähnliche Technik.

Simon

Genau, und was interessant ist, es gibt mindestens zwei Draw Calls, einen für die Voxel, einen für die Mini-Objekte, was natürlich super ist, weil dann könnt ihr auch die Mini-Objekte wegblenden auf Distanz.

Julien

Ja, also es ist komplett GPU-driven, die Pipeline, und diese Dekobjekte werden komplett auch Roktushenkalt und die, die überleben, die werden dann zusammengesammelt wieder und dann dynamisch instanziert auf der GPU. Also wir packen dann immer alle, die den gleichen Modelltyp haben, zusammen, also nach Roktushenkalling, und das ist jeweils ein Drawcall pro... Also ich weiß nicht, wie weit die Tiefen gehen wollen hier, aber...

Simon

Ach, so tief wie du möchtest. Ganz entspannt. Genau, weil eines habe ich mich auch gefragt. Eine Sache, die man lernt, wenn es um Drawcalls geht, ist, es muss das gleiche Mech sein und es muss die gleiche Textur sein. Und dann kann man zum Beispiel Sachen batchen oder instanzieren oder so. Und ich war mir nicht ganz sicher, ob ich mich falsch geguckt habe. Ich habe nämlich in meinem super...

Also ich habe mir sehr viel Mühe gegeben. Ich habe einfach eine Steinwurst an so einer Holzwand gemacht, Weil ich sehen wollte, wie sich das so miteinander interagiert. Und mir ist dann aufgefallen, mit der NVIDIA N-Zeit habe ich das geguckt, dass das ein Dwarf-Code zu sein scheint. Da dachte ich so, warte mal, wir reden ja jetzt über ein Steinmaterial und ein Holzmaterial. Das muss dann ja auf einem Atlas, auf einem gemeinsamen Atlas liegen oder so.

Julien

Nee, das nennt man Bindless. Also das ist eine Technik, die die Hälfte von deiner Aussage obsolet macht. Also die Textur ist nicht mehr relevant in einem Draw Call. Ihr müsst nicht gleich sein.

Und es können auch einfach beliebig viele Texturen sein, natürlich haben die ihre Kosten, aber man kann, der Trick ist, dass man quasi ein großes Array, also eine große Sammlung von allen Texturen, die einen interessieren hat, und die kann man im Shader adressieren über einfach einen Index, also eine Zahl. Und das kann unterschiedlich sein für jedes Dreieck von dem Dropout, das man macht.

Simon

Warum machen wir das nicht alle schon immer?

Julien

Es erfordert ein gewisses Mindestmaß an GPU-Hardware, die halt jetzt gerade erst so Mainstream ist, dass das mehr und mehr alle machen.

Simon

Aber das ist nicht so der ganz normale Texture-Atlas, wie früher hieß es ja noch Mega.

Julien

Das sind komplett getrennte Texturen. Texture-Atlas hat immer ein Problem damit, dass man ein Filter-Problem hat am Rand. Also jetzt sind wir wirklich in den Details, aber ein Texture-Atlas ist quasi mehrere Texturen auf eine große Textur packen. Und dann hat man immer das Problem am Rand, von einer Textur auf die nächste. Das bleedet dann immer rüber. Genau, aber das hat man da nicht.

Simon

Das ist auch eine Sache, das kennt man vor allem, seit es gute Tools gibt wie Substance Painter und so. Wenn die nämlich baken, die können an den Rändern von den UV-Shells, können die so Pixel nach außen mit der gleichen Farbe bleeden lassen. Und damit man eben genau so ein Color Bleeding verhindert, Wenn die UV-Shells weit genug auseinander sind zumindest.

Julien

Und wenn man es auf den Finit stellt, weil sonst hat man irgendwelche Mipmaps am Ende doch noch ein bisschen bleeding.

Simon

Ja, genau, das stimmt, ja. Ah, interessant, ja. Das ist ja faszinierend. Okay, dann ist das alles ein Draw Call. Wow, toll. Ja, wieder mal Theoriewissen vernichtet.

Julien

Das entwickelt sich aber auch, weil das ist ja zu Fallen-Night-Zeiten war das durchaus noch so. Da war es auch ein Atlas. Da haben wir das auch so gemacht. Also das ist jetzt gar nicht falsch, weil dein Wissen ist nur vielleicht fünf Jahre alt.

Simon

Wahrscheinlich neun Jahre, weil ich habe so einen Artikel mal geschrieben über Rendering und der ist neun Jahre alt. Da habe ich es alles so illustriert mit süßen kleinen Animationen.

Julien

Da gab es ja noch gar kein Raytracing.

Simon

Nee, tatsächlich nicht, aber warte, ich zeige dir den mal, weil das ist nämlich, also da habe ich mir sehr viel Mühe gegeben mit der Illustration, wenn du hier, das ist der Artikel, da habe ich nämlich alle sehr niedlich gemalt, zum Beispiel, ich zeige dir mal ein Video, wie ich mir das so, da siehst du mal, wie sich ein Grafiker vorstellt, wie Rendering funktioniert, hier ist ein Video zum Beispiel, wie die Applikation dem Driver irgendwas sagt

und der Driver ist halt eine kleine Figur mit einem Taxi-Mütze.

Julien

Genau, so sieht das aus.

Simon

Genau. Und dann...

Julien

Aufs Monocle ist sehr pickig.

Simon

Mein Taxi Driver hat ein kleines Monocle und ein Schnauzbart.

Julien

Auf jeden Fall sehr picky. Also wenn das nicht ganz akkurat ist, dann nimmt er das gar nicht an.

Simon

Genau. Und so habe ich dann das alles animiert.

Julien

Sehr schön.

Simon

Und ganz besonders stolz bin ich übrigens auf mein... Geometrie-Shader, der mit einem kleinen Zauberstab wedelt und dann aus einem Vertex auch mehrere machen kann.

Julien

Geometrie-Shader ist ein Schimpfwort tatsächlich, wo die Grafikkugeln wieder kreisen.

Simon

Was, Geometrie-Shader ist ein Schimpfwort?

Julien

Ja, das sollte man nicht benutzen. Echt?

Simon

Okay.

Julien

Es ist sehr ineffizient. Also die Hardware lagweilt sich da im Regel. Das Problem ist halt, ja, da gibt's bessere Methoden mittlerweile.

Simon

Okay, zurück zu Entschraudet. Wir haben ja jetzt gesagt, dass das Terrain so geil zerstörbar ist. Also man kann wirklich mit der Spitzhacke da reinhauen. Übrigens, da wollte ich eine Frage stellen. Also ihr habt ja die Engine entwickelt. Und wahrscheinlich habt ihr, oder anders gefragt, gab es in Portal Knights schon Quick-Travel?

Julien

Es gab Portale. Ich meine, das ist ja ein Name. Ich weiß nicht, was du meinst. Meinst du nach Hause teleportieren oder so? Das gab es auch schon, ja.

Simon

Ja, weil die Sache ist die, ich habe halt, das Erste, was ich gemacht habe, ist, ich habe einen Tunnel nach unten gegraben und wollte mal gucken, wie weit es nach unten geht. Und dann bin ich da nicht mehr rausgekommen. Und hätte es da keinen Quick-Travel gegeben, wäre ich da halt verendet.

Julien

Du hättest ja so eine Treppe gegraben.

Simon

Nee, das habe ich versucht. Das ist zu anstrengend. Also ich weiß nicht, ob ich die richtige, also vielleicht ist meine Anfängerspitzhacke einfach nicht gut genug.

Julien

Die ist nicht gut genug. Die wird noch besser und dann geht es schneller.

Simon

Genau, das hätte ich nicht geschafft. Da wäre ich vorher an Ermüdung gestorben, glaube ich.

Julien

Da muss man die Balance finden. Wir wollen es möglich machen und wollen auch, dass Leute das als kreative Lösung für die Spielprobleme, also die Probleme, die das Spiel einem gibt, also Gegner und so, kann man jetzt durchaus einsetzen. Aber es sollte nicht so einfach sein, dass das gar kein Aufwand ist und dass dann die anderen Probleme gar keine Rolle mehr spielen. Verstehst du, was ich meine? Also es ist so ein bisschen eine Balance, die man da treffen muss.

Wir sind schon happy und stolz, dass das funktioniert alles immer, aber es sollte schon sich jetzt auch nicht ein bisschen nach Arbeit anfühlen.

Simon

So eine kleine Challenge bleiben, ja, genau. Ja, ich wollte es ja also so auch nur so aus technischer, aus der Technik heraus testen und habe mir dann einfach in diesem Moment überlegt, ah, cool, Quick-Travel, da habe ich mich einfach zu meinem Altar gebeamt und dann dachte ich so, Was war zuerst da? Das Runterbiegen oder das Quick-Travel? Und ich habe mir halt vorgestellt, wie zum Beispiel du da sitzt, nach unten dich begreifst und dann realisierst, oh.

Julien

Ja, tatsächlich braucht man Quick-Travel in so Fällen. Es gibt immer noch seltene Fälle, wo man auch sich quasi in der Kollision verhaken kann und so. Das ist immer möglich bei solchen Spielen, die so eine offene Welt haben. Und genau aus dem Grund ist es immer ganz sinnvoll, einen Quickderm zu haben. Weil die Koalition, muss man ja auch bedenken, ist auch dynamisch. Und das ist ja, also auch NavMesh für die Gegner ist dynamisch. Das muss ja dynamisch sein, weil die Welt dynamisch ist.

Man kann ja auch irgendwie Löcher reinhauen und dann können da Gegner halt auch durchgehen. Das sind alles so Sachen, die bei, sagen wir mal, konventionellen Spielen durchaus mal gerne gebacken werden.

Simon

Ja, das stimmt. Das klingt auch sehr nach Challenge, oder? Weil so eine NavMesh ist, ich weiß noch, die das zu generieren hat bei Sacred wird, ultra lang gedauert. Also die Offline zu generieren.

Julien

Computer sind schneller geworden seitdem. Aber es ist immer noch ein Challenge. Und wir machen das halt nicht für alles in der Welt, sondern immer nur quasi um den Bereich von aktiven Gegnern herum. Und das, wir haben bis zu 16 Spieler auf einem Server. Das heißt, wir haben bis zu 16 Bereiche auf der Welt, wo wir Gegner simulieren müssen. Ja, und die tracken wir die ganze Zeit und da machen wir dann quasi Nuffmisch- Erzeugung.

Simon

Ich habe einmal in mein supertives Loch einen Wolf reinfallen lassen. Das war irgendwie befriedigend und ich habe mich dann auch gefragt, was passiert da unten jetzt mit dem? Bleibt der da jetzt für immer?

Julien

Nein, also es kommt darauf an, ob du jetzt in deiner Basis warst, aber wenn nicht, dann gehst du, dann wird das Resetted nach 30 Minuten deiner Abwesenheit. Also wenn du 30 Minuten außerhalb dieses Chunks bist, wir hatten ja vorhin schon über diese Chunks geredet als Weltelemente und das nicht in deinem Safegun ist, dann wird die gesamte Welt da resettet. Das heißt, der Wolf ist wieder da, wo er vorher war.

Simon

Doch, genau. Ich war nah bei meiner Basis, neben meinem Ding. Dann bleibt der Wolf für immer in dem Loch da hinten drin.

Julien

Nur innerhalb dieses Basisbereichs. Also wirklich hart in dem Bereich.

Simon

Genau.

Julien

Wenn es in dem Bereich war, dann bleibt der Wolf da.

Simon

Ah, der war nämlich böse. Da darf ich nicht selbst reinfallen, ansonsten komme ich da nicht wieder raus. Der beißt mich dann.

Julien

Wobei ich gar nicht ganz genau weiß, also das Loch bleibt auf jeden Fall da. Ob der Wolf da bleibt, weiß ich gar nicht ganz genau.

Simon

Das war übrigens auch eine Sache, die hast du jetzt schon beantwortet. Das habe ich mich auch gefragt. Ich habe dir ein Screenshot geschickt. Ich habe nämlich mal ein Wireframe gemacht, wie mein Loch aussieht, meinen Tunnel, den ich nach unten gegraben habe. Und da ist mir dann aufgefallen, weil ich habe mich gefragt,

wird das irgendwie kalt? weil es wäre jetzt sehr krass, wenn ich jetzt 10, 20, 30 Löcher buddele und ich habe dann einfach, ich generiere ja immer mehr Polygone damit auch und irgendwann ist die CPU, GPU ja auch ein bisschen.

Julien

Ja und wir sind auch Löcherbuddler, also wir haben eine ganze Menge Löcher verbuddelt in diesem Spiel, also falls du mal weiterspielst, wir haben sehr, sehr, sehr viele Sachen unter der Erde.

Simon

Ah.

Julien

Ja und das ist super wichtig, das geht gar nicht ohne. Also ohne Occlusion Culling von diesen Sachen unter der Erde, da sind ganze Dungeons, Riesengebäude unter der erde und die würden wir alle sonst rennen das geht gar nicht ohne.

Simon

Ja genau aber aber im gebäude da kann ich mir noch vorstellen klar das ist ein eigenes objekt so das kann man irgendwie kann aber das terran das gehört alles so zusammen dazu.

Julien

Da sind auch höhlen natürliche höhlen unten drunter mit lager gefüllt und so also.

Simon

Okay genau aber ich habe mich dann gefasst wie macht ihr das also machte dann so ein weiß ich 16 x 16 meter stückchen wird das dann so, aufgeteilt oder so aber du hast ja eben schon gesagt dass sie so kleine chance habt und so Und wenn man nämlich auf diesen Screenshot guckt, kann ich jetzt auch mal einblenden, dann sieht man tatsächlich auch, dass dieser Tunnel, der da unten geht, wirklich so in einzelnen Polygonen dann auch endet. Genau, das ist super spannend, wie er das da optimiert.

So, genau, das war cool. Ah, das mit dem Gleiter, das Streaming habe ich auch schon gefragt. Und ja, es sind so kleine Details, aber es macht Spaß, in diesem Spiel einfach so Experimente zu machen, weil es so ein Experimentierkasten ist. Wenn man nämlich Terrain unter anderen Objekten weggräbt, dann gibt es unterschiedliche Reaktionen. Das fand ich sehr spannend. Wenn man nämlich unter einem anderen NPC was weggräbt, dann rutscht der einfach runter.

Mein Schmied steht aktuell in einer sehr tiefen Grube. Und der kommt auch nicht mehr raus.

Julien

Im nächsten Update wird das Spiel sich bewegen können. Also musst du aufpassen, ob du ihn zu angry machst.

Simon

Mal gucken, ob du gut brauchst. Was ich spannend fand, war, unter einem Baum, wenn man da Terrain wegmacht, dann faded der Baum einfach aus. Der ist einfach plötzlich weg. Aber wenn man einen großen Stein hat, den man noch nicht klein gehauen hat, um ihn einzusammeln, der bleibt in der Luft schweben. Man kann unter dem Stein alles weggraben und dann hat man einen magischen, schwebenden Stein. Ja.

Julien

Man kann ja auch Wurzel, also man kann unter anderem Gebäudewurzeln alle Wurzel wegmachen. Also wir haben keine Physik in dem Sinne im Spiel, die dazu sorgt, dass alles runterfällt. Und das ist auch eine bewusste Entscheidung gewesen. Das hatten wir in Borderlands auch schon so, dass das für die, das hatte ich ja vorhin schon angesprochen, dass das einfach unserer Meinung nach für das Baugefühl besser ist.

Es macht einfach mehr Spaß, weil sonst muss man sich um diese ganzen Kram sorgen und Gedanken machen. Es gibt durchaus Leute, die finden den Teil spannend, das will ich gar nicht sagen. Balheim ist ja zum Beispiel auch so ein Spiel, was da mehr macht in die Richtung und da muss man physikalisch irgendwie halbwegs sinnvoll einen Support bauen, damit das nicht in sich zusammenfällt.

Aber wir haben absichtlich gesagt, das wollen wir jetzt nicht als Fokus im Spiel haben, wir wollen die Kreativität da nicht zu sehr einschränken. Wir wollen ja, dass Leute schwebende Magiertürme bauen oder so Sachen. Also ein bisschen Fantasy eher. Und warum der Stein jetzt nicht runterfällt, der Baum kaputt geht, weiß ich im Detail nicht. Also das war sicher irgendeine Entscheidung von irgendjemandem im Team,

der gesagt hat, dass das so rum... Vielleicht ist es beim Baum aufgefallen, mehr aufgefallen. Deswegen hat man es beim Baum so gemacht und beim Stein nicht. Also das ist jetzt keine technische Limitierung. Ich glaube, der Steine könnte auch feststellen, dass er keinen Boden mehr unter sich hat und dann könnte er auch weggehen oder runterfallen, I guess.

Simon

Ja, das sind auch spannende Themen, wo Game Design mit reinspielt. Man könnte ja auch zum Beispiel sagen, dass wenn man unter einem Baum was weggräbt, dann platzt der Baum in kleine Stücken, die man einsammeln kann, weil die sind ja physikal nicht simuliert. Aber dann wäre es vielleicht ein bisschen zu einfach, ganze Bäume zu malen, weil dann müsste man nur einmal bei jedem Baum unten dranhauen und dann explodieren die alle. Genau, das ist spannend. Aber es macht wirklich Spaß.

Also man geht in das Spiel rein und denkt so, okay, jetzt habe ich aber Bock zu experimentieren. Das ist ja ein gutes Zeichen schon mal.

Julien

Ja, wir haben sehr unterschiedliche Spielertypen, muss man sagen. Also wir haben jetzt viele Spieler und wir wissen, dass manche Leute das gar nicht so sehr machen mit dem Bauen und manche Leute spielen fast nur das als Bausimulation. Also sehr unterschiedlich. Es gibt durchaus auch Leute, die spielen das als Action-Rollenspiel.

Also die, weiß ich nicht, also nehmen es wahrscheinlich schon wahr, dass es geht, aber die spielen das Spiel so mit der Story und mit den Gegnern und mit dem Leveln und so, wie das halt ja auch da ist. Andere Leute verlassen die Basis quasi kaum, außer um Rohstoff zu sammeln, um da weiterbauen zu können. Und so ein bisschen ist die Hoffnung, dass man dadurch, dass es ein Multiplayer ist, vielleicht sogar beide in einem Spiel zusammenkriegt.

Dass man, sagt der eine oder die zwei, gehen irgendwo jagen und man kann ja auch dann neue Voxel-Typen sammeln. So ein bisschen ist das ja auch so, so die Game Loop, dass man rausgeht und neue, den glatten Marmor und so, den kriegst du halt erst ganz woanders und dann bringst du den nach Hause zurück und kannst damit dann weiterbauen in deiner Basis, deine Basis noch schöner machen und dass man da so eine, ja, so eine Teamwork macht draus, dass jemand den einen Teil macht und der andere Ah.

Simon

Ja, ja, ja, Arbeitsteilung, ja.

Julien

Arbeitsteilung.

Simon

Bei den Gebäuden, das fand ich auch faszinierend, weil es gibt da so ein tolles Video, wo ihr zeigt, erstmal wie man modelliert, was cool aussieht, so ein bisschen wie dieses SDF-Tool auch. Und was auch spannend ist, man kann aber auch Objekte importieren, was dann umgewandelt wird in eure Technologie. Das ist natürlich cool. In dem Video wurde dann so ein riesiges Schwert genommen. Und das wurde dann auf so einen Stein, glaube ich, gesetzt und sowas.

Also das heißt, man ist nicht nur auf Blöcke oder sowas limitiert.

Julien

Man kann Nee, das machen wir sehr viel. Also in irgendeinem Tool-Blender oder Maya oder Max wird ein sehr grobes 3D-Modell gebaut, zum Beispiel von einem Berg, kann auch durchaus was Großes sein, und dann kann man das importieren und mit Voxel füllen quasi und die, der Voxel-Füll-Algorithmus, der füllt es halt so, dass das Terrain nach dem Mashing wirklich nah an der Oberfläche von dem Mesh ist, was man da importiert hat und das hat wieder den Vorteil, dass man das einfach

in ein anderes Ding reinstecken kann wieder und dann, dass die Kanten halt ineinander übergehen. Und daraus kann man sehr schnell auch sehr coole Shapes mitbauen und welche Klippen oder so, die die Ödopragen.

Simon

Und wahrscheinlich muss man dann, kann man dann den Voxel-Typ mit einem Brush oder so draufmalen? Dass ich sage, hier male ich so Stein hin und hier male ich so Holz hin oder so?

Julien

Tatsächlich, in den meisten Fällen ist es ein Voxel-Typ und wir haben später, also man kann sich das vorstellen, im Editor, wir haben verschiedene Layers, so wie in Photoshop vielleicht, kann man sich das vorstellen. Also wir haben verschiedene Schritte, die nacheinander ablaufen und man kann später dann auch noch so Sachen machen wie Voxel-Materialien oder Shapes injecten.

Also man kann Rohstoffe irgendwo injecten, zufällig oder man kann obendrauf noch einen Sandlayer drauf tun, der eine gewisse Dicke hat. Und solche Sachen gibt's dann noch. Also das ist gelayert. Man importiert dann erstmal diese grobe Geometrie und meistens macht man danach noch Schritte, um obendrauf die Materialien zu verteilen oder aufzulockern.

Simon

Meinst du jetzt mit obendrauf, dass man wie Erdschichten und dann gräbt man sie erst durch Sand und dann durch...

Julien

Oben drauf war ich jetzt im leeren Sinne, aber das ist meistens tatsächlich auch physisch von oben.

Simon

Aber wie ist das eigentlich mit den UVs? Macht ihr da irgendwie triplanares Mapping auf alles?

Julien

Triplanar, ja. Ah, okay. Macht auch festliche Artefakte an vielen Stellen, aber wir haben noch nichts Besseres gefunden. Falls du was weißt, gerne her damit.

Simon

Ich habe jetzt öfters mal so einen anderen Term gesehen. Angeblich, aber im Ernst, ich verstehe nicht, wie es funktioniert. Angeblich braucht man nur zwei Projektionen statt drei. Das wird irgendwie von der Kamera aus gesehen oder so. Ich habe da gerade so ein Elefant im Kopf, wo die so eine Demo gezeigt hatten. Keine Ahnung, wie es funktioniert, aber sah ganz okay aus. Aber sagen wir mal so, zumindest für organische Formen, aber da sieht es am meisten sowieso okay

aus. Es ist ja meistens ein Problem.

Julien

Ja, bei Gebäuden, da haben wir den Vorteil, dass wir einen 90-Grad-Winkel haben, die mappen wir halt dann von den Hauptprojektionsachsen. Also von der Seite.

Simon

Genau, und außerdem habt ihr für die Kanten ja auch noch die ganzen Detail-Meshes.

Julien

Für die Kanten die Dekorbeckte, genau. Wobei sich viele Leute natürlich wünschen, also wünschen, auch runde Gebäude bauen zu können. Ja, das ist schon ein populärer Wunsch. Das geht im Moment nicht. Da müssen wir nochmal gucken.

Simon

Wie wir das vielleicht noch machen. Und genau, Genau, und bei den Gebäuden, da gibt es noch zwei Sachen, die mir noch nicht ganz klar sind. Das eine war, ganz in diesem Video auch, da war wieder so ein Houdini-Ding, dass ihr im Grunde genommen sagt, hier habe ich so einen groben Kasten, mach da mal ein Gebäude hin und da wird ein Gebäude generiert. Prozedural.

Julien

Da weiß ich nicht genau, was du meinst. Also die Gebäude stehen bei uns tatsächlich fast immer in Magica Voxel.

Simon

Magica Voxel. Ist das irgendwas, was man kennt?

Julien

Wenn man Voxel-Modelle mag, dann ja. Das ist so ein Voxel-Tool, das Das ist relativ cool zu bedienen. Und da kann man eine Palette definieren. Und genau, das ist der Link. Und wir importieren diese VOX-Files direkt in die Engine. Also die kann man direkt importieren. Und kann dann in einzelnen Paletten-Einträgen halt unterschiedliche Materialien aus der Engine von uns zuweisen. Und da kann man dann auch Gebäude relativ, also ziemlich schnell zusammenklicken.

Simon

Okay, warte, ich zeige das. Genau, hier an der Stelle... Warte, so, ich schicke dir mal ein Video mit Timecode. Und das ist nämlich dieses Video, wo auch das mit dem Schwert erklärt wird. Und jetzt muss ich hier mal die Kämpfchen anmachen. Da wird gesagt, also da hat man im Grunde nur so ein Voxel-Gebäude. Dann wird das dupliziert und das andere sieht dann anders aus.

Julien

Genau, also was wir haben, wir haben eine riesengroße Welt. Das heißt, wir versuchen dann schon, Sachen wiederzuverwenden teilweise, so dass es mich zu sehr auffällt. Also wir können kleine Points of Interest bauen, also kleine Szenen. Das kann jetzt ein Gebäude sein, wie in diesem Fall, oder auch ein bisschen was Größeres, eine Ansammlung von Gebäuden. Und die können wir instanzieren in der großen Welt. Das heißt, wir können mehrere Instanzen davon irgendwo platzieren.

Und da sind auch wieder Regeln aktiv. Also die können je nachdem, wo sie instanziert werden, unterschiedlich aussehen. Die können ein anderes Material annehmen und nur ein paar andere Sachen, die dann variabel sind und die dann ausgewürfelt werden an der Stelle, wo sie instanziert werden.

Simon

Ja, aber in diesem Fall ist es so, dass das Haus komplett anders aussieht. Also es ist wirklich so, es steht ein Haus da, muss man sich so vorstellen. Dann nimmt die Person, die das Video hier gemacht hat, macht quasi Copy und Paste.

Julien

Genau, das ist eine Whitebox, nennen wir das. Also eine Whitebox wird gefüllt mit einem der möglichen Kandidaten für diese Umgebung. Also jemand sagt, baut halt fünf oder sechs kleine Häuser und sagt dann, hier will ich ein kleines Haus haben und dann wird halt aus dem Pool an kleinen Häusern eins ausgewählt.

Simon

Aber die sind alle per Hand gebaut vorher? Die sind alle per Hand gebaut. Ah, okay. Ich dachte nämlich da, okay, krass, da ist auch nochmal direkt ein Building Generator irgendwie mit drin oder so.

Julien

Nee.

Simon

Okay.

Julien

Okay, wir hatten mal ein bisschen drüber nachgedacht, aber am Ende ist es sehr schnell zu bauen, auch durch die Voxel-Natur in Magier-Voxel. Und man hat dann immer mehr Kontrolle. Am Ende sollen die Gebäude, wir wollen zwar viele, aber jedes Gebäude soll auch für sich irgendwie sinnvoll sein und irgendwie gut aussehen und so. Und dann hat man das Gefühl am Ende, da haben wir immer noch, dass es besser ist, die Finanzen zu bauen.

Nur der Level-Designer ist ja jemand, also ein bisschen die Job-Arbeitsteilung. Es gibt dann jemand, der baut halt diese Häuser. Und dann gibt es jemand, der baut eine Szene in der Welt und braucht dafür halt ein paar Häuser und stellt die hin. Und das interessiert sich jetzt nicht so sehr in dem Moment für die Details. Das macht man im Nachhinein vielleicht noch, wenn man nochmal drüber geht. Aber das ist dann schon ein bisschen effizient steigernd, wenn man das trennt.

Simon

Okay, und jetzt ist es ja so, dass alles aus Wachseln besteht, aber warum kann ich dann zum Beispiel jetzt, da ist eine Säule einfach und da habe ich dagegen gehauen und dann habe ich gedacht, ja jetzt müsste ich ja da ein Loch reinhauen in die Säule, aber in dem Fall kommt einfach nur ein Diekel drauf von zerstörten Steinen oder so und das scheint...

Julien

Du warst nicht ausdauernd genug, Simon.

Simon

Ach, geht das doch?

Julien

Du hättest weiterhauen müssen. Du hast eine sehr, sehr schwache Axt, also Pickaxe am Anfang. Und die haben quasi alle Hitpoints, die Dinger. Und die haben relativ viel.

Simon

Aber es geht.

Julien

Das geht, ja, du kannst die alle weghauen. Es gibt tatsächlich Wachstum-Materialien, die man nicht abbauen kann. Es gibt so ein Bad Rock, so wie man das bei Minecraft kennt. Ganz, ganz, ganz tief unten. Gibt so was. Und dass du nicht rausfällst, wenn du noch weiter runterkommst, weil irgendwann ist das Ende. und es gibt diese Ancient-Materialien.

Also es gibt, weiß nicht, ob du so weit schon gespielt hast, es gibt so Tempel, an die man kommt oder auch der Start-Tempel, an dem du startest, ganz am Anfang, den kannst du nicht abbauen. Und das war so ein bisschen, naja, da muss man das irgendwie zusammenbringen, dass wir immer noch ein Spiel machen und so ein bisschen gucken, dass man den Spieler ein bisschen leitet und ein bisschen auch Guardrails gibt.

Also, weil sonst kann er sich Situation bringen, dann geht auch das Home-Travel nicht mehr, wenn er diese Station da kaputt machen könnte oder so. Also da muss man gucken, dass man... Und auch Boss-Kämpfe haben wir ein paar Stellen, wo wir so ein bisschen das einschränken. Weil man dann einfach den Boss kaputt machen kann auch.

Simon

Aber das heißt, ich könnte eigentlich die gesamte Welt wegmachen, oder? Außer ganz spezielle Bereiche. Unten Boden und ...

Julien

Praktisch nicht. Also, weil wir das 30-Minuten-Reset haben, wird es nicht schnell genug sein.

Simon

Hm. Hm.

Julien

Aber es gibt Videos, also, es gibt eine Menge Videos von Leuten, die lustige Sachen versucht haben. Und bisher hat das alles ganz gut funktioniert, würde ich sagen.

Simon

Es gibt aber ein paar Ausnahmen. Und zwar, das sieht man jetzt auch auf dem Bild, wo ich hier gegen die Säule haue, da ist ja eine schöne kleine Kette noch. Die geht zu so einer Lampe um. Und das sind ja keine Boxelobjekte.

Julien

Genau, das sind normale 3D-Modelle.

Simon

Und die, sind die dynamisch platziert oder sind die per Hand dann gebastelt?

Julien

Unterschiedlich, aber die meisten sind von Hand platziert.

Simon

Okay, das heißt, wenn ich jetzt meine Super-Picaxe an der Stelle gehabt hätte, würde die Lampe dann irgendwann in der Luft schweben, wenn ich die Säule wegkomme?

Julien

Die würde in der Luft schweben, ja. Also wir haben auch Objekte, die runterfallen, so gerade bei Tischen, wenn man einen Tisch wegmacht und dann fallen die Sachen runter, die auf dem Tisch sind. Aber in dem Fall würde ich sagen, wahrscheinlich schwebt die dann, ja. Du kannst sie aber auch abbauen.

Simon

Einfach dagegen hauen, ne? Alles mit Gewalt lösen.

Julien

Alles mit Gewalt.

Simon

Ah, okay. Das ist faszinierend, ja.

Julien

Wir hatten am Anfang, wir haben Steam Next Fest das Demo vor ziemlich genau einem Jahr, ja, released. liest. Und wir hatten viele Leute im Stream, die wir beobachtet haben, wir haben sehr viele Streams geguckt, die das nicht verstanden haben, dass man die Welt zerstören kann. Weil, wie du es vorhin sagst, sieht nicht so aus wie Minecraft.

Simon

Genau.

Julien

Und zum einen ist das natürlich nett so, weil das wollten wir ja, das war das Ziel. Wir wollten nicht so aussehen wie Minecraft. Auf der anderen Seite ist es natürlich auch schade, wenn sie das gar nicht realisieren, was da noch alles geht. Und deswegen haben wir in der ersten Höhle, das hast du auch gesehen, gibt es diese Explosive Balls, so als ziemlichen Hint, dass das geht.

Auf der anderen Seite hat das auch nicht so gut funktioniert, weil die Wand ist halt eine besondere Wand und man hat so das Gefühl, dass das nur da geht vielleicht. Also das war, das ist tatsächlich nicht so einfach, weil das so drin ist bei den allermeisten Spielern, weil die allermeisten Spiele das nicht erlauben, die so oder so ähnlich aussehen.

Simon

Ja.

Julien

Aber es ist doch eine natürliche Welt, dass man eine Spitzhacke in der Hand und ein Loch in den Boden gräbt. Also ich weiß gar nicht, das ist ja normal in Shrouded und die Die anderen Spiele sind alle eigentlich merkwürdig.

Simon

Die Sache ist, dass das mit dem Boden geht, finde ich noch gar nicht so ungewöhnlich, aber dass es mit den Gebäuden geht. Also klar haben wir alle schon mal gesehen, wer heißt denn das Spiel? Red Faction. Aber da ist es eher so, dass ich gegen Gebäude haue und dann fällt das halt physikalisch simuliert zusammen, eher so als Destruction-Effekt oder so. Aber dass man das so spezifisch, so quasi so ein bisschen wie Tiny Glade, aber das ist jetzt auch wieder was Neues, das ist halt ungewöhnlich.

Ja, weiß ich nicht. Dafür gibt es dann die Loading-Screens, wo sowas erklärt werden muss. Aber ja, klar, ich meine, das ist das Problem von Entrepreneuren.

Julien

Wenn das Spiel auch so Spaß macht, und das macht es glaube ich auch, weil es glaube ich auch immer noch ein gutes Action-RPG ist, dann ist es ja umso besser. Ja, also man kann das ja auch einfach so spielen.

Simon

Ja, aber ja, es ist halt wirklich, wenn man so Entrepreneur-Technik hat, genauso wie es bei mir auch mal mit Nenad und Lumen so, dass ich am Anfang gar nicht checke, was da eigentlich dahinter steht, weil es halt einfach nicht erklärt wird. Da muss ich mir erstmal den Tech-Talk angucken und dann werden die Augen groß. Genau, und ich hatte noch eine Frage. Genau, das ist auch eine der letzten Fragen. Und zwar, wir haben ja über triplanares Mapping schon gesprochen.

Also für alle, die es nicht wissen, ist, man spart sich damit Custom UVs auf den Meshes, indem man einfach von oben, unten, links, rechts und vorne und hinten eine Projektion, eine Textur drauf projiziert aufs Mesh und sich so spart, einfach UVs anlegen zu müssen. Sehr, sehr gewöhnliche Technik, so im Environment-Bereich. Aber es gibt eine Sache, die fand ich spannend.

Ich habe nämlich so ein Stück Gras irgendwie rausgedingselt und da ist mir aufgefallen, dass am Rand dieses Grasbüchel, wo die Polygonen auch noch weiter nach oben zeigen, wo ich jetzt erwarten würde, eigentlich müsste da ja Gras zu sehen sein.

Aber jetzt, weil ich das gelernt habe, weil du ja gesagt hast, man kann auch die Voxel definieren mit verschiedenen Typen und füllen und so, ich schätze sich einfach mal, dass die Randdinger hier halt auf Stein gestellt sind oder so und nicht auf Gras und deswegen das triplanare Mapping da nicht überall Gras drauf macht.

Julien

Ja, das ist eine lange Geschichte, dieser Screenshot. Also wir haben Materialblending noch zusätzlich. Das ist nicht einfach nur eine Textur, die pro Voxelmaterial, sondern es ist eine ganze Latte an Layern, die nach verschiedenen Regeln ausgewählt wird. Und unter anderem ist halt die normale mit beteiligt. Bei diesem Voxel-Material hier, das ist glaube ich hier Grassland Dirt, I guess, heißt es.

Also es ist ein Voxel-Material und da gibt es halt Regeln, die von der Seite da Steine transprozieren. Und die Idee war so ein bisschen, dass das halt netter aussieht, wenn man sich den Felsen anguckt, dass da von der Seite halt ein Stein aussehen hat und von oben ist da halt Grasfläche. Und das ist einfach ein Produkt von dieser Layer-Blending-Regel, das sich besonders gut aussieht an der Stelle. Aber da sind wir so ein bisschen am Weggehen von, weil es für den Spieler weniger lesbar ist.

Ja, weil es wird von einer Seite aus wie Stein und von oben wie Erde, dass das halt ein ... Ein Erdblock ist. Also das macht schon, wir versuchen jetzt mehr und mehr an der Seite des Felsens wirklich dann auch Steinmaterial zu haben und oben wirklich ein Layer an Erdmaterial. Und so, dass du wirklich und die Erde sieht auch aus wie Erde, auch von der Seite aus wie Erde und der Stein sieht von oben auch aus wie Erde.

Simon

Also dass man eine Wachselschicht Erde sozusagen hat und nicht nur oben eine Polygonfläche. Ah ja, spannend.

Julien

Das ist noch ein bisschen älteres Material, da haben wir das noch mehr gemacht.

Simon

Ja, spannend. Ich hatte noch eine interessante Meldung. Ich habe eine Meldung bekommen. Invalid Locatech. Und dann wurden Localization-Tags kreiert.

Julien

Das sind Bugs einfach. Also Invalid Locatech ist einfach quasi in der Stelle. Es ist sehr früh im Spiel und wir haben an der Stelle die korrekte Übersetzung des Textes, der angezeigt wird, noch nicht geladen. Und das ist natürlich nichts, was passieren sollte. Nein, nein, nein.

Simon

Jetzt checke ich das erst. Ich dachte, ihr generiert on the fly 1000 Localization-Tags und ich habe mich gefragt, hä?

Julien

Nein, nein, nein, das ist einfach, da steht irgendwas wie Loading wahrscheinlich oben drüber oder Laden und der Text Laden selbst ist noch nicht geladen.

Simon

Das macht Sinn. Ich fand es halt einfach super spannend, weil ich habe jetzt auch ein bisschen Loka gemacht für mein kleines Spiel und dachte so, ihr macht da irgendeine coole, weiß ich nicht, on the fly Localization.

Julien

Nein, nein, das ist ein ganz, das stinkt normaler Wack.

Simon

Ach so. Okay, gut. So, dann die letzte Frage, es sei denn, du hast dann noch irgendwelche Sachen, die du gerne erzählen möchtest, auf die du stolz bist oder auf die wir noch hinweisen sollten in Bezug auf Entschraudet. Aber die allerwichtigste Frage ist natürlich, warum kann man nur kleine Spinnen verstecken und keine großen? Es gibt nämlich eine Option.

Julien

Eine sehr gute Frage.

Simon

Es gibt nämlich eine Option bei den Accessibility-Sachen, hide small spiders. Und ich dachte so, hm.

Julien

Ja, wir wollten gerne das Spinnen verstecken, weil es Leute gibt, denen das wirklich schwerfällt, das Spiel dann zu spielen. Und die kleinen Spinnen sind einfach technisch sehr viel einfacher zu verstecken. Deswegen haben wir das innerhalb von einer Stunde einbauen können. Und die großen Spinnen, die sie spielen, sind halt also wir haben kein Replacement- Modell für die und auch kein gutes also es gibt ja, wie heißt das Spiel?

Grounded, gell? Da gibt's ja so einen sehr coolen Slider schon, wo du sagst, wie spinnend ähnlich sollen die Spinnen denn sein? Das finde ich sehr cool, aber sowas haben wir leider nicht für die Modelle. Das heißt, die Modelle können wir jetzt im Moment nicht so gut ersetzen, es sei denn durch Würfel I guess, aber das wurde halt dann nicht gemacht. Ich glaube schon, dass wir das noch vorhaben und die kleinen Spinnen sind tatsächlich, komplett VFX, also das sind einfach ein VFX.

Die Dinger werden, wir haben ja vorhin kurz über SDF erzählt, also wir haben SDF von der gesamten Welt und das ist natürlich was, was was im Wix oft benutzt wird für Kollisionen von Partikeln. Dass Partikel halt irgendwie auf dem Boden aufschlagen und damit kann man auch kleine Spinnen über den Boden bewegen. Das ist einfach ein Vorwix.

Simon

Genau, das ist eine, das hat man auch ab und zu mal gesehen in so Horror-Demos, wo Kakerlaken die Wände entlang kriechen oder irgendwelche organischen Formen. Ich glaube, man hat es auch gesehen in der Demo von Nanite, die da gezeigt wurde. Und diese Science-Distance-Fields sind vielseitig einsetzbar. Genau zum beispiel um zu wissen obwohl die kollision ist dass es das freut wie fx, Herzen sehr.

Julien

Auf jeden Fall. Wir haben ja über Deko-Objekte geredet. So etwas Ähnliches haben wir auch noch für das Terrain. Das sieht man dann im Gras. Das Gras ist kein Deko-Objekt. Das ist ein Detail-Objekt. Nennen wir die. Detail-Scattering. Und das ist auch sehr lustig. Ich weiß nicht, ob du schon im Nebel unten warst. Aber die Nebelwände sind alle besetzt mit solchen Pilzpranken.

Und das hat sehr viel gebracht. überall quasi diese Detailgeometrie dran zu setzen, fände ich auch ein sehr effektives System, weil das auch komplett regelbasiert ist aufgrund der Wachselmaterialien und auch dynamisch, wenn man da Löcher reinhaut oder so. Was auch lustig für dich vielleicht, wir haben auch Decals, die diese Detailobjekte wegmachen, also quasi Löcher rein fräsen können, weil wir diese Detailobjekte, was vielleicht ein bisschen untypisch ist, jeden Frame neu platzieren.

Also wir machen erst das Culling, also wir gucken, welche Chunklets von dem Terrain sind sichtbar und dann nehmen wir uns die ganzen sichtbaren Chunklets und werten dann Regeln aus, die darauf Gras verteilen. Das heißt, das Gras hinter dir, außerhalb deines Sichtfeldes oder auch hinter einem Stein, das ist alles nicht da. Das wird alles auf der GPU quasi erst erzeugt.

Simon

Okay, und die Positionen, die sind dann randomisiert, aber basierend auf einem konstanten Seed, sodass sie...

Julien

Auf dem konstanten Seed. Ah.

Simon

Ja, das ist spannend, ja.

Julien

Und dadurch, dass sie dynamisch jeden Frame passieren, können wir sie auch sehr einfach durch Decals zum Beispiel dynamisch modifizieren. Und da gibt's dann halt... Gibt es halt Effekte, dass zum Beispiel um Lut herum einfach immer das Gras weggemacht wird, damit das Gras nicht stört.

Simon

Ja, das ist ja super, das ist super schlau. Ja, genau, weil das Gras ist ja immer so ein Problem, es verdeckt ja immer alles. Und dann findet man nichts. Ah, ist ja genial. Diese kleinen Details, das ist echt toll. Ja, das ist mir gar nicht aufgefallen. Spannend. Und ihr könnt ja theoretisch auch das Gras wegmachen, wenn ein riesiges Monster darüber läuft oder so.

Julien

Machen wir auch, genau. Ich kann da jetzt schon ein Rasenmäher einbauen, das habe ich mich aber noch nicht durchsetzen können.

Simon

Oh nein, das wird dann so die neue Simulation, so Grasrasensimulator und dann machen die Leute Kornkreise oder so. Aber genau, wird das gespeichert? Also wenn ich jetzt in meiner Basis einen Kornkreis machen würde mit dem Rasenmäher, würde beim nächsten Laden dann das...

Julien

Die Detailobjekte, die speichern wir nicht, weil das sind VFX, die werden nicht gespeichert. Aber was man machen kann in der Schau ist pflanzen. Also man kann sich ein Feld anlegen und da kann man Kornkreise pflanzen. Und die werden gespeichert. Musst ein bisschen weiterspielen noch.

Simon

Genau, ich war übrigens auch schon mit Nebel drin und drunter. Der Nebel ist auch schön. Vor allem in der Nacht sieht das so schön aus, wenn das so ein bisschen wie beleuchtet ist. Vor allem der rote Nebel, wo man noch nicht rein darf, das sieht so aus wie als wäre da eine kleine Rave-Party unten oder da brennt es im Nebel unten drin. Das ist auch sehr schön. War das eigentlich irgendwie im Vergleich zu Portal Knights so was unbeleuchtend? Komplett neues, diese ganzen Volumen-Nebel-Dinger?

Julien

Ja, also das haben wir neu gemacht, genau. Also GI war ganz anders und neu. Große Welt war ganz anders neu. Das ganze Nebel-Thema war für uns neu. Und genau.

Simon

Ja, krass. Okay, gibt es noch irgendwas, was du gern erzählen würdest? Also du hast ja mehr Überblick.

Julien

Ich weiß nicht, ob wir jetzt noch irgendjemanden mitgenommen haben. Bisschen lange Reise. Habt ihr am Ende jemand angekommen?

Simon

Doch, ich bin sicher. Wer bis hierhin gehört hat, kann gerne in die Discord kommen und mal Hallo sagen. Und auch gerne weitere Fragen stellen. Wie Timo. Und es dauert dann auch nur vier, fünf Jahre, bis die dann beantwortet werden.

Julien

Dann kommt die Folge drei.

Simon

Genau, ratzfatz geht das hier. Ja, du, dann danke ich dir, dass du dir noch mal so viel Zeit mitgenommen hast. Das war super spannend.

Julien

Ja, dir vielen Dank, dass du das machst.

Simon

Ja, macht ja auch Spaß. Man lernt ja auch viel. Auch wenn es ein bisschen deprimierend ist, dass ich immer merke, dass mein Wissen eigentlich schon wieder veraltet ist, aber jetzt ist es aufgefrischt, das ist gut.

Julien

Genau, ja, genau, das kann man ja immer auffrischen.

Simon

Genau, und dann, ja, noch viel, viel, viel, viel, viel Erfolg für Entschraudet, ich bin gespannt, was da noch kommt, muss man weiterspielen und ja.

Julien

Ja, wir haben auf jeden Fall noch viel vor und sind hochmotiviert und freuen uns wirklich, dass es so gut ankommt bisher. Es ist echt, haben wir lange, lange viele Projekte gemacht, wo das leider nicht so war.

Simon

Ja, mir ist auch ein Stein vom Herzen gefallen, als Palwirt rauskam und alles dominiert hat und dass ihr dann trotzdem so erfolgreich sein konntet. Da dachte ich so, oh Gott sei Dank. Das war auch, ja.

Julien

Da hatten wir ein bisschen Bammel. Aber das kann man so kurz dann auch nicht mehr ändern. Das war bei Palwirt sehr plötzlich.

Simon

Genau, genau. Nee, bin ich froh. Okay, na dann, danke schön. Und mal sehen, vielleicht bis bald. Wer weiß. Genau, gerne. Tschüssi.

Julien

Tschüss.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android