Latest / Der GameDev Podcast (Game Dev) (MP3) / 84 - Custom Engines 2.0 (und Enshrouded)
Transcript
- 0:00Hey, hallo zu dieser neuen Folge 12,6, also beziehungsweise 12 Stunden und ungefähr
- 0:0536 Minuten hat es gedauert, dieses Episode zu bearbeiten.
- 0:08Ah ne, da kommt ja noch eine halbe Stunde dazu, weil ich jetzt hier das ganze
- 0:11Marketing und verteilen und blablabla.
- 0:13Egal, wenn ihr das cool findet, könnt ihr gerne bei Patreon vorbeischauen.
- 0:16Da brauchen wir nur noch vier Männchen, bis wir dann 60 sind,
- 0:20also 60 Patreons. Das wäre doch mal eine schöne Zahl.
- 0:23Wer Bock hat, kann da gerne gucken und ansonsten auch gerne beim Discord vorbeischauen.
- 0:27Und beim Discord habe ich übrigens mal geguckt, da sind wir mittlerweile 518
- 0:31nette Männchen, die da auf dem Server sind. Ist doch toll.
- 0:36Also, wenn ihr da Bock habt, mit zu joinen, könnt ihr das gerne machen.
- 0:40Und übrigens werde ich in dieser Episode behaupten, dass das das erste Mal ist,
- 0:44dass wir eine zweite Folge zu einem schon vorhandenen Thema aufnehmen.
- 0:48Das stimmt aber gar nicht. Habe ich wohl gelogen? Und zwar haben wir nämlich
- 0:51zu Outsourcing auch schon mal eine zweite Episode gemacht. aber naja,
- 0:54ein kleines Fehlerchen darf ich mir ja mal erlauben und jetzt geht's los.
- 1:05Hallo und herzlich willkommen zum Gamedev-Podcast. Heute eine der seltenen Sachen,
- 1:09ich glaube, das haben wir noch nie gemacht, und zwar den zweiten Teil einer
- 1:12Episode, und zwar Custom Engines 2.
- 1:15Und statt einen gibt es auch diesmal zwei Männchen, die zu Gast sind.
- 1:18Und einmal den Julian, den kennen wir schon von der ersten Episode. Hallo.
- 1:22Hallo.
- 1:23Und einmal den Philipp. Hallo, herzlich willkommen.
- 1:26Hallo.
- 1:27Genau, und damit du, Philipp, auch kurz abgeholt bist, will ich hier kurz erklären,
- 1:34wie es jetzt eigentlich dazu kam, dass wir eine zweite Episode machen.
- 1:36Und zwar hat das zwei Gründe. Das eine, muss ich sagen, das ist so ein bisschen selbstkritisch.
- 1:41Unsere eigene Folge nochmal angehört und ich finde, der Julian hat das super gemacht.
- 1:45Er hat eigentlich zum Beispiel am Anfang versucht, das mal so ein bisschen einzuordnen,
- 1:48was eigentlich ein Engine überhaupt ist und sowas.
- 1:50Und ich habe einfach direkt drauf losgeredet und im Grunde war es für mich so
- 1:54eine kleine Therapiestunde.
- 1:56Weil, was man vielleicht wissen muss, ich habe als Content Creator,
- 1:59also 3D- oder VFX-Artist, habe ich in drei verschiedenen Kasten im Engines gearbeitet
- 2:03und die waren alle nicht so nett zu mir.
- 2:05Und deswegen hatte ich viel Redebedarf an Dingen, die nicht so gut gelaufen
- 2:09sind. Das konnte dafür gar nichts.
- 2:11Nee, genau, aber der Julian, der hatte ein ganz offenes Ohr und ich fand,
- 2:14du hast das auch super gemacht, weil du hast dann immer versucht,
- 2:16das so ein bisschen einzuordnen, was es vielleicht auch für Gründe gab,
- 2:20dass vielleicht ein Tool nicht so perfekt war oder so.
- 2:23Und ja, genau, dann war das halt nicht ganz so strukturiert von meiner Seite
- 2:27her, aber hat mir auf jeden Fall gut getan.
- 2:28War eine gute Therapie für mich und danke Julian war es auch super spannende Information.
- 2:34Und das ist so der eine Grund, dass ich auch selbst gar nicht so ganz zufrieden
- 2:38war, wie ich das aufgebaut hatte, Und der andere ist, nach dieser Episode kamen
- 2:41super spannende Fragen von Timo.
- 2:43Danke Timo übrigens, es hat nur irgendwie vier Jahre gedauert,
- 2:46bis jetzt mal die Antworten auf deine Fragen kommen.
- 2:49Er hatte nämlich dann einige Fragen eben geschickt und gesagt,
- 2:51hey, ja, nette Folge, aber hier noch ein paar Sachen, die ich gerne hätte noch wissen wollen.
- 2:57Und da kam dann so die Idee, hey, dann lass uns doch mal nochmal eine Episode machen.
- 3:01Genau, also das nur für dich, Philipp, als kurze Übersicht.
- 3:05Ja, vielen Dank. Danke.
- 3:07Und wenn du möchtest, kannst du ja gerne mal ganz kurz erzählen,
- 3:11wer du eigentlich bist, Philipp.
- 3:14Denn ja, das wird bestimmt einige Leute freuen, die sich mit deutscher Spieleentwicklung
- 3:19schon ein bisschen auseinandersetzen.
- 3:21Ja, ich habe fast 20 Jahre jetzt bei Piranha Bytes gearbeitet und war da 15
- 3:26Jahre lang der Lead Programmer.
- 3:27Ja, die letzten 10 Jahre oder letzten 5 Jahre habe ich primär Engine-Entwicklung
- 3:33gemacht. Davor habe ich ja noch alles mögliche andere mit Game-Programming und so weiter gemacht.
- 3:37Das habe ich dann aber hinterher abgegeben,
- 3:39als die reine Engine- und Grafikentwicklung immer komplexer wurde.
- 3:44Und ja, deswegen. Und ja, das habe ich gemacht.
- 3:49Genau, und jetzt bist du bei Keen.
- 3:52Genau, ja, genau. Ich meine, wir wissen ja, wie es mit Piranha Bytes gelaufen
- 3:55ist oder wenn man das ein bisschen verfolgt. Und jetzt bin ich seit nicht ganz
- 4:00einem halben Jahr bei Keen und arbeite da in Entschraudet mit.
- 4:05Als Grafikprogrammierer.
- 4:07Genau, das heißt, ihr beiden seid das Kollegen. Ja, genau. So,
- 4:12und Julian, dich hatten wir schon beim letzten Mal, aber da gibt es nicht ganz
- 4:16so viel zu erzählen, weil du bist bei Keen gewesen und bist immer noch bei Keen.
- 4:19Genau, das letzte Mal konnte ich nicht viel erzählen über das Projekt,
- 4:22was wir jetzt released haben, Man Trouted.
- 4:24Das kam ja jetzt dieses Jahr raus und das war schon in der Entwicklung,
- 4:28als wir den Podcast damals aufgenommen haben, aber noch sehr früh.
- 4:31Da haben wir ja auch noch an Portal Knights gearbeitet und so weiter.
- 4:33Ja, aber du hast, das finde ich ganz interessant, du hast zweimal so einen kleinen Schlenker gemacht.
- 4:39Und zwar habe ich einmal in deinem LinkedIn gefunden, dass du mal kurz für,
- 4:42nicht für Keen, sondern für Keen Core gearbeitet hast und dann aber wieder zurück zu Keen bist.
- 4:46Ja, King Core war eine Ausgründung von dem Engine-Department,
- 4:52kann man so sagen, von King Games, weil es damals noch einen anderen Kunden gab, eine zweite Firma,
- 4:57die auch Interesse hat an der Engine damals und die auch benutzt hat für Spiele.
- 5:02Da ging es um Handyspiele und die haben die Technik auch benutzt und da war
- 5:06es dann einfacher für die Firmenstruktur, dass wir das Engine-Geschäft quasi
- 5:10in der eigenen Firma ausgegründet haben.
- 5:11Ach so, und dann war der Kunde irgendwann weg und hat gesagt,
- 5:14komm Leute, das mit den zwei Firmen ist zu aufwendig, doppelte Buchhaltung,
- 5:17also vierfache Buchhaltung.
- 5:20Ja, es gab dann Gründe, dass man wieder zusammengegangen ist.
- 5:23Das hat auch mit dem Entschraubt-Projekt zu tun.
- 5:25Das war halt so groß, dass wir gesagt haben, wir machen das dann wieder zusammen
- 5:28als eine Firma, als Keen Games.
- 5:29Und die Handysparte hat sich ja dann auch so ein bisschen aufgelöst. Ja, das ist...
- 5:35Sehr schwieriger Markt geworden. Das haben wir dann nicht mehr weiterverfolgt.
- 5:40Ja, okay. Und der zweite Schlenker ist, wenn man nämlich mal in dein MobiGames-Log
- 5:45guckt, dann sieht man da, dass du auch an Atlas Fallen gearbeitet hast.
- 5:49Und das ist ja bekannterweise kein Keen-Produkt. Das stimmt.
- 5:52Möchte aber ganz kurz Werbung machen. Ich habe selbst noch nicht gespielt,
- 5:54aber es kam gerade ein riesen Update dafür raus. Sense, irgendwas mit Sand.
- 5:58Und das hat wohl das Spiel super toll überarbeitet. Und jetzt sollen das alle bitte spielen.
- 6:05Das kann ich unterschreiben.
- 6:06Also ich habe ein paar Monate ausgeholfen bei den drei Szenen,
- 6:10aber ich habe da wirklich nicht viele Sachen gemacht.
- 6:13Ich habe da halt ein paar Ecken mitgeholfen, wo Hilfe gebraucht wurde.
- 6:18Und es waren ein paar Leute aus unserem Team. Wir hatten Glück,
- 6:21dass die gerade Leute brauchten und wir gerade Zeit hatten, weil das Break and
- 6:27Trouble auch nicht ganz so rund lief, wie es von außen vielleicht aussieht.
- 6:30Und es gab dann ein paar Monate Leerlauf.
- 6:33Okay, das ist spannend. Klingt nach dem üblichen Auf und Ab der Spielindustrie.
- 6:38Aber was ja interessant ist, das könnte man ja sagen, oh, dann hast du bei Atlas
- 6:414 und irgendwas mit der Engine gemacht, aber im Mobi steht Compliance Integration
- 6:45und wer nicht weiß, was das bedeutet, DeepL sagt Integration der Einhaltung von Vorschriften.
- 6:51Was hast du denn da gemacht?
- 6:54Tatsächlich habe ich, glaube ich, ein paar es gibt viele Konsolen,
- 6:58Nun gibt es halt gewisse Richtlinien, die man einhalten muss.
- 7:01Da habe ich dann ein bisschen was dran gemacht.
- 7:03Ich habe dann aber vor allem auch an den internen Tools gearbeitet.
- 7:07Aber ich finde es nett, dass sie mich überhaupt aufgenommen haben.
- 7:09Aber es war wirklich nur ein paar Monate und es war nicht besonders viel,
- 7:13was ich da jetzt beigetragen habe zu dem Spiel.
- 7:15Aha, okay. Und übrigens habe ich auch einen Tweet von dir gefunden.
- 7:19Das ist auch noch mal sehr beeindruckend. Da hast du nämlich geschrieben,
- 7:24das ist wirklich tief gewühbelt.
- 7:27Gewühlt.
- 7:27Das muss man mal wirklich in Relation setzen. Der Tweet ist, warte, wo ist es denn?
- 7:35Ah, genau. Du hast einfach nur geschrieben, hey, vor 30 Jahren habe ich meine
- 7:39ersten Babyschritte im Programmieren gemacht.
- 7:42So, jetzt kann man ja denken, wow, 30 Jahre Erfahrung Programmieren,
- 7:45das ist ja Wahnsinn. Dieser Tweet ist von 2019.
- 7:49Der ist nicht von heute. Das heißt, du bist ein super Programmierer.
- 7:55Ich bin einfach nur sehr alt. Ja, ich glaube, das ist der ganze Trick dabei.
- 8:00Und ich habe relativ früh angefangen, wobei ich das jetzt nicht als professionelles
- 8:04Programmieren natürlich bezeichnen würde, was ich damals gemacht habe in dem Alter. Das war...
- 8:09Ich hatte Glück und Pech, dass ich einen Schneider CPC hatte und keinen C64,
- 8:14deswegen hatte ich keine Spiele.
- 8:15Die gab es nämlich auf diesem Gerät fast nicht und deswegen musste ich dann
- 8:18Listings abtippen aus uralten Zeitschriften,
- 8:21also damals natürlich nicht uralt, aber aus Zeitschriften meines Vaters und
- 8:25musste meine Spiele selber in Basic und später auch Hexcodes,
- 8:30also Maschinensprache abtippen und das hat dann natürlich angefangen und dann
- 8:35natürlich Sachen geändert.
- 8:36Ich glaube, das ist auch, kenne ich einige, die so angefangen haben,
- 8:39dass man sich das macht, abtippen zu spielen und dann ändert man ein paar Sachen
- 8:43und sieht, oh, da passiert ja was und dann hat man ein sehr,
- 8:45sehr direktes Feedback und das ist ein ganz guter Weg, glaube ich, zu lernen generell.
- 8:50Du hast gerade gesagt Hexcode. Ist das eine andere Bezeichnung für Assembler
- 8:55oder ist das nochmal was anderes?
- 8:56Ja, Assembler sagt man normalerweise zu der textuellen, also da hat man Befehle,
- 9:02englischsprachige, MOF oder so, die man auch erkennen kann.
- 9:05Der Assembler als Programm übersetzt dann diese Sprache in Binärcode,
- 9:11die in der Computer wirklich spricht und den kann man natürlich auch direkt
- 9:14als Hexzahlen eingeben.
- 9:15Ach krass.
- 9:15Das ist dann quasi nochmal eine Stufe niedriger.
- 9:17Das ist der größte Schmerz, ja. Wenn man sich da einmal irgendwo vertippt,
- 9:21dann funktioniert hinterher gar nichts und man darf alles händisch durchsuchen.
- 9:25Ich hatte so ein schönes Buch.
- 9:26Leider habe ich das nicht mehr, Z80-Assembler, da waren die ganzen Opcodes drin
- 9:30und da konnte man auch auf dem Papier selbst die Hexcodes von den ganzen Humanos
- 9:34aufschreiben und die rein in den Computer eingeben und dann ausführen.
- 9:38Ich komme aber vom Amiga, 68.000er, aber auch Assembler und bei mir sind es
- 9:46auch schon 35 Jahre, ich habe mit 12 angefangen und bin mittlerweile 47.
- 9:51Bei dir ist es auch ganz interessant, weil du hast kein Studium gemacht oder
- 9:56sowas, Philipp, in Informatik oder irgendwas.
- 9:59Und du bist einfach, also man sieht, du warst auf der Schule,
- 10:03hast dein Abi gemacht und plupp, warst du plötzlich bei CodeCult.
- 10:08Vorher war ich noch bei Comunix. Das ist hier eine lokal ansässige Firma,
- 10:12die Software für Kommunen und Behörden macht.
- 10:15Und da hat mich eigentlich mein Informatiklehrer hinvermittelt.
- 10:18Also der war ein Freund von dem
- 10:20Besitzer von der Firma und der hatte ihn gefragt, kennst du nicht einen?
- 10:23Und da ist ihm wohl nur mich eingefallen und dann bin ich da gelandet.
- 10:30Aber nach einem Jahr wurde mir das wirklich zu langweilig und ich wollte in
- 10:33die Spielebranche und habe mich dann da bei CodeCult beworben.
- 10:36Das war eine Firma, das war eine Tochterfirma von der Phenomedia AG,
- 10:40also eigentlich mit Piranha Bytes auf einem Flur schon.
- 10:42Ich habe morgens immer die Leichen da gesehen von Gothic 1, die da im Flur lagen
- 10:48und völlig übermüdet waren.
- 10:50Und das war im Prinzip damals, als die Phenomedia AG mit dem Moorhuhn so unglaublich
- 10:56einen Erfolg hatte und das Geld aus der Wand kam, haben sie die tolle Idee gehabt,
- 11:00dann irgendwie eine Tochterfirma zu gründen, die dann irgendwie eine eigene
- 11:03Engine, eine eigene Technologie aufsetzt.
- 11:04Und da war meine erste Stelle in der Spielebranche und dann als Tool-Programmierer,
- 11:10weil das war die einzige Stelle, auf die habe ich mich beworben,
- 11:13war die einzige, die frei war und bin dann da reingerutscht.
- 11:16Ja genau, es gibt nämlich, es war lustig, wenn man so Research macht,
- 11:20also manche Leute belächeln ja schon, wenn man auf Wikipedia ist oder so.
- 11:23Ich war dann auf mohun.fandom.com und hab dort recherchiert und dort hab ich
- 11:28nämlich auch über diese Engine gelesen.
- 11:30Ziel war es, 3D-Engines zu entwickeln und an andere Spieleentwickler zu lizenzieren,
- 11:37die nicht die Zeit hatten, sie selbst spielbegleitend zu entwickeln.
- 11:40Und diese Engines wurden dann für hausinterne Produktion benutzt.
- 11:44So beispielsweise auch ein Spiel in der Gothic-Reihe.
- 11:47Das ist nicht richtig. Also im Prinzip war es so, die Idee war ja prinzipiell
- 11:53nicht schlecht, weil das war damals so die Zeit, die kam auf.
- 11:57Das war, ich glaube, da gab es auch die erste Unreal-Version.
- 12:00Das war damals so ein ganz neuer Markt irgendwie überhaupt Lizenz-Engines.
- 12:05Und ja, das Problem, was wir eben hatten, ist, wir haben nicht gleichzeitig
- 12:10auch ein Spiel damit entwickelt und deswegen war die ganze Entwicklung so ein
- 12:12bisschen realitätsfremd.
- 12:15Das Einzige, was damit wirklich jemals Geld gemacht hat, war eine Transrapid-Simulation
- 12:22für Transrapid Shanghai oder so, glaube ich. Also das war ein Projekt,
- 12:27was wir damit gemacht haben.
- 12:28Ansonsten sind große Teile der Engine in der Tat am Ende in die Gothic 3 Engine
- 12:35und die dann die Genome Engine immer weiterentwickelt wurde,
- 12:38also bis zuletzt jetzt, da auch reingewandert.
- 12:41Also hauptsächlich aber so Core-Basis-Funktionalität wie Mathe-Library und die
- 12:48ganzen Container-Klassen und so ein Zeug. Also so ganz rudimentäre Sachen.
- 12:54Mehr hat davon nicht überlebt. Aber es ist in der Tat, ein Teil davon ist in
- 12:59der Piranha Bytes Engine am Ende gelandet, ja.
- 13:02Wurde die Engine für Gothic 3 komplett neu gemacht oder hast du dann...
- 13:05Ja.
- 13:06Ah, okay. Deswegen konntest du jetzt noch Sachen da rein integrieren dann.
- 13:10Ja, also ich bin erst so Mitte, Ende Gothic 3 dazugestanden.
- 13:14Also eigentlich hätte Gothic 3 in drei Monaten fertig sein müssen,
- 13:17als ich dazu gekommen bin.
- 13:18Und als ich dann den Stand gesehen habe, habe ich mir gedacht,
- 13:20okay, das wird wohl nichts.
- 13:22Also es hat dann de facto, glaube ich, noch eineinhalb Jahre oder noch länger gedauert.
- 13:25Ja, da wurde während der Entwicklung von Gothic 2, wurde die Engine parallel
- 13:30von einem Teil des Teams,
- 13:32oder ich glaube vom Nacht des Raben Add-on, ich bin mir nicht ganz sicher,
- 13:36ich war da ja noch nicht da, wurde die Engine parallel schon aufgesetzt und entwickelt.
- 13:41Und die Gothic 1, Gothic 2 und Nacht des Raben wurden im Prinzip noch mit der alten Engine gemacht.
- 13:49Und die war ja dann ab einem gewissen Punkt auch nicht mehr wirklich wartbar und pflegbar.
- 13:54Ja, aber du hast auch eine kleine, genau wie Julian, eine kleine Ausschweifung.
- 14:01Also, wir haben jetzt gelernt, du fängst direkt nach der Schule schon Programmierung
- 14:04an, was ja schon echt cool ist, ein Direktjob so, ne, und dann,
- 14:06ah gut, klar, vielleicht ein bisschen Vitamin B, aber trotzdem müssen deine
- 14:09Skills ja auch stimmen, ne, um dort bei Comnix zu arbeiten.
- 14:13Und trotzdem ist es dann so, dass du für, dass du kurz QA gemacht hast.
- 14:18Das ist auch irgendwie, weiß ich nicht, wo das herkommt.
- 14:23Also das ist voller Unwahrheiten. Ja, also ich weiß es nicht.
- 14:27Es kann sein, dass in irgendeinem, keine Ahnung, in irgendwelchen Credits das
- 14:31vielleicht drinsteht. Ich weiß es nicht. Also habe ich eigentlich nie gemacht.
- 14:34Ich habe mal Game Design gemacht für Risen 3.
- 14:37Das war damals die Zeit, wo es die Trennung von Michael Hoge bei Pernarbalz gab.
- 14:44Und ja, da bin ich dann damit eingesprungen und habe Game Design mitgemacht.
- 14:50Aber QA, ach doch stimmt, jetzt fällt es mir wieder ein habe ich doch wirklich
- 14:54mal gemacht, aber das war nur das war nur auch über Vitamin B und ganz kurz,
- 14:58also ja aber stimmt, ja, jetzt wo du es sagst,
- 15:02das, ja ich hatte ein kurzes Intermezzo und zwar haben wir nachdem die Phenomedia
- 15:08AG den Bach runtergegangen ist wegen diesem ganzen Börsenbetrug,
- 15:12ja, das war ja auch irgendwie ein ganz großes Zinnober da genau,
- 15:15habe ich probiert oder wir haben den Vorteil gehabt, da wir,
- 15:19wir haben die Rechte an der Engine bekommen, also die Angestellten mehr oder weniger.
- 15:23Das war so eine Art Mini-Abfindung, mehr oder weniger.
- 15:27Und mit diesen Rechten sind wir dann losgezogen, ein Arbeitskollege und ich,
- 15:31also der Roman, und haben uns mit einem Team zusammengeschlossen rund um Thomas Schäfer.
- 15:36Die haben ein Spiel gemacht, das hieß Y-Project und die wurden auch eingestampft damals.
- 15:42Das war glaube ich irgendwie eine Kölner Firma.
- 15:44Und mit denen zusammen haben wir probiert, einen Pitch auf die Beine zu stellen.
- 15:48Da haben wir auch fast ein Dreivierteljahr, glaube ich, daran gearbeitet,
- 15:52aber wie es so läuft, ist daraus leider nichts geworden und da habe ich auch
- 15:58mal QA gemacht für Thomas, ich erinnere mich nicht mal mehr an das Spiel.
- 16:03War es vielleicht Augustus im Auftrag des Kaisers?
- 16:07In der Tat.
- 16:10Danke fürs Auffrischen meines Gedächtnisses.
- 16:13Ja, da wird sich der, ich weiß nicht, ob ihr den kennt, Jens Kurtbeuer freuen.
- 16:18Der hatte mit It Matters eine Firma in Berlin und macht jetzt sein eigenes Ding
- 16:23unter dem Namen, oh, jetzt habe ich den Namen vergessen, auf jeden Fall machen
- 16:26die nämlich gerade ein Römer-Survival-Spiel.
- 16:29Und das läuft auch ganz gut bisher, es ist sehr spannend und er ist halt total auf Römer gedingst.
- 16:36Und der war letztens auch nochmal im Podcast und dann fand ich das ganz nett,
- 16:40dass du auch so ein Römer-Dings-Spiel damals gemacht hast.
- 16:45Also das war wirklich nur, keine Ahnung, zwei Tage irgendwo.
- 16:48Ach so.
- 16:49Ja, das war auch super trashy irgendwo. Ich glaube, bei Thomas zu Hause in der
- 16:52Bude. Und also wirklich, das war ...
- 16:56Einfach ein bisschen Geld verdienen, weil klar, wir waren natürlich alle arbeitslos
- 17:00zu der Zeit und haben das Ganze finanziert über, ja, eigentlich nicht über arbeitslosen
- 17:05Geld, sondern wir hatten damals, wie nennt man das nochmal gleich,
- 17:07wenn man sich so selbstständig machen will,
- 17:09dann kann man ja beim Arbeitsamt irgendwie, das war damals vor 20 Jahren,
- 17:12ich weiß nicht mehr genau, wie, aber so lief das mehr oder weniger.
- 17:18Also dieses Gründungsirgendwas, ich weiß es nicht. Ich habe es vergessen.
- 17:23Aber was mir jetzt trotzdem noch nicht ganz, also wir wissen ja,
- 17:27man muss ja schon einen gewissen Skill mitbringen, um in die Branche reinzukommen.
- 17:31Gerade in der Programmierung, gerade in so 3D-Programmierung.
- 17:35Und du hast vorher die Anwendungsentwicklung gemacht dann bei Communix,
- 17:40aber woher kam, weil dann bist du bei Winx Simulation eingestiegen.
- 17:44Ja, bei Wings war ich auch knapp für ein Jahr, bis die dann auch dicht gemacht worden sind.
- 17:50Da hat Roman mich mehr oder weniger auch mit. Also Roman und ich,
- 17:54wir haben zusammen bei CodeCult gearbeitet und danach haben wir zusammen probiert,
- 18:00diesen Pitch zu machen mit dem Thomas Schäfer.
- 18:02Und irgendwann wurde es dem Roman dann auch zu heiß und dann hat er sich einen
- 18:05Job bei Wings Simulation gesucht.
- 18:07Und nach zwei, drei Monaten oder so, als ich dann auch so langsam gedacht habe,
- 18:12okay, das wird nichts mehr, hat er mich gefragt, ob ich nicht Lust habe,
- 18:15da auch anzufangen und dann habe ich da eben auch für eineinhalb Jahre gearbeitet oder ja,
- 18:20also bis zu der Joe Wood,
- 18:23bis Joe Wood den Laden nicht gemacht hat im Prinzip und da haben wir auch an
- 18:27einer Nachfolgetechnologie für Söldner gearbeitet.
- 18:31Also Söldner war ja damals das Projekt, was da lief und das Add-on,
- 18:36genau und da haben wir dann auch noch mitentwickelt an Söldner,
- 18:40haben da ein bisschen optimiert, War aber relativ spät in der Entwicklung und
- 18:43dann haben wir im Prinzip so eine kleine Mini-Abteilung gegründet und haben
- 18:47im Endeffekt vom Scratch eine neue Technologie auch angefangen.
- 18:51Warst du damals eigentlich auf dem USF-Forum?
- 18:53Irgendwann war ich mal auf dem USF-Forum. Das ist, ja.
- 18:57Ich war da viel unterwegs. Ich kann mich nicht erinnern an dich.
- 19:01Einmal war ich da, ja. Das ist in Frankfurt, ja.
- 19:03Ja, aber ich bin auch nicht so der super Socializer. Also ich meine,
- 19:07man findet im Internet auch nicht so besonders viel von mir,
- 19:09was jetzt irgendwelche Forum-Posts oder Twitter oder sonst was.
- 19:13Also ich bin eher so der im stillen Kämmerlein vor sich hin hackt.
- 19:18Ich habe eine Sache gefunden.
- 19:20Unten poste ich euch jetzt auch mal hier ins Disco. Das ist ein Besuch bei Wings
- 19:23Simulation. Und da gibt es auch noch Fotos zu sehen. Und ich glaube, da bist du auch drauf.
- 19:26Genau. Und für alle, die sich jetzt wundern, Söldner, was ist das?
- 19:30Wer Bock oder sich nostalgisch an Söldner erinnern, weil sie es damals gespielt haben.
- 19:35Das gibt es immer noch. Es gibt eine Fan-Remake, glaube ich.
- 19:38Oder Leute, die das einfach aktuell halten. Und das verlinke ich auch in den
- 19:42Shownotes. Wer da Bock hat, kann Söldner heute noch sich angucken.
- 19:46Ist dir das klar, Philipp, dass es Söldner noch hat?
- 19:48Ja, ich hatte das vor kurzem auch mal gesehen, ja. Aber ja, also es gibt ja
- 19:53schon auch immer ein paar Freaks irgendwie, ich weiß nicht, Gothic 1 wird ja
- 19:57auch noch, da gibt es ja auch noch eine riesen Community, die da irgendwie dran rum basteln.
- 20:02Also ich finde es schon verrückt, aber gut, wenn es Spaß macht.
- 20:07Ja, Wolfgang Engel ist ja schon, sagen wir mal, in der Grafik,
- 20:10Computer-Grafik-Branche doch ein Name.
- 20:14Ja, das stimmt. Klar, der hat die ganzen GPU-Gems-Geschichten gemacht und jetzt
- 20:19KonfettiFX mit The Forge und so. Ja, der war auch nicht lange da.
- 20:24Ja, aber wir waren Kollegen kurz.
- 20:27Ach echt? Die GPU-Gems sind ...
- 20:32Von Ihnen geschrieben wurden dann?
- 20:35Nee, geschrieben nicht. Also er hat auch Artikel geschrieben,
- 20:37aber das sind Artikelsammlungen.
- 20:39Aber er hat das, soweit ich weiß, ins Leben gerufen und halt koordiniert und rausgegeben.
- 20:44Also wer es nicht weiß, das sind so Bücher, die so tolle Beispiele sammeln,
- 20:48oder? Kannst du es besser beschreiben, Julian?
- 20:50Ja, kurze Artikel, die sehr spezialisiert über ein Thema zu einem Thema sich auslassen.
- 20:56Also drei, vier Seiten zu einem spezialisierten Thema, wie Rednerchen Edelstein,
- 21:00ganz toll. oder so Sachen.
- 21:03Ja, es war früher relativ wichtig. Es hat dann Bedeutung verloren,
- 21:06weil eben alle Papers online zur Verfügung stehen. Da wird viel gepublished und so weiter.
- 21:12Früher war das recht wichtig. Also da waren die Bücher schon auch echt eine
- 21:15Quelle von guten Informationen.
- 21:19Ich finde es auch immer noch nett, wenn ich mich um ein neues Thema kümmere,
- 21:21doch mal in alten Büchern zu wälzen, zu blättern, zu gucken.
- 21:25Da waren durchaus auch Sachen dabei vor zehn Jahren, die ambitioniert waren,
- 21:28auf der damaligen Hardware zu releasen und die man jetzt aber ohne weiteres so machen kann.
- 21:33Und manchmal gibt es auch so ein bisschen Hintergrundinformationen oder so ein
- 21:36bisschen Einstieg in aktuelle Paper.
- 21:39So ein bisschen so einen Hintergrund zu haben, ist auch ganz gut.
- 21:42Ja, sie sind nicht ganz so super. Ja, also Paper sind ja oft,
- 21:46die setzen oft ein sehr großes Wissen voraus. Und das ist, finde ich,
- 21:49bei den Büchern gut gemacht, dass da...
- 21:50Wissenschaftliche Paper sind nochmal eine andere. Also diese GPU-Games sind
- 21:53doch eher für den Praktiker geschrieben, würde ich sagen.
- 21:57Ja, so richtig praxisnah mit auch Code-Beispielen und alles sowas.
- 22:01Das ist nicht nur so theoretisches Wissen, das könnte man so und denkt ihr den Code selbst aus.
- 22:07Ja, und Julian, ich habe bei dir noch etwas Spannendes entdeckt.
- 22:09Du warst vier Jahre lang bei Vega IT von 2002 bis 2006 und dort habt ihr für
- 22:19die Air Force gearbeitet.
- 22:20Ja, für die Schweizer Luftwaffe.
- 22:23Und das klingt ja schon irgendwie cool, so hey, ich arbeite für die Luftwaffe.
- 22:27Ich weiß nicht, irgendwie klingt das ganz nett. Und außerdem klingt es so,
- 22:29als wäre es sehr gut bezahlt.
- 22:31Ja, das ist gar nicht richtig. Das war gar nicht die Schweizer Luftwaffe,
- 22:34das war die Schweizer Marine.
- 22:35Die hatte einen Marine-Helikopter. Also die Schweiz hat auch eine Marine und
- 22:39die haben ein neues Hubschrauben-Modell bekommen und dafür brauchten sie zu
- 22:43Schulungszwecken einen Desktop-Simulator.
- 22:45Jeder kennt ja wahrscheinlich diese vollen Simulatoren, in die man sich reinsetzt mit Protraulik und so.
- 22:51Da lernt man halt fliegen und wie sich so ein Fluggerät bewegt in der Luft so ein bisschen.
- 22:55Und wir hatten einen Desktop-Simulator, da geht es hauptsächlich darum,
- 22:58wie die ganzen komplexen Computersysteme im Cockpit miteinander funktionieren
- 23:02und wie die Bedienung da funktioniert.
- 23:04Das ist also etwas, was man dann auf seinem Desktop-Computer oder auf seinem
- 23:07Laptop als Pilot hat und in der Ausbildung, also zur Begleitung der Ausbildung
- 23:11einfach daran rumklicken kann und gucken, wie das sich verhält.
- 23:15Das muss auch akkurat sein natürlich alles.
- 23:18Das ist, glaube ich, der Hauptunterschied zu dem in der Spielindustrie.
- 23:22Aber es ist nicht ganz so, es war kein 3D-Rendering zum Beispiel.
- 23:27Wir hatten zwar ein Flugmodell und der flog auch, der Helikopter,
- 23:31im Hintergrund, weil gewisse Systeme auch im Cockpit nur Sinn machen,
- 23:34wenn man so ein Minimalflugmodell hat, aber das war nicht der Fokus.
- 23:38Es ging dann eher darum, wie ein FMS funktioniert oder andere Systeme,
- 23:42Navigation oder so weiter.
- 23:45Okay, jetzt verstehe ich auch mehr, warum du dann irgendwann weggegangen bist.
- 23:48Das klang ganz cool da so.
- 23:51Es war auch cool. Es waren nette Kollegen, aber es war eine ganz andere Art
- 23:54zu arbeiten. Ich habe während der Zeit noch studiert, das heißt,
- 23:56es war ein sehr guter Studenten-Nebenjob.
- 23:59Und danach habe ich mich dann als fertig vom Studium beworben bei ein paar Spielefirmen und so.
- 24:07Da dann losgelegt.
- 24:08Weißt du noch, kannst du noch ungefähr sagen, wie die Gehaltsunterschiede waren damals?
- 24:12Hättest du dort weitergearbeitet? Wie viel du dann bekommen hättest du ganz grob?
- 24:17Ich habe noch nicht mal gefragt, ob ich dann, also ich weiß nicht,
- 24:19was so ein Einstellungsgehalt gewesen wäre. Ich habe ja nur als studentische
- 24:22Hilfskraft gearbeitet, also Nebenjob gearbeitet.
- 24:24Ich habe mich da nicht beworben. Das war auch völlig klar für mich,
- 24:27dass ich das nicht Vollzeit machen will.
- 24:29Ah, schade. Ist immer spannend so.
- 24:31Wahrscheinlich wäre es mehr gewesen.
- 24:33Ich kenne so ein, zwei Leute, die haben die Spielebranche verlassen.
- 24:37Nach Secret 2 dann und erzählen dann so, ja, also jetzt kriege ich doppelt so
- 24:40viel, jetzt kriege ich dreifach so viel. Ja.
- 24:43Immer ganz, ganz nett, so einfach mal die Dimensionen zu sehen.
- 24:45Das ist möglich.
- 24:46Okay, ja, schön. Das ist sehr spannend. Also wir wissen jetzt schon mal,
- 24:51ihr seid beide Orgisteine im besten Sinne des Wortes der Programmierung und
- 24:56Spielebranche und habt beide quasi das gesamte Leben mit Custom-Mentions gearbeitet, oder?
- 25:03Also bei Durian weiß ich es ja, Du hast immer mit Custom-Technik gearbeitet.
- 25:07Aber bei Philipp hast du auch mal ...
- 25:09Also tatsächlich habe ich einmal mit einem Spiel gearbeitet,
- 25:13wo wir Superscape benutzt haben. Das kennt wahrscheinlich niemand mehr.
- 25:19Das habe ich noch nie gehört.
- 25:20Nee.
- 25:20Okay, jetzt wird's wild. Super.
- 25:22Und dann gab es noch ein Spiel, da haben wir Virtools benutzt.
- 25:25Ich weiß nicht, wie man das Französisch ausspricht. Das ist eine französische Firma.
- 25:28Virtools ist auch ein bisschen komplett in die Vergessenheit geraten,
- 25:31glaube ich. Ich glaube, außerhalb der Spiele gibt es das sogar noch.
- 25:34Und wir haben damals Beyond 3000 gemacht, bei der Parallel AG in Dieburg.
- 25:40Das war 1999, 2000 rum. Also das war noch vor meinem Studium.
- 25:44Björn 3000?
- 25:46Ja, Björn 3000.
- 25:47Boah, da gucke ich mal Björn.
- 25:48Das war ein Method-Multiplayer-Spiel mit prozeduralen Planeten.
- 25:51Also so ein bisschen wie No Man's Sky.
- 25:56Okay.
- 25:58War seiner Zeit vorausschalmer, ne?
- 26:00Ja, das war auch nicht besonders gut.
- 26:03Aber warte mal,
- 26:05bin ich jetzt so komplett falsch? Weil ich hatte mir unsere Episode noch mal
- 26:08angehört und ich dachte, da wäre auch mal Unity kurz zur Sprache gekommen.
- 26:12Ja, das stimmt. Also, die Keen Games hatten mal an einem Unity-Spiel gearbeitet.
- 26:15Da war ich aber nicht beteiligt.
- 26:16Ah, okay.
- 26:16Da war Star Trek in Fiddlespace.
- 26:18Ah, genau so war das.
- 26:19Da war ich nicht, weil ich ja damals schon Technik gemacht habe bei Keen und
- 26:23die brauchten mich ja nicht.
- 26:24Ach so, ja. Okay, und Philipp, wie sieht das bei dir aus? Hast du mal den C
- 26:28in, weiß ich nicht, eine andere Engine gehalten?
- 26:30Nee, eigentlich nicht bis jetzt. Also klar, ich sage mal so,
- 26:34man guckt sich natürlich das an, was da so passiert.
- 26:39Aber nee, gearbeitet selber habe ich bis jetzt hauptsächlich also mit Lizenz-Engine
- 26:44noch nicht. Und ich habe, ja, dadurch, dass ich jetzt so,
- 26:47Urlange bei Perenna-Weiz war und die Engine natürlich auch von der CodeCult-Engine
- 26:51ein Stück weit abstammt, auch eigentlich ja, 20 Jahre mit einer Engine-Gabel,
- 26:55außer eben bei Söldner, aber es war auch eine Custom-Engine, also,
- 27:00Lizenz-Engines habe ich bis jetzt eigentlich noch nichts wirklich tiefer mitgemacht, nein.
- 27:05Ist ja für dich jetzt schon ein Kulturschock quasi mit einer neuen,
- 27:07anderen Custom-Engine zur Arbeit wahrscheinlich?
- 27:09Ja, es ist immer eine Umstellung, klar, sicher.
- 27:12Vor allem, ich meine, so eine Engine ist natürlich ein riesen Code-Base,
- 27:17Und es gibt unterschiedliche Ansätze und Philosophien.
- 27:21Dazu kommt natürlich, dass Sachen auch einfach wachsen. Und manche Sachen,
- 27:28auch bei den eigenen Sachen, die guckt man sich an und denkt sich,
- 27:31oh Gott, was hast du denn da gemacht vor zehn Jahren? Das ist normal eben.
- 27:35Ich muss sagen, ich finde das manchmal, wenn ich länger in der Firma bin,
- 27:38dann fühle ich mich so ganz angenehm, weil das ist so eine Komfortzone.
- 27:43Man weiß, was man so machen muss und so. Und wenn man dann irgendwann in ein
- 27:46neues Team kommt oder ein neues Projekt, dann kann das für mich teilweise schon
- 27:51etwas, ich finde das Wort gerade nicht befürchtend, beängstigend.
- 27:56Also so aus der Komfortzone rauszugehen und sich auch neu beweisen zu müssen
- 28:01von einem kompletten neuen Team und sowas, das ist ja schon auch eine Challenge.
- 28:05Hattest du da in irgendeiner Form, weiß ich nicht, auch so kurz Hemmungen oder
- 28:10Hemmschwellen oder so oder war das alles?
- 28:13Natürlich, klar. Klar, also ich meine, das ist natürlich, je länger du,
- 28:18ich kenne auch Leute, die haben irgendwie nie länger als drei oder vier Jahre
- 28:22in irgendeiner Firma gearbeitet.
- 28:24Die sind dann irgendwie von da nach da und dann zu Epic und hierhin und da,
- 28:28weil es da irgendwie besseres Geld gab.
- 28:29Oder ich habe eben aspachlange in dieser Firma gearbeitet und natürlich ist
- 28:35das dann schwer. Ja, aber ich meine, was will man machen?
- 28:41Dafür bin ich noch nicht zu alt, dass ich das nicht noch hinkriegen würde.
- 28:44Aber klar, also ein bisschen Bammel hatte ich schon, natürlich.
- 28:51Ja, ich meine, das vergeht dann teilweise so recht schnell, also vor allem,
- 28:54wenn die Teams nett sind, aber ich habe das, ich weiß nicht,
- 28:56Julian kann gerade wahrscheinlich gar nicht so gut reden, weil er einfach so die ganze Zeit...
- 29:02Ich sage hier gar nichts mehr.
- 29:04Nein, ich höre sehr gerne zu. Ich glaube, das ist ein bisschen schwieriger,
- 29:06als es früher vor Corona, vor dem Remote und Homeoffice war.
- 29:09Also ich glaube, gerade wenn jemand neu dazukommt, verliert man auch schon einiges,
- 29:16wenn alle nur zu Hause hocken.
- 29:17Ja, ich glaube, das ist schwierig.
- 29:19Das habe ich auch. Also ich habe das auch umgekehrt. Also ich meine,
- 29:22ich kannte die meisten Leute ja bei Brandarbeits, aber es kamen natürlich auch
- 29:26in den letzten drei, vier Jahren dann neue Leute dazu, die dann teilweise auch
- 29:31nur remote gearbeitet haben.
- 29:33Und ich habe auch gemerkt, dass die auch viel mehr Probleme hatten, ins Team reinzukommen.
- 29:38Es gab viel mehr Kommunikationsprobleme.
- 29:41Ja, also da umso wichtiger ist es da, glaube ich, dass man sich wenigstens ab
- 29:45und zu mal zu irgendeiner Weihnachtsfeier oder so trifft und sich mal persönlich kennenlernt.
- 29:51Ja, also das ist schon was anderes. Da muss ich Julian recht geben.
- 29:55Ich werde wahrscheinlich einen kleinen Einsprecher machen, wie man so eine Game
- 29:59Engine grob definieren kann und ich habe auch was tolles über die History gefunden und sowas.
- 30:04So, hier kommt jetzt ein kleiner Einsprecher von mir, denn ich wollte die Zeit
- 30:07nicht verschwenden von den beiden.
- 30:10Da wollte ich lieber spezifisch auf Dinge eingehen, was die beiden betrifft
- 30:14und so allgemeinere Fragen, was eigentlich eine Game Engine ist,
- 30:16wollte ich hier als kleinen Einsprecher machen.
- 30:18Und zwar ist es nämlich so, ich habe eine kleine Mini-Research gemacht und dann
- 30:23bin ich darauf gestoßen, es gibt Es gibt tatsächlich 3D-Engines,
- 30:26die wirklich nur für Grafik da sind.
- 30:28Beispielhafte Namen wären Ehrlich, OBA oder True Vision 3D. Verlinke ich euch
- 30:33auch einen kleinen Wikipedia-Artikel.
- 30:34Und es gibt dann Game-Engines und die sind normalerweise eine Ansammlung von
- 30:38verschiedenen Engines.
- 30:40Grafik, Sound-Engine, Physik-Engine und dazu Tools.
- 30:44Es gibt, ich verlinke euch auch
- 30:47eine kleine Study, History and Comparative Study of Modern Game Engines.
- 30:53Da steht noch mal so ein bisschen drin, dass es auch sehr spezifische Engines
- 30:57gibt, zum Beispiel spezifische Engines für Spursenshooter, für MMOs oder,
- 31:02und das ist vielleicht den meisten geläufig, für Visual Novels.
- 31:05Es gibt so ganz spezielle Tools oder Engines, womit man diese Art von Spielen machen kann.
- 31:10Und damit hat es historisch auch so ein bisschen angefangen.
- 31:13Das war ganz interessant, weil in den 80ern ist es so, dass die Hardware sich
- 31:17so schnell entwickelt hat, dass man den Code sowieso nicht weiter benutzen konnte.
- 31:21Und deswegen war das Konzept einer Engine, die man immer wieder weiter verwendet,
- 31:25lag überhaupt nicht auf dem Tisch.
- 31:26So, und es gab aber damals trotzdem schon sogenannte Construction Sets.
- 31:31Gibt es einen schönen Wikipedia Artikel und das sind Engines oder Tools.
- 31:35Ich weiß nicht, also auf jeden Fall nicht 3D Anwendungen, wo man Spiele machen
- 31:39konnte und die waren sehr spezifisch. Zum Beispiel gab es 1983 gab es das Pinball
- 31:44Construction Set oder 86 das Wargame Construction Set.
- 31:49Und es wird ja auch erwähnt, dass ein bekanntes Programm der RPG Maker von 1998 dann war.
- 31:57Also das sind so Tools oder halt Engines, die sich ganz spezifisch auf eine
- 32:01gewisse Art von Spielen festgesetzt haben.
- 32:05Und ein anderer, den man vielleicht auch sehr kennt, ist das SCUM,
- 32:08das sogenannte Script Creation Utility for Maniac Menschen.
- 32:12Das ist eine Videogame Engine für eben diese Art von Adventure.
- 32:16So, in den 90ern gab es dann das erste Mal die Lizenzierung von Engines wie für Doom oder Quake.
- 32:23Das war aber soweit ich weiß, das wird auch gesagt 3D-Engine,
- 32:27also da geht es dann wirklich nur um die reine Grafik, alles andere musste man noch selbst machen.
- 32:30Und erst mit Quake 3 und Unreal wurde dann das erste Mal eine Engine erschaffen,
- 32:35die dafür gedacht war, dass man sie auch lizenziert.
- 32:38Und interessant ist dann, wie sich das so ein bisschen entwickelt hat,
- 32:40da blende ich euch auch mal ein Schaubild ein, weil das ist eine große Mindmap.
- 32:45Beginnend von der Quake Engine hat sich zum Beispiel schon mal die Quake World
- 32:50Engine abgespalten und die wurde verbessert, was die Physik berechnet und den
- 32:55Netzwerk Code drin hat, damit man Quake gegen Online besser spielen kann.
- 32:59Und Valve hat für Half-Life 1 die Quake World Engine benutzt und die haben aber
- 33:05intern überhaupt keinen Namen dafür gehabt.
- 33:07Also wir haben die jetzt nicht irgendwie fancy genannt, so die super Half-Life-Engine
- 33:10oder irgendwas, das war bei denen einfach Source, oder halt also Source für Quellcode sozusagen.
- 33:16Die haben diese Engine auf jeden Fall stark verändert und haben dann Half-Life 1 damit gemacht.
- 33:22Und als Half-Life 1 rauskam, als sie den Gold Master von Half-Life 1 fertig hatten,
- 33:26hatten sie natürlich jetzt die Sache, sie wollen auf der einen Seite die Engine
- 33:29weiterentwickeln, aber sie wollen bei dieser Entwicklung keine neuen Bugs einführen
- 33:34in den Half-Life 1 Code. Und deswegen haben sie einen Fork gemacht.
- 33:38Und dieser Fork heißt Gold Source.
- 33:41Und das heißt, also weil es eben für den Gold Master von Half-Life 1 war.
- 33:45Und deswegen heißt die Engine für Half-Life 1 Gold Source quasi,
- 33:49damit sie den Stand beibehalten können.
- 33:52Und falls ein Bug in Half-Life 1 auftaucht, können sie dann dort eben weiterarbeiten.
- 33:55Und was dann weiterentwickelt wurde für die Source Engine, ist eben der Name,
- 34:01den sie davor hatten, halt einfach nur Source.
- 34:02Daher kommt dieser ganze Name Source Engine. Und die Source Engine wurde eingesetzt
- 34:06für Titanfall und Portal und Team Fortis 2 und so weiter.
- 34:09Und dann haben sie weiterentwickelt an der Source 2 Engine.
- 34:13Daher kommt auf jeden Fall der Name Source sehr unkreativ.
- 34:16Es steht einfach nur von den Quake-Code. Das Kreativste ist eben die Gold-Source,
- 34:20die sie für Half-Life gemacht haben, für den Gold-Master.
- 34:23Diese Gold-Source-Geschichte, das ist nicht nur der Source-Code und nicht nur eine 3D-Anchance.
- 34:27Sie haben zum Beispiel auch dort Worldcraft gekauft. Das war so ein Editor,
- 34:31ein Level-Editor und den haben sie umbenannt in Hammer-Editor und dann mit ihm
- 34:35Spiel geschippt und dann konnte man ein Level dafür bauen.
- 34:38Und jetzt als letztes noch eine kleine andere nette Link.
- 34:42Auf GitHub gibt es eine tolle Übersicht über aktuelle Spiele und deren Custom Engines.
- 34:47Und die ist wirklich ausschweifend die Liste und sie hat sowohl ganz,
- 34:52ganz riesige Firmen mit dabei als auch ganz kleine Solo Developer.
- 34:56Und zwar gibt es zum Beispiel jetzt als Beispiel sieht man da ganz oben Electronic
- 35:00Arts mit der Frostbite Engine und entstehen noch so ein paar Games als Beispiel
- 35:03in dem Fall Star Wars Battlefront 2 und Anthem und so.
- 35:07Und wenn man weiter runter scrollt, dann findet man auch kleinere Studios,
- 35:10die so, So, weiß ich nicht, bis 40 Leute, so 3 bis 40 Leute haben.
- 35:15Was haben wir hier zum Beispiel? Ich hatte hier gesehen, Hades war, glaube ich, mit dabei.
- 35:20Genau, Supergiant Games haben eine Mono-Based-Engine für Hades, Pyre und Transistor.
- 35:26Und wenn man dann noch weiter runter scrollt, dann findet man auch Männchen,
- 35:29die ganz alleine Spiele machen.
- 35:31Wie zum Beispiel das Spiel Teardown. Das war dieses Voxel-Spiel,
- 35:34wo man alles kaputt machen kann.
- 35:35Und da ist der Dennis Gustafsson und der hat halt eine Custom-Engine dafür geschrieben.
- 35:39Also das ist eine gute Übersicht über aktuelle Spiele oder aktuelle Spiele und
- 35:44was für Technologie sie benutzen, beziehungsweise wenn sie Custom-Technologie
- 35:48benutzen, dann findet man das hier aufgelistet. Ja, so.
- 35:52Und das war's. Aber eine Sache ist ganz spannend vielleicht,
- 35:58weil diese Frage haben wir uns auch in der ersten Folge gestellt.
- 36:01Da habe ich nämlich Folgendes gesagt, dass ich mal gehört habe,
- 36:04dass bei Piranha Bytes für Gothic Maya als Level-Editor benutzt wird.
- 36:11Und da hatte Julian gesagt, oh, das finde ich spannend, da müssen wir mal nachfragen.
- 36:15Und jetzt und die Frage kommt jetzt daher, dass eine Engine, früher,
- 36:21war das vielleicht wirklich nur der 3D-Code und alles andere musste man selbst
- 36:24machen und heute kommen ja so viele Tools mit und wenn jetzt aber bei Piranha Bytes jetzt mal,
- 36:29sagen wir mal, es wäre so, dass ihr jetzt wirklich ein externes Tool benutzt
- 36:33habt, wie jetzt Maya für Level-Design oder so, dann hättest du vielleicht eine
- 36:36andere Definition von was eigentlich so ein Engine ist, Philipp,
- 36:40weil dann wäre zum Beispiel dieser Level-Detour eben nicht so richtig Teil der
- 36:43Engine, sondern es eigentlich ein externes Ding. Und vielleicht hast du ja,
- 36:47Eine interessante Ansicht, was du unter Engine eigentlich verstehst.
- 36:53Gut, also war das jetzt die Frage, ob wir das wirklich gemacht haben mit Maya,
- 36:58weil das ist nämlich auch eigentlich nicht richtig.
- 37:01Also sowohl die alte Gothic-Engine als auch die Genome-Engine ab Gothic 3 hatten
- 37:09ein eigenes Tooling. eigene.
- 37:12Wir haben klar natürlich eine 3D-Software zum Erstellen der Modelle und so weiter verwendet.
- 37:18Was vielleicht da ein bisschen zur Verwirrung führen könnte, ist, dass wir bei vielen,
- 37:27Projekten keine High-Smap verwendet haben, wie das typischerweise in vielen
- 37:31Spielen der Fall ist, sondern die Welt selbst, also die Landschaft wurde auch händisch gemodelt.
- 37:37Vielleicht ist das der Grund, woher da diese Verwirrung kommt,
- 37:41aber das ist, also ich glaube was die Definition von einer Engine angeht,
- 37:46also ich glaube, dass das Tooling einfach,
- 37:50eigentlich das A und O ist an der Stelle.
- 37:53Man kann die tollste Rendertechnologie haben, die die Bilder super schön, super schnell rendert.
- 37:58Das Tooling ist eigentlich das Wichtige. Man muss es zugänglich machen,
- 38:01man muss es für die Benutzer einfach machen.
- 38:04Eigentlich ist das, was am Ende
- 38:05des Tages wirklich eine gute Engine meiner Meinung nach auch ausmacht.
- 38:09Gutes Tooling, gute Zugänglichkeit und natürlich viele andere Sachen wie Stabilität,
- 38:15Performance und natürlich auch eine grafische Qualität.
- 38:18Aber eine Engine macht ja noch viel mehr als nur Grafik. Da steckt ja alles Mögliche mit drin.
- 38:23Da sind ja auch viele Gameplay-Systeme drin und so weiter und das spielt alles zusammen.
- 38:28Ich würde dem so etwas zustimmen. Ich glaube, wichtig ist für mich noch,
- 38:33gerade bei einer Inhouse-Engine, wie flexibel man auch reagieren kann auf Änderungen
- 38:38an, was für ein Spiel wollen wir machen, was wollen wir jetzt hier an Features einbauen,
- 38:43welche Systeme müssen wir jetzt anpassen, welche Tools müssen wir neu bauen.
- 38:45Das ist für mich auch ein Qualitätsmerkmal für eine gute Engine.
- 38:49Dass das nicht dann ein Jahr dauert oder so, bis man da mit irgendwas loslegen kann.
- 38:55Also Agilität im besten Sinne, nicht zu wechseln mit diesem merkwürdigen Cargo-Kult,
- 39:01aber Agilität ist halt schon wichtig bei uns.
- 39:05Es ist eine schnelle Branche und Und wir wollen Sachen ausprobieren,
- 39:09weil ohne Iterationen kommt man zu keinem guten Ergebnis. Das betrifft alle Teile, alle,
- 39:14Teile des In-Suite-Prozesses, auch Game Design. Da müssen wir halt in der Lage
- 39:18sein, Sachen auszuprobieren, ohne dass es ein riesen Investment wird.
- 39:22Ja, da gebe ich absolut recht. Ich meine, das ist auch der Vorteil von einer eigenen Engine.
- 39:27Also ich meine, Vor- und Nachteile gibt es sicherlich viele,
- 39:30aber gerade die Möglichkeit, also A, hat man natürlich das ganze technische
- 39:35Knowledge in-house, wenn dann die Normierer abgehauen sind.
- 39:39Aber das ist schon mal eine wirklich gute Sache Und auf der anderen Seite kann
- 39:44man die Engine eben komplett auf seine Bedürfnisse anpassen.
- 39:47Und das ist, ich sag mal, wenn man sich eine lizenzierte Engine anguckt,
- 39:51ist es erstmal die eiligende Wollmichsau im Endeffekt.
- 39:53Die kann alles, ist aber vielleicht in den Sachen, die man jetzt speziell braucht
- 39:57oder machen will, gar nicht so gut. Ja, das ist eben, ja, ich habe andere Anforderungen,
- 40:03wenn ich ein bestimmtes Spiel mache.
- 40:04Ein Autorennspiel hat andere Anforderungen als ein Fußballspiel oder als ein
- 40:10First-Person-Shooter und so weiter.
- 40:12Und das betrifft auch gerade das Tooling. Ja, das ist, ja, also die Tools so
- 40:18anzupassen, dass das Team optimal zusammen auch arbeiten kann.
- 40:23Das ist zum Beispiel auch eine ganz, ganz wichtige Sache, weil wenn man jetzt,
- 40:26keine Ahnung, zum Beispiel in der älteren Version von Unreal,
- 40:30da war es ein super Problem, da konnten ganz schlecht Leute zusammen an derselben,
- 40:34an demselben Level oder so arbeiten.
- 40:36Wenn man jetzt ein Open-World-Spiel macht, dann wird es ja noch viel schwieriger
- 40:39und da kann man ja nicht sagen, oh nö, ihr könnt jetzt gerade nicht an der Welt
- 40:42arbeiten, da bin ich jetzt gerade dran, das funktioniert ja nicht.
- 40:44Das heißt, das muss ja irgendwie funktionieren. Klar hat sich das alles in den
- 40:47letzten Jahren auch mal weiterentwickelt, aber ja, vor zehn Jahren war das noch anders. hast du.
- 40:52Ja, genau. Also ich habe auch so notiert, man hat dann mehr Kontrolle,
- 40:55ist unabhängig, keine Lizenzgebühren und halt man kann es, genau,
- 40:59das hat Julian sehr schön gesagt in der letzten Episode, der hat gemeint,
- 41:02wir haben die perfekte Portal Knights Engine, also weil es halt wirklich exakt auf das Spiel,
- 41:07angepasst ist und es gibt wahrscheinlich keinen Engine, die so gut ist eben
- 41:10für Portal Knights, wie die,
- 41:13wie die, habt ihr Namen für eure Engine eigentlich?
- 41:16Damals noch nicht, heute, jetzt haben wir einen Namen, wir haben sogar eingetragen,
- 41:19das Trademark, die heißt Holistic Stick Engine.
- 41:21Aha.
- 41:22Und ja, das ist die Engine, die hinter Entschauung steht.
- 41:26Okay, aber ihr benutzt die, benutzt ihr die alleine oder benutzt die auch jemand anderes mittlerweile?
- 41:30Die benutzen wir alleine.
- 41:30Achso.
- 41:32Ich glaube, wenn man anfängt, die Engine dann auch irgendwie noch weiter zu
- 41:36verteilen und andere Teams mit ins Boot zu nehmen, dann gehen einem genau die
- 41:39Vorteile, die wir gerade genannt haben, auch flöten.
- 41:42Und da muss man, glaube ich, ganz vorsichtig sein.
- 41:44Vor allem auch diese Flexibilität. Du willst ja natürlich deinen Kunden nicht
- 41:50alle zwei Monate alles kaputt machen, weil du jetzt gerade irgendwie denkst, du musst Sachen ändern.
- 41:55Und wir wollen Sachen noch ändern, verbessern. Und deswegen sind wir ganz glücklich,
- 41:59dass wir das gerade nur selbst benutzen.
- 42:02Genau, also gut, ihr müsst wahrscheinlich noch zum Beispiel für Portal-Lines
- 42:05eine gewisse Abwärtskompatibilität bereithalten.
- 42:08Nee. Nein. Nein, nein, das ist reine Entschraudet-Engine jetzt.
- 42:14Ach so, das haben wir aber auch nie gemacht.
- 42:16Also Portal-Lines-Entwicklung ist ja eh schon abgeschlossen.
- 42:20Leider, muss ich sagen, persönlich. Weil der Publisher, mit dem wir damals zusammenarbeitet
- 42:25haben, leider nicht mehr machen will.
- 42:28Aber das ist ein kompletter Fork, kann man sagen, von der Engine.
- 42:31Also es ist zu irgendeinem Zeitpunkt kopiert worden, abgespalten und dann sehr stark verändert.
- 42:38Das haben wir auch bei jedem Produkt immer gemacht. Wir haben das Ding weggebranched,
- 42:42eigenen, ja, oder Fork ist ja dasselbe, mehr oder weniger.
- 42:45Und dann haben wir den alten Kram von dem alten Spiel irgendwo liegen lassen.
- 42:49Und wenn dann da noch Bugs zu fixen waren oder irgendjemand ankam,
- 42:52oh, jetzt, wir kommen auf die super Idee, lass uns doch davon nochmal eine Switch-Portierung
- 42:55machen oder so, dann haben wir den unveränderten Source-Coder liegen.
- 42:58Und falls sich noch jemand daran erinnern kann, an, wie es funktioniert hat,
- 43:03kann man es nochmal wieder ausgraben.
- 43:05Ich meine, das ist ein gutes Beispiel von Leitz, die, ich weiß nicht,
- 43:08ob ihr das gespielt habt, aber die Inseln, auf denen man da sich bewegt, die sind,
- 43:12wahrscheinlich habe ich die Zahlen jetzt nicht ganz genau im Kopf,
- 43:14aber so ungefähr 500 mal 500 Voxel,
- 43:18breit und hoch, halt vielleicht 300 oder so, also handlich, sag ich mal, das ist alles,
- 43:23auf einem modernen PC kann man das einfach alles in den Speicher laden,
- 43:26was da drauf irgendwas tut und und das alles simulieren und entschraudert es
- 43:30halt 10 mal 10 Kilometer die Fläche und die Höhe ist glaube ich 4,5 oder so.
- 43:36Also ist das einfach tausendmal mehr so und da kann man, da muss man mit anderen
- 43:41Strategien rangehen oder sollte man, glaube ich, um ein halbwegs gutes Ergebnis zu erzielen.
- 43:46In Borderlines haben wir das ausgenutzt, zu wissen, dass die Inseln so klein
- 43:50sind und konnten dann sehr viel schneller zum Ziel kommen an ein paar Stellen.
- 43:56So was wie globale Beleuchtung, die auch in Borderlines drin ist, natürlich,
- 44:00Der Artstyle ist ein bisschen anders, ist sehr stilisiert, aber da gibt es auch
- 44:04eine Beleuchtung, die dynamisch funktioniert.
- 44:06So Sachen gingen einem viel einfacher, weil man halt nur eine kleine Welt hatte.
- 44:10Außerdem ist ja Kompatibilität auch eine Illusion.
- 44:14Also ich meine, das ist ja auch was, womit die trotz, ich lizenziere eine Engine
- 44:18wie die Unreal Engine und da kommt eine neue Version und dann möchte ich die
- 44:22gerne integrieren und dann klatscht mir alles an die Decke.
- 44:25Also das kommt da auch nicht selten vor. Da werden Features gestrichen,
- 44:28da werden Sachen geändert.
- 44:29Nicht umsonst gibt es dann auch teilweise Entwicklungen, die dann eineinhalb
- 44:33Jahre oder so von der neuesten Engine-Version zurückliegen, weil die einfach
- 44:36nicht mehr integrieren, um nicht das Risiko einzugehen, sich damit irgendwelche
- 44:40Probleme, irgendwelche Fehler, irgendwelche Inkompatibilitäten ins Haus zu holen.
- 44:44Das ist, also es macht keiner eine Engine, die komplett abwärtskompatibel ist.
- 44:49Das ist ganz besonders schlimm für Spiele wie Entschraudert oder Portal Knights,
- 44:53die darauf angelegt sind, dass sie lange laufen.
- 44:56Also die Idee bei Entschraudert ist ja nicht, vielleicht wie bei Renner-Bytes
- 44:59bei den Spielen, dass oft so jemand von außen wirkt und man releast das Spiel
- 45:02und dann macht man das nächste Spiel.
- 45:04So war es auch. Sondern Entschraudert ist, wir wollen es gerne jetzt noch jahrelang
- 45:09erstmal erstmal in EA betreuen noch, ist ja noch gar nicht fertig,
- 45:12und danach aber auch noch weiter mit mehr Content befüllen.
- 45:17Und je länger dieses Projekt dann geht, wenn das zehn Jahre geht,
- 45:20und man hat einen externen Engine-Partner, dann wird das ganz schön schwierig,
- 45:24glaube ich, aus langer Sicht.
- 45:27Dann landest du eh da, dass du zum Großteil viele Sachen einfach selber machen musst, weil du,
- 45:33dafür, dafür sind wir dann auch zu klein, um dann irgendwie von Unreal den super-duper,
- 45:40Support zu bekommen, wie das zum Beispiel irgendwie ein CD Projekt oder sowas
- 45:43bekommt dann, wenn die jetzt sagen, oh, wir machen einen neuen Witcher-Tal mit
- 45:46Unreal, dann freuen die sich natürlich und dann kriegen die da irgendwie ein
- 45:50paar Programmierer abgestellt, die dann die Features klöppeln, die die haben wollen.
- 45:54Aber ich meine, ja, das ist nun mal...
- 45:57Eine andere Dimension.
- 45:58Ja, das sind sehr gute Punkte für Custom Engines. Ich wollte auch noch mal ganz
- 46:02kurz eure Perspektive einholen, was nicht so cool an Custom Engines ist, falls es da was gibt.
- 46:08Also ich meine, ihr habt ja, also meine Perspektive könnt ihr in der letzten
- 46:13Episode alle hören, die jetzt zuhören.
- 46:16Da gibt es so ein paar Punkte, die haben mir nicht so gut gefallen,
- 46:18aber aus Programmierersicht, von eurer Sicht ist es ja auch mal spannend.
- 46:22Vielleicht, Philipp, was sind denn so Sachen, wo du sagst, so,
- 46:25boah, das nervt schon ein bisschen.
- 46:27Da gibt's eine Menge. Also, ich mein, gut, es hängt immer von den Umständen ab.
- 46:32Also, ich mein, jetzt bei Keen ist es eine Engine, die wirklich auch auf das
- 46:37Spiel zugeschnitten ist und ich glaub mal, das Spiel in der Form kann man nicht
- 46:43mit einer anderen Engine jetzt einfach aus dem Stehgreif machen.
- 46:46Also, ich könnte nicht das Spiel machen, eine Engine lizenzieren und das mit Lust zusammen klicken.
- 46:50Das ist ja kein First-Person-Shooter oder ein bekanntes, einfaches Konzept,
- 46:55was was sozusagen in der Engine schon standardmäßig machbar ist.
- 46:58Das war bei Piranha Bytes eigentlich anders.
- 47:00Also ich sage mal, 3D-Rollenspiele in der Form hätte man auch mit einer anderen Engine machen können.
- 47:05Das hat natürlich dazu geführt, dass wir technisch eigentlich immer auch ein
- 47:09gutes Stück hinterhergehängt haben.
- 47:11Wir waren auch immer chronisch unterbesetzt im Programmierbereich,
- 47:14haben deswegen auch, sage ich mal, nur die nötigsten Features immer reingekriegt,
- 47:18wobei dann teilweise auch die Grafik hinten angestellt wurde,
- 47:22weil das Gameplay dann doch wichtiger war.
- 47:24Also was nützt mir das schönste Spiel, wenn es beschissenes Gameplay hat?
- 47:29Da habe ich auch nichts von.
- 47:29Deswegen war die Grafik immer eher so ein bisschen stiefmütterlich behandelt.
- 47:33Und klar, natürlich das Tooling hatten wir gerade angesprochen,
- 47:36ist ein ähnliches Problem gewesen.
- 47:39Die Artists waren auch regelmäßig sehr unglücklich.
- 47:43Deswegen kann ich deine Haltung da auch gut nachvollziehen. Klar,
- 47:47es ist eben keine hochgepolischte, superduper Unreal-Tooling-Gedönse,
- 47:53wo man im Prinzip alle möglichen Shortcuts hat, wo man mal eben per Druck und
- 47:57Drop hier rein und da rein, das ist eben alles ein bisschen umständlicher,
- 48:00ein bisschen kronkliger,
- 48:02stürzt ab und zu mal ab, weil irgendjemand irgendwas geändert hat,
- 48:06also bei Unreal kriegst du dann nichts.
- 48:09Vielleicht Stable Version, die ist ja schon durch eine QA gelaufen.
- 48:13Das ist natürlich da nicht der Fall. Da lädt irgendjemand was hoch und dann
- 48:17fliegt es einem um die Ohren.
- 48:18Das ist für einen Artist natürlich auch frustrierend. Also ja,
- 48:22kann ich schon nachvollziehen.
- 48:23Ich sage mal, aus Programmierersicht ist es natürlich schöner.
- 48:26Ja, ich sage mal, es war auch so ein bisschen natürlich mein Baby.
- 48:33Und ja, deswegen hat mich das auch schon sehr traurig gemacht,
- 48:37als ich das ganze Ding natürlich dann aufgeben musste.
- 48:41Weil ich habe da unglaublich viel Energie und Zeit reingesteckt.
- 48:47Ja, also das war schon fast obsessiv teilweise. Und das ist natürlich dann etwas,
- 48:56wovon man sich schwer trennt.
- 48:57Und das war natürlich auch immer eine Diskussion in der Firma oder beziehungsweise
- 49:01eher zum Ende hin eine Diskussion.
- 49:03Die lieber die Unreal Engine und hin und her, weil unser Argument war eigentlich
- 49:06immer, wenn wir jetzt auf eine andere Engine umsteigen, dann brauchen wir eine
- 49:10ganz schön lange Zeit, um die ganzen Systeme anzupassen, die wir jetzt haben,
- 49:14die auf uns maßgeschneidert sind. Die müssen alle integriert werden.
- 49:17Wir brauchen ein Jahr, eineinhalb Jahre oder so, bis wir überhaupt,
- 49:21sag ich mal, wieder was haben, wo zum Beispiel die Story anfangen könnte zu arbeiten und so weiter.
- 49:24Und das ist etwas, was dann in den toughen Zeitplänen, die wir da immer hatten,
- 49:29eigentlich nicht wirklich gut funktioniert hat.
- 49:33Und deswegen haben wir uns eigentlich die ganzen Jahre immer dagegen entschieden,
- 49:36diesen Schritt zu gehen. Und jetzt zum Ende hin ist es allerdings so gelaufen,
- 49:42dass wir probiert haben, ja, einen Investor zu finden, der mit uns weiterarbeiten will.
- 49:48Vermutlich jetzt nicht mehr unter dem Namen Piranha Bytes.
- 49:52Wahrscheinlich wäre das dann Piranha Bytes Red geworden oder so,
- 49:55was weiß ich, keine Ahnung.
- 49:56Aber, ja, und da war dann auch die Diskussion natürlich regelmäßig wieder da
- 50:00und am Ende des Tages gab es auch eine Entscheidung,
- 50:03wo gesagt wurde, so, wir wollen jetzt auf die Unreal Engine gehen,
- 50:07alle außer ich, so, von den Leuten, die in der Firma was zu sagen hatten.
- 50:11Und ja, das hat für mich dann auch den Ausschlag gegeben, dass ich gesagt habe,
- 50:14ja, da habe ich aber keine Lust zu, das möchte ich nicht.
- 50:16Also selbst wenn das jetzt weitergegangen wäre mit Piranha Bytes,
- 50:19hätte ich mit der Unreal Engine das nicht machen wollen, weil ja,
- 50:24da bin ich dann lieber bei einer Firma wie Keen und kann.
- 50:30An tieferen Systemen arbeiten, kann Grafikprogrammierung machen und so weiter.
- 50:33Das, was ich machen möchte, anstatt dann irgendwie.
- 50:38Bugs in der Unreal Engine zu fixen. Das ist irgendwie... Dafür habe ich jetzt
- 50:42nicht 20 Jahre lang mir alle möglichen Zeugchen ins Kopf gepeitscht.
- 50:48Ja, das...
- 50:49Das habe ich schon mal gehört, dass das nicht so attraktiv ist für jemanden,
- 50:55der so richtig tief in der Programmierung drinsteckt, dann wirklich,
- 50:58wie du es eben sagst, eher so aushelfend da zu sein, weil der Hauptkram wird
- 51:03halt von irgendwelchen Epic-Männchen gemacht.
- 51:06Also ich meine, die Situation in der Spieleindustrie, gerade auch in der deutschen,
- 51:09ist natürlich betrüblich gerade.
- 51:12Aber für uns, die wir irgendwie gegen den Strom zu schwimmen scheinen gerade,
- 51:18zu Glück, war das auch wieder ganz gut.
- 51:20Wir haben jetzt echt uns verstärken können mit Leuten, die auch bei Deck 13
- 51:26gegangen sind, weil sie keinen Bock haben auf Unreal oder auch viel Werbung gekriegt von anderen.
- 51:31Also das ist für einige, die bei uns jetzt im Team sind, ein Argument gewesen,
- 51:35dass sie keine Lust haben auf Unreal.
- 51:37Ja, das ist ganz spannend, weil bei denen, weiß ich nicht, bei mir ist es so,
- 51:41oh ja, Unreal ist schön, tolle Tools und das ist dann je nach Provision anders, das stimmt.
- 51:45Aber ich muss auch eins sagen, das stimme ich auch zu, selbst wenn so eine Engine
- 51:50clunky ist, wenn man da einmal so drin ist und über, weiß ich nicht,
- 51:54drei oder fünf Jahre damit gearbeitet hat, kennt man alles wirklich aus dem Schlaf.
- 51:57Und dann, wir sind jetzt nämlich auch auf Anvil umgestiegen und ich hatte,
- 52:03obwohl ich wirklich dieses Engine nicht so dolle mag, kurz Bedenken,
- 52:06ob das eine gute Idee ist,
- 52:08weil ich kenne alles auswendig, ja, und jeden Bug, jedes Problem,
- 52:12jeden kleinen Hickhack kann ich irgendwie umschiffen und so.
- 52:16Und sich dann jetzt nochmal neu einzuarbeiten, ist durchaus auch wieder so eine kleine Hemmschwelle.
- 52:21Aber klar, ich meine, am Ende ist das natürlich auch eine wirtschaftliche Geschichte.
- 52:25Ich meine, wir bei Kien sind ja 60 Leute.
- 52:28Natürlich spielen da persönlich Präferenzen eine Rolle, aber es spielt auch
- 52:32halt Firmenstrategie eine Rolle und andere Sachen, die so ein bisschen größer
- 52:36sind, um zu überlegen, welche Entscheidung man da trifft, die Erfahrungen aus der Vergangenheit.
- 52:42Und spiel da mit rein. Also es ist jetzt auch nichts, was bei Keen jetzt ein
- 52:46Selbstläufer ist jedes Mal.
- 52:47Wir gucken ja schon, wir überlegen dann schon, macht das Sinn,
- 52:49in Zukunft da weiterzumachen oder nicht?
- 52:50Ja, und ich fand dein Argument auch sehr, sehr nachvollziehbar mit eben gerade,
- 52:56nicht abhängig zu sein von einem externen Anbieter, wenn man ein Spiel macht,
- 52:59was eben zum Beispiel eben 10 Jahre laufen soll.
- 53:01Also das macht auf jeden Fall Sinn, weil ja, ich kenne das nämlich auch,
- 53:04dass man mit den alten Unreal Engines dann immer noch bleibt,
- 53:07weil man nichts kaputt machen will und auch alte Max-Versionen oder Maya-Versionen,
- 53:11Und auf denen bleibt, damit auch da nichts kaputt geht.
- 53:13Und dann arbeitet man nämlich mit richtig alter Gurkensoftware teilweise.
- 53:17Max 2014 haben wir noch im Einsatz, ja.
- 53:20Ja, genau. Also das ist nicht so ungewöhnlich, genau.
- 53:26Aber trotzdem, also genau, ich kann das auch verstehen. Und ich muss auch sagen,
- 53:29ich habe ein Video gesehen von einem Tool für Entschraudet.
- 53:32Da ging es darum, da habt ihr gezeigt, wie man so ein bisschen so ein Level
- 53:35baut, wie man so ein bisschen Geometrie baut.
- 53:37Und das sah cool aus. Also die Tools so, der Level-Editor, das sah alles echt
- 53:41schmuck aus, muss ich sagen.
- 53:43Ja, muss man sagen, unser Lead Environment Artist, Jonas, der ist trotz aller
- 53:48Warzen, die überall so sind, immer noch sehr happy mit der Art und Weise,
- 53:53wie er die Welt da bauen kann.
- 53:54Weil das auch etwas ist, was von der Philosophie her, glaube ich,
- 53:58so ein bisschen aus der Mode gekommen ist.
- 54:01Also generell, dass man so Brushes hat, mit denen man die Welt bauen kann im
- 54:04Editor. vor und nicht dieses klassische Heightmap, bloß stellen ein paar Rocks
- 54:09rein, die dann auch irgendwie hässlich intersekten.
- 54:11Also das war, das gefällt ihm schon sehr gut, wie er da arbeiten kann und wie
- 54:16doch flüssig das dann geht.
- 54:18Genau, also das sieht auf jeden Fall sehr schmuck aus, aber trotzdem,
- 54:21trotz dessen, dass die Engine jetzt, du die so gut kennst und ihr auch coole
- 54:24Tools habt und so, gibt es irgendwas, wo du sagst, naja, da kommt doch ab und
- 54:29zu mal ein graues Härchen oder so.
- 54:31Ja, sieht man ja, es ist holler grauer Haare.
- 54:36Einfach aus Interesse halber, es ist einfach eine sehr spannende Perspektive,
- 54:39glaube ich, von jemandem, der so lange schon dabei ist und so,
- 54:41ob es dann doch noch Sachen gibt, die einfach mal ein bisschen nervig sind oder einfach.
- 54:45Also es gibt sicher Bereiche, in die einfach Unreal oder It's Epic einfach aufgrund
- 54:51ihrer Größe und aufgrund der Mittel, die sie haben,
- 54:56Leute draufwerfen können auf ein Spezialproblem und dann wirklich eine technische
- 55:00Lösung finden können, die wahrscheinlich in vielen Bereichen das überschreitet,
- 55:04was wir können. Das ist schon so.
- 55:07Wir haben jetzt keinen Nenner als selbst gebaut oder so.
- 55:12Unsere Geometrie-Pipeline funktioniert auch komplett anders.
- 55:15Das, deswegen würde das gar nicht funktionieren mit der Neid,
- 55:17aber sowas in dem Ding oder deren Kompressionsalgorithmen, dass sie einfach
- 55:21Red Game Tools kaufen und dann sagen, okay, die,
- 55:25zehn besten Programmierer der Welt, die sich mit Kompressionen auskennen,
- 55:28die arbeiten jetzt halt für uns.
- 55:29Klar, das hilft, ja, der Unreal,
- 55:33Engine natürlich, ja, dass solche, das muss man auch erstmal dann einbauen und
- 55:36benutzen und so weiter und das ist dann wirklich,
- 55:39und ich glaube, am Ende muss dann auch der Spieleentwickler vor Ort immer auch
- 55:42noch wissen, welche Checkboxen in welche Kombinationen drücken Also ich glaube,
- 55:45ein bisschen Hintergrundwissen braucht man am Ende immer.
- 55:48Also die Illusion, dass man da komplett ohne Ingenieure auskommt,
- 55:51die ein gewisses Wissen haben darüber, was da im Hintergrund passiert,
- 55:56das halte ich eh für schwierig. Aber das...
- 56:00Wenn ich mir jetzt was wünschen könnte, dann hätte ich so ein paar von den Sachen schon gerne, ab und zu.
- 56:06Okay, ja, okay. Aber jetzt nochmal was zu Positiven. Und das ist so eine Frage, die kam von Timor.
- 56:13Und zwar ist die Frage, gibt es etwas, worauf ihr bei der Custom-Männchen besonders stolz seid?
- 56:18Jetzt bei der konkreten, mit der wir gerade arbeiten?
- 56:22Ähm, ja, also ich meine, ich glaube, es ist auf jeden Fall sehr, sehr spannend.
- 56:26Also wer es nicht weiß, das Entrouted ist voxelbasiert und das heißt,
- 56:29man kann so sich durch alles durchgraben und so. Das ist wirklich beeindruckend technisch.
- 56:32Aber vielleicht gibt es ja abgesehen davon noch was, wo du sagst, boah, das ist so cool.
- 56:36Also ich finde es immer, es ist ja ein Teamsport, dieses Spielentwickeln.
- 56:42Ich finde es immer sehr wichtig, wenn die anderen Mitglieder des Teams halt
- 56:45auch ihren Job gut machen können und ich das Gefühl habe, die können halt ihre
- 56:49beste Arbeit da reinbringen ins Spiel. Und da steht die Engine und die Tools
- 56:53nicht im Weg, sondern helfen halt im Idealfall noch.
- 56:56Und insgesamt entsteht da was Cooles. Also das Gesamtprodukt steht für mich
- 57:01da schon im Vordergrund.
- 57:02Das heißt, ich würde sagen, ich bin schon stolz, ich bin so erzogen worden,
- 57:07dass mir das Schwierige über die Lippen kommt, dieses Wort.
- 57:09Aber ich bin, wenn überhaupt, dann stolz halt über die Spiele,
- 57:14weil am Ende diese ganze Entwicklungsentwicklung,
- 57:16also wir machen halt Spiele, das ist halt Unterhaltung und Portal Knights war
- 57:20cool und ich fand auch Secret 3 cool, auch wenn das nicht Secret 3 heißen soll.
- 57:25Und ich finde auch Uncharted sehr cool als Gesamtprodukt, einfach ohne,
- 57:29wenn du da warst, einfach so ass ist, ja, das ist ein cooles Ding und da habe
- 57:33ich mal einen Teil dazu beigetragen.
- 57:35Ja, ja.
- 57:37Ich wollte auch mal ganz kurz noch was zu sagen, weil ich habe nämlich,
- 57:41wir haben ja bei Piranha Bytes immer, sag ich mal, in so drei bis dreieinhalb
- 57:46Jahren Zyklen die Spiele rausgehauen und haben gerade was die Technik angeht
- 57:52und Engine angeht immer richtig auf die Fresse gekriegt.
- 57:57Ja, also es war immer alles Altbacken, hölzerne Animationen,
- 58:01ganz schlimme Technik, benutzt doch die Unreal Engine und ich sag mal,
- 58:05da vergeht es einem dann ganz schnell, dass man da stolz drauf ist.
- 58:09Ich habe irgendwann aufgehört, mir überhaupt die ganzen Kommentare und so weiter
- 58:13da anzugucken, weil es einfach nur noch frustrierend ist.
- 58:16Ja, und deswegen finde ich es ein bisschen schade dann, weil ich muss Julian
- 58:21recht geben, es ist genau das eigentlich, wofür man es auch macht.
- 58:24Also ein gutes Feature, was man reingebracht hat und die Art,
- 58:28das freuen sich darüber, das ist was Cooles.
- 58:31Dafür macht man es. Und eigentlich will man auch, dass der Kunde am Ende des Tages sagt, wow, cool.
- 58:38Und wenn man dann irgendwie, ja, manchmal sind eben einfach die Schreihälse sehr laut.
- 58:47Ja, das würde ich aber relativieren. Ich glaube, ihr habt schon sehr viele Fans
- 58:50gefunden und die Schreihälse im Internet sind halt immer lauter als die schweigende
- 58:55Mehrheit, würde ich sagen.
- 58:56Also ich habe das schon mal auch mitgekriegt, gerade Gothic 1 war ganz schön
- 59:01gagelig, muss ich sagen, aber die städteren Spiele, das ist schon ordentlich gewesen.
- 59:07Also das ist auch eine ganz andere Komplexität dahinter.
- 59:12Es gab ja gar nicht also die ganzen vergleichbaren AAA-Spiele,
- 59:16die hatten ja einfach Faktor 10 plus mehr alles.
- 59:20Ja, das weiß natürlich der Kunde am Ende des Tages nicht. Der steht im Laden
- 59:24und sieht das Ding für 60 Euro und das Ding für 60 Euro. Absolut.
- 59:28Und das ist auch fair, das muss man auch sagen. Also vielleicht kann man sagen,
- 59:31vielleicht hätte die einfach kleinere Spiele machen sollen oder müssen.
- 59:34Ja, da kommen Da kommen andere Faktoren dazu, aber da gebe ich dir vollkommen
- 59:39recht und da war ich auch nie so begeistert von diesem Größenwahn,
- 59:44das ist absolut richtig. Nein, da hast du schon recht.
- 59:47Es ist eben einfach, wenn man so Kritiken da durchliest, ist es immer so,
- 59:52ja, und die Atmosphäre und dies und das und alles so toll, aber die Engine,
- 59:57oh, die ist so veraltet und warum nehmen die nicht an?
- 59:59Also das ist schon so, ich sag mal, so ein Gros, so ein Tenor,
- 1:00:04den man da rausgehört hat. Und das, ja, das hat mich dann häufig auch ganz schön
- 1:00:09demotiviert, muss ich sagen.
- 1:00:10Aber ja, es ist eben, es ist eben so. Man muss es dann einfach ausblenden.
- 1:00:17Also ich meine, es bringt dir jetzt auch nichts so, aber damals,
- 1:00:20als ich 2004 bis 2006 an der Games Academy war,
- 1:00:23haben wir die Gothic-Screenshots gesehen, ich habe euch die jetzt gerade mal
- 1:00:26gepostet und das war für mich zumindest super beeindruckend,
- 1:00:30weil ich kam da noch aus der Zeit so,
- 1:00:32also ein Dach zum Beispiel wäre halt zwei Vierecke, also zwei Quad,
- 1:00:36so eins für jede Dachhälfte.
- 1:00:38Und dann haben wir diese Screenshots gesehen, das war so detailliert,
- 1:00:43also da ist uns schon mal die Kinnlade runtergefallen.
- 1:00:47Gothic 3 war das, ja.
- 1:00:49Genau, und das fand ich, also ich finde das auch heute noch hübsch und sehr ausmodelliert und so.
- 1:00:55Naja, Gothic 3 hatte dafür das Bug-Desaster.
- 1:00:57Das stimmt.
- 1:00:57Das darf man auch nicht vergessen.
- 1:00:59Genau.
- 1:00:59Und deswegen haben wir zum Beispiel, also ich habe nach Gothic 3,
- 1:01:01also bei Risen 1, war ich das erste Projekt, was ich als Lead-Programmer gemacht
- 1:01:05habe. und da haben wir dann zum Beispiel gesagt, okay, jetzt vergessen wir alles,
- 1:01:09jetzt geht's um Stabilität.
- 1:01:11Wir wollen nicht wieder so ein Bug-Desaster haben, dass uns alles um die Ohren
- 1:01:14fliegt und da haben wir eigentlich so viele, also haben wir eigentlich fast,
- 1:01:20alle Programmierer die erste Zeit draufgeworfen, um dafür zu sorgen,
- 1:01:23dass das Spiel einfach eine gewisse Stabilität bekommt und wir die Crashes in
- 1:01:27den Griff bekommen und so weiter und darunter leiden dann natürlich potenziell
- 1:01:30wieder irgendwelche grafischen Features, die man dann in der Zeit nicht implementieren kann.
- 1:01:33Aber so muss man eben die Prioritäten setzen.
- 1:01:36Und das Problem mit den Bugs haben wir dann auch Gott sei Dank nicht mehr gehabt
- 1:01:40in der Zukunft, in dieser Größenordnung. Da bin ich zum Beispiel stolz drauf.
- 1:01:46Ja, guter Punkt. Genau, das ist nämlich krass. Du hast nämlich Coffee 3,
- 1:01:50Risen 1, 2, 3 und an Alex mitgearbeitet. Also echt ganz, ganz viel Erfahrung.
- 1:01:56Produktivität kann man auch stolz drauf sein. Aber es ist ja schon eine ganze
- 1:01:58Menge geschippt einfach.
- 1:02:00Ja, und ich muss auch sagen, das ist so eine, also damals, wie ich eben meinte,
- 1:02:05so Games Academy, da ist man noch so ein bisschen so, ja, ich will später mal
- 1:02:08bei Blizzard arbeiten und nur die besten, krassesten Spiele machen oder so.
- 1:02:11Und ich muss auch sagen, selbst wenn man jetzt so, weiß ich nicht,
- 1:02:14zum Beispiel jetzt ein Gothic 3 nimmt, was dann eben buggy rausgekommen ist,
- 1:02:16es ist halt trotzdem eine Riesenleistung sowas irgendwie überhaupt auf die Beine zu stellen.
- 1:02:20Und also da bin ich auch mit den Jahren sehr.
- 1:02:22Sehr viel Vor allem mit 35 Leuten.
- 1:02:26Ja, krass. Also ja, es ist auf jeden Fall eine tolle Leistung.
- 1:02:31Und wir sind nicht gewachsen. Wir sind sogar geschrumpft. Gothic 1 waren noch fast 60 Leute.
- 1:02:36Und wir waren von da an, waren wir eigentlich im Schnitt um die 30 bis 35 Leute.
- 1:02:41Aber, also ich weiß nicht, ob du das sagen kannst, aber das klingt,
- 1:02:46counterintuitiv irgendwie, weil Gothic 1 ist ein tolles Spiel,
- 1:02:49bis heute noch hochgeliebt. Ich würde jetzt auch mal sagen, dann halt auch ein Erfolg.
- 1:02:52Und ich hätte jetzt gedacht, man wächst da in die andere Richtung.
- 1:02:54Ja gut, aber darf man nicht vergessen, dass das Neuland war.
- 1:02:59Ein Großteil der Leute, die da mit Gothic 1 mitgearbeitet haben,
- 1:03:03die haben vorher noch nie irgendwas mit, die haben gesagt, oh cool,
- 1:03:06Computerspiele, da mache ich mal irgendwie auch ein bisschen mit.
- 1:03:09Und da ist natürlich eine riesen Lernkurve und verbreitet man natürlich auch
- 1:03:13eine ganze Menge Energie Technologie, ja.
- 1:03:15Da muss man ja auch die Spiele, also du weißt jetzt eben, hakeligere Animationen
- 1:03:19und so, das ist ja so ein gängiges Ding, was man bei Spielern oft nachgesagt
- 1:03:22hat, das ist ja auch nicht nur Technik.
- 1:03:24Also natürlich ist das ein bisschen Technik, aber es hilft halt enorm,
- 1:03:29wenn man jemand erfahrenen hat, einen Technical Artist oder einen Animator,
- 1:03:32der erstmal genau sagt, was er will.
- 1:03:34Er erstmal sagt, okay, ich brauche das und das und das, ich brauche folgende
- 1:03:37Tools, ich brauche einen Animationsgraf, ich brauche dieses Blending Features,
- 1:03:41weil dann kann man auch als Programmierer da ganz anders rangehen und die Sachen machen.
- 1:03:45Oft ist es so, dass ein Programmierer dann einfach sich hinsetzt und den Task
- 1:03:49kriegt, mach mal ein Animationsding, hat davon selbst gar nicht so viel Ahnung,
- 1:03:53recherchiert da ein bisschen, macht da irgendwas und dann weißt du, das ist halt kein,
- 1:03:57da kommt nicht die beste Qualität raus aus diesem Ansatz. Das ist schwierig.
- 1:04:03Da gebe ich dir vollkommen recht, das ist nämlich auch genau das Problem,
- 1:04:06ich sag mal, der Laie hat von Tuten und Blasen keine Ahnung,
- 1:04:10hat aber seine zehn Finger, um im Internet irgendwas zu schreiben und wirft alles in einen Topf.
- 1:04:15Natürlich wird dann auch irgendeine schlechte Textur als schlechte Engine tituliert.
- 1:04:21Das ist nun mal, das liegt in der Natur der Sache, weil die Leute nicht genau
- 1:04:25wissen, die können das nicht auseinanderhalten. Was ist Technik, was ist Content?
- 1:04:29Das geht ja fließend ineinander über. Ich kann mit der Unreal Engine auch ein
- 1:04:32grottenhässiges Spiel machen, das ist überhaupt kein Problem.
- 1:04:36Ich vor allem.
- 1:04:38Ja, ich auch.
- 1:04:40Aber, Philipp, gibt es denn etwas, so einen technischen quasi Generationssprung,
- 1:04:47also ich habe mir aufgeschrieben, damals zum Beispiel gab es das Wasser im Morrowind,
- 1:04:50das war so ein ganz großes Ding, so wow, das ist so ein, was ist,
- 1:04:54okay, ich such mal den Screenshot raus, Morrowind.
- 1:04:59Morrowind Water. Das war damals, da ist die Kinnlade runtergefallen.
- 1:05:04Das sah halt aus, also ich meine, heute ist das, warte, ich poste euch ein Bild.
- 1:05:08Ich blende das jetzt auch hier als Podcast-Bild ein.
- 1:05:11Das war halt damals was, das hat man bis dahin noch nicht gesehen.
- 1:05:14Das war einfach diese Reflexion.
- 1:05:17Das war einfach unerhört damals und da ist die Kinnlade schon mal runtergefallen.
- 1:05:21Das sagt Seicho, das ist ein Bug, weil die Screenspace-Rectus passt überhaupt
- 1:05:24nicht. Wenn man es da oben sieht irgendwie, aber gut.
- 1:05:26Ja, klar. Ja klar, es war eine andere Zeit. Es ist einfach CubeMap.
- 1:05:31Planar Reflection.
- 1:05:32Oder Planar, weiß ich nicht, auf jeden Fall passt sie gar nicht.
- 1:05:35Oder Planar Reflection, obwohl man weiß es nicht. Keine Ahnung.
- 1:05:39Genau, aber du hast jetzt an so vielen verschiedenen Spielen halt auch mitgearbeitet
- 1:05:44und die Engine immer weiter ausgebaut.
- 1:05:45Und da dachte ich, vielleicht hast du so ein paar Features, zum Beispiel so
- 1:05:48ein Wasserding, wo du gesagt hast, boah, das ist echt cool geworden,
- 1:05:51das hat Spaß gemacht, das war ein cooles Ding, was du da gebaut hast.
- 1:05:55Ja, es gibt jedes Mal, wenn man, also ich sag mal, wir haben immer bei jedem
- 1:06:01Projekt im Prinzip die Ente ein bisschen weiterentwickelt.
- 1:06:04Wir haben uns mal so zwei, drei Dinger rausgenommen, die Probleme waren in der
- 1:06:09Vorher-Version und die wir dann entweder komplett neu gemacht haben oder eben
- 1:06:15weiterentwickelt haben.
- 1:06:16Und ja, wir haben jetzt für das noch nicht announcede Nachfolgeprojekt von Elex
- 1:06:242, man kann sich vermutlich denken, wie es heißen sollte, haben wir auch schon
- 1:06:28relativ viel entwickelt gehabt.
- 1:06:30Und da habe ich die ganze Grafik-Engine eigentlich komplett auf links gedreht
- 1:06:36und unglaublich viele Sachen neu gemacht.
- 1:06:40Ja, und da war ich eigentlich auch ziemlich stolz drauf und fand es ziemlich
- 1:06:44cool, hätte mich echt darauf gefreut, da mit einem Spiel zu sehen.
- 1:06:48Aber ja, ist auch sicherlich ein Stück weit ein Problem dabei gewesen,
- 1:06:53weil ich auch einfach da ja, zu hinten dran war von der Zeit her,
- 1:06:57es war alles zu viel gewollt, es ist ja häufig so, dass dann, ja,
- 1:07:02Es ist wie mit so einem riesen Jenga-Turm.
- 1:07:06Man muss eben gucken, wenn man ein Steinchen rauszieht, dann wackelt der ganze Turm.
- 1:07:10Dann kommt eins zum anderen und dann muss man das noch neu machen und dies noch neu machen.
- 1:07:16Und deswegen hat das ganze Ding eigentlich viel zu lange gedauert.
- 1:07:20Aber das wäre, glaube ich, cool gewesen.
- 1:07:23Ich habe mir erst etwas gezeigt davon und ich fand es schon sehr beeindruckend.
- 1:07:28Dankeschön.
- 1:07:29Ich habe in der Recherche ein paar Sachen gefunden, die erwähnt wurden in verschiedenen
- 1:07:34Artikeln, was jeweils die Spiele neu hinzubekommen haben.
- 1:07:37Und eine Sache war, für Risen 2 hattest du eine Terrain-Engine.
- 1:07:42Erstmals in einem Piranha-Bale-Spiel, Ausrufezeit, eingebaut.
- 1:07:46Und das ist ja ganz interessant, weil auch in Shrouded hat der superinteressantes
- 1:07:49Terrain. Aber das hat wahrscheinlich nicht viel miteinander zu tun.
- 1:07:52Aber immerhin gibt es die Parallele, dass ihr beide coole Terrain-Engines hattet.
- 1:07:56Und ich hab mich da gefragt, wie hat die eigentlich funktioniert? Also, ja.
- 1:08:00Also das war eine klassische High-Snap-basierte Terrain-Rendering-Geschichte.
- 1:08:06Also ein Schraube mit den Voxeln, das finde ich schon auch sehr cool.
- 1:08:11Das hätte ich mir auch mal gewünscht.
- 1:08:13Nur, ich sag mal, wir haben dafür natürlich nicht wirklich die Anwendungsfälle gehabt.
- 1:08:18Nur damit die Artists ein paar Höhlen da reinschrauben können,
- 1:08:21brauche ich jetzt nicht unbedingt eine richtige Voxel-Engine zaubern.
- 1:08:25Da können sie auch ein Loch ins Terrain schneiden und dann gemoddelte Höhle
- 1:08:29reinsetzen. Das funktioniert für die paar Höhlen dann genauso gut.
- 1:08:32Deswegen ist das so eine Kosten-Nutzen-Geschichte. Aber es ist natürlich sehr
- 1:08:35viel cooler, keine Frage.
- 1:08:37Aber das sind nämlich genauso Sachen, wo dann wirklich die Custom Engine ihre Stärke ausspielt.
- 1:08:42Dass man wirklich Technik einbauen kann, die jetzt vielleicht irgendwie nicht
- 1:08:45... Ich weiß nicht, ob es mit Unreal möglich wäre, so da Boxel zu bauen wie
- 1:08:49jetzt zum Beispiel in Entrouded.
- 1:08:50Ja, wirklich sicher. Aber nicht out of the box, denke ich.
- 1:08:55Man muss dann halt auch da viel draufsetzen. und wir reden jetzt ganz viel über
- 1:08:59Grafik und so, aber Entrouded und Portalize4R sind ja auch,
- 1:09:05Datenbankmonster mit tausenden an Items und tausenden Rezepten und NPCs und
- 1:09:10Sachen, die rumstehen, das hattet ihr ja auch bei euren Spielen,
- 1:09:13da die ganzen Regeln einzuhalten und alles quasi konsistent zu halten und das
- 1:09:18so, dass man auch ein neues Item einbauen kann, ohne dass alles zusammenfällt,
- 1:09:22ist auch schon eine ganze Menge Arbeit Und das ist eine ganze Menge Komplexität, die man da managt.
- 1:09:28Ähnlich groß, würde ich sagen, für dieses ganze Grafikteil.
- 1:09:32Wenn wir jetzt, weil Shouted war für uns die große Herausforderung,
- 1:09:36diese große Welt zu machen und die Handcrafte zu machen.
- 1:09:39In Portal Knights war ja alles prozentual erzeugt, mit Sternchen dran,
- 1:09:42weil wir haben irgendwann später realisiert...
- 1:09:44Irgendwie macht es auch total Spaß, so ein paar Burgen zu bauen und die als
- 1:09:48Ding im Spiel zu haben, weil Burgen prozentual generieren haben wir uns nicht
- 1:09:52dran getraut. Also das sah nicht so gut aus.
- 1:09:55Und dann haben wir gesagt bei Unshadowed, wir wollen dieses,
- 1:09:58ja, keine Ahnung, was man über Zelda erkennt oder so.
- 1:10:01Du hast wirklich das Gefühl, das ist eine Welt und du entdeckst die und man
- 1:10:04läuft da rum und sieht Sachen und die sind interessant und die Welt an sich
- 1:10:10sollte interessant sein.
- 1:10:11Und wir hatten nicht geglaubt, dass das über post-dorale Techniken,
- 1:10:14dass wir das hinkriegen.
- 1:10:15Oder halt aus Gothic oder Alyx oder so.
- 1:10:18Oder aus vielen anderen Spielen, die wir kannten und gerne haben,
- 1:10:25dass die Welt schon einen eigenen Charakter eigentlich darstellt im Spiel.
- 1:10:31Und dass man die Welt entdeckt und dann on top kommt dann noch das Gameplay natürlich.
- 1:10:35Aber das war eine riesen Herausforderung für uns. Wie schafft man das in so
- 1:10:39einer großen Welt mit so einem kleinen Team?
- 1:10:42Wir haben eigentlich am Anfang nur einen Environment Artist gehabt und das war
- 1:10:47so der Startpunkt von vielen Überlegungen und da haben wir sehr viel in Tools
- 1:10:50investiert, die einen Environment Artist so effizient wie möglich zu machen.
- 1:10:54Das war so der Startpunkt von vielen Überlegungen.
- 1:10:59Habt ihr dann extra noch neue Leute eingestellt für das Tooling oder mussten
- 1:11:03dann Leute, die vorher was anderes programmiert haben, plötzlich in Tools gehen?
- 1:11:06Weil man, also das klingt jetzt so wie, die Hälfte des Teams hat plötzlich Tools
- 1:11:11dann kurz gemacht, aber ihr hattet ja vorher wahrscheinlich nicht die Hälfte
- 1:11:14des Teams nur für Tools da.
- 1:11:16Ja, Tools haben wir dann alle gemacht, aber das waren jetzt nicht nur UI-Tools,
- 1:11:21sondern wir waren viel beschäftigt auch mit der Asset-Pipeline und mit dem Ganzen,
- 1:11:25wie konvertieren wir Sachen, wie bauen und wir Sachen zusammen und so weiter, dass das funktioniert.
- 1:11:31Da haben viele Leute dran gearbeitet.
- 1:11:34Ein paar waren, glaube ich, immer im Rendering unterwegs, aber die meisten waren
- 1:11:38dann damit beschäftigt, ja.
- 1:11:39Und wie groß ist das Team aktuell so?
- 1:11:41Also insgesamt 60, du meinst das Programmierteam?
- 1:11:44Nö, nö, so das gesamte Team einfach.
- 1:11:46Das gesamte Team 60 mit Publishing dabei. Also wir haben ja Self-Publishing,
- 1:11:50das heißt da sind acht Leute, glaube ich, im Publishing so roundabout.
- 1:11:54Das ist ja interessant. Das heißt, ihr seid jetzt so groß wie das Gothic 1 Team damals.
- 1:11:58Natürlich wahrscheinlich wesentlich erfahrenere Leute so, aber damals waren es tatsächlich...
- 1:12:02Da kannst du von ausgehen, ja. Interessant.
- 1:12:05Krass. Ich habe noch eine spezifische Frage an Philipp.
- 1:12:09Ich fand es einfach ganz spannend. Und zwar habe ich in einem Artikel,
- 1:12:12warte, den schicke ich euch, von PC Hardware etwas gefunden über die Alex, genau.
- 1:12:20Da sagt jemand, und zwar fängt mit Philipp an, hört mit Krause auf,
- 1:12:24das Wasser wurde komplett ersetzt.
- 1:12:27Wir haben nun eine Flüsse-Simulation bis ins Meer.
- 1:12:30So, da würde ich jetzt mal gerne wissen wollen, was das bedeutet.
- 1:12:34Ja, das ist im Prinzip eine statische Simulation. Im Prinzip werden die Flüsse
- 1:12:39geplaced und dann werden die einmal durchsimuliert, wie das Wasser fließen würde.
- 1:12:45Und dann wird das mehr oder weniger abgebaked. aber es wird eben simuliert also
- 1:12:51vorher war es eben einfach scrollende, auf einem Schlauch scrollende,
- 1:12:56Flusstexturen das sah immer sehr statisch aus und dann in der Simulation werden
- 1:13:00dann eben auch Hindernisse und so weiter berücksichtigt also wenn Steine im
- 1:13:04Fluss liegen dass die Textur dann drum herum fließt also ihr.
- 1:13:07Baut eine Flowmap dynamisch.
- 1:13:09Genau, also die Flowmap wurde mehr oder weniger dynamisch abgebaked und ja das
- 1:13:16war im Prinzip die das Ganze umzusetzen.
- 1:13:20Voodoo dahinter. Das Schwierige ist es natürlich, das auf einer Größenordnung
- 1:13:24von 8x8 Kilometer hinzukriegen. Das passt nämlich nicht wirklich in irgendeinen,
- 1:13:30GPU-Speicher vernünftig und das muss man dann aufteilen und dann wird es auch
- 1:13:34wieder ein bisschen schwierig.
- 1:13:35So, jetzt können wir im Vergleich fragen, wie werden denn Flüsse in Entschraudet
- 1:13:38gehandelt? Habt ihr auch da eine coole Technik?
- 1:13:42Gar nicht. Wir haben noch kein Wasser.
- 1:13:44Warte mal, ich habe das schon gespielt. Stimmt, ich habe kein Wasser gesehen.
- 1:13:48Aber ich dachte, vielleicht habe ich einfach noch nicht die Ecken der Welt gefunden. Kein Wasser.
- 1:13:52Nein, wir haben noch kein Wasser. Wenn du Wassersimulationen sehen willst,
- 1:13:55dynamische, kannst du Port-on-Lines spielen.
- 1:13:57Da haben wir eine dynamische Wassersimulation drin. Aber das sagte ich ja vorhin
- 1:14:00bereits, es hilft halt enorm, dass die Inseln sehr viel kleiner waren.
- 1:14:02Die verhält sich immer noch ganz cool. Also ich kenne wenige Spiele,
- 1:14:05vielleicht kenne ich die auch noch nicht, die so eine dynamische Wassersimulation haben.
- 1:14:09Also es macht mir immer noch sehr viel Spaß, in Port-on-Lines einfach zum See
- 1:14:13zu gehen und unten ein Loch einzubohren und zu gucken, was passiert.
- 1:14:16Und mal gucken. Wir haben, Wasser steht auf der Roadmap von Uncharted und wir
- 1:14:20wollen das halt, wenn wir es machen, richtig machen und müssen mal gucken,
- 1:14:23wie wir das hinkriegen. Ist noch in der Arbeit.
- 1:14:26Weil das Problem bei Uncharted für die Zuhörer, also vielleicht,
- 1:14:29man kann halt wirklich die ganze Welt terraforen.
- 1:14:31Das heißt, man kann überall Löcher rein bohren.
- 1:14:35Klassischerweise macht man in solchen Rollenspielen Wasser und Seen und Flüsse
- 1:14:38halt doch relativ statisch. Das heißt, man baut die irgendwo ein.
- 1:14:42Und bei uns kann man aber immer hingehen und kann ein Loch reinbohren.
- 1:14:47Und dann ist halt die Frage, was macht man dann?
- 1:14:50Man kann natürlich sagen, das hat man auch ganz kurz mal überlegt,
- 1:14:53um alle Seen rum ist halt so ein spezieller Block, den man nicht abbauen kann,
- 1:14:56aber das fanden wir doch ein bisschen traurig.
- 1:15:01Das riecht nach Shitstorm.
- 1:15:03Und jetzt einfach eine Wasserfläche sehen, die sich nicht bewegt,
- 1:15:06das ist auch ein bisschen traurig.
- 1:15:07Also es muss halt fließen, eigentlich, wenn man Wasser hat.
- 1:15:11Und da wir jetzt in EA kommen, war das halt so eines der Features,
- 1:15:14was wir wirklich gerne drin haben wollen, aber was nicht mehr reingepasst hat
- 1:15:17in der Qualität, in der wir es wollen.
- 1:15:20Und dann ist es, glaube ich, auch besser, das dann zu schieben.
- 1:15:24Für alle, die sich wundern, IE ist Early Access und nicht der Publisher.
- 1:15:29Nein, nein, das ist wirklich so.
- 1:15:31Genau. Und der Timo hatte letztens, also vor vier Jahren, eine Frage gestellt.
- 1:15:37Und zwar, da konnte ich mich gar nicht dran erinnern, aber kann das sein,
- 1:15:40dass ihr eine eigene Skriptsprache entwickelt habt für Portal Knights oder für
- 1:15:44eure Engine? Weil die Frage ist, würdet ihr wieder C++ als primäre Programmiessprache wählen?
- 1:15:50Warum hat man sich entschieden, eine eigene Skriptsprache zu entwickeln?
- 1:15:53Ja, also, Gott. Also, C++, vielleicht zwei Themen, würde ich sagen.
- 1:16:00C++ haben wir immer noch und wir sind auch zugegangen, dass wir mehr an C++
- 1:16:06machen als jemals zuvor.
- 1:16:07Und wir haben eine eigene Skriptsprache entwickelt damals, K-Skript, also Keen-Skript.
- 1:16:13Und die, jetzt muss ich aber, die ist aber schon lange her, ich glaube,
- 1:16:18die wurde ursprünglich entwickelt für Anno DS.
- 1:16:22Also, don't quote me, aber es ist sicher so in dem Zeitraum.
- 1:16:27Und die Nintendo DS ist halt eine sehr kleine Konsole mit sehr wenig Speicher
- 1:16:31und wir hatten damals das Problem, dass wir wirklich eine Sprache brauchen,
- 1:16:33die vor allem in der Runtime sehr wenig Speicher brauchte und das war also wirklich
- 1:16:37limitierend, das Spiel da drauf zu kriegen und dann war sie halt da und das
- 1:16:41ist wie so oft, glaube ich, Wahrscheinlich kennt Philipp das auch.
- 1:16:44Man hat halt schon was, was irgendwie das Problem, was man jetzt gerade hat,
- 1:16:48so halbwegs löst. Und dann nimmt man das halt.
- 1:16:51Solange es irgendwie so wehtut, dass man es dann umbauen muss.
- 1:16:55Und das ist jetzt die ganze Geschichte. Wir hatten eine Script-Schwache,
- 1:16:59die hat auch einen Debugger gehabt und war halbwegs vernünftig.
- 1:17:02Und damit wurde dann in Secure 3 UI gemacht zum Beispiel.
- 1:17:06Die UI wurde nämlich gescriptet und hat funktioniert. Ja, wir haben geschippt,
- 1:17:11aber hat schon eine ganze Menge graue Haare gefordert von Leuten.
- 1:17:15Und das haben wir auch gesagt, das machen wir dann so nicht mehr.
- 1:17:18Philipp, wie war das? Ich nehme an, die Gothic- und LX-Engine waren auch C++.
- 1:17:24Genau, aber keine Skriptsprache. Wir haben für das Gameplay,
- 1:17:28beziehungsweise die Engine hatte im Prinzip eine recht strikte Trennung von
- 1:17:32verschiedenen Systemen.
- 1:17:34Wir hatten im Prinzip das allerunterste Kernsystem, Grafiksystem und so weiter.
- 1:17:39Darauf kamen dann die Engine, darauf kamen dann Gamesysteme.
- 1:17:42Das waren so Dinge wie Pathfinding,
- 1:17:43ja, die Zurverfügungstellung von so Sachen wie Quests und Infos,
- 1:17:48Inventory-System und so weiter,
- 1:17:50aber das war nicht die eigentliche Implementierung des Spiels,
- 1:17:52sondern das Spiel selbst wurde in so einer Pseudoscript-Sprache gemacht,
- 1:17:58die im Prinzip auch C++ war.
- 1:18:00Aber, ja, wie soll ich das erklären? Also da wurde im Prinzip der C++ so weggerappt.
- 1:18:07Dass man zum Beispiel nicht so viele Fehler machen kann, dass man keine Pointer
- 1:18:12hat und so weiter, sodass es im Endeffekt freundlicher ist, für Nicht-Programmierer zu benutzen.
- 1:18:18Außerdem haben wir so Features reingemacht, wie dass man, ja,
- 1:18:23man kennt das ja, wenn man jetzt zum Beispiel was programmiert,
- 1:18:25dann läuft das Programm ja linear ab.
- 1:18:27Und wenn ich jetzt aber sowas machen möchte wie, ich habe einen NPC und der
- 1:18:33steht an der Schmiede und soll dann eine Animation spielen und danach soll er zu einem Tisch gehen,
- 1:18:38da soll er dann eine andere Animation spielen und danach soll er ins Bett gehen
- 1:18:41und schlafen und dann soll er wieder aufstehen und zur Schmiede gehen.
- 1:18:44Das kann ja nicht innerhalb eines Frames einfach in einem linearen Ding ablaufen,
- 1:18:49aber ich möchte es gerne linear programmieren.
- 1:18:50Ich möchte gerne schreiben, okay, mach dies, wenn du damit fertig bist,
- 1:18:54mach das, wenn du damit fertig bist, mach was anderes.
- 1:18:57So haben wir uns im Prinzip aus C++ eine Skriptsprache gebastelt,
- 1:19:01oder eine Pseudo-Skriptsprache, die eigentlich C++ war. Hat eben den Vorteil, es ist debugbar.
- 1:19:07Es ist jetzt nicht irgendwie was Eigengestricktes, wo man keine Tools für hat,
- 1:19:12wo man keinen vernünftigen Debugger für hat und so weiter.
- 1:19:14Ja, Nachteil war eben, es war in C++,
- 1:19:17man musste es immer kompilieren, es wird nicht Laufzeit interpretiert,
- 1:19:23also ich glaube, da gehen wir jetzt schon wieder eigentlich zu sehr ins Detail
- 1:19:25vermutlich, aber ja, das war so das, wie wir das gehandelt haben.
- 1:19:30Also es hat aber recht gut funktioniert, also das haben wir auch eigentlich
- 1:19:34seit Gothic 3 unverändert.
- 1:19:36Genauso gemacht. Wir haben es immer ein bisschen weiterentwickelt,
- 1:19:39ein bisschen verändert,
- 1:19:40aber das war einer der Systeme, an denen eigentlich nie gerüttelt wurde,
- 1:19:44weil sie ihren Zweck wunderbar erfüllt hat und natürlich auch eine ganze Menge,
- 1:19:50einfach da war, was wir immer wieder für das nächste Spiel einfach weiter benutzt
- 1:19:54haben und angepasst haben und erweitert haben.
- 1:19:57Wir haben eben die Sachen, die für das Spiel speziell waren,
- 1:20:01in speziellen Dateien gehabt, die wurden dann eben weggeschmissen,
- 1:20:03teilweise erstmal man nur auskommentiert und dann wird das neue Spiel daneben
- 1:20:08gesetzt und hatte eben den Vorteil, dass an diesem System mehr oder weniger nie gerüttelt wurde.
- 1:20:13War immer schon ein Stock da, der benutzbar war direkt von Anfang an.
- 1:20:18Das heißt, man konnte schon im sehr frühen Stadium des nächsten Projekts eigentlich
- 1:20:24mit Sachen anfangen, wie Story,
- 1:20:26man hatte rudimentäre, man hatte eigentlich alles schon da vom letzten Spiel
- 1:20:30und hat dann nach und nach eben Sachen ausgetauscht, wie die GUI oder wie eben
- 1:20:35dann auch bestimmte Spielemechaniken.
- 1:20:37Aber wir hatten dadurch nicht so einen langen Vorlauf, so einen langen Leerlauf,
- 1:20:41wo man im Prinzip sagt, jetzt müssen wir erst mal ein Jahr lang von vorne anfangen und alles neu machen.
- 1:20:46Das hätten wir uns gar nicht leisten können.
- 1:20:49Ist interessant, weil ihr habt ja, also Julian meinte, Skriptsprache ist deswegen
- 1:20:53entstanden, weil ihr einfach speicherlimitiert wart.
- 1:20:56Und Philipp meint sozusagen, dass...
- 1:20:59Also die eigene Programmiersprache, ja. Also man hätte auch eine andere nehmen
- 1:21:01können, aber da haben wir keine gefunden, die da vom Speicher her gepasst hätte.
- 1:21:05Genau, und für viele war es halt so diese, ich weiß nicht, Event-Orientierte, kann man das so sagen?
- 1:21:12Im Grunde genommen geht es ja darum, dass man so ein bisschen wie bei Multithreading
- 1:21:15auf ein gewisses Event wartet und dann halt was Spezielles ausführt.
- 1:21:18Das hatten wir in Case Script auch, also das ist typisch in so Skriptfragen für Spiele.
- 1:21:22Wir hatten ja, Anno war ja ein Realtime-Strategy-Game und man will dann halt
- 1:21:26so Gegnerwellen auch skripten und so natürlich unterschreiben wie ein Drehbuch.
- 1:21:29Also man kann sagen, ich warte jetzt 100 Frames und dann kommt der nächste Gegner
- 1:21:33oder 5 Sekunden und dann kommt das und dann 3 Sekunden und dann das als einen linearen Ablauf.
- 1:21:38Und das ist eher untypisch, so programmiert normalerweise Spiele in Sysplus
- 1:21:42nicht direkt, sondern da muss man viel mehr Rücksicht nehmen auf,
- 1:21:46oh jetzt kommt ein neues Frame und das letzte Frame ist 16 Millisekunden weg
- 1:21:49und was mache ich denn jetzt?
- 1:21:50Also man muss die State Machines sehr explizit programmieren normalerweise.
- 1:21:53Und diese Programmiersprachen, diese Scriptsprachen haben das einem quasi in
- 1:21:57einer linearen Form schon gezeigt.
- 1:21:59Also das war einfacher zu verstehen.
- 1:22:01Ja, und wenn jetzt jemand sagt, hey, ich möchte meine eigene Custom Engine schreiben,
- 1:22:07gibt es ja jetzt tatsächlich eine Menge Leute, die das einfach so auslernen
- 1:22:11oder eben, weil es eben gut passt fürs Spiel.
- 1:22:14Ich glaube, letztes Mal hatten wir sogar, glaube ich, darüber gesprochen,
- 1:22:16Thumper ist ein Beispiel, was ganz interessant war, wo jemand von Null wirklich
- 1:22:20Programmierung gelernt hat. hat, dann das erste Dreieck auf dem Bildschirm und
- 1:22:24dann halt Thumper, was da noch sehr bekannt geworden ist, das Spiel gemacht hat.
- 1:22:28Und wenn jetzt also jemand sagen würde, ich mache jetzt eine Custom Engine und
- 1:22:31ich würde Lua benutzen oder sowas, würde,
- 1:22:35mir dann sagen, ist es eine gute Idee oder eher nicht? Also ich kann es gerade
- 1:22:40nicht einschätzen, ob das dann...
- 1:22:43Was soll ich anderen Leuten in ihr Hobby reinreden? Mach, was du Bock hast, erstmal.
- 1:22:49Kommt ein bisschen, wie immer, kommt darauf an. Was will man denn machen?
- 1:22:53Will man was lernen? Will man tatsächlich mit dem Spiel, mit dem Angel ein Spiel
- 1:22:57machen? Das, glaube ich, wäre für mich so die erste Frage.
- 1:23:00Ja, ja, doch. Davon gehen wir jetzt mal aus. Doch, ja. Sagen wir einfach mal ja.
- 1:23:04Dann würde meine Empfehlung wäre, so konkret wie möglich zu überlegen,
- 1:23:07was für ein Spiel das dann ist. Weil wir hatten ja jetzt viel über Custom-Engines
- 1:23:09geredet und die Stärken.
- 1:23:11Eine der wichtigsten Stärken ist, dass man halt die Engine macht für das Spiel,
- 1:23:14was man machen will. Dafür muss man so ein bisschen grob wissen,
- 1:23:16was für ein Spiel man sich dann machen muss.
- 1:23:18Und daraus ergeben sich halt, glaube ich, sehr viele konkrete Probleme, die man dann lösen muss.
- 1:23:22Das Engine-Ding ist ja eigentlich ein Haufen Probleme, die man hat,
- 1:23:26weil man das Spiel nicht machen kann, so wie man es will. Und die müssen wir alle lösen.
- 1:23:29Also das würde ich da, glaube ich, versuchen, ranzugehen.
- 1:23:32Also schon die Motivation aus dem Endprodukt sich holen, wenn man jetzt sagt,
- 1:23:37man will ein Spiel machen.
- 1:23:38Es gibt ja auch Motivation, dass man einfach nur sagt, ich will vor mich hin
- 1:23:40programmieren und Spaß haben beim Programmieren und vielleicht Sachen ausprobieren oder so.
- 1:23:45Das ist ja auch völlig okay, aber das ist eine andere Herangehensweise.
- 1:23:49Aber da würde ich dann viel aufs Spiel gucken. Was für ein Spiel ist es?
- 1:23:53Welche Plattform shippe ich das?
- 1:23:54Was erzeuge ich das für Rahmenbedingungen, für Constraints?
- 1:24:00Welche Plattform kann man überhaupt nur shippen? Es geht nämlich gar nicht auf allen. Und so weiter.
- 1:24:05Ah, ach so. Okay. Ja, spannend.
- 1:24:09Weil genau, eine nächste Frage wäre nämlich auch so ein bisschen was mit Portabilität
- 1:24:13ist, wenn man Interesse hat. Das ist natürlich, wenn man jetzt zum Beispiel.
- 1:24:17Das ist der Grund, warum wir Salesforce benutzen. Niemand in unserem Team liebt
- 1:24:21die Sprache, glaube ich.
- 1:24:22Aha.
- 1:24:24Ja, es ist so ein, er hat sich daran gewöhnt, ja, über die Jahrzehnte, genau.
- 1:24:29Also bei mir ist das so, ja. Aber so richtig lieben würde ich nicht sagen.
- 1:24:35Die ist schon ziemlich unelegant und ziemlich... Okay.
- 1:24:38Bevor ich dich frage, was du lieber magst, kann Philipp ja mal kurz seine Meinung zu C++ sagen.
- 1:24:45Ja gut, ich muss dazu aber auch sagen, dass ich eigentlich nicht viele andere Sprachen intensiv mag.
- 1:24:52Ausprobiert habe. Also ich habe mal Pascal programmiert vor Ionen und klar,
- 1:24:58war in Lua reingeschnuppert und mal hier reingeschnuppert, aber nicht wirklich tief eingetaucht.
- 1:25:04Und es gibt natürlich modernere Programmiersprachen wie Ruby oder wie auch Rust oder,
- 1:25:10ich sag mal, man muss einfach lang genug auch mit einer Sache arbeiten,
- 1:25:15um die Vor- und Nachteile an einer Sprache zu sehen und zu erkennen.
- 1:25:20Und es ist immer so, sodass ich nach über 20 Jahren immer noch neue Dinge,
- 1:25:23ich meine, klar, C++ entwickelt sich auch weiter, nicht zum Besseren meiner
- 1:25:27Meinung nach teilweise,
- 1:25:29aber es gibt immer noch neue Dinge oder auch alte Dinge, die ich lernen kann,
- 1:25:34weil die Sprache einfach so unglaublich vielseitig ist und komplex ist.
- 1:25:40Und das finde ich ziemlich cool an C oder C++ eben, weil man kann auch wilde
- 1:25:48Dinge tun und die Sprache, sag ich mal, missbrauchen in bestimmten Rahmen.
- 1:25:54Also sie schränkt einen nicht ein. Und das finde ich schon eigentlich.
- 1:25:58Man muss natürlich immer aufpassen, weil es auch wieder gefährlich ist potenziell.
- 1:26:02Wir müssen uns selber einschränken. Wir haben Code Guidelines zum Beispiel,
- 1:26:05weil wir wissen, dass man da wilde Sachen macht, die man super cool findet und
- 1:26:11die auch super cool sind, aber die nach sechs Monaten einfach keine Sau mehr versteht.
- 1:26:15Und das passiert halt. Da muss man ein bisschen aufpassen.
- 1:26:19Okay, aber das ist interessant, was du meintest mit, dass Lua gar nicht geschippt
- 1:26:23werden kann auf alle Systeme. Hast du da ein Beispiel, wo es nicht klappt?
- 1:26:28Also zum Beispiel auf Nintendo oder so, ich weiß es nicht.
- 1:26:31Naja, also soweit ich weiß, kann man zum Beispiel auf der Playstation kein nur
- 1:26:36Lua-Ding shippen, weil es einfach keinen Lua-Interpreter gibt, der dafür dringend ist.
- 1:26:40Man kann Lua-Skripte embedden in Excel, was man shippen kann,
- 1:26:45aber da gibt es auch gewisse Limits.
- 1:26:49Deswegen wurde ja sowas wie Luayu und Roblox dann gebaut, ähm.
- 1:26:54Aber was ist denn Lua U?
- 1:26:57Lua U ist eine Erweiterung von, oder ein Lua-Dialekt, der bei Roblox entstanden
- 1:27:02ist, aus verschiedenen Gründen.
- 1:27:04Unter anderem diesem Portabilitätsgrund und dass man es vorkopulieren kann.
- 1:27:07Aber auch, die haben auch Typs, Type Safety, glaube ich, hinzugefügt.
- 1:27:10Weil ab einer gewissen Größe das sonst nicht mehr manageable ist.
- 1:27:14Das ist ja grundsätzlich ein anderes interessantes Thema, was Custom Engines
- 1:27:18angeht, und zwar Middleware.
- 1:27:19Also ich sage mal, wenn man jetzt über Lua spricht, dann ist es ja im Prinzip
- 1:27:21eine externe Software, die man in seine Software einbettet.
- 1:27:26Das nennt man dann im Endeffekt Middleware, weil sie eben, weil sie eben,
- 1:27:32ja, es ist eben eine zusätzliche Software, die man mit benutzt.
- 1:27:37Und das ist auch so eine Sache, die gerade wenn man jetzt, man kann nicht alles selber schreiben.
- 1:27:42Also zum Beispiel Physik war bei uns etwas, da haben wir uns nie dran getraut.
- 1:27:47Da muss man sich wirklich gut mit auskennen, aber das ist Performance-kritisch.
- 1:27:52Das ist einfach nichts, was man mal eben so zwischen Tür und Angel macht.
- 1:27:56Selbst wenn man es könnte, weil ich glaube, wir haben Leute im Team,
- 1:27:59die das könnten. Es ist eine Frage, ist das jetzt wirklich das Beste,
- 1:28:01was sie machen könnten für das Projekt?
- 1:28:03Also im besten Fall kommt man vielleicht dahin, wo die anderen Physiker jetzt schon sind.
- 1:28:08Ja. Es sei denn, man hat irgendeine wirklich große, krasse Idee,
- 1:28:11wie man einen Twister einbauen kann und das ausnutzen kann, dass man die selber schreibt.
- 1:28:15Also das ist halt immer, glaube ich, der Punkt, den man dann überlegen muss.
- 1:28:19Es ist einfach nur nachbauen, ist schwierig. So.
- 1:28:22Sondern man muss dann schon gucken, okay, was kann man denn anders machen da draußen? Weil am Ende,
- 1:28:27Sind wir halt ein Business, ein Entertainment-Business. Same,
- 1:28:31same ist da nicht das Erfolgsrezept.
- 1:28:33Ja, auf der anderen Seite hast du natürlich bei Middleware das Problem und das
- 1:28:37hatten wir, also ich war hinterher echt ein richtiger Feind von Middleware,
- 1:28:40weil uns das mehrfach passiert ist, dass wir Middleware lizenziert hatten,
- 1:28:45du baust die ganze Engine drumherum, also muss man sich so vorstellen,
- 1:28:49du lizenzierst eine Animationssoftware zum Beispiel, die ist relativ komplex,
- 1:28:53die hat einen eigenen Editor,
- 1:28:55da baust du die ganzen Animationen zusammen in so Ablaufdiagramme mehr oder
- 1:28:59weniger, wie die so zusammenpassen, die Animationen.
- 1:29:01Und dann sagt der Produzent der Middleware, nö, ab nächstem Jahr ist die nicht
- 1:29:09mehr lizenzierbar, wir wurden gekauft von Tencent oder so und jetzt müsst ihr
- 1:29:14euch was anderes suchen.
- 1:29:15Dann stehst du da, dann hast du deine ganze Engine angepasst darauf,
- 1:29:17auf diese Middleware und plötzlich ist das Ding nicht mehr da.
- 1:29:22Und das ist uns nicht nur einmal passiert.
- 1:29:25Klar, das ist ja im Mittleren dann, was im Großen die Third-Party-Engine ist.
- 1:29:29Das kann natürlich auch passieren.
- 1:29:31Wir leben immer so im Hier und Jetzt, aber wie alt ist denn Unity und wie alt
- 1:29:35ist Unreal und sind die in 20 Jahren noch da?
- 1:29:37Also was ist denn die Perspektive auch für eine Firma, wenn man jetzt eine gründet?
- 1:29:42Und eine Sache, die dabei, finde ich, noch wichtig ist, ist,
- 1:29:45man darf auch nicht vergessen, was wir
- 1:29:46jetzt gerade sehen, ist eine totale Monopolisierung von 3D-Technologien.
- 1:29:52Also Echtzeit-3D-Technologie.
- 1:29:53Die wird gerade in wenige Hände gelegt, das ganze Knowledge.
- 1:29:57Ja, also ich sag mal, wenn jetzt alle ansagen, oh, Custom-Engine schmeiß ich
- 1:30:01weg, ich geh jetzt Unreal hier, Unity da, dann hast du am Ende des Tages zwei
- 1:30:05Firmen oder drei, die überhaupt noch das Know-how haben.
- 1:30:08Ja, so, weil alle Leute ihre Custom-Engines eingestampft haben,
- 1:30:14wenn du dich weiterentwickelst, dann kennt sich irgendwann A,
- 1:30:18damit keiner mehr aus und B, so veraltet, also kannst du nicht mehr damit anfangen.
- 1:30:22Ja, und du bist auch abhängig vom Business-Modell. Wir haben ja das ja jetzt
- 1:30:25gerade erst gesehen mit Unity, die mal ein bisschen mehr Knete machen wollten,
- 1:30:28weil sie dachten, okay, wir sind quasi unersetzbar so ungefähr.
- 1:30:32Und man muss auch sagen, wer weiß, was mit Unreal ist, weil Epic ist bis jetzt...
- 1:30:36Die hatten auch schon finanzielle Probleme, ja.
- 1:30:38Ja, aber die sind halt bis jetzt sehr freundlich. Die haben zum Beispiel Artstation
- 1:30:41gekauft und haben dann den Shop kostenlos gemacht für alle und die Quixel-Assets
- 1:30:45waren kostenlos für alle, die Unreal benutzen und so.
- 1:30:47Und das dann so, ah, die sind aber nett zu uns. Aber wenn sie dann wirklich mal monopolt sind...
- 1:30:51Wenn du erst mal das Monopol hast, ja.
- 1:30:54Dann heißt es vielleicht doch, ja, wir hätten jetzt aber gern 50% Revenue.
- 1:30:59Kann passieren. Ja.
- 1:31:01Kann auch passieren. Ich meine, das ist ja Tim Sweeney, dem die Firma immer
- 1:31:03noch gehört, soweit ich weiß. Mehr hat nicht.
- 1:31:05Das heißt, das ist immer schwierig bei Einzelpersonenfirmen,
- 1:31:08weil man weiß, wenn der am Montag falsch aufsteht, wer weiß, was er dann macht.
- 1:31:14Oder wenn er keinen Bock mehr hat. Ja.
- 1:31:18Da ist schon eine ganze Menge abhängig von in der Industrie jetzt.
- 1:31:22Ich möchte nur ganz kurz eine kleine Anekdote einwerfen, weil ich habe gerade,
- 1:31:27es gibt einen ganz tollen, also Stay Forever ist ein Podcast,
- 1:31:29den kennen wahrscheinlich viele, der ist sehr bekannt.
- 1:31:32Gunnar Loth und Christian Schmidt reden dort über Spiele und die machen aber
- 1:31:35auch manche Interviews. Und ein Interview war mit und über CDV.
- 1:31:39Und das war so spannend, weil die haben dann erzählt, dass die mit Epic,
- 1:31:44damals Apogee Epic, und mit Tim Sweeney persönlich einen Vertrag gemacht haben
- 1:31:49und früher die Software vertrieben haben in Deutschland.
- 1:31:53Und er hat erzählt, dass sie 500 Mark pro Monat Lizenzgebühren bezahlt haben,
- 1:31:57weil damals irgendwie anscheinend Epic oder halt Apogee damals nicht so richtig
- 1:32:01wusste, Deutschland ist das überhaupt ein großer Markt, keine Ahnung, who cares.
- 1:32:05Und sie haben dann wirklich einen Vertrag, wo Tim Sweeney unterschrieben hat,
- 1:32:08für 500 Mark. und sie haben sich dann eine goldene Nase verdient mit damals hier.
- 1:32:12Und es gab dann wohl auch so eine Story, dass mal irgendwann so ein Unterhändler
- 1:32:16vorbeigekommen ist von denen und meinte so, ey, kann man da nicht doch nochmal
- 1:32:18was machen? Ich meine, ihr macht hier gerade richtig Cash.
- 1:32:22Aber da ist dann, ja, Vertrag ist Vertrag, genau. Also die Folge werde ich auch
- 1:32:26verlinken, die war ganz, ganz spannend, was mit CDV, wie es da losging und so, ultra spannend.
- 1:32:31Genau, kam mir nur gerade der Gedanke, weil Tim Sweeney.
- 1:32:33Aber eine Sache, die, genau, also ich fand das sehr gut.
- 1:32:37Philipp hat er eben gesagt, Mittelwehr. Und das war nämlich auch eine Frage,
- 1:32:39die ich mich gefragt habe.
- 1:32:41Denn es gibt ja auch solche für Sound. Gibt's ja WYs oder FMOD und so.
- 1:32:45Und ich habe aber auch in einem Video gefunden, da ist der Julian nämlich zu
- 1:32:49Gast bei DevPlay und hat gesagt, wir machen unsere Audio-Engine auch selbst.
- 1:32:53Und das stimmt, ne? Ja.
- 1:32:56Wir haben auch schon Spiele mit FMOD geschippt. Das war GeForce auf der PSP und auf dem DS.
- 1:33:01Und auf der PSP haben wir FMOD benutzt.
- 1:33:04Aber irgendwann trefft ihr ja eine Entscheidung, welche welche Mittelwerke ihr
- 1:33:07einsetzt und welche ihr selbst schreibt.
- 1:33:10Hättet ihr auch sagen können, komm, wir shippen weiter mit F-Mod.
- 1:33:12Und wie werden denn dann die Entscheidungen bei euch getroffen?
- 1:33:14Jetzt zum Beispiel, weiß ich nicht, eine Physik, da setzt man dann auf Bullet
- 1:33:18oder so was. Aber bei der Audioengine, nee, die schreibt man schon selbst. Gibt's da irgendwas?
- 1:33:22Ja, Physik in den Schrauben ist auch so ein gutes Beispiel. Wir haben im Moment
- 1:33:25keinen Physik-Engine-Einsatz.
- 1:33:28Tatsächlich kann sich das noch ändern. Aber alles, was dann Physik jetzt gerade
- 1:33:32im Spiel ist, ist quasi eigener Code.
- 1:33:34Mhm.
- 1:33:35Habt ihr irgendwas an Mittelwehr? Im Spiel? Ja.
- 1:33:39Aber es sind meistens kleinere Libraries. Wir haben ja auch,
- 1:33:43die stehen auch alle, ich kann ja auch gerne eine Liste geben,
- 1:33:46die stehen alle auch in den Credits.
- 1:33:48Kann man sich angucken. Da steht auch schon Jolt drin, allerdings benutzen wir
- 1:33:53es noch nicht im Spiel, aber es kann sich vielleicht noch ändern.
- 1:33:56Also Jolt ist eine Physik, Open Source Physik Engine.
- 1:34:00Genau, die wird jetzt auch, soweit ich weiß, in X eingesetzt,
- 1:34:04in den XX-Serien, weil die besser ist, weil die irgendwie Volumen händelt.
- 1:34:07Genau, die kommt ursprünglich von Guerilla, also von einem, der bei Guerilla
- 1:34:10arbeitet und kann ich sehr empfehlen.
- 1:34:13Wenn schon Middleware, dann Open Source finde ich auch am besten.
- 1:34:16Also das Schlimmste ist Middleware ohne Source-Code, das ist das Allerschlimmste.
- 1:34:20Genau, das machen wir gar nicht. Das machen wir grundsätzlich nicht.
- 1:34:23Also da gibt es auch gar kein Diskutieren.
- 1:34:26Das ist ein Kriterium für euch, dass ihr sagt, wenn, dann Open Source.
- 1:34:30Das ist eine Red Flag. Da gibt es gar nichts.
- 1:34:33Das ist ein guter Tipp.
- 1:34:35Also wir gehen jetzt von Middleware, die im Spiel geschippt wird.
- 1:34:38Wir haben auch, es gibt durchaus auch Middleware, die in den Tools zum Beispiel zum Einsatz kommt.
- 1:34:42Das muss man nochmal trennen. Also in den Tools haben wir durchaus auch Sachen,
- 1:34:45wo wir nicht unbedingt eine Source Code haben.
- 1:34:47Weil im Moment, glaube ich, haben wir da nichts. Aber theoretisch,
- 1:34:50da wäre das kein so hartes Kriterium.
- 1:34:54Aber in dem finalen Produkt, was wir shippen, brauchen wir eine Source Code für.
- 1:34:57Und wie treffen wir die Entscheidung?
- 1:35:00Das ist so eine Mischung. Ich glaube, also natürlich gibt es Input von den Leute,
- 1:35:05die an den Gewerken arbeiten.
- 1:35:07Da gibt es dann Leute, die meinen, Scaleform war so ein Ding,
- 1:35:10wir wollen das mal ausprobieren. Da haben wir coole Sachen mitgesehen,
- 1:35:13davon gesehen, wir können uns das gut vorstellen.
- 1:35:15Das ist so ein Input. Also Leute, die dann motiviert sind, das zu machen.
- 1:35:19Und dann gibt es aber auch andere Inputs und andere Sachen, wo wir sagen,
- 1:35:23das wollen wir lieber selbst kontrollieren, weil das zum Beispiel,
- 1:35:26wir wollen eine bessere Integration haben in unseren eigenen Tools.
- 1:35:30Das ist jetzt zum Beispiel ein Ding, was gegen Wwise sprach oder gegen FMOD Studio.
- 1:35:34Die übernehmen eine ganze Menge von den Sachen, die wir eigentlich selbst im Editor haben wollen.
- 1:35:39Also es geht da ja viel um, dass man Events hinschickt oder irgendwelche Status-Values
- 1:35:43aus dem Spiel und man hat da die Möglichkeit, in diesem FMOD Studio oder in
- 1:35:46Wwise quasi diese Daten zu nehmen als Input für eine Vertonung.
- 1:35:52Also sowas wie, es regnet gerade oder andere Variablen.
- 1:35:59Genau. Und das ist grundsätzlich eine Sache, die wir haben wollen.
- 1:36:03Die wollen wir aber nicht nur für Sound haben, sondern wir wollen da auch andere
- 1:36:06Sachen dranhängen können.
- 1:36:07Zum Beispiel, wie fix die gestartet werden sollen im Spiel oder anderes.
- 1:36:10Und da dachten wir, das ist etwas, was wir selbst in Engine machen wollen,
- 1:36:14mit eigenen Tools, in einer ähnlichen Philosophie, natürlich in der Ausprägung anders.
- 1:36:19Und da hängen wir dann Sound mit dran am Ende.
- 1:36:21Ja, und wenn wir das haben als System, und das haben wir jetzt,
- 1:36:24also wenn man in den Shoutout rumläuft, dann wird man das relativ schnell auch
- 1:36:28hören, dass das sich anpasst an die Umgebung, in der man gerade ist, was man da hört.
- 1:36:34Das konnten wir oder wir glauben, dass bessere Ergebnisse erzielbar sind,
- 1:36:39wenn wir das halt dedikieren mit dem Editor, weil es dann auch in Sync ist mit anderen Sachen.
- 1:36:44Wir machen Post-Processing-Effekte, die angepasst werden oder Effects,
- 1:36:47die gestartet werden oder so weiß.
- 1:36:49Das schien uns dann sinnvoll. Aber das entsteht aus einer Diskussion im Team. Es gibt dann,
- 1:36:55hin, vor und zurück, hin und her, wie andere Entscheidungen auch getroffen werden, würde ich sagen.
- 1:37:00Und Philipp, wie war das bei euch da auch so? Weiß ich nicht,
- 1:37:02vorher auch im Meeting vielleicht, okay, was wollen wir einsetzen, was nicht?
- 1:37:05Also da hast du ja schon angemerkt, dass ihr auch öfters mal auf die Nase gefallen
- 1:37:08seid, aber wie war da bei euch der Entscheidungsprozess?
- 1:37:12Ja, also es hängt davon ab. Es gab Middleware, die wir drin hatten,
- 1:37:16die war einfach gesetzt, weil sie, ja, weil sie funktioniert hat und wir,
- 1:37:20also wir haben zum Beispiel Fmod eingesetzt, ja, aber wenig Fmod Studio,
- 1:37:23also wir haben Fmod nur als Low-Level Sound-API eingesetzt, weil wir keinen
- 1:37:28Soundprogrammierer hatten und auch keiner so richtig Lust darauf hatte und davon Ahnung hatte.
- 1:37:33Und deswegen war das eben einfach da, hat funktioniert und das wurde auch nie geändert.
- 1:37:39Neue Versionen integrieren, ja, aber jetzt irgendwie, warum sollen wir never
- 1:37:43change the running system, wenn es funktioniert, war das für uns vollkommen in Ordnung.
- 1:37:46Physics haben wir genauso behandelt. Wir haben immer die neueren Versionen upgradet,
- 1:37:51sobald so was Gutes ging, aber wir hatten keinen Grund und dafür zu switchen.
- 1:37:58Problematischer ist es dann bei so Dingern wie zum Beispiel UI-Dingen,
- 1:38:01du hast gerade Scaleform gesagt, da lief das dann so, dass wir im Prinzip hingegangen
- 1:38:06sind und eine Evaluierung erst mal gemacht haben.
- 1:38:07Das heißt, erst mal haben wir uns eingeguckt, okay, was gibt es denn überhaupt
- 1:38:10auf dem Markt? Was haben die für Vor- und Nachteile?
- 1:38:12Welche kommen überhaupt in Frage? Manche gehen dann schon alleine aus Portabilitätsgründen
- 1:38:16vielleicht schon den Bach runter, wenn man sagt, okay, das Ding läuft gar nicht
- 1:38:22auf der Playstation, brauchen wir gar nicht mehr weitergucken.
- 1:38:25Und dann bleiben meistens gar nicht so viele Produkte übrig.
- 1:38:28Dann gibt es meistens so zwei Stück oder so, zwischen denen man sich dann entscheiden muss oder drei.
- 1:38:32Und ja, da muss man sich einfach die entsprechende Zeit nehmen,
- 1:38:36sich das genau angucken.
- 1:38:37Sowohl Programmierer als auch Artists müssen da drauf gucken.
- 1:38:41Und da muss man eine gemeinsame Entscheidung treffen an der Stelle.
- 1:38:45Oder dass es alles andere wäre, ja, also nur weil es irgendwie cool und nifty
- 1:38:51ist und irgendjemand dafür tolle Werbung gemacht hat, heißt das nicht,
- 1:38:54dass es auch toll funktioniert. Also da muss man schon eine...
- 1:38:57Ja, ich meine, es ist ein Teamsport, habe ich ja vorhin gesagt,
- 1:39:00und ich sehe es als meine Aufgabe jetzt zum Beispiel auch an,
- 1:39:03dass ich versuche, alles zu erreichen, dass wir zum Datum des Shippens dann
- 1:39:08auch wirklich shippen können auf den Plattformen.
- 1:39:09Das heißt, wir nehmen ein bisschen die Verantwortung für den Technikteil.
- 1:39:13Weil, dann nehme ich mir aber auch raus, da auch ein Wort mitreden zu können,
- 1:39:16wie schwierig ich mir den Job da mache, am Ende da hinzukommen.
- 1:39:21Und klar, wenn wir sagen, wir können zehnmal besseres Ergebnis erzielen oder
- 1:39:25so, dann ist das natürlich ein wichtiges Argument, dann gucke ich dann schon, dass das geht.
- 1:39:28Aber wenn wir ähnlich gutes Ergebnis selber machen können und es deutlich weniger
- 1:39:32Risiko ist, dann präferiere ich das üblicherweise.
- 1:39:36Wir hatten zum Beispiel einen Fall, das war auch eine Animationssoftware,
- 1:39:40die wir lizenziert hatten. Ich glaube, das war Natural Motion Morphe.
- 1:39:44Das war das Beispiel, was ich vorhin gebracht hatte, dass die gekauft worden
- 1:39:49sind und dann die Lizenzierung eingestellt haben und das hat uns wirklich die Beine weggerissen.
- 1:39:54Dann hat unser Publisher noch irgendeinen Schweinedealer ausgehandelt,
- 1:39:57dass wir das noch zwei, drei Jahre weiter nutzen dürfen ohne Support oder so.
- 1:40:01Keine Versionsupdates mehr, kein Support, einfach nur diese Version weiter nutzen.
- 1:40:04Und wir haben dann eben wirklich über drei Jahre eine Animationssoftware selbst
- 1:40:09entwickelt und dafür musste ich dann zwei bis drei Programmierer abstellen,
- 1:40:13die mir auch bitter gefehlt haben an anderen Stellen, damit wir dieses Loch stopften.
- 1:40:17Ja, das ist eben einfach, ja.
- 1:40:21Aber am Ende des Tages, wäre es dann was gewesen, dann hat man diese Zeit investiert,
- 1:40:26aber dafür hat man dann auch was, wo man sich A mit auskennt und B eben auch
- 1:40:31worauf man weiter aufbauen kann und das ist auch eine gute Sache.
- 1:40:35Genau, also je weiter es quasi am Kern des Spiels ist, desto nervöser wäre ich dabei.
- 1:40:40Also sowas wie Animationen, da fällt mir schon direkt die Nackenhaare schnell
- 1:40:45in sich auf, weil das so ein zentrales Element ist.
- 1:40:48Einfach auch vom Know-how her und wir investieren sehr viel in Animationstools.
- 1:40:53Das wird auch eine ganze Menge, das macht ich ja vorhin, das ist ein gutes Beispiel,
- 1:40:58wo nicht einfach ein Programmierer sich hinstellen kann und sagen,
- 1:41:01hier ist jetzt das Animationstool, sondern das ist ein sehr kreativer Prozess.
- 1:41:05Wie wollen wir was machen?
- 1:41:08Was brauchen wir hier? Wie können wir das jetzt lösen? Und dann sind die technischen
- 1:41:12Tools ein Bauteil, aber auch nur ein kleiner.
- 1:41:14Auch die ganzen Leute, die damit arbeiten, müssen Verständnis entwickeln,
- 1:41:18was geht und wie die Sachen gehen.
- 1:41:19Und das finde ich oft einfacher, wenn es organisch wächst, also für die Leute,
- 1:41:26sich dann so langsam ranzutasten und dann auch das tiefe Verständnis zu entwickeln,
- 1:41:30als wenn man sagt, wir hatten fertige Lösungen und die Machtsachen,
- 1:41:33die auch sicher guten Hintergrund haben, aber wo man die Reise gar nicht mitgemacht hat zu diesem Punkt.
- 1:41:38Und dann kann man nicht wirklich nachvollziehen oft, warum Sachen so sind,
- 1:41:44wie sie sind und hat nicht dieses tiefe Verständnis, was jetzt bei uns doch
- 1:41:47viel da ist im Team. Und das ist halt viel wert, glaube ich.
- 1:41:51Das kann ich bestätigen. Da passieren ganz gruselige Dinge.
- 1:41:56Vor allem, weil wenn man eine komplexe, ich meine, das ist ja mit Unreal vermutlich
- 1:42:00auch nicht anders, man kann immer Sachen auf verschiedene Arten und Weisen machen.
- 1:42:05Jetzt zum Beispiel als Artist oder auch als VFX Artist oder so gibt es natürlich tausend Möglichkeiten,
- 1:42:11irgendein bestimmtes Ergebnis zu erzielen und da gibt es nicht den Königsweg,
- 1:42:16aber es gibt auch sicherlich Wege, die nicht so besonders gut sind und wenn
- 1:42:19man jetzt Software lizenziert, dann ist dir vermutlich nicht unbedingt klar,
- 1:42:25wie es gedacht ist, was du hier noch meinst. Und aus Erfahrungen,
- 1:42:29Ja, das erste Projekt damit ist erstmal kranklich. Also habe ich es auf jeden
- 1:42:35Fall kennengelernt, also gerade in Bezug auf diese Animationssoftware.
- 1:42:39Ich habe mal nachgeguckt, eure beiden Spiele, Entschwadet und Alex,
- 1:42:43sind Playstation, Xbox und PC.
- 1:42:47Entschwadet noch nicht.
- 1:42:49Was?
- 1:42:51Er ist noch nicht draußen. Also wir machen das, aber das ist noch nicht fertig.
- 1:42:57Okay, und eine Sache, die mir schon mal auffällt, ist, es steht nicht explizit Linux da.
- 1:43:02Ist das in irgendeiner Form ein Thema bei euch gewesen, so Linux-Native-Build anbieten?
- 1:43:08Und wenn ja, hat das irgendwas mit Engine da noch spezifisch zu tun gehabt oder
- 1:43:12ist das ein komplett anderes Thema?
- 1:43:14Also wir haben tatsächlich Leute im Team, die Linux aktiv benutzen als Betriebssystem
- 1:43:19bei der Entwicklung, also Programmierer natürlich. Natürlich.
- 1:43:22Aber wir haben auch tatsächlich geplant, dass wir einen dedicated Server für
- 1:43:29Linux bereitstellen wollen.
- 1:43:31Aber jetzt einen Linux-Native-Client hatten wir uns dagegen entschieden.
- 1:43:35Das wäre wahrscheinlich gar nicht so viel Aufwand für die Technik gewesen,
- 1:43:38aber wir schätzen vielleicht zu Unrecht, aber wir schätzen den Support-Aufwand,
- 1:43:42den wir dann leisten müssten, als zu groß ein, dafür, dass wir das irgendwie rechtfertigen können.
- 1:43:47Und man kann das Spiel sehr gut mit Proton und Wein und den Emulatoren spielen.
- 1:43:52Von daher ist der Bedarf da, glaube ich, auch nicht so da.
- 1:43:57Das läuft auch auf dem Steam Deck, also dann läuft es auch irgendwie auf der Linux-Kiste.
- 1:44:01Und Philipp, war das bei euch, war das irgendwann mal ein Thema?
- 1:44:03Nee, also, ja, okay, klar, Thema war es.
- 1:44:08Die Publisher kommen manchmal auf die wildesten Ideen, aber haben wir auch immer
- 1:44:14direkt, also hätten wir auch gar nicht leisten können.
- 1:44:16Also, das, man muss immer aufpassen, dass einem nicht noch mehr Sachen aufgeheizt
- 1:44:21werden, die man am Ende des Tages,
- 1:44:23einfach auch nicht leisten kann und dann das Produkt im schlimmsten Fall schlechter
- 1:44:27wird, weil man einfach mehr Zeit für Mac-Versionen, Linux-Versionen und sonst was noch drauf geht.
- 1:44:34Ja, das bringt am Ende des Tages nichts. Also es gibt eine Mac-Version von Elex
- 1:44:402, glaube ich, aber die wurde nicht von uns portiert.
- 1:44:43Ja, also ich meine, es ist nicht euer Scale, aber mein kleines Spiel hat durchaus
- 1:44:47profitiert, weil ich habe tatsächlich ein Linux-Bild rausgetan,
- 1:44:51und dadurch bin ich in GamingOnLinux.com Es hat jemand gesehen,
- 1:44:56hat einen kleinen Artikel gemacht und es hat 100 Wishlists gemacht,
- 1:44:59was für meine Verhältnisse wirklich so ein kleiner Bump war in der Wishlist.
- 1:45:03Und das kann ich nur sagen, das ist genau der, glaube ich, was man so machen
- 1:45:07sollte als kleiner Indie-Entwickler.
- 1:45:11Also, dass man halt sich so an Nischen rausguckt, die halt von den großen,
- 1:45:16größeren, ganz groß sind wir auch nicht, aber von den größeren nicht mehr bedient
- 1:45:19werden, weil es da nicht so sinnvoll ist.
- 1:45:22Ich glaube, da gibt es viele solche Nischen, wo man sich ganz gut als Solo-Entwickler einfinden kann.
- 1:45:28Genau, aber das mit den Nischen war nur so eine Seitenfrage.
- 1:45:31Aber wir haben ein Linux-Bild, der läuft vom Spiel, also intern.
- 1:45:36Aber gab es denn, das ist halt eine sehr offene Frage, weil ich kann es gar
- 1:45:40nicht einschätzen, aber gab es in Bezug auf die Custom-Technologie in irgendeiner
- 1:45:44Form Herausforderungen oder irgendwas, wo wenn es um die Portierung ging auf
- 1:45:49Playstation, auf Xbox ...
- 1:45:51Ähm, weiß nicht.
- 1:45:54Philipp hat viel daran gearbeitet, das heißt, du kannst ihn direkt fragen.
- 1:45:56Er hat jetzt hier relativ lang, also fast ausschließlich in der PS5-Version gearbeitet.
- 1:46:02Also was heißt das überhaupt dann? Also was musst du denn überhaupt machen?
- 1:46:05Ja, also im Endeffekt ist es, also ich habe auch den Großteil der Portierungen
- 1:46:10von Elex und Elex 2 gemacht.
- 1:46:13Aber im Prinzip besteht eine Portierung aus verschiedenen Teilen.
- 1:46:16Also einmal muss natürlich dafür gesorgt werden, dass die Sachen überhaupt kompilieren.
- 1:46:23Die haben eben leicht Unterschiede, die Systeme, aber das ist der kleineste Aufwand.
- 1:46:29Das zweite ist dann, du hast bestimmte Systeme, die sind nicht kompatibel oder
- 1:46:32eben auch Middleware-potenziell.
- 1:46:34Das ist natürlich ein separates Problem, aber das größte Ding ist meistens die Grafik.
- 1:46:39Die Grafik, wir haben zum Beispiel immer Diat X12 eingesetzt jetzt bei den neueren
- 1:46:45Spielen, davor Diat X11 und dann davor Diat X9, das haben wir aber nie auf Konsole portiert.
- 1:46:50Und wenn du jetzt sowas hast wie die Playstation, dann musst du eben dafür sorgen,
- 1:46:55dass du im Endeffekt sowas wie Diat X...
- 1:46:5911 oder X12 auch für die Playstation hast, dass du dann sozusagen eine gemeinsame
- 1:47:03Sprache hast, wo du mit der Grafikkarte sprechen kannst.
- 1:47:08Wo die Render-Engine mit der Grafikkarte sich unterhält, auf eine gemeinsame Sprache bringen.
- 1:47:13Und das ist eigentlich mit der größte Aufwand. Und ein weiterer relativ großer
- 1:47:17Aufwand ist dann das, was wir vorhin auch schon angesprochen hatten.
- 1:47:20Das sind diese TCRs, also die Technical Compliance Requirements.
- 1:47:25Im Endeffekt die die Voraussetzungen, die du erfüllen musst,
- 1:47:29um auf der Plattform überhaupt rauskommen zu dürfen.
- 1:47:31Da gibt es dann lauter kleine Sachen, wie soll der Knopf, also wenn du den Knopf
- 1:47:37anzeigst von deinem Controller, wie muss der aussehen und so weiter.
- 1:47:41Das sind ganz viele kleine Sachen.
- 1:47:43Was passiert, wenn du den USB-Stick rausziehst, gleichzeitig speicherst und
- 1:47:47irgendwie dich im Kreis drehst.
- 1:47:49Ja, das ist ja auch ein Netzwerkspiel, da schau dir das jetzt an,
- 1:47:51da ist das schon mal die Hälfte von den ganzen TCRs, die sich nur um Online
- 1:47:55kümmert und Und was passiert mit Invites, wenn man irgendwo ganz woanders im
- 1:47:59Menü ist und so Sachen. Also dass das alles funktioniert.
- 1:48:02Und das finde ich auch sehr gut, weil ich spiele selbst gerne auf der Konsole
- 1:48:05und ich genieße, dass das halbwegs funktioniert, das Allermeiste.
- 1:48:08Und das kommt nur daher, dass es da so eine, mittlerweile gar nicht mehr so
- 1:48:14harte leider, aber so eine Kontrolle gibt.
- 1:48:18Qualitätssicherung einfach nochmal von dem Plattformhalter.
- 1:48:20Aber gibt es denn DirectX überhaupt auf Playstation? Station?
- 1:48:25Nein, gibt's nicht. Und das ist das, was Philipp gerade meinte.
- 1:48:28Also wir benutzen auch kein DirectX, wir benutzen Vulkan.
- 1:48:30Also das ist ja, ja, und Vulkan gibt's auch nicht.
- 1:48:33Und selbst wenn es das gäbe, würden wir es wahrscheinlich nicht benutzen,
- 1:48:36weil wir schon versuchen auf den Konsolen halt, da wissen wir ja einfach anders
- 1:48:41als auf PC, welcher Grafikchip da drin ist.
- 1:48:43Also wir kennen die Architektur, wissen viel mehr darüber und wir könnten da
- 1:48:49viel mehr direkt ausnutzen.
- 1:48:52Also auf PC ist es immer schwierig, weil da haben wir mindestens drei,
- 1:48:56ja zweieinhalb Grafikkartenhersteller, die relevant sind und die haben auch
- 1:49:03sehr viele unterschiedliche Architekturen dann immer noch.
- 1:49:05Da gibt es noch einen großen Zoo an möglichen Sachen und da benimmt der Treiber
- 1:49:10sehr viel Arbeit, um möglichst gute Performance zu erzielen am Ende.
- 1:49:17Weil der Gesamtsinn, der Lebenssinn der GPU ist Geschwindigkeit.
- 1:49:23Das ist das Einzige, was sie tut. Also sie ist nur dafür da.
- 1:49:26Das heißt, da geht es immer nur um Geschwindigkeit und nur ums Maximum rausholen.
- 1:49:30Ja, und da kann man auf Konsolen mehr erreichen, immer noch,
- 1:49:33wenn man die da vorstelligen, die da vorhandenen Schnittstellen benutzt und
- 1:49:39nicht Vulkan oder Blacklist.
- 1:49:40Dafür muss man natürlich sehr
- 1:49:41viel mehr zu Fuß machen. Also man muss sehr viele Sachen selbst machen.
- 1:49:44Genau, und muss auch die Experten haben, die das können.
- 1:49:47Man muss sehr viel selbst machen, was normalerweise eben der Treiber bzw.
- 1:49:52Die höhere Grafikstelle wie Vulkan oder Diatics abnimmt.
- 1:49:56Das gilt nicht unbedingt für alle Konsolen, aber gerade auf der Playstation
- 1:50:00ist das schon eine ganze Menge, was man da so selber machen muss,
- 1:50:04was normalerweise abgenommen wird.
- 1:50:06Das ist schon ein ziemlich komplexer Kram, den man nachmachen muss,
- 1:50:08dass ja ein Supercomputer da drin ist mit quasi zehntausenden kleinen Prozessoren,
- 1:50:14die alle synchronisiert werden müssen.
- 1:50:15Das ist schon nichts, was man mal eben so macht.
- 1:50:18Nee, klingt auch nicht so. Ich überlege gerade, ich habe noch nie ein Bild mit
- 1:50:26Unreal exportiert und dann auf Playstation geschoben.
- 1:50:29Ich würde jetzt mal hoffen, dass das geht.
- 1:50:31Das geht wahrscheinlich.
- 1:50:32Und das ist wahrscheinlich ein Vorteil, den so ein Engine dann bietet.
- 1:50:36Das ist ein großer Vorteil, den so ein Engine bietet.
- 1:50:38Also wenn sie das unterstützt, weil wenn jetzt zum Beispiel Godot eben Playstation
- 1:50:43nicht unterstützt, dann hat man eben Pech gehabt, ne?
- 1:50:45Ich weiß gar nicht, wie es bei Goodwoods ist.
- 1:50:47Das hat was damit, das ist ja ein Open-Source-End und das macht das Ganze unglaublich
- 1:50:51kompliziert, weil du musst ja bei der Konsole, bei dem Plattform-Holder,
- 1:50:56also bei Microsoft oder bei Sony, musst du das ja beantragen,
- 1:50:59dass du überhaupt ein Spiel entwickeln darfst auf der Konsole.
- 1:51:03Du musst registrieren als Entwickler, dann überschreibt man eine NDA und dann
- 1:51:06darf nichts über die Details dieser Schnittstellen irgendwo offen liegen,
- 1:51:11was sehr schwierig vereinbar ist mit dem Konzept von Open-Source.
- 1:51:14Ja, das heißt, du kannst keine Sourcen veröffentlichen.
- 1:51:17Godot versucht das jetzt tatsächlich, soweit ich weiß, mit einer extra Firma
- 1:51:20und mit einem PlayStation-Port der,
- 1:51:24Godot-Engine, die nicht Open-Source ist und die man sich dann holen kann,
- 1:51:29wenn mal ein registrierter Entwickler ist. Also sie versuchen das.
- 1:51:33Der geht ja bei Forge, glaube ich, auch.
- 1:51:35Aber wie sieht denn das dann im Code aus? Ich versuche mir das gerade vorzustellen,
- 1:51:38weil normalerweise also du hast ja irgendwelche OpenGL- oder Vulkan-Befehle,
- 1:51:42die du halt irgendwie hinschreibst, ne?
- 1:51:43Genau, das macht man nicht. Also das versucht man zu vermeiden.
- 1:51:47In aller Regel hat man eine Abstraktionsschicht, also eine Schicht,
- 1:51:51wo man quasi das auf eine eigene Sprache mappt.
- 1:51:54Also wir haben eine eigene Grafik-Schnittstelle, mit der das Spiel redet und
- 1:51:59diese Grafik-Schnittstelle ist dann unterschiedlich implementiert für die verschiedenen Plattformen.
- 1:52:04Da lebt der Vulkan-Code drin für das Vulkan-Backend oder das PS5-Code oder Xbox-Series.
- 1:52:12Das ist von euch selbst?
- 1:52:15Ja, genau.
- 1:52:16Noch mal eine kleine Sprache zwischendurch.
- 1:52:18Genau, das ist aber auch, also man kann sowas theoretisch auch sich holen wieder
- 1:52:22von außen, aber da sind auch wieder Sachen drin, die wir gar nicht brauchen.
- 1:52:27Da ist Komplexität drin, die wir nicht brauchen und da sind Sachen drin,
- 1:52:29nicht drin, die wir brauchen.
- 1:52:31Also es ist halt einfach auch wieder im Kleinen oder im Kleineren das gleiche
- 1:52:35Thema wie bei, ich nehme halt eine andere Engine. Es ist halt dann nicht so
- 1:52:40maßgeschneidert auf unsere Bedürfnisse, wie das jetzt halt der Fall ist.
- 1:52:44Wobei für mich grundsätzlich alles, was mit Grafik zu tun hatte,
- 1:52:47was Middleware angeht, auch ein Red Flag war.
- 1:52:50Das kriegt man nie vernünftig integriert und das ist genau das, was du gerade sagtest.
- 1:52:56Also wenn man seine eigene Schnittstelle hat und dann holt man sich jetzt irgendeine
- 1:53:01externe Grafikgeschichte da rein, dann kriegt man das nie zusammengeführt vernünftig,
- 1:53:06sodass das gut wartbar und gut verletbar ist und auch noch performant funktioniert.
- 1:53:09Deswegen alles, was mit Grafik zu tun hat, muss man eigentlich selber machen.
- 1:53:15Und hinter jedem eurer Zwischensprachenbefehle ist dann so, ich stelle mir so
- 1:53:19vor, so eine kleine If-Abfrage, if Playstation, dann wird das und das gemacht?
- 1:53:23Nee, eben nicht. Die Zwischensprache ist ja wirklich für uns,
- 1:53:26die ist agnostisch, idealerweise.
- 1:53:28Die redet dann mit High-Level-Konzepten, die kennen sowas wie Textur,
- 1:53:33total crazy, oder Buffer oder so, und dann kann man damit Operationen ausführen.
- 1:53:40Also man kann die Sachen kopieren und man kann Sachen reinrendern und so,
- 1:53:45was wollen wir das vertiefen.
- 1:53:47Und das sind Operationen, die dann in der PS5 anders implementiert sind als auf Vulkan.
- 1:53:53Ja, aber irgendwo muss doch dann, also irgendwer hat ja irgendwo dann den richtigen
- 1:53:57Code geschrieben und es muss unterschieden werden, wenn ihr ein Bild macht für
- 1:54:00Playstation, wird eben das Stückchen benutzt und wenn ihr ein Playstation...
- 1:54:02Genau, ja, das ist Teil von dem Bildsystem. Also wir haben eine C++-Codebase
- 1:54:06und die wird ja kompiliert in eine ausführbare Datei, also auf PC halt so ein
- 1:54:12Portable-Executable und auf Playstation gibt es halt ein anderes Executable-Format.
- 1:54:17Da gibt es andere Compiler und einen anderen Linker und die produzieren bei
- 1:54:23dem Code-Builden halt die Dateien, die man dann braucht, um sie auszuführen.
- 1:54:28Und als Teil von diesem Kompilierungsprozess werden andere Quelldateien mit eingebunden als auf PC.
- 1:54:35Da gibt es dann halt die PS5-Versionen dieser Dateien. Jetzt sind wir schon ganz schön tief drin.
- 1:54:41Ja, ich finde es gerade interessant. Ich musste gerade daran denken an Vampire Survivors.
- 1:54:45Und da hat ja der, ich will den Namen jetzt gerade nicht, aber der Hauptprogrammierer
- 1:54:49dort, der hat ja nicht damit gerechnet, dass das so ein Riesending wird.
- 1:54:52Und ich glaube, ich weiß gar nicht, was das für ein Engine ist.
- 1:54:54Sagen wir mal, er hätte jetzt eine Custom Engine geschrieben oder er hätte nicht
- 1:54:57damit gerechnet, dass das so ein Riesending wird.
- 1:54:59Er sagt, komm, ich mache mal hier ein kleines Übungsprojekt und ich mache das halt für Windows.
- 1:55:02Und plötzlich explodiert das an Erfolg. Erfolg und wenn ihr dann sagt,
- 1:55:07okay, jetzt mache ich das ja auch für Playstation, ist halt vielleicht überhaupt
- 1:55:09nichts darauf vorbereitet, weil er Lua benutzt hat und direkt X.
- 1:55:14Genau, da gibt es ja Porting-Studios, die machen das dann für einen,
- 1:55:17denen gibt man dann Geld und dann macht ihr das.
- 1:55:20Habe ich auch schon Erfahrungen mitgemacht, war nicht gut.
- 1:55:24Mit Porting-Studios meinst du?
- 1:55:26Muss ja mehr Geld geben, dann wäre es besser vielleicht.
- 1:55:29Also ja, obwohl es stimmt nicht ganz. Ich habe auch gute Erfahrungen gemacht.
- 1:55:33Also wir hatten einmal Xbox, ich glaube Xbox One damals noch war das.
- 1:55:38Nee, sogar Xbox 360 Portierung von Risen 1, glaube ich. Die haben wir outgesourced
- 1:55:43und noch eine weitere Portierung später.
- 1:55:45Das war schon ziemlich chaotisch. Das ging nach Frankreich auch.
- 1:55:49Und ja, das war nicht so doll.
- 1:55:52Aber wir haben auch gute Erfahrungen gemacht mit einer Portierung.
- 1:55:56Playstation 3 Portierungen, die haben wir auch nicht selbst gemacht,
- 1:55:58weil das auch, die Playstation 3 war auch ein ziemlicher,
- 1:56:03Schmerz und da hatten wir auch keine Leute mit Erfahrung und das hat,
- 1:56:07glaube ich, Black Forest Games für uns gemacht und da waren wir recht zufrieden
- 1:56:11mit, das haben die super hingekriegt.
- 1:56:12Ich glaube, man kann, also das war ein gutes Beispiel, wenn man da komplett
- 1:56:16unvorbereitet reingeht und gar auf nichts achtet und einfach,
- 1:56:19dann hat das vielleicht den Vorteil, dass man schneller beim PC dann ins Ziel
- 1:56:23kommt, aber dann hat man wahrscheinlich mehr Schmerzen bei der Portierung.
- 1:56:26Ich glaube, das ist so ein Vorurteil, den wir haben, dass wir das schon ein
- 1:56:29paar Mal gemacht haben, dass wir so grob wissen, was ankommt.
- 1:56:33Entschadet wurde jetzt auch für den PC entwickelt, weil wir uns gesagt haben,
- 1:56:36wir wollen, weil es ist halt langsamer.
- 1:56:38Also wenn man alles gleichzeitig nachziehen muss und man hat dann natürlich
- 1:56:42auch Leute, die das machen und nichts anderes machen.
- 1:56:45Also man hat gewisse Opportunitätskosten im Team, wenn man nicht sagt,
- 1:56:48wir machen jetzt all in alles nur PC.
- 1:56:50Und da haben wir uns dafür entschieden, das halt mit den Konsolen nachträglicher
- 1:56:53zu machen. Wobei wir auch vom Herzflut her immer eigentlich ein Konsolenstudio
- 1:56:58sind. Wir machen seit...
- 1:57:00Also, falls es Keen gibt und Neon davor, eigentlich hauptsächlich Konsolenspiele.
- 1:57:05Warte, ich habe bei Google einfach eingegeben in Shrouded und in diesen kleinen
- 1:57:07Seitennotizen, aber ich sehe gar nicht, woher die kommen.
- 1:57:10Woher kommt denn diese Info? Weil hier steht Plattforms, PlayStation 5 und so weiter.
- 1:57:14Übrigens ist noch nicht fertig.
- 1:57:16Eure Engine steht hier übrigens da, ne? Engine Holistic. Kann man sich angucken.
- 1:57:21Ich klicke mal drauf. Mal gucken, was hier dasteht.
- 1:57:23Ah, nee, okay. Jetzt kommt man einfach nur in eine Google-Suche,
- 1:57:27die nach Holistic sucht. Und da findet man alles Mögliche. Aber nicht Role Engine.
- 1:57:32Grüne Teeblätter und so.
- 1:57:33Ich weiß immer noch nicht, was das bedeutet, Holistik. Ich habe es schon dreimal
- 1:57:36gegoogelt und immer wieder vergessen.
- 1:57:38Eine Sache, die ich ganz interessant finde und die auch so ein bisschen ein
- 1:57:44Nachteil sein kann, wenn es um Custom Engine geht, das hatten wir in der ersten
- 1:57:46Folge auch schon besprochen, aber passt gerade ganz gut, und zwar die fehlende Dokumentation.
- 1:57:50Weil gerade, wenn man sich nochmal neu einarbeiten muss, dann gerade in diese
- 1:57:55ganzen Standardsachen kann man jetzt wunderbar Google Unity und Unreal und Godot,
- 1:57:59und das ist schön dokumentiert und so.
- 1:58:01Und da wollte ich jetzt Philipp mal fragen, wie ging es dir denn so?
- 1:58:03Weil du musstest dich jetzt einarbeiten in die Keen Engine und so.
- 1:58:08Und Julian kann ja ganz kurz mal kurz weghören, damit Philipp auch besprechen
- 1:58:13kann, wie das für dich war.
- 1:58:15Also ob das ein Problem für dich war, ob du dir gewünscht hättest,
- 1:58:18dass es mehr dokumentiert ist.
- 1:58:19Oder vielleicht ist ja alles super gut dokumentiert. Vielleicht gibt es auch
- 1:58:22ganz tolle Kommentare. Und wie lange hat das für dich so gedauert,
- 1:58:26bis du so das Gefühl hast, angekommen zu sein?
- 1:58:30Oder bist du überhaupt schon da oder vielleicht brauchst du ja auch noch,
- 1:58:33weil du bist ja jetzt erst in Anführungsstrichen fünf Monate da.
- 1:58:36Vielleicht kannst du so deinen Einstieg so ein bisschen erklären.
- 1:58:39Zum Besten geben?
- 1:58:40Also ich glaube, es ist ein Riesenunterschied, ob man als Programmierer oder
- 1:58:45als Artist da einsteigt.
- 1:58:48Also als Programmierer, ich bin nicht so ein großer Dokumentationsleser.
- 1:58:53Ich gucke mir meistens eh lieber den Code an. Bevor ich mir eine Dokumentation,
- 1:58:58durchlese, springe ich durch den Code, gucke hier, gucke da,
- 1:59:01springe da hin und schaue, wie es funktioniert und wie es abläuft.
- 1:59:06Da brauche ich keine Dokumentation. Klar, eine gewisse In-Code-Dokumentation,
- 1:59:10hier und da mal ein Kommentar und so weiter, das ist schon eine gute Sache,
- 1:59:12aber da ist eine Dokumentation eigentlich nicht wirklich wichtig. Richtig.
- 1:59:19Wenn man vielleicht nicht so viel Erfahrung hat, ist es vielleicht eine andere
- 1:59:23Geschichte, dass man da doch mehr Dokumentation braucht oder eher Tutorials im Internet.
- 1:59:30Aber das sehe ich schon auch als riesen Vorteil von den Lizenz-Engines,
- 1:59:33dass man einfach eine Knowledge-Base hat, auf die man zurückgreifen kann.
- 1:59:35Gerade jetzt auch, wenn es um Art geht.
- 1:59:38Wie macht man dies, wie macht man das? Ein bisschen googeln hier und rumsbums
- 1:59:42findet man irgendwo ein YouTube-Tutorial und das hat schon wirklich Vorteile in dem Moment.
- 1:59:50Als Programmierer, glaube ich, ist es nicht so essentiell. Also da ist es eher
- 1:59:54die Frage, wie ist der Code strukturiert?
- 1:59:58Findet man Konzepte wieder, die man selber schon kennt?
- 2:00:02Es gibt auch C++-Code, mit dem werde ich gar nicht warm.
- 2:00:06Also den kann ich überhaupt nicht lesen, so modern C++ oder so.
- 2:00:09Das ist für mich einfach, da kriege ich körperliche Schmerzen.
- 2:00:13Okay. Ja, weil jetzt bei Unchrouded ist es jetzt so, es ist anders als wir es
- 2:00:20gemacht hatten bei Piranha Byte, aber ja, ich komme klar, ich fühle mich so
- 2:00:24durch, es ist eben einfach viel, viel, viel Code,
- 2:00:28viele verschiedene Stellen, bis man da so einen groben Überblick drüber hat
- 2:00:32und so grob versteht, wie Abläufe sind und wie Sachen konzeptionell funktionieren
- 2:00:36und so weiter, da geht viel Zeit ins Land. Das ist nun mal so.
- 2:00:41Ja, ich finde, es gibt so zwei verschiedene Arten von Kommentarencode.
- 2:00:45So das eine ist natürlich, weiß ich nicht, wenn man jetzt irgendwie eine Zeile
- 2:00:48hat oder so zwei, drei Zeilen, dass man da so ein bisschen drüber beschreibt, was das ist.
- 2:00:51Und dann sagen auch manche, ja gut, ich kann mir den Code auch direkt angucken,
- 2:00:54da brauche ich nicht noch einen Kommentar.
- 2:00:55Aber manchmal finde ich es auch ganz praktisch, wenn man so oben in der Detail
- 2:00:59so einen globalen Überblick hat.
- 2:01:01Also zum Beispiel jetzt über dieses Voxel-System vielleicht bei euch,
- 2:01:04dass man so einen kleinen Abschnitt hat, der einfach mal so ganz grob erklärt,
- 2:01:08okay, was sind unsere Gedanken, wie funktioniert das so ganz grob,
- 2:01:11wo muss man so grob gucken, wenn man in irgendeine Richtung will oder sowas.
- 2:01:14Sowas kann ja vielleicht manchmal ein bisschen helfen. So, das High,
- 2:01:18wie heißt das? High System?
- 2:01:20Nee, High Design? Hoch Design?
- 2:01:22Ja, ich bin da, glaube ich, weniger statisch unterwegs immer,
- 2:01:26weil ich immer das Gefühl habe, das beste Design kommt ja erst noch.
- 2:01:30Also wir sind ja noch nicht fertig. Und es ist mir lieber, dann die Leute im
- 2:01:35Team zu haben und vorzuhaben, die den Kram geschrieben haben und denen ich fragen kann,
- 2:01:39hey, was hast du da gemeint und kann man das nicht vielleicht so machen und
- 2:01:42dann umbauen oder zu einem besseren nächsten Ding iterieren.
- 2:01:47Also ich habe das Gefühl, dass es vielleicht, klar, es ist nett,
- 2:01:51den Status Quo zu dokumentieren, aber das zurrt einen so ein bisschen auch fest.
- 2:01:57Ja, und es veraltet auch relativ schnell.
- 2:01:59Und es kostet Zeit, ja, und Dokumentation veraltet.
- 2:02:02Genau, und dann hat man eine falsche Dokumentation, was vielleicht sogar noch schlimmer ist.
- 2:02:06Das ist schlimmer als gar keine Dokumentation.
- 2:02:08Ja, aber es war auf jeden Fall interessant, so deine Perspektive,
- 2:02:11Philipp, zu sehen, so wie es sich so anfühlt, irgendwo reinzukommen.
- 2:02:15Und ich muss aus meiner Seite sagen, dass ich super happy bin,
- 2:02:18dass Philipp da ist, weil er ist einfach super schnell reingekommen im Vergleich
- 2:02:22zu vielen und super schnell sehr produktiv gewesen, also in der Zeit.
- 2:02:27Das merkt man ja auch, dass er die Erfahrung hat. Und das macht mich auch vielleicht
- 2:02:30auch ein bisschen stolz, dass Leute von außen reinkommen und nicht schreiend
- 2:02:33weglaufen, wenn sie Cookbase sehen, wo wir das vorhin hatten.
- 2:02:36Also da legen wir schon Wert drauf.
- 2:02:39Natürlich hat jedes Team so seine eigenen Prioritäten und Präferenzen und so,
- 2:02:45aber dass wir schon versuchen,
- 2:02:46da konsistent zu sein und wenig Überraschungen ist so ein bisschen die Hauptprämisse
- 2:02:52bei uns, dass wir wirklich versuchen, einen möglichst langweiligen Code zu schreiben.
- 2:02:56Du hattest es, Julian, eben schon kurz erwähnt, dass quasi die etwas problematische
- 2:03:02Situation der Branche, also aka viele Leute werden gefeuert,
- 2:03:06den Vorteil hat, dass ihr euch jetzt so ein bisschen auch rauspicken konntet, wer kommt und so.
- 2:03:10Aber es war auch eine Frage von Timo, dass du gesagt hattest in der ersten Folge
- 2:03:14von uns, dass es halt ein bisschen weniger vielleicht auf die Technologien ankommt, aber mehr aufs Team.
- 2:03:20Und er sagt auch, ja, stimme ich auch zu, ist auch meine Erfahrung.
- 2:03:24Aber wie schafft man so ein Team? Also wie?
- 2:03:26Es ist ja, finde ich, auch sehr, sehr beeindruckend, wie man ein gutes Team
- 2:03:31aufbaut. Weil vor allem am Anfang.
- 2:03:34Beim Bewerbungsgespräch, man weiß ja noch gar nicht so richtig,
- 2:03:36passt die Person wirklich gut ins Team?
- 2:03:39Und ihr habt ja anscheinend ein Erfolgskonzept, weil die Leute bleiben ja auch
- 2:03:43super lang bei euch. Was ist das Geheimnis?
- 2:03:46Weiß ich nicht. Das ist ein Thema, was mich sehr interessiert tatsächlich,
- 2:03:49mehr und mehr in der Vergangenheit, auch weil ich jetzt auch ein bisschen mehr
- 2:03:52in der Leitungsrolle unterwegs bin und auch viele Bewerbungsgespräche geführt
- 2:03:57habe und versucht habe, den richtigen Leute zu finden, die wir gut integrieren können in dieses Team.
- 2:04:03Und das ist ja auch, ja, es geht darum, dass man sich wohlfühlt,
- 2:04:06aber es geht, glaube ich, auch darum, dass man noch hungrig ist so ein bisschen
- 2:04:09oder ein bisschen versucht, halt die Qualität hochzuhalten und ein bisschen
- 2:04:12versucht, vorwärts zu gehen und, ja, so eine gesunde Mischung dazu haben aus,
- 2:04:17schon cozy und entspannt, aber auch doch eher ernsthaft dabei,
- 2:04:21ja, und sagen, okay, das ernst nehmen, diese Aufgabe.
- 2:04:25Ich habe kein Geheimrezept, nee, kann ich dir leider nicht sagen.
- 2:04:28Also bisher, ich glaube, da sind Es sind viele Leute dabei, die schon lange
- 2:04:33dabei sind, die wirklich ihren Job ernst nehmen und das versuchen,
- 2:04:38das Beste zu machen mit den Möglichkeiten. Und ich glaube, das ist ein bisschen ansteckend.
- 2:04:42Also ich weiß nicht, ob Philipp da vielleicht ein Perspektiv hat von außen.
- 2:04:45Ich bin ja einfach da schon so lange dabei.
- 2:04:48Aber ich glaube nicht, dass wir ein Geheimrezept haben.
- 2:04:50Oder wie ihr damals auch bei euch bei Piranha Bytes vielleicht geheim.
- 2:04:53Ja, also was das angeht, muss ich sagen, ist es bei Kien schon,
- 2:04:58was jetzt, also man hat schon das Gefühl, dass man gut aufgehoben ist und so.
- 2:05:05Also ich weiß nicht, das war bei Piranha Bytes teilweise war schon auch ein bisschen, ja...
- 2:05:11Ich weiß nicht, schwierig zu sagen, aber es gab so eine ganz spezielle Atmosphäre
- 2:05:18da, die irgendwie manchmal, also bei uns gab es immer einen Spruch,
- 2:05:21das größte Lob, was man bei Paranerballs kriegt, ist, es ist nicht ganz scheiße.
- 2:05:25Der Ropert-Charme so ein bisschen.
- 2:05:27Genau, und der zog sich auch durchs Team und das hatten wir.
- 2:05:31Leute, die schon lange da waren,
- 2:05:32die kannten das, die haben das alles verstanden und das war in Ordnung.
- 2:05:35Wir hatten aber auch Leute teilweise mal aus der Schweiz, hatten wir mal einen
- 2:05:39da, aus Österreich hatten wir glaube ich auch mal einen. Die sind teilweise
- 2:05:43damit überhaupt nicht klargekommen.
- 2:05:44Das war dann irgendwie zu laut, zu wild, zu asozial. Ich weiß es nicht.
- 2:05:53Also es war schon irgendwie vom Klima her speziell.
- 2:05:58Es hat sich dann aber auch hinterher auch stark gewandelt.
- 2:06:01Also das waren wirklich die ganz alten Zeiten, da wurde auch im Büro geraucht
- 2:06:07und Pizza-Kartons, wir hatten Mäuse, die durchs Büro gelaufen sind,
- 2:06:11die wieder Mülleimer eingefangen haben, weil es war einfach ein bisschen sehr chaotisch alles.
- 2:06:16Ist aber professioneller geworden mit der Zeit und jetzt zum,
- 2:06:19die letzten zehn Jahre war es auch eigentlich alles ziemlich,
- 2:06:25ja, ziemlich cool und die Leute sind auch alle recht gut klargekommen.
- 2:06:30Also klar ist auch immer nur eine persönliche Frage, ob man ins Team passt oder
- 2:06:35nicht. Da gehört immer auch das Team als auch das Individuum dazu.
- 2:06:39Manchmal funktioniert es eben einfach nicht, aber in der Regel hat sich das
- 2:06:44schon ganz gut alles mal eingespielt.
- 2:06:46Ja, ich habe noch eine Frage, wie verführerisch das eigentlich ist,
- 2:06:51immer neue Sachen zu implementieren.
- 2:06:53Aber vorher wollte ich noch eine Sache fragen.
- 2:06:56Und zwar habe ich ein, genau, Philipp, ich habe ein Interview mit dir gefunden.
- 2:07:01Jetzt muss ich gucken, wo ist denn das?
- 2:07:03Das war, da war die Frage, was für ein Feature hättest du Lust einzubauen und
- 2:07:10da gab es irgendwie keine Antwort.
- 2:07:13Warte, ich gucke mal, ob ich das hier noch finde.
- 2:07:17Und dann dachte ich so, hä, aber da gibt es doch bestimmt Wünsche.
- 2:07:20Naja, gut, aber es ist ja auch nicht unbedingt ein Wunschkonzert und da muss
- 2:07:23ich Julian ja recht geben. Es ist immer eine Frage der,
- 2:07:28also, es geht ja nicht darum, was ich für Features gerne einbauen will am Ende des Tages.
- 2:07:34Also, das kann ich so sagen, für mich persönlich finde ich immer super cool,
- 2:07:38wenn halt ein Artist auf mich zukommt, Jonas zum Beispiel wieder,
- 2:07:41ein Environment Artist, und sagt, hey, könnten wir dich mal das hier machen? Das fände ich cool.
- 2:07:46Und dann kann ich ihm das einbauen und dann sehe ich, er benutzt halt an allen
- 2:07:50Ecken und Enden das Feature und das wird richtig coole Ergebnisse.
- 2:07:54Ein Beispiel, das so ein bisschen organisch so gewachsen ist,
- 2:07:59ist die Deko-Objekte in Entrouded.
- 2:08:00Also wir haben, das soll ich jetzt gar nicht vertiefen, aber wir haben,
- 2:08:03wollten halt nicht diesen Minecraft-Look haben, dass halt die Voxel so super hartkantig sind und so.
- 2:08:09Und in Portnights hatten wir dann auch schon was versucht oder was gemacht,
- 2:08:13was da auch ganz cool aussah, so ein bisschen abgerundet, ein bisschen gebabbelt und mit Texturkanten.
- 2:08:17Und das haben wir jetzt in den Schaudern dann nochmal weitergetrieben,
- 2:08:21dass wir halt wirklich an den Kanten dynamisch abhängig von den Wachstüllen
- 2:08:26in der Umgebung mit gewissen Regeln sogenannte Deko-Objekte spawnen, und zwar live.
- 2:08:32Ähm, das heißt, es passiert auch zur Laufzeit, wenn du, wenn man selbst was
- 2:08:35baut, dann werden die, werden die auch gespawnt und, ähm, das ist so ein Ding,
- 2:08:40was, was super cool ist, ja, so ein Feature einzubauen, wo man sagt, hey,
- 2:08:43weiß nicht mehr genau, wer die originale Idee hat, aber das,
- 2:08:46das, da hat man mitgeholfen, das zu machen und das ist halt zu was Größerem
- 2:08:49geworden, also zum richtig coolen Feature am Ende im Spiel, ja.
- 2:08:54Das coolste Feature in Wanderer oder so bringt ja nichts, wenn das niemand dann
- 2:08:57auch wirklich ausfährt mal.
- 2:08:59Das macht schon mir am meisten Spaß, wenn man sieht, das wird auch wirklich
- 2:09:04angenommen und kommt am Ende im Spiel an.
- 2:09:08Genau, ich habe es gefunden, worldofrisen.de. Das war gar nicht nur auf Engine-Features
- 2:09:13bezogen, sondern was würdest du gerne mal im Spiel sehen? Da gibt es keine Antwort.
- 2:09:17Das heißt, du hast schon alles gesehen.
- 2:09:19Liegt auch daran, weil ich selber nicht spiele.
- 2:09:21Wie?
- 2:09:21Das ist, ja, weiß ich auch nicht.
- 2:09:25Also ich meine gut, wenn man fernab davon, dass ich mit meinen Kindern ganz
- 2:09:31gut, also mit Job und Kindern und so ganz gut bedient war.
- 2:09:35Jetzt sind meine Mädels groß, sie sind jetzt schon 19 und 17,
- 2:09:38von daher ist das jetzt nicht mehr ganz so viel Zeitaufwand.
- 2:09:41Ja, aber, ähm, ja, weiß ich nicht, es ist irgendwie alleine mich da hinsetzen
- 2:09:47und zu spielen, das war noch nie so mein Ding, ich hab mit Freunden gerne gespielt,
- 2:09:51ähm, aber dann oft so Sachen wie Tony Hawk oder ganz früher auch,
- 2:09:55äh, die Klassiker wie Tom Brady und Final Fantasy 7 und so'n Zeug und natürlich
- 2:10:01auf dem Amiga, aber irgendwann hab ich, äh, ja, keine Zeit mehr dafür,
- 2:10:05weil meine Frau ist jetzt auch nicht so die Zockerin, ähm, und, ähm,
- 2:10:10toll, ergibt sich das eben nicht so, So, das ist eben, außerdem sitze ich,
- 2:10:13wenn ich spiele, immer davor und denke mir so, wie haben sie dies gemacht.
- 2:10:16Wie haben sie das gemacht?
- 2:10:17Wie sieht das denn aus? Ach, guck mal, den Fehler da. Also das macht dann auch
- 2:10:20nicht so unglaublich viel Spaß.
- 2:10:23Das ist Berufskrankheit, dass man so dekonstruiert.
- 2:10:28Okay, ja, spannend. Ja, außerdem ist ja,
- 2:10:31Vielleicht Spiele machen ist ja auch eine Art Spielen, also man hat ja andauernd
- 2:10:36Probleme zu lösen, wie in einem Spiel muss man auch dauernd Probleme lösen. Ich merke das auch.
- 2:10:40Dass das Leben ist ein Spiel.
- 2:10:41Dass das Spiele machen halt auch einfach eine sehr spannende und teilweise auch
- 2:10:45sehr befriedigende Sache ist und ja, interessant, aber dass du an sich ansonsten
- 2:10:51gar nicht so reinspielst.
- 2:10:52Ja, ab und zu spiele ich mal was, aber nicht so exzessiv.
- 2:10:57Dann auch meistens, was habe ich letztens gespielt, wie hieß das denn nochmal
- 2:11:00gleich hier, das ist auch so ein Pixel-Spiel auf der Playstation,
- 2:11:03das du mit Kollegen spielen kannst. Broforce.
- 2:11:07Ja, sowas dann. Das ist eben einfach zum Spaß.
- 2:11:11Ich spiele tatsächlich relativ viel jetzt wieder. Ich habe ein bisschen reingekommen.
- 2:11:15Ich habe lange kompetitiv World of Warcraft gespielt. Da bin ich zum Glück weg von.
- 2:11:20Und mittlerweile spiele ich auch mit meinen Frauen und Freunden halt so alles Mögliche.
- 2:11:25Also wir haben wie Rising jetzt gespielt und ich gespielt und wir spielen jetzt
- 2:11:29Helldivers 2, weil ganz viele Leute meinten, dass wir immer ganz cool sind.
- 2:11:35Das guckt man dann gerne so Spiele mal an. Aber auch immer mit anderen zusammen.
- 2:11:39Ah, okay, okay. So, jetzt muss ich hier mal reingucken. Ah, genau.
- 2:11:43Das war die Frage, was du gerne mal in einem Spiel sehen würdest.
- 2:11:46Aber ich hatte mich auch gefragt.
- 2:11:48Also, ja, ich weiß, es gibt natürlich Gründe, warum man priorisieren muss und so weiter und so weiter.
- 2:11:53Aber, Julian, du hast eben gesagt, dann kommt jemand, hat eine coole Idee und
- 2:11:57manchmal juckt es einen ja auch in den Finger Und man denkt so,
- 2:11:59ey, das ist eine echt coole Idee.
- 2:12:01Boah, da habe ich jetzt gerade echt mehr Lust drauf, als Feature XY hier einfügen zu machen oder so.
- 2:12:07Weil manchmal hat man vielleicht da Bock oder sieht da eine Challenge oder so
- 2:12:11und dann überkommt es einen vielleicht.
- 2:12:13Und da habe ich mich gefragt, ob das...
- 2:12:16Durchaus doch schon mal verführerisch ist, weil gerade wir leben jetzt in Zeiten,
- 2:12:19das habt ihr ja vorhin auch gesagt, Internet, wo halt dauernd auch coole Talks rauskommen.
- 2:12:23Ich erinnere mich da zum Beispiel an die, genau, da habe ich mich dran erinnert,
- 2:12:27ich habe die Wolken gesehen in,
- 2:12:30Trouted und die sind auch so volumetrisch und so und da habe ich mich erinnert,
- 2:12:33es gab da diesen fantastischen Talk von Horizon Zero Dawn, wie sie ihre Wolken
- 2:12:37gemacht haben und ich könnte mir vorstellen, dass wenn du das siehst,
- 2:12:40dass du dann denkst so, hm.
- 2:12:43Naja, da haben wir uns gut eingeguckt.
- 2:12:45Da hätte ich jetzt auch Lust. Oder zum Beispiel das Night-Night-Feature in Unreal,
- 2:12:48als das dann rauskam, könnte man ja auch überlegen, das ist ja auch eine schöne, spannende Sache.
- 2:12:54Und kribbelst dein da nicht so auch mal ein bisschen? Aber ihr habt volle Kontrolle.
- 2:12:58Muss ich gestehen, habe ich sogar gemacht.
- 2:13:00Ja, genau. Das macht man ja auch. Ja und nein.
- 2:13:04Also privat, wenn ich Zeit hätte, würde ich alles machen.
- 2:13:09Ich würde alles gerne privat machen. Aber personell muss man oder würde ich
- 2:13:14immer gucken, macht das jetzt Sinn? Ist das etwas, was uns weiterbringen kann?
- 2:13:19Nein, nein, das ist auf jeden Fall interessant, sich anzugucken.
- 2:13:21Ich glaube, sie lösen Probleme,
- 2:13:22die wir jetzt so in Entschauung nicht haben, weil wir ja einfach,
- 2:13:25der Fokus bei Entschauung ist ja einfach diese veränderbare dynamische Welt
- 2:13:29und das ist etwas, was sehr schwer ist mit Nenite, weil Nenite einfach einen
- 2:13:32relativ langen Pre-Processing-Step braucht,
- 2:13:36um die LOD-Hierarchie aufzubauen,
- 2:13:40und das ist das, was jetzt uns helfen würde.
- 2:13:42Also wir haben LOD-Probleme in der Schau noch, wir arbeiten auch da dran,
- 2:13:46aber das ist nicht der Weg dafür, um das zu erzielen.
- 2:13:50Aber sich so beschäftigen mit den Themen, wie haben die das gelöst, was für.
- 2:13:57Einschränkungen gibt es mit der Technik und was nehmen die in Kauf,
- 2:14:00um andere Sachen zu kriegen, das ist sehr interessant, auf jeden Fall.
- 2:14:04Und da gibt es ja auch gerade Nenner, da gibt es eine hervorragende Präsentation,
- 2:14:08kann ich nur jedem empfehlen, der sich dafür interessiert.
- 2:14:11Und Und auch Lumen oder so, das sind auch sehr interessante Weiterentwicklungen,
- 2:14:19würde ich sagen, generell.
- 2:14:20Aber es ist halt vielleicht aus Spielerperspektive oft nicht so klar, dass das,
- 2:14:26Das ist immer ein Kompromiss, das ist immer ein Trade-off. Also die machen Sachen
- 2:14:30sehr, sehr gut, aber nehmen in Kauf, dass sie halt ein Pre-Processing-Step brauchen
- 2:14:35zum Beispiel und sind deswegen nicht dynamisch.
- 2:14:37Also es gibt dann immer etwas, was nicht so gut damit funktioniert.
- 2:14:41Und das muss halt passen auf das, was man machen will.
- 2:14:43Habt ihr irgendwie dicke, fette Fails im Kopf, wo ihr mal irgendwas gemacht
- 2:14:49habt, wenn so Engines irgendeine Entscheidung getroffen habt,
- 2:14:51wo ihr dann am Ende sagt, das war nicht gut, das war keine gute Idee.
- 2:14:58Irgendwie was implementiert, was dann gar nicht funktioniert oder was ganz schlimm war.
- 2:15:01Ich meine, genau, Philipp hat das eben schon erzählt mit der Mittelwert,
- 2:15:06die dann plötzlich delezensiert wird irgendwie.
- 2:15:09Aber so Sachen sind ja auch mal schön zum Lernen.
- 2:15:11Generell würde ich sagen, wenn man das nicht hat, dann hat man,
- 2:15:13glaube ich, nicht hart genug versucht. Also, weil ein bisschen Fail gehört dazu.
- 2:15:20Wir haben mal Scaleform geschippt. Ich glaube, im letzten den Podcast haben
- 2:15:24wir ein bisschen drüber geredet.
- 2:15:26Also Portal Knights ursprünglich als Galeform benutzt und das hat sich dann
- 2:15:29später aus verschiedenen Gründen herausgestellt, dass es keine so gute Idee war.
- 2:15:33Aber vielleicht doch als eigenverschuldetes.
- 2:15:35Ja, ich bin auch dabei. Ich wollte noch ausruhen.
- 2:15:38Das kommt doch.
- 2:15:38Weil tatsächlich habe ich mich dann, ich glaube, ein paar Wochen oder sogar
- 2:15:42ein paar Monate, zwei Monate hingesetzt und habe versucht, den ActionScript
- 2:15:455-Code komplett zu parsen und nach C++ zu konnotieren, automatisiert.
- 2:15:50Weil ActionScript war die Skriptsprache für Galeform.
- 2:15:52ActionScript war die Skriptsprache, mit der der quasi in Scaleform durch UI geskriptet wurde.
- 2:15:56Scaleform ist ja Flash.
- 2:15:58Genau, und ich dachte, hab mir halt die Spec durchgelesen von der Sprache und
- 2:16:02dachte, so schwer ist es jetzt nicht aus. Hat auch einen Parser, mit dem ich es komplett,
- 2:16:08einlesen konnte am Ende und hab auch angefangen, das rauszuschreiben.
- 2:16:12Aber im Nachhinein war das eine ziemlich scheiß Idee, das so zu machen und die
- 2:16:15Zeit hätte ich mir sparen können.
- 2:16:17Aber es war, keine Ahnung, ob das jetzt ein gutes Beispiel ist für das,
- 2:16:19was du meinst, aber das war so ein,
- 2:16:22Im Nachhinein ein Fail, würde ich sagen.
- 2:16:23Aber hat es funktioniert?
- 2:16:26Zum Glück habe ich es nicht bis zum Ende entwickelt. Aber es wäre einfach auch
- 2:16:29keine, nicht die richtige Strategie gewesen am Ende. Also die Lösung wäre einfach...
- 2:16:33Aber das gehört, glaube ich, zum Programmieren einfach dazu,
- 2:16:35dass man auch mal Sachen probiert.
- 2:16:37Dass man Sachen probiert und dass man auch mal Zeit verschwendet,
- 2:16:42weil man weiß vorher nicht, ob es funktionieren kann oder nicht.
- 2:16:46Manchmal, und wenn man es nicht probiert, dann ich glaube, das ist das Falschste,
- 2:16:51was du machen kannst, so konservativ da rangehen und sagen, ach,
- 2:16:53das wird eh nicht funktionieren.
- 2:16:55Also ich meine, so nimmt man sich ja, so werden ja die guten,
- 2:17:00großen Features entwickelt, indem man sich eigentlich was vornimmt,
- 2:17:04von dem alle sagen, nö, das geht nicht.
- 2:17:08Das sind so Dinge wie das, was jetzt auch Loom oder Nanite oder so,
- 2:17:12das sind ja auch so Dinge.
- 2:17:14Deswegen hat Unreal damit ja am Ende des Tages auch so einen Hype erzeugt,
- 2:17:19weil die auch auch mit als Erste fast hingekriegt haben, sowas zu machen und
- 2:17:27für die breite Masse benutzbar zu machen am Ende des Tages.
- 2:17:29Und das ist, klar, es kommen jetzt natürlich immer noch andere Möglichkeiten,
- 2:17:34Global Elimination zu machen und so weiter, aber das ist schon,
- 2:17:39muss man schon Respekt zollen.
- 2:17:41Ja, das ist ein gutes Beispiel, das Nenadpapier, ich habe es gerade mal verlinkt.
- 2:17:44Wie gesagt, würde ich jedem empfehlen.
- 2:17:45Das ist auch zur Hälfte einfach eine Beschreibung von allen Sachen,
- 2:17:49die er versucht hat, die nicht funktioniert haben.
- 2:17:52Okay.
- 2:17:53Und das ist, glaube ich, anders geht es nicht.
- 2:17:56Man kommt, glaube ich, da nicht deutlichen Schritt weiter, ohne eine ganze Menge
- 2:18:01Pfade mal zu versuchen und die nicht klappen.
- 2:18:06Was jetzt auch ganz gut passt, und zwar ich putze jetzt hier mal einen Thread.
- 2:18:10Der ist wiederum auch, es geht um einen Thread im Epic Forum,
- 2:18:14wo User getestet haben, wie die Performance ist von Nenad versus konventionelle
- 2:18:20Workflows, also normal LODs und so.
- 2:18:22Und dann feststellen, dass Nenad gar nicht so geil ist, wie Epic teilweise schreibt,
- 2:18:26dass sie halt mit normalen Meshes und ein paar LODs durchaus bessere Ergebnisse kriegen.
- 2:18:32Aber das ist, man kann natürlich auch, wenn man ein System,
- 2:18:37also ich sag mal, wenn man Nenner nimmt und das ein System ist,
- 2:18:40was darauf ausgelegt ist, ultra hoch aufgelöste Meshes zu rendern,
- 2:18:44mit 5 Millionen, 10 Millionen Triangles jetzt.
- 2:18:51Und dann geht man hin und macht mit demselben System, was darauf ausgelegt ist,
- 2:18:54einen Test, wo man dann irgendwie 10 Millionen Boxen rendert,
- 2:18:58die dann alle einzelne Boxen, dann ist das natürlich nicht toll,
- 2:19:02weil das System ist nicht dafür gemacht.
- 2:19:04Man kann mit einem 1-Auto auch nicht schneller beim Aldi einkaufen fahren,
- 2:19:08als mit einem Opel Astra. Das ist halt immer die Frage, was man damit tut.
- 2:19:13Ja, was ganz schön bei dem Thread ist, die haben das alles sehr organisiert,
- 2:19:17da kann man direkt zu dem...
- 2:19:17Aber ich kenne den Zwerg nicht, also ich weiß nicht.
- 2:19:19Ob ich da jetzt... Ich kenne ihn, ich habe ihn schon, ja, habe schon gelesen.
- 2:19:24Also, was ich einfach noch interessant daran finde, ist, wenn...
- 2:19:27Also, Epic hat ja sehr viel investiert in diese Nenner-Technologie und hat vielleicht
- 2:19:31jetzt auch ein, sagen wir mal, wirtschaftliche Motivation, das zu pushen.
- 2:19:37Das Team ist relativ klein. Also, was sehr viel investiert, ja, weiß ich nicht.
- 2:19:42Ja.
- 2:19:42Zwar nicht so teuer wie ein paar Acquisitions, die sie gemacht haben. Aber gut, ja.
- 2:19:49Meine Theorie wäre jetzt nur so, die haben jetzt vielleicht eine wirtschaftliche,
- 2:19:53Motivation, das so ein bisschen zu pushen, weil es ein cooles Feature ist,
- 2:19:55keine Ahnung, jetzt benutzt das alle mal bitte.
- 2:19:57Und vielleicht ist dann eben die Kommunikation darüber nicht so ehrlich,
- 2:20:00wie sie jetzt zum Beispiel intern bei euch sein würde.
- 2:20:03Wenn ihr jetzt ein Feature entwickelt und dann stellt man fest,
- 2:20:05ah, das ist gar nicht so super, dann würdet ihr euren Artist vielleicht erzählen,
- 2:20:08ja, macht's vielleicht so und so, das ist noch ein bisschen schneller.
- 2:20:13Während jetzt hier das Problem, soweit ich das weiß, bei dem,
- 2:20:15bei dem Thread ist, dass Epic die ganze Zeit so ist, ja, benutzt alle Nenner,
- 2:20:19das ist die neue Super-Technik und.
- 2:20:31Aber ich glaube, dass Brian Karras, also der Erfinder von Nanite oder der Ingenieur,
- 2:20:37das gemacht hat, würde jetzt nicht sagen, dass der sagt, macht jetzt euer Vampire Survivors mit Nanite.
- 2:20:44Aber das ist natürlich irgendwie, dafür ist es nicht gedacht.
- 2:20:47Also dafür ist es auch nicht gemacht und nicht optimiert für.
- 2:20:50Und wie gesagt, es kommt aufs Spiel an. Wenn man, man kann mit Nanite wahrscheinlich
- 2:20:55zur Zeit Sachen machen, die man nur schwer anders machen kann.
- 2:20:59So, und wenn man das, dann muss man das aber auch machen.
- 2:21:03Dafür muss man dann auch die Assets liefern, die hoch aufgelöst sind.
- 2:21:07Dann muss man die Assets liefern, dann muss man die Asset-Pipeline dafür haben,
- 2:21:10dann muss man auch das Spiel dafür haben und so weiter.
- 2:21:13Und dann kann man das richtig ausfahren, das Ding, und dann kommt auch keiner hinterher.
- 2:21:18Oder ich meine, es ist ja auch kein Hexenwerk, man kann das auch nachbauen.
- 2:21:23Philipp hat das ja auch gemacht und andere Leute, Andor Remedy oder andere Leute haben das auch gemacht.
- 2:21:28Es ist jetzt nicht mit der Open-Source-Implementierung mittlerweile.
- 2:21:31Das ist jetzt auch nicht so, dass das ein uneinholbarer Riesenvorsprung wäre,
- 2:21:35aber man muss halt dann, das muss passen.
- 2:21:37Das Werkzeug muss zu der Aufgabe passen, die man da vor sich hat.
- 2:21:42Und, okay, so ein bisschen allgemeinere Frage noch von Timo.
- 2:21:47Sagen wir mal, morgen gehen die Server kaputt und alles ist weg.
- 2:21:51Von euch jetzt, von der Engine, die ganze Engine ist weg. Würdet ihr,
- 2:21:55wenn ihr jetzt nochmal ganz von vorne anfangen müsstet, von null,
- 2:21:58Ich wollte erst mal Herzinfarkt kriegen.
- 2:22:00Nee, aber alles gut, Entfaudet ist fertig, 1-0 ist released,
- 2:22:04alle sind happy, aber aus irgendeinem Grund ist der Server plötzlich weg.
- 2:22:08Und jetzt ist also die Frage im Grunde, würdet ihr, wenn ihr jetzt nochmal ganz,
- 2:22:12ganz, ganz, ganz, ganz von Null anfangen müsstet für ein Spiel mit einem Engine,
- 2:22:16würdet ihr dann trotzdem sagen, nö, das ist schon okay, weil,
- 2:22:19also eine Sache ist ja, es ist ja...
- 2:22:22Also man braucht ja eine sehr lange Zeit, um so eine Engine von Grund auf aufzubauen
- 2:22:25erstmal, ne? Und würdet ihr das einfach nochmal machen?
- 2:22:29Oder würdet ihr dann in diesem speziellen Extremfall sagen, so ach, weißt du...
- 2:22:32Also, da gibt's zwei Antworten. Also, falls Philipp anfangen will.
- 2:22:36Ich fang mal an. Zwei Antworten. Das eine ist persönlich.
- 2:22:38Ich persönlich arbeite einfach grundsätzlich nicht mit Third-Party-Engines.
- 2:22:42Das kann ich mir nicht vorstellen. Für mich persönlich.
- 2:22:46So, und das Team, was auch immer dann nach diesem Serverschritt noch da bleibt
- 2:22:49und nicht frustriert woanders hingegangen ist, das sollte sich wahrscheinlich
- 2:22:53dann zusammensetzen und überlegen, was man jetzt macht.
- 2:22:56Ich glaube, die Perspektive wäre schon, dass man zum gleichen Stand deutlich
- 2:23:00schneller kommen kann, weil viel ist natürlich nicht das Abtippen des Codes,
- 2:23:04sondern viel ist Konzepte ausprobieren, die funktionieren oder nicht funktionieren.
- 2:23:09Und ich hoffe, dass man das meiste noch erinnert, wobei nicht alles in allen
- 2:23:13Details, aber so die groben Züge,
- 2:23:16weil wir jetzt hoffen, dass nicht auch die Gedächtnisse gelöscht sind,
- 2:23:18dann kann man glaube ich deutlich schneller, als wir das jetzt beim ersten Mal
- 2:23:22gemacht haben, zu einem ähnlichen Stand kommen. Aber es ist ein nennenswertes Investment.
- 2:23:27Also es ist jetzt nicht völlig klar. Und das habe ich auch im ersten Podcast schon gesagt.
- 2:23:31Es kommt halt darauf an, wo man startet. Ist man jetzt wie wir ein Studio,
- 2:23:35was schon eine Engine hat?
- 2:23:36Oder ist man ein neues Studio, was sich zusammensetzt im Keller und hat vor,
- 2:23:42ein geiles Spiel zu machen?
- 2:23:43Dann können die Ergebnisse von so einer Entscheidung durchaus anders aussehen.
- 2:23:47Es gibt ja noch so eine Zwischenlösung. Man könnte ja auch zum Beispiel Godot
- 2:23:51nehmen und die komplett einfach umbauen, aber da hat man zumindest schon mal
- 2:23:56eine Basis. Wäre das eine ganz kleine für dich?
- 2:23:59Ja, könnte sein. Also ich meine, Claybook zum Beispiel ist auch so ein Spiel,
- 2:24:03was auch der Unreal ist offiziell, aber sie haben das komplette Rendering selber gemacht.
- 2:24:07Und auch die Physik und Kollisionen und alles. Und die haben Unreal am Ende
- 2:24:10nur als Container benutzt, um Cross-Plattform-Grafik-Programme machen zu können.
- 2:24:15Klar, sowas kann man auch machen.
- 2:24:18Dafür gibt es aber auch Game Frameworks Das ist dann Vielleicht ein bisschen
- 2:24:23weniger Overhead Claybook?
- 2:24:25Hier steht Developer Second Order War.
- 2:24:30Das nicht so ein Distance-Field-Ding oder was? Ja, doch, ne?
- 2:24:33Sowas reizt mich halt am meisten Mich reizt halt Ein bisschen anders machen
- 2:24:38Deswegen finde ich jetzt auch Unshadow ganz cool Ich.
- 2:24:43Habe gerade Claybook gepostet, ist das das? weil da steht Pub Developer Second
- 2:24:48Order, war das dann so ein Code-Development oder so?
- 2:24:51Das ist nicht von mir, ich meinte nur, das wäre so ein Beispiel Achso!
- 2:24:54Ein Spiel, was Unreal benutzt, aber tatsächlich eigentlich komplett alles selber
- 2:24:59gemacht hat also alles Entscheidende, die haben den Input nicht selber gemacht
- 2:25:03und den Sound, aber die haben komplett Grafik und Physik und so selber gemacht.
- 2:25:07Okay, und Philipp, was wäre deine Antwort, wenn jetzt morgen der Server kaputt geht?
- 2:25:12Also ich glaube, es gibt da zwei Seiten. Es gibt natürlich auf der einen Seite
- 2:25:16das, was jetzt Job und Firma angeht und so weiter.
- 2:25:20Da gibt es natürlich jede Menge strategische Gedanken, die man sich da machen
- 2:25:24muss. und auf der anderen Seite gibt es natürlich die persönliche Sache,
- 2:25:29also hat man da Bock drauf.
- 2:25:32Also ich hätte auf jeden Fall Bock darauf, irgendwie von scratch irgendwas,
- 2:25:38eine coole Engine zu entwickeln.
- 2:25:40Natürlich, das ist eine coole Sache.
- 2:25:44Also vor allem, weil man die Möglichkeit hat, ja, bestimmte Sachen irgendwie so zu machen.
- 2:25:52Also ich habe ja vorhin gesagt, sagt man, man schleppt häufig auch eben einfach
- 2:25:55alle Lasten mit sich rum.
- 2:25:56Man hat viele Sachen, mit denen man eigentlich gar nicht glücklich ist,
- 2:26:00die man nicht ändern will oder kann oder das zu aufwendig wäre oder jetzt keine
- 2:26:04Zeit dran stecken will und dann schleppt man die mit rum und ärgert sich darüber
- 2:26:08und so Sachen dann eben irgendwie,
- 2:26:11from scratch zu machen und ja,
- 2:26:14mit den Erfahrungen, die man schon gesammelt hat, irgendwie neue,
- 2:26:18coole Designs und Philosophien sich zu überlegen und so, das ist Klar,
- 2:26:22das ist cool. Da hätte ich natürlich schon Bock drauf.
- 2:26:25Es gibt nichts Cooleres, als eine neue Engine mit einem neuen Spiel anzufangen.
- 2:26:28Das ist schon weißes Papier.
- 2:26:31Wenn jetzt jemand fragt, wie lange dauert es denn denn?
- 2:26:34Also wir fangen gerade fresh an und ihr müsstet jetzt evaluieren,
- 2:26:38das Spiel, weiß ich nicht, dauert für mich erst zwei Jahre Entwicklungszeit oder drei oder so.
- 2:26:42Und jemand fragt, wie lange dauert es jetzt extra, noch die Engine parallel
- 2:26:46zu entwickeln? Also das finde ich ja schon eine ganz.
- 2:26:49Ganz spannende die ehrliche Antwort ist, wie immer, es kommt drauf an es kommt
- 2:26:54drauf an, machst du jetzt ein Prozedural-Spiel, so ähnlich wie Portal Knights,
- 2:26:58wo man nicht viel Tools braucht,
- 2:27:00vielleicht sondern viel Runtime ist und man vielleicht auch schon ganz viel
- 2:27:05Art vorproduzieren kann,
- 2:27:08und previewen kann in externen Tools oder Engines dann kann ein Teil des Teams schon loslegen,
- 2:27:14quasi, mit Sachen machen, die produktiv sind fürs Spiel. Man muss halt identifizieren,
- 2:27:19welche Sachen brauchen wir möglichst schnell, damit andere Leute im Team dann
- 2:27:23auch produktiv werden können.
- 2:27:24Also, damit man möglichst schnell Gameplay hat.
- 2:27:27Und dann ist Grafik wahrscheinlich eher sogar weiter hinten.
- 2:27:30Wenn man jetzt ein Spiel macht, was aber von der Grafik lebt und Custom-Level-Welt
- 2:27:35hat und so, dann braucht man wahrscheinlich Jahre, bevor man wirklich produktiv
- 2:27:39werden kann, wenn man vom Scratch anfängt.
- 2:27:41Aber vielleicht nimmt man dann Maya kurz Zeit das Level dieser Editor.
- 2:27:45Also es gibt dann schon...
- 2:27:47Ja, es hängt auch immer davon ab, es hängt auch ganz stark davon ab,
- 2:27:51wie pedantisch man dann auch ist.
- 2:27:54Also wenn man jetzt denkt, oh, das ist so ein bisschen wie wenn man ein Haus renoviert.
- 2:27:57Irgendwie, oh, wenn wir jetzt schon dabei sind, dann können wir auch gleich
- 2:28:00die Fenster noch neu machen. Oh, dann können wir auch das Dach noch machen.
- 2:28:03Das ist eben, wie pragmatisch geht man ran, wie viel Zeit nimmt man sich,
- 2:28:09um irgendwie stundenlang darüber zu diskutieren, ob man lieber irgendwie das
- 2:28:13auf die Art macht oder auf die Art macht und so weiter.
- 2:28:16Da kannst du auch Jahrzehnte drin versenken. Also das ist immer so eine Minimax-Aufgabe, glaube ich.
- 2:28:22Aber wenn jetzt jemand ankommt und sagt, wir haben noch keine Erfahrung am Engine
- 2:28:25machen, wir sind ein kleines Team, wir wollen ein neues Witcher machen und...
- 2:28:31Cyberpunk.
- 2:28:33Dann sage ich halt Good Luck. So, dann vielleicht muss man dann auch einfach
- 2:28:36das Spiel, das man machen will, ein bisschen anpassen an die Realität,
- 2:28:41die die man da hat und sich dann langsam zu dem Witcher-Spiel halt hinarbeiten.
- 2:28:47Das ist ja auch gar nicht nur die Technik und die Tools, sondern auch Workflows
- 2:28:51und wie man untereinander zusammenarbeitet und das Team halt formen, also um da hinzukommen.
- 2:28:58Ja, ich meine, gerade Witcher ist ja auch ein gutes Beispiel,
- 2:29:00weil von Witcher 1 zu Witcher 2 zu Witcher 3, das waren ja auch Generationenspiele.
- 2:29:05Die waren auch alle nötig. Man kann nicht einfach mit Witcher 3 anfangen, glaube ich.
- 2:29:08Ja.
- 2:29:09Ne genau, aber ich finde das gut, eure Einschätzung, einfach falls es irgendwie
- 2:29:12Leute zuhören, die denken so, ey, wir hätten gerade Bock eine Engine zu bauen,
- 2:29:16dann finde ich es gut, so eine realistische Einschätzung einfach zu bekommen.
- 2:29:18Wenn man so einen 2D-Sidescroller oder 2D-Sonstwas, das kann man,
- 2:29:25wenn man weiß, was man tut, in der Woche zusammenkleben, sodass man da was hat,
- 2:29:29womit man das Spiel machen kann.
- 2:29:31So, das ist hier eine kurze kleine Halbzeit, weil es war von vornherein klar,
- 2:29:35dass der Philipp nur ein begrenztes Zeitbudget hat und das ist jetzt leider aufgebraucht.
- 2:29:39Deswegen ist Abi jetzt nicht mehr dabei im Podcast hier, aber der Julian hat
- 2:29:44gesagt, er hat noch ein bisschen Zeit und wir wollen jetzt noch ein bisschen
- 2:29:47über Entschraudet quatschen.
- 2:29:48Also ein bisschen spezifischer um das Spiel. Da habe ich mir nämlich auch noch
- 2:29:51einige Fragen notiert gehabt.
- 2:29:53Genau, das ist nur eine kurze Zwischenmeldung, nur dass ihr euch jetzt nicht
- 2:29:57wundert, warum der Philipp plötzlich nichts mehr sagt.
- 2:29:59Dann bis morgen.
- 2:30:00Alles klar, bis dann.
- 2:30:01Mach's gut, dankeschön, tschüssi. Genau, so, Entschraudet. Jetzt reden wir ein
- 2:30:05bisschen über Entschraudet, genau.
- 2:30:07Das ist wieder mal so ein Spiel. Ist faszinierend, wo ich, ich hab erst mal
- 2:30:12so ein bisschen geguckt so und dachte so, ja, ist halt so ein Spiel.
- 2:30:15Und umso tiefer ich mich dann damit beschäftigt habe, umso größer sind meine
- 2:30:18Augen geworden, umso mehr habe ich kapiert, was da eigentlich stattfindet und
- 2:30:22wie beeindruckend das ist.
- 2:30:24Übrigens, weil wir über Nenad gesprochen haben eben, das war bei mir exakt genauso. so.
- 2:30:28Ich habe diese Demo gesehen am Anfang von, wo man durch dieses Tal fliegt mit
- 2:30:32diesen Statuen und dachte so, ja und, was ist da jetzt so besonders?
- 2:30:36Und ich habe gar nicht verstanden, weil das ja auch nicht ganz so,
- 2:30:39also rein aus dem Visuellen erschließt sich das ja nicht, dass das alles so
- 2:30:43dynamisch tesselliert wird und sowas.
- 2:30:46Und auch, dass das auch so diese, die Änderung der Global Illumination hat man
- 2:30:51vorher auch schon in Spielen gesehen, da war es dann halt gebaked.
- 2:30:53Aber du siehst ja in dem Video nicht, ob das nicht mit, mit, mit,
- 2:30:58Mit, wie hieß das nochmal?
- 2:30:59Mit Luben.
- 2:31:00Nee, nee, es gab eine Technologie, wo die, da wird das halt in so Probes gebaked
- 2:31:05und dann kannst du auch die Lichtquelle verändern und dann ändert sich auch
- 2:31:07die Global Illumination. Das haben wir nämlich in Reim.
- 2:31:10Enlighten?
- 2:31:11Enlighten, genau, genau, Enlighten. So, das heißt, ich hatte das alles schon
- 2:31:14mal so ein bisschen gesehen und hab gar nicht gecheckt, dass es alles Realtime ist.
- 2:31:18Und erst als ich mich dann damit beschäftigt habe, dachte ich so,
- 2:31:20was? Das ist ja Wahnsinn. sind.
- 2:31:22Ich glaube, das ist tatsächlich gerade für einige Spieler ein Problem,
- 2:31:25weil natürlich so gebakete Lightmaps sehen immer noch ziemlich geil aus.
- 2:31:29Also da muss man auch erstmal rankommen mit Realtime-GI.
- 2:31:34Und für den Spieler, dem ist es ja erstmal egal. Da muss man immer gucken,
- 2:31:38passt das überhaupt fürs Spiel, dass man da Realtime-GI braucht oder dass es
- 2:31:43einen sinnvollen Use-Case gibt dafür, weil natürlich gebakete Lightmaps ist
- 2:31:47ganz schön viel schneller als Lumen.
- 2:31:48Das ist einfach so. Da muss man mal gucken, ob das sich auch immer lohnt.
- 2:31:54Ja, das ist wahrscheinlich auch eine Frage der Teamgröße. Ich hatte ein ganz,
- 2:31:58ganz tolles Gespräch letztens mit einem von, mit dem David von Industria, dieser Shooter.
- 2:32:05Und die waren halt quasi zu zweit größtenteils und haben halt Lightmaps gebaked für Industria.
- 2:32:12Und die haben öfters mal das Problem gehabt, dass es da Lightleaks gibt,
- 2:32:16so an Kanten, dass es da doch nicht ganz so perfekt aussieht oder mancher flickert kurz was.
- 2:32:20Und jetzt könnt ihr halt dank Neu-Unreal-Engine wirklich sich auf ihre geilen
- 2:32:25Level fokussieren und das sieht halt super schick aus.
- 2:32:27Das heißt, man hat am Ende was davon, weil einfach der Content besser ist.
- 2:32:31Denen bringt das sehr, sehr viel. Aber klar, es gibt natürlich auch genug Spiele,
- 2:32:35die mit Lightmaps Aber es gibt.
- 2:32:37Glaube ich, auch Lightmap-Baker selbst bei Naughty Dog oder so,
- 2:32:40die das Problem nicht hatten.
- 2:32:42Das kann man da auch fixen, wenn es mit viel Handarbeit ist.
- 2:32:47Aber GI ist natürlich gerade für so ein kleines Team auch ein enormer Produktivitätsgewinn.
- 2:32:52Genau.
- 2:32:52Weil man natürlich alles in Echtzeit machen kann.
- 2:32:56Und ja, das war das Thema bei Entschraudet, denke ich.
- 2:33:01Weil das ist da aus verschiedenen Gründen einfach notwendig gewesen.
- 2:33:05Es ist jetzt nicht unbedingt, dass wir das unbedingt machen wollten,
- 2:33:07aber es geht halt nicht anders.
- 2:33:08Wenn man eine Welt hat, wo sich sowohl Geometrie als auch die Sonne die ganze
- 2:33:12Zeit bewegen können, dann braucht man da irgendeine Lösung.
- 2:33:15Wenn man trotzdem nicht zu große Kompromisse eingehen will.
- 2:33:18So, jetzt habe ich da direkt mal eine Frage. Und zwar kommen wir zu einem wichtigsten
- 2:33:22Punkt. Du hast gerade die Sonne gesagt.
- 2:33:24Von allen Dingen, die es zu besprechen gibt, geht es um die Sonne.
- 2:33:27Und zwar, ich habe mich, ich habe mich, also es ist nur ein ganz kleines Detail,
- 2:33:32aber ich habe so ein Bild hier und da siehst du, dass die Pixel sehr pixellig sind.
- 2:33:36Ja, also und wenn man die Sonne sich bewegen sieht, dann sieht man auch,
- 2:33:40dass die Pixel perfekt positioniert werden. Also es gibt keine...
- 2:33:44Fade-in und fade-out Pixel, so wie wenn so ein Pixel, ich weiß nicht,
- 2:33:47wie man das beschreiben soll, also wenn so ein Objekt sich über ein Bildschirm
- 2:33:51bewegt und ganz langsam ist, dann kann es auch so erstmal einen halben Pixel
- 2:33:54ausfüllen und der ist dann einfach nur halbtransparent.
- 2:33:56Die Sonne bei euch, und das ist das einzige Objekt, was mir aufgefallen ist,
- 2:34:00ist so pixelpapiert. Was ist da los? Was ist denn mit dieser Sonne los?
- 2:34:03Ich habe deine Liste gesehen und ich wollte, habe mir vorgenommen,
- 2:34:06die alle durchzugehen und deine Fragen wirklich ausführlich zu beantworten. Ich habe es nicht getan.
- 2:34:10Ich kann dir ein bisschen was zu sagen zu der Sonne. Das ist ein VFX,
- 2:34:13also Also die Atmosphäre selbst ist ein Ray-Marger, um das Scattering hinzukriegen.
- 2:34:21Aber die Sonne selbst als Objekt, das ist ein VFX, die einen speziellen Drawcall macht.
- 2:34:27Ich glaube, die wird nur für die Sonne und für den Mond benutzt,
- 2:34:29also für so Sky-Bodies, die auf die Fahrpläne poliziert werden quasi,
- 2:34:35also ganz weit weg hinter allem anderen.
- 2:34:36Und ich vermute, da ist irgendwas schiefgelaufen bei der Auswahl des Samplers.
- 2:34:42Also ich kann das ja aber nicht sagen, warum.
- 2:34:45Das ist mir auch nicht aufgefallen vorher.
- 2:34:48Ich habe es nicht gesehen vorher.
- 2:34:51Ich kenne das nämlich, wir hatten diese Diskussion bei X, da haben wir ganz
- 2:34:55viele kleine Icons auf dem Bildschirm, wo eben Raumschiffe sind.
- 2:34:58Also wenn die Raumschiffe ganz weit weg sind im Weltall, dann macht man ein
- 2:35:01Icon drum, damit man sie überhaupt nachher sieht.
- 2:35:02Und dann ist immer die Frage gewesen, macht man Pixel-Perfect-Icons oder nicht?
- 2:35:07Weil wenn man es nicht macht, dann werden die so ein bisschen blurry.
- 2:35:09Und wenn man es macht, sehen sie gut aus, aber bewegen sich so So kluck,
- 2:35:12kluck, kluck, immer weiter.
- 2:35:13Und vielleicht ist mein Sehsinn daher geschärft, weil mein Sehsinn von damals.
- 2:35:19Ja, ich meine, du ablest ja auch wirklich in dem Bereich, von daher ist dein
- 2:35:22Auge wahrscheinlich da auch extrem.
- 2:35:24Fand ich irgendwie schon interessant. Aber,
- 2:35:27Genau, und eine Sache, die ich auch ganz spannend fand, ich finde das, ich habe gerade,
- 2:35:31kann ich dir auch mal posten, ich habe gerade einen Talk gemacht über,
- 2:35:35wie man so ein paar Tools benutzt, um Drawcodes sich anzugucken und sowas,
- 2:35:40um rauszufinden, wie Sachen gehen und ein Teil der Realisierung ist immer so
- 2:35:45ein bisschen, wenn ich das mache,
- 2:35:46dann kollidiert mein theoretisches Wissen über Optimierung in Spiele-Engines mit der Praxis.
- 2:35:53Ja, gut.
- 2:35:53Zum Beispiel. Und das ist aber jetzt mal ein wunderschönes Beispiel vielleicht
- 2:35:57auch dafür, ein ganz toller Vorteil von Custom Engines, weil du weißt einfach
- 2:36:01exakt, was dort passiert.
- 2:36:03Weil wenn man jetzt ein Anwäl ist und sich fragt, ja, wie ist das jetzt mit
- 2:36:05dem Culling irgendwie, keine Ahnung.
- 2:36:07Genau, ich muss da immer ein Sternchen dran machen, weil ich habe natürlich
- 2:36:10nicht alles selber persönlich programmiert.
- 2:36:12Ich habe ein großes Team und Teile davon sind auch Jahre alt.
- 2:36:17Und ich vergesse Sachen.
- 2:36:18Aber ja, ich versuche, das zu beantworten.
- 2:36:21Ja, also wenn ich sage, du weißt das alles, meine ich auch so,
- 2:36:24es ist theoretisch rausfindbar.
- 2:36:26Ihr habt kompletten Code-Zugriff und so und das ist ein super großer Vorteil auf jeden Fall.
- 2:36:31Und mir ist aufgefallen einfach,
- 2:36:34und das habe ich auch in meinem Talk festgestellt, ich habe mir Elden Ring angeguckt,
- 2:36:41jetzt nicht tiefgreifend oder so,
- 2:36:43aber da ist es dann halt so, dass man da merkt, aha, man hat eine Wand vor dem
- 2:36:47Gesicht direkt und es werden trotzdem Objekte hinter der Wand gerendert.
- 2:36:51Dann irgendwie so, hä, ich habe doch in meinem Theoriekurs wie Performance-Optimisierung
- 2:36:55und sowas und wie Engines funktionieren gelernt,
- 2:36:57dass es eine Sortierung gibt von Objekten und dann wird halt von vorne nach
- 2:37:02hinten gemalt, sodass wenn ein Objekt vorne, das hintere überdeckt,
- 2:37:06gar nicht erst gerendert wird und so weiter und so weiter.
- 2:37:08Da sind natürlich viele Sachen, die du jetzt...
- 2:37:11Soll ich da ein bisschen drauf eingehen? Ich habe deinen Talk jetzt nicht gehört,
- 2:37:15aber das, was du meinst, ist wahrscheinlich Occlusion Culling.
- 2:37:17Also du hast jetzt das Wort Objekt benutzt. Also Objekt ist quasi ein Draw Call
- 2:37:23oder so, der als Ganzes nicht passieren soll, weil eine Wand dazwischen ist.
- 2:37:27Das macht die Hardware an sich nicht. Das muss man selber machen.
- 2:37:30Und das kann man entweder auf der CPU oder auf der GPU machen,
- 2:37:32aber das muss man selbst programmieren. und das lohnt sich nicht immer.
- 2:37:36Was die Hardware aber macht, ist auf Dreiecksbasis oder auf Pixelbasis später
- 2:37:41die Sachen wegschmeißen.
- 2:37:43Das heißt, es kommt auch ein bisschen drauf an, welchem Tool du dir das angeguckt
- 2:37:46hast, dass dir der Drawcall passiert und das muss nicht unbedingt teuer gewesen sein.
- 2:37:51Also wenn die von vorne nach hinten sortiert sind, dann ist dieser Drawcall,
- 2:37:54das Objekt, wirklich gemalt worden.
- 2:37:55Das war aber sehr, sehr schnell, weil die Pixel alle verdeckt sind und die GPU
- 2:37:59das festgestellt hat, bevor sie quasi teure Pixelschäder gestartet hat für diesen Wechsel überhaupt.
- 2:38:06Also diese Objekte sind trotzdem, ich kenne diesen Einzelfall nicht,
- 2:38:11aber trotzdem sehr viel günstiger, als sie wären, wenn man sie von hinten nach vorne gemalt hat.
- 2:38:16Weil dann muss man erst das Objekt einmal komplett malen, schattieren und so
- 2:38:20weiter. Und dann malt man eine Wand davor.
- 2:38:22Also das bringt den Hauptteil des Gewinns.
- 2:38:26Zusätzlich gibt es da auch Occlusion Culling, was dann komplett einen Draw Call verhindert.
- 2:38:31Und das bringt vor allem dann was, was wenn man sehr, sehr viele Objekte hat, sehr viele kleine.
- 2:38:34Aber dann, genau, das, was sehr viel da ist, will man versuchen zu reduzieren.
- 2:38:38Wenn man sehr viele Pixel hat, also ein großes Objekt, was sehr viele Dreiecke
- 2:38:42hat oder so, oder viele Pixel einnimmt im Screen, dann ist das das Problem.
- 2:38:45Wenn man sehr viele einzelne Objekte hat, dann will man versuchen,
- 2:38:47das zu reduzieren, so ganz grob.
- 2:38:50Genau, und da war jetzt nämlich meine Frage, wie habt ihr das so gehandhabt?
- 2:38:55Weil ich habe nämlich mal reingeguckt bei euch und da habe ich auch gesehen,
- 2:38:57weil man so vor so einem Keller steht, also...
- 2:39:01Oben drauf, kann man manchmal nach unten gucken und dann sieht man zumindest
- 2:39:04die Wireframes von Objekten, die dann im Keller sind, aber die man noch...
- 2:39:08Aber auch nicht alle. Du siehst nicht alle. Also wir haben Occlusion Culling,
- 2:39:12allerdings ist das relativ ungenau.
- 2:39:15Also es benutzt halt ein Bounding Sphere für jedes Modell als Test und je nachdem,
- 2:39:19wenn das zu nah an der Oberfläche ist, dann kann der Test fehlschlagen.
- 2:39:25Also es ist ein Test, der nicht so präzise ist.
- 2:39:28Also die Bounding Sphere ragt sozusagen über die Erdoberfläche mit raus.
- 2:39:33Da ist der Keller nicht tief genug oder nicht hoch genug.
- 2:39:35Der Seller ist nicht tief genug, die Wand ist nicht dick genug,
- 2:39:37genau. Und das ist immer ein Trade-off. Wenn man es genauer macht,
- 2:39:40dann wird es halt insgesamt teurer.
- 2:39:41Ja, genau. Das ist nämlich auch so eine Realisierung. Ja, genau.
- 2:39:45Das ist manchmal, also das ist so spannend, weil du gehst so rein mit dem Theoriewissen
- 2:39:50und dann so, ja, alles muss irgendwie LODs haben und alles muss irgendwie zum
- 2:39:54Beispiel auch Occlusion kalt werden und so.
- 2:39:57Und dann merkt man so, hä, irgendwie wird es jetzt langsamer obwohl ich doch
- 2:40:00optimiert habe, das ist doch komisch. Und das ist spannend, okay.
- 2:40:04Aber okay, das heißt, ihr macht Occlusion Culling?
- 2:40:06Wir haben Occlusion Culling für den Mainview, also für das, was man hier direkt
- 2:40:10sieht, aber auch für die Schatten.
- 2:40:12Also die Schatten haben wir eigene, das ist Occlusion Culling für Sachen,
- 2:40:15damit man sich vorstellen kann, wenn man ein bisschen weiß, wie Schatten funktionieren.
- 2:40:19Also bei uns, wir rendern die in eine sogenannte Shadow Map,
- 2:40:22das heißt, wir rendern aus der Perspektive der Hauptlichtquelle,
- 2:40:25in dem Fall die Sonne, in eine extra Textur und rendern quasi die Tiefe,
- 2:40:30also die Distanz von der Sonne zu dem Objekt da rein.
- 2:40:34Und dann können wir diese Shadow Map benutzen beim Rendern des Hauptviews,
- 2:40:38um zu gucken, ob ein Pixel im Schatten ist von einem anderen Objekt oder nicht.
- 2:40:42Und wenn ich es mir vorstellen kann, ist es egal, ob man zwei oder drei Moral
- 2:40:46Zwischensicht in der Sonne hat.
- 2:40:47Eine reicht, um Schatten zu erzeugen. Das heißt, die anderen sind eigentlich überflüssig.
- 2:40:51Ach so, das heißt, von der Sonne aus wird das Obduchengalle.
- 2:40:55Ach, das ist ja spannend. Okay.
- 2:40:58Aha.
- 2:40:59Und das ist auch wieder nichts, was jeder Engine macht oder jedes Spiel macht.
- 2:41:03Es kommt halt darauf an, wie viele einzelne Draw Calls hat man,
- 2:41:05wie groß ist die Distanz der Schatten, wie viele Schattenkaskaden hat man.
- 2:41:10Also es ist einfach sehr, ja, organisch. Und das entwickelt sich eigentlich
- 2:41:14immer meiner Erfahrung nach, man guckt sich das Spiel an, das Spiel ist zu langsam
- 2:41:17auf der Zielplattform, dann guckt man sich an, was ist denn das Langsamste.
- 2:41:21Und dann guckt man sich an, okay, was können wir da machen? Und dann sieht man,
- 2:41:24Schatten sind ganz schön langsam, wir rennen dann ganz schön viele Objekte in
- 2:41:26diese Schatten. Wir werden dann Objekte, die im Keller sind, in den Schatten.
- 2:41:29Und er sagt, das ist ja nicht besonders sinnvoll, weil im Keller ist sowieso
- 2:41:32alles im Schatten. Da können wir halt irgendwas machen.
- 2:41:34Und dann versucht man da was und dann bringt das was und dann hat man das.
- 2:41:38Also es ist nicht, in meiner Erfahrung nicht, dass man so einen Masterplan hat
- 2:41:42und sagt, das macht man alles, sondern man macht Sachen,
- 2:41:46und iteriert daran und misst und guckt, was ist jetzt langsam,
- 2:41:50was ist ein Problem, wo muss man jetzt als nächstes dran arbeiten.
- 2:41:54Und daraus ergeben sich dann so merkwürdige Lösungen manchmal,
- 2:41:57die man im Nachhinein versucht zu verstehen.
- 2:42:00Und man hört dann halt auch auf, typischerweise, wenn es gut genug ist.
- 2:42:05Ja, genau, das ist das ist halt, da muss man halt priorisieren, ja, genau.
- 2:42:11Genau, aber das ist sehr spannend, genau, okay, und natürlich Frustrum Culling
- 2:42:15natürlich, ne, also Genau, Frustrum Culling.
- 2:42:18Das ist, das bringt aber, das ist immer ein bisschen schwierig,
- 2:42:23das ist generell auch, das hilft ja nicht immer, also man muss immer gucken, was ist der Worst Case.
- 2:42:28Bei uns im Worst Case steht man in einer Ecke der Map und guckt in die Tiefe,
- 2:42:32in die andere Diagonale.
- 2:42:33Man sieht quasi alles. Frustrum Culling bringt effektiv nichts.
- 2:42:39Man zahlt aber trotzdem den Preis dafür. Frustrum Culling ist nicht besonders
- 2:42:43teuer, weil es ein relativ einfacher Test ist, den man macht pro Objekt.
- 2:42:47Aber in diesem Spezialfall ist es schlechter, Frustrum Culling zu machen, als es nicht zu machen.
- 2:42:53Weil das Ergebnis ist immer sichtbar.
- 2:42:56Und den Test macht man trotzdem. Das muss man im Hinterkopf behalten.
- 2:43:00Dritten, man darf sich nicht so sehr fokussieren auf die eine Szene,
- 2:43:05die man jetzt gerade vor sich hat, die ein Spezialfall ist, sondern muss auch
- 2:43:09ein bisschen überlegen, was ist denn der Worst Case,
- 2:43:11was ist denn das Schlimmste, was passieren kann und hilft dann diese Optimierung da auch noch.
- 2:43:17Ist natürlich jetzt auch interessant, weil das ist jetzt so ein Extremfall,
- 2:43:21man könnte ja auch andersherum argumentieren, zu sagen, die meiste Zeit ist
- 2:43:24man nicht in der einen Ecke und guck uns die andere, die meiste 99%...
- 2:43:28Das muss man auch, ja, ja, das machen wir auch, wir haben ja auch Frost and
- 2:43:30Cutting. Ich meine nur, das ist generell so ein Prinzip, dass man nicht sagt,
- 2:43:35dieser eine Fall ist der wichtige.
- 2:43:36Man muss schon gucken, wo bringt das denn im... Also die besten Optimierungen
- 2:43:40sind eigentlich immer die, die überall halt was bringen.
- 2:43:43Weil die einfach, ja, die will man halt als erstes irgendwie haben.
- 2:43:47Da related habe ich mich eine Sache gefragt. Ihr habt ja Portal Knights gemacht
- 2:43:52und in Portal Knights, soweit ich jetzt weiß, gab es noch keinen coolen Gleiter, mit dem man dann...
- 2:43:58Ganz schnell über die Welt.
- 2:43:59Die Welten waren auch zu klein dafür, muss man sagen.
- 2:44:02Genau. Und übrigens, danke, dass ihr das eingebaut habt.
- 2:44:05Das ist, seit ich Zelda einmal gespielt habe, vermisse ich das in allen anderen
- 2:44:10Spielen. Und tatsächlich habe ich danach nochmal Dark Souls gespielt.
- 2:44:13Und ich vermisse jetzt so einen Gleiter einfach. Wenn du da bei Dark Souls auf
- 2:44:16einer Mauer oben stehst, da träume ich dann, jetzt würde ich hier gerne einfach
- 2:44:19runtersegeln. Und das ist so cool.
- 2:44:22Genau. Ich finde es auch sehr cool. Und zum Glück haben wir ja auch jemanden,
- 2:44:25der da ein gutes Handicap hat für Design.
- 2:44:27Und es ergab sich bei den Shrouded aber auch daraus, lustigerweise aus dieser
- 2:44:31Voxel-Welt ein bisschen, weil da drängt sich auf, dass man Vertikalität halt
- 2:44:36noch viel mehr integriert in das Spiel.
- 2:44:39Wir haben sehr viele steile Klippen und so und das wird jetzt auch hoffentlich
- 2:44:43im nächsten Update noch mehr werden, weil dann haben wir endlich unser Bergbiom.
- 2:44:46Also wir machen sehr viel übereinander und dann ist so ein Gleiter halt noch
- 2:44:52cooler, wenn man da noch besser navigieren kann, weil es auch sehr schwierig
- 2:44:57ist sonst in den Bergen sich zu bewegen.
- 2:44:59Also es hat so ein bisschen alles miteinander zu tun.
- 2:45:01Aber ich finde auch diesen Gleiter besonders sehr cool. Da kommen auch die Türme her, natürlich.
- 2:45:05Die passen ja dazu. Man erobert einen Turm in Shrouded und dann hat man den
- 2:45:09ja als Point, wo man sich hin teleportieren kann und wovon man aus relativ weit
- 2:45:15gleiten kann in andere Gebiete.
- 2:45:18Es ist einfach echt cool. Aber ich habe mich da gefragt, ob ihr Probleme hattet mit Streaming, weil….
- 2:45:56Also, ja. Ich bin da auch immer, also Sonnenberg ist da auch sehr,
- 2:45:58ist sowieso ein cooles Studio und soweit ich das mitkriege, wird da auch genau
- 2:46:04definiert, was die Maximalgeschwindigkeit des Characters in diesem Spiel ist.
- 2:46:08Und das ist eine Zahl, die man niemals ändert, sondern darauf basiert dann ganz viel.
- 2:46:12Bei uns kam der Gleiter relativ spät dazu und war schon ein bisschen schwierig.
- 2:46:18Man hat eine ganze Menge Probleme verursacht und macht es auch noch. auch heute.
- 2:46:21Ich muss aber sagen, dass unsere Voxel-Daten insgesamt kompakter sind als jetzt
- 2:46:26New York bei Spider-Man, glaube ich.
- 2:46:29Also wir streamen wahrscheinlich deutlich weniger Daten pro Meter,
- 2:46:33die wir uns bewegen, als Spider-Man.
- 2:46:35Ich meine, die Dichte ist vielleicht auch noch kleiner, das kann sein, weiß nicht genau.
- 2:46:40Aber ja, da gab es auf jeden Fall, oder gibt es immer noch Herausforderungen.
- 2:46:46Wir sind dann auch nicht am Ende, wir sind auch nicht so da, wo wir sein wollen.
- 2:46:49Also das ist ja wahrscheinlich auch gefallen, dass das Level of Detail von den
- 2:46:53Voxel-Mashes doch sehr abrupt sich ändert, wenn man da rumfliegt.
- 2:46:59Das ist etwas, woran wir noch arbeiten.
- 2:47:02Also ist mir jetzt gar nicht so aufgefallen, aber ich habe jetzt vielleicht
- 2:47:05nicht so ganz drauf geachtet.
- 2:47:06Mir fällt es immer auf. Ja, genau.
- 2:47:09Aber genau, und das ist jetzt auch das größte Ding da.
- 2:47:13Also das ist wirklich faszinierend mit diesen Voxel. Und ich muss auch sagen,
- 2:47:16heavily under-documented, argumentet, weil wenn man bei YouTube eingibt Voxel
- 2:47:21Engine und sich da mal so ein bisschen informieren möchte, was bedeutet das
- 2:47:24eigentlich, findet man nur Minecraft.
- 2:47:28Tutorials und also wie mache ich eine Minecraft-Engine?
- 2:47:31Das ist ja fast schon synonym mit Minecraft.
- 2:47:33Ja, und alles geht nur auf Klötzchen. Und deswegen hatte ich auch so ein Problem,
- 2:47:38erstmal zu verstehen, dass eure Engine auf Voxen basiert, weil die sieht aus
- 2:47:41wie eine wunderschön gestaltete Welt, wie man sie jetzt auch aus einem Goffig
- 2:47:46oder so eben erwarten würde.
- 2:47:48Schöne Berge, Landschaften, alles schön organisch.
- 2:47:51Die Objekte, die da drinstehen, die Häuser, sieht alles aus wie aus einem normalen
- 2:47:563D-Kit, zusammengebastelt.
- 2:47:58Und dann, hä, was sind jetzt diese Voxel so?
- 2:48:01Und also grob zusammengefasst kann man ja auch sagen, und das ist ja wahrscheinlich
- 2:48:06auch die Basis bei euch, dass halt ein Voxel-Grid ist halt einfach ein dreidimensionales
- 2:48:10Grid, was man sich ja durchaus als Klötzchen vorstellen kann.
- 2:48:13Genau, das sind auch Klötzchen, ja. Das sind auch Klötzchen, ja.
- 2:48:17Aber jetzt macht ihr irgendwie Magie und ihr habt zwei Voxel-Systeme.
- 2:48:22Ihr habt einmal diese ganzen Gebäude und dann habt ihr das Terrain.
- 2:48:26Drei tatsächlich. Ja, die Dächer von den Gebäuden sind nochmal extra.
- 2:48:31Also die haben extra Mashing, nennen wir das, ein Mashing-Algorithmus.
- 2:48:35Das heißt, der Algorithmus, der zur Laufzeit des Spiels quasi die Voxel-Daten,
- 2:48:40diese Blöcke, überführt in Dreiecksdaten.
- 2:48:44Und die Dächer haben einen Spezialweg, weil die anders funktionieren als die normalen Gebäude.
- 2:48:51Okay, und es ist ja faszinierend auch. Also ihr generiert on the fly diese Meshes.
- 2:48:58Genau, ja.
- 2:48:59Bedeutet das...
- 2:49:01Dass ihr tausend Millionen Draw Calls habt, weil ja theoretisch alles komplett unique ist dann.
- 2:49:09Also, weißt du, weil man sagt ja immer so, man hat dieselben Meshes mit denselben
- 2:49:13Textoren und dann kann man die instanzieren oder batchen oder so, aber das bedeutet ja.
- 2:49:18Dass ja, instanzieren können wir nicht, das sind einzelne Draw Calls und tatsächlich
- 2:49:22haben wir, ich weiß nicht, ob man das sieht in den Render Draw Captures,
- 2:49:25aber die einzelnen Draw Calls von den Boxen-Daten, das sind relativ kleine,
- 2:49:30wir haben die Junklets genannt.
- 2:49:32Also relativ kleine Stückchen, die haben alle 64 Dreiecke ungefähr nur.
- 2:49:37Und wie der Name schon sagt, Chunklit ist also ein Stückchen von einem Chunk.
- 2:49:41Ein Chunk ist auch ein Stückchen von der Welt. Also wir teilen die Welt auf
- 2:49:44in solche Chunks. Das kennen wir vielleicht von Minecraft auch.
- 2:49:46Die haben eine gewisse räumliche Ausdehnung und darüber funktioniert auch das
- 2:49:51LOD, also Level of Detail System.
- 2:49:53Und dann wird ein Mesh erzeugt für so ein Chunk und das wird aufgeteilt nochmal in Chunklits.
- 2:49:57Warum wir das machen, ist, dass dass das Occlusion-Culling zum Beispiel deutlich
- 2:50:00besser funktioniert, wenn man kleinere Objekte hat.
- 2:50:03So ein großer Chunk, wenn man sich vorstellt, eine Bounding-Sphere da rum,
- 2:50:06also eine, die wäre gigantisch groß, die würde niemals von irgendwas occludet werden.
- 2:50:12Und deswegen zersplittern wir quasi diesen großen Chunk nochmal in kleine Stückchen
- 2:50:16und cullen die einzelnen Stückchen dann im Occlusion-Culling und Frost-Culling
- 2:50:22und zeichnen die einzeln.
- 2:50:24Ah, ja.
- 2:50:26Genau. Aber so ein Chunk wird tatsächlich auf der CPU von Voxel-Daten in Dreiecksdaten überführt.
- 2:50:33Und wenn man sich vorstellt, so ein Chunk kann ja die drei Voxel-Typen enthalten.
- 2:50:37Das heißt, da werden auch drei Meshes erzeugt. Also im Worst Case.
- 2:50:41Also ein Terrain, so ein softes Mesh.
- 2:50:44Das sieht man ja, das ist ja nicht Minecraft-Blöcke. Dann die Gebäude,
- 2:50:48die sind eher schon typische Blöcke.
- 2:50:51Und die Dächer mit ihrer Spezialregel, dass sie halt so ein Diagonal so ein
- 2:50:58Mesh erzeugen, was halt soft ist, diagonal.
- 2:51:01Weil es ist glatt.
- 2:51:02Aber es scheint ja auch noch irgendwie Unterschiede zu geben zwischen verschiedenen Materialien,
- 2:51:10denn, ich blende hier auch Bilder ein, es ist ein bisschen schwierig zu beschreiben,
- 2:51:14aber ich habe mir nämlich mal das Mech anzeigen lassen von Holz und das sieht
- 2:51:18noch am nächsten so aus wie als wäre es aus Blöcken zusammengesetzt, also,
- 2:51:22wie man sich das so ganz grob bei Minecraft vorstellen könnte,
- 2:51:26aber daneben gibt es so einen Stein,
- 2:51:29ein Stein-Mech Die sind einfach.
- 2:51:32Das ist Hardware-Testillation und die sind dann displaced. Da sind Displacement-Maps drauf.
- 2:51:36Ah, also okay, das heißt eigentlich, wenn man jetzt das Displacement weglassen würde.
- 2:51:42Kann man auch ausstellen im Spiel, dann siehst du es vielleicht besser.
- 2:51:44Ach so.
- 2:51:45Kannst du ausstellen. Dann sind es Blöcke.
- 2:51:48Dann sind alles Blöcke.
- 2:51:49Ja, also die Gebäude sind Blöcke. Gebäude sind Blöcke, das Terrain nicht.
- 2:51:54Das Terrain ist ein eigener Algorithmus, der halt so softe Geschichten macht,
- 2:52:01weil wir speichern in jedem Voxel nicht nur den Typ des Materials ab,
- 2:52:05sondern wir speichern auch zusätzlich bei den Terrain-Voxeln wie viel von diesem
- 2:52:09Material in diesem Voxel vorhanden ist, um quasi partiell gefüllte Voxel abbilden zu können.
- 2:52:15Man kann sich so vorstellen, wir haben einmal 7 Bit, die wir für den Füllstand
- 2:52:19haben, das heißt ein Wert zwischen 0 und 128,
- 2:52:22oder 127 und wenn er halb gefüllt ist, also bei 64 oder so ist,
- 2:52:27dann würden würden wir, je nachdem wie die Nachbarn aussehen,
- 2:52:32diesen Terrain, das Terrain Mesh auch so generieren, dass das nur einen halben Boxel füllt.
- 2:52:37Das bedeutet, dass dann dort eine kleine Schräge entsteht, sozusagen.
- 2:52:44Genau, mit den Nachbarn zusammen. Wenn man mal guckt in der direkten Nachbarschaft, wie voll sind die?
- 2:52:49Und gibt es jetzt hier eine Kurve? Also es entstehen halt wirklich so Kurven und weiche Verläufe.
- 2:52:56Ja.
- 2:52:57Das kann man mit Voxel auch machen. Also Voxel sind nicht per se immer diese
- 2:53:00harten Kanten. Diese harten Kanten sind natürlich eine Methode,
- 2:53:05um diese Voxel-Daten zu überführen in Dreiecksdaten, die man dann zeichnen kann,
- 2:53:09aber das ist nicht die einzige.
- 2:53:10So ähnlich kann man eben mal gucken wie bei Pixeln, wo man auch sagen kann,
- 2:53:14man kann so ein Smooth-Ding drüber machen und die Nachbarschaft gucken und dann
- 2:53:17macht man so Graustufen daraus und dann hat man auch so eine softe Kante,
- 2:53:21so ähnlich funktioniert das.
- 2:53:23Aber, also jetzt die CPU generiert die Meshes, ne?
- 2:53:27Genau.
- 2:53:27Und das wird wahrscheinlich erstmal nur dann gemacht, wenn ich jetzt zum Beispiel
- 2:53:32mit meiner Spitzhacke, kann ich ja machen, ich kann mir den Spitzhack auf den
- 2:53:34Boden hauen, dann verändert er sich, in dem Moment wird wahrscheinlich das Mesh
- 2:53:37geupdatet und dann wird es auch erstmal so gelassen, ne? Wäre ja blöd,
- 2:53:41das jeden Frame neu zu generieren, so.
- 2:53:43Ne, das wird dann, genau.
- 2:53:44Aber, wenn ich mich jetzt umdrehe und das Mesh wird dann rausgeworfen, weil gekallt oder so?
- 2:53:49Ne, das ist nicht abhängig von der Kameraorientierung, sondern nur von der Position des Spielers.
- 2:53:54Das heißt, um einen rum ist quasi immer so ein Bereich.
- 2:53:57In einer gewissen Detailstufe gehen er fertig als Mesh-Star.
- 2:54:03Und wenn man sich weiter bewegt durch die Welt, das sieht man auch,
- 2:54:06weil es tatsächlich immer noch sehr offensichtlich ist, dann werden vor einem
- 2:54:10höher aufgelöste Mesh-Stars erzeugt, wenn man hier rankommt.
- 2:54:14Aber ihr, also es werden trotzdem...
- 2:54:17Alle Voxel für immer gespeichert, ne? Also irgendwo im Speicher liegen alle Daten rum.
- 2:54:23Genau, also das konnten wir auch mal drüber reden. Also die Voxel,
- 2:54:25die auf der Platte liegen, wenn man es installiert, das Spiel,
- 2:54:29das sind knapp 16 Gigabyte, glaube ich, roundabout.
- 2:54:33Wir reduzieren das jetzt gerade noch ein bisschen, weil wir es noch ein bisschen
- 2:54:35komprimieren. Aber das sind die Daten, so wie sie bei uns quasi produziert wurden, die Welt an sich.
- 2:54:41Und dann gibt es die Änderungen, die man macht. Und wir speichern da nur die Änderungen.
- 2:54:45Und wir haben, ich weiß nicht, wie weit du gespielt hast in dem Spiel,
- 2:54:47aber man kann ja so diese Flammenaltare anlegen und darin hat man so einen gewissen Baubereich.
- 2:54:54Das ist quasi das Safe Game. Also davon kann man auch mehrere haben und die
- 2:54:58kann man auch ganz schön groß machen am Ende.
- 2:54:59Am Ende sind die ungefähr so groß wie die großen Portnights-Welten.
- 2:55:02Das heißt schon ordentlich gibt ja Leute, die haben Minas Tirith nachgebaut.
- 2:55:06Man kann schon einen großen Bereich abdecken, aber das ist der Bereich,
- 2:55:10den wir im Safe Game speichern und der wird dann quasi gemerged mit den oder
- 2:55:16zusammengeführt mit den Szenendaten, die wir mitliefern.
- 2:55:20Und ich glaube, das ist auch einer der coolen Features von Voxel,
- 2:55:25dass man sie merchen kann.
- 2:55:26Das ist ja etwas, was mit 3D-Smashes gar nicht funktioniert.
- 2:55:29Man kann nicht einfach zwei 3D-Smashes nehmen und die beliebig ineinander stecken
- 2:55:32und irgendwas rauskommt, was sinnvoll ist.
- 2:55:34Sondern das ist immer super kompliziert und das geht mit Voxel-Daten aber ohne weiteres.
- 2:55:39Wir können, so arbeiten ja unsere Level-Designer eigentlich die ganze Zeit,
- 2:55:44dass sie einfach unabhängig Sachen bauen, und die dann am Ende zusammenstecken
- 2:55:48in die große Szene oder in ein Ding.
- 2:55:51Und so ähnlich arbeiten unsere Spieler ja auch. Sie bauen halt etwas und selbst
- 2:55:56wenn wir später die Welt drumherum ändern, dann kann man das trotzdem immer noch.
- 2:56:01Ihr Save geben, da reinpacken. Das sieht an der Kante vielleicht nicht ein bisschen
- 2:56:05unsauber aus, aber das wird schon funktionieren.
- 2:56:09Also es sind wie zwei Volumen, die man ineinander schiebt und dann wird eben
- 2:56:12immer on the fly dieses Polymech rausgeneriert und das ist dann immer sauber.
- 2:56:17Eine Sache kennt man ja auch, in letzter Zeit sieht man das öfters mal,
- 2:56:20so SDF-Renderer, die dann mit Remarching was Schönes rendern und das bekannteste
- 2:56:26Beispiel sind so Lava-Ball-Applikationen, wo man so, wo die Bälle sich so zusammen schieben.
- 2:56:31Aber es gibt gerade jetzt von Adobe tatsächlich eine neue Software.
- 2:56:34Ja, da ist der IQ beteiligt.
- 2:56:36Ja, wie hieß der nochmal, der Typ, es gibt einen SDF-Mensch auf der Welt.
- 2:56:41Der IQ, ja, der heißt Ignacio.
- 2:56:43Genau, Ignacio, genau. Genau, genau, genau.
- 2:56:47Und der macht nämlich seit tausend Jahren macht der SDF-Kram und ich verlinke
- 2:56:52das natürlich auch, hat eine ganz tolle Website, wo man ganz viele Formeln bekommt
- 2:56:56für ganz viele SDF-Shapes. Genau.
- 2:56:58Und wenn man die dann benutzt, kann man die ineinander schieben und so und dann
- 2:57:00sieht das alles super cool aus und man kann damit modeln und Adobe.
- 2:57:03Super cool. Ich meine, Dreams kennt man vielleicht, das Spiel von Media Molecule,
- 2:57:08das ist auch, basiert auch auf SDF-Shapes.
- 2:57:12Das haben wir jetzt nicht, ja, wir haben ja ein, wir nutzen auch SDFs intern,
- 2:57:15aber das sind SDF-Grids, die wir haben.
- 2:57:17Also wir haben ein reguläres Gitter. Wir haben keinen analytischen Körper,
- 2:57:21die man ineinander schiebt, sondern wir, unsere Basisdaten sind diese diese Voxel-Daten.
- 2:57:28Wir erzeugen daraus während dem Meshing ein SDF-Feld als Zwischenschritt für
- 2:57:32das Terrain und daraus erzeugen wir tatsächlich das Mesh am Ende.
- 2:57:38Und wir benutzen auch diese SDF-Repräsentation für unser Raytracing,
- 2:57:43was wir im Spiel haben, für die globale Beleuchtung.
- 2:57:46Also, da ist auch ein bisschen SDF mit drin. Wir kennen Ignacio nicht persönlich
- 2:57:51leider, aber die Webseite haben wir oft besucht.
- 2:57:55Ja, Science Distance Field. Und für das Terrain, ist das dafür bei euch,
- 2:58:00dass man das da ein bisschen rund schleift damit?
- 2:58:04Genau, ja. Ja, okay.
- 2:58:06Ja, genau. Das ist nämlich ganz spannend. Das hat der Ignacio auch erklärt.
- 2:58:10Das ist wirklich faszinierend, wenn man zwei Körper, zwei SDF-Körper hat und
- 2:58:14die ineinanderschiebt. Sieht so aus, wie wenn man zwei Geometrien ineinanderschiebt.
- 2:58:17Nicht besonders spannend.
- 2:58:18Aber es gibt dann so eine, ich sage jetzt mal jetzt unmathematisch,
- 2:58:21so eine Zwischenformel.
- 2:58:22Damit kann man sagen, dass diese beiden Shapes plötzlich nicht mehr einfach
- 2:58:27nur intersekten, sondern wie so eine Lavalampe, wenn zwei Bälle sich wie so
- 2:58:31Metaballs, dass sie so weich ineinander so zusammen ploppen.
- 2:58:35Das ist schwierig zu beschreiben.
- 2:58:36Sieht sehr gut aus, ja, genau.
- 2:58:38Und wenn man das macht, dann sieht das super cool aus.
- 2:58:42Und alles geht so weich ineinander über und so und ist gar nicht mehr so diese
- 2:58:45harten Polygonkanten und so.
- 2:58:47Und das ist tatsächlich so ein bisschen, du musst ja sehen, es war uns sehr
- 2:58:51wichtig, dass wir den Shrouded, das haben wir in Portnoy jetzt auch schon versucht
- 2:58:54und auch, glaube ich, ganz gut geschafft.
- 2:58:55Wir wollen dem Spieler eine Möglichkeit geben, selbst seine eigene Basis zu
- 2:58:59bauen und dabei ein cooles Gefühl zu haben.
- 2:59:02Also er soll ja was Cooles bauen. Also es soll ja am Ende nicht nötig sein,
- 2:59:07dass er selbst ein Grafikdesigner ist und super komplizierte UV-Mapping und
- 2:59:12sowas versteht, um was Gutes zu machen.
- 2:59:14Das wollen wir nicht, sondern es soll quasi ein Laie, ein Spieler irgendwas
- 2:59:19bauen können und es soll gut aussehen. Also wir brauchen was,
- 2:59:22was sehr robust ist, was sehr gut funktioniert.
- 2:59:25Und da haben wir uns dann halt ein bisschen verliebt in die Voxel,
- 2:59:29weil die eine ganze Menge sehr coole Eigenschaften haben, die für jemanden,
- 2:59:34der das nicht acht Stunden am Tag macht, sehr intuitiv sind.
- 2:59:37Ja, die nehmen halt Volumen ein, das kennt man irgendwie wie Lego-Bausteine,
- 2:59:42da hat man eine gewisse Intuition für,
- 2:59:44dass sie den Raum einnehmen und das Ganze on top, was wir dann machen,
- 2:59:48dass A, die Beleuchtung gut aussieht, einfach bei Default und dass diese Verzieherobjekte
- 2:59:53da automatisch drankommen,
- 2:59:55das geht alles in die Richtung, dass wir halt wollen, dass jemand ein gutes
- 2:59:58Gefühl dabei hat, wenn er was baut.
- 3:00:00Genau, das ist nämlich das nächste Ding, weil wenn wir uns jetzt vorstellen,
- 3:00:03dass man so Minecraft-Klötzchen hat, die dann mit Displacement-Map ein bisschen
- 3:00:09interessanter aussehen, dann hat man immer noch so eine Wurscht.
- 3:00:14Ja.
- 3:00:15So, genau. Und jetzt hast du aber schon mehrmals erwähnt, diese Zierobjekte.
- 3:00:20Und die wiederum, das ist auch faszinierend, also das ist, wie soll man das
- 3:00:24beschreiben, genau, das hast du vorhin auch schon gesagt, zum Beispiel bei so
- 3:00:26Steinen, da kommen dann halt noch so kleine Steinmärche, es werden so platziert.
- 3:00:29Bei Holz sieht man so kleine Holzleisten, die überall dran gemacht werden,
- 3:00:34die das schön abschließen alles, die ganzen Formen. Und dann sieht das aus wie
- 3:00:37so eine kleine Fachwerkhütte, die so, nee, eine Blockhütte, wo die Blöcke sich
- 3:00:42auch so überkreuzen, so an den Ecken und sowas.
- 3:00:45Aber wie funktioniert das eigentlich? Weil das wäre so ein typisches Ding,
- 3:00:48wo ich mir denke, ja, da schmeiße ich jetzt Houdini an und setze mich da erstmal
- 3:00:52eine Woche ran und gucke, wie ich da meine Analysen mache.
- 3:00:55Ja genau, das ist so eine richtige Intuition. Houdini ist ja,
- 3:00:58für die, die es nicht kennen, halt so ein Werkzeug, mit dem man,
- 3:01:01sagen wir mal, regelbasiert Modelle bearbeiten kann, automatisiert.
- 3:01:06Also man kann dann Regeln definieren und dann kann man da Sachen reinschmeißen
- 3:01:10und der Automat spuckt dann am Ende was aus, so ganz grob. Ich weiß nicht,
- 3:01:13ob du das besser erklären kannst, aber so ähnlich funktioniert es hier auch.
- 3:01:16Also wir haben Regeln im Code, in der Runtime, die sagen,
- 3:01:19wenn das aktuelle Voxel ein Steinvoxel ist zum Beispiel und die Nachbarn auch
- 3:01:24Steinvoxel sind in der Umgebung und hier eine gerade Kante ist,
- 3:01:28das heißt über mir ist kein Steinvoxel, also Luft zum Beispiel,
- 3:01:31links ist ein Steinvoxel und rechts ist ein Steinvoxel, dann spawne ich hier
- 3:01:34genau an dieser Kante hier eine Instanz von diesem Objekttyp.
- 3:01:39Da gibt es dann manchmal noch Varianz drin, also eins von diesen N.
- 3:01:42Und dann machen wir eine Zufallszahl, die auch abhängen muss natürlich von einem
- 3:01:47Seed, der stabil ist, damit das nicht die ganze Zeit flackert.
- 3:01:49Aber ja, so kann man sich das vorstellen. Also jeder Voxel guckt quasi in seine
- 3:01:54Nachbarschaft und abhängig von dem eigenen Voxeltyp und dem Voxeltyp der Nachbarn
- 3:01:59wird dann in einer Tabelle von
- 3:02:03Möglichkeiten nachgeguckt und da wird dann einer ausgewählt. Ganz grob.
- 3:02:06Und das ist dann alles bei Handprogrammiert. Ich stelle mir das gerade so vor wie sehr viele Ifs.
- 3:02:11Die Regeln sind von Hand programmiert. Die sind von Hand programmiert und das
- 3:02:14ist ein sehr enger Zusammenhang gewesen von einem Artist, der gesagt hat,
- 3:02:19ich brauche noch folgende Regel und einem Programmierer, der,
- 3:02:22dann halt geguckt hat, wie er das formulieren kann und das dann eingebaut hat.
- 3:02:26Okay, aber jetzt so ein paar Steinmiches, das kann ich mir nur vorstellen,
- 3:02:30weil es mir aber auch aufgefallen ist, wenn man jetzt eine,
- 3:02:33Also man kann ja, wir denken jetzt ja immer noch in Minecraft-Terms,
- 3:02:36man kann auch ein Holzblock einfach in die Welt setzen und dann sind halt an
- 3:02:39den Seiten von den Würfelchen so kleine, sagen wir mal, runde Äste dran,
- 3:02:43die das so alles schon abrunden.
- 3:02:46Also ich hoffe, alle, die dir zuhören, gucken jetzt auch ab und zu mal auf den Podcatcher.
- 3:02:51Ja, kurz einfach euch selber anmessen.
- 3:02:52Genau, kauft einfach ein Schraube. Aber jetzt ist es ja so, ich kann ja auch
- 3:02:55eine höhere Wand bauen und dann sind diese Seitenleisten, diese Seitenäste,
- 3:02:58die da dran sind, super lang. Und ist das dann auch dynamisch generiert?
- 3:03:03Genau, also sie gucken nicht nur in die eine Nachbarschaft, sondern sogar in
- 3:03:07das Two-Neighborhood, also sie gucken zwei Voxel-Block weiter.
- 3:03:10Aber viel weiter geht es nicht, es geht nur in zwei Voxel weiter.
- 3:03:13Okay, aber zum Beispiel die langen Holzzylinder sind...
- 3:03:17Der eine Block sieht anders aus, als wenn du zwei Blocke übereinander machst,
- 3:03:21aber danach wird es nicht noch länger.
- 3:03:22Aber ich habe ja, warte, ich habe doch hier dieses eine Bild hier über Ignacio,
- 3:03:29über Ignacio den Artikel.
- 3:03:31Da sieht man ja diese Holzwand und da steckt noch so ein Steinchen-Ding dran.
- 3:03:37Welchen Teil meinst du jetzt gerade? Weil das ist natürlich auch viel in der,
- 3:03:41Displacement der Holztextur.
- 3:03:45Clevererweise, es passt zu den Deko-Objekten außen. Du kannst es aber,
- 3:03:49das kann ich dir empfehlen, du kannst die Deko-Objekte separat ausstellen.
- 3:03:53Dann wird das Spiel deutlich hässlicher. Aber man sieht dann deutlich mehr,
- 3:03:57was sie tun und was das ist.
- 3:03:59Ich habe mal eine grüne Linie reingezeichnet. Also diese Holzstange, die da ist.
- 3:04:04Das ist keine Stange, sondern das sind drei Einzelteile, die zusammenpassen.
- 3:04:07Ah. Und das sind aber manuell generiert, die sind nicht dynamisch generiert.
- 3:04:13Also die möglichen Kandidatenmodelle sind von Hand erzeugt.
- 3:04:16Ah, okay.
- 3:04:18Das ist eigentlich wie ein 2D-Border, wo man sagt, man hat so einen Nine-Shape,
- 3:04:23wo man einen Teil in der Mitte hat, was man repeaten kann, und hat die Kanten.
- 3:04:27Und dann kann man beliebig langen,
- 3:04:29Rahmen machen.
- 3:04:30Ja, okay, okay, okay. Also, okay, die sind alle per Hand, ja.
- 3:04:33Okay, und die sind alle abgerundet, die stecken einfach ineinander,
- 3:04:38die sind nicht sauber, also die stecken einfach ineinander, aber das passt ja
- 3:04:43bei so organischen Formen. Ah ja, okay, spannend.
- 3:04:46Mal gucken, ob uns noch irgendwer folgen kann. Wer jetzt zuhört,
- 3:04:48könnt ja mal schreiben, ob ihr komplett verwirrt seid.
- 3:04:51Aber es ist wirklich ganz faszinierend, weil das sieht wirklich so aus wie eben,
- 3:04:56also mindestens ein 3D-Kit, hätte ich gesagt, von Hand gebaut.
- 3:05:00Aber nein, das sind alles ganz dynamische Sachen und ich konnte meinen Augen
- 3:05:04nicht trauen, als dann nämlich jemand in einem Video gezeigt hat,
- 3:05:08ja, also ihr macht jetzt hier eine Steinmauer und dann könnt ihr ein kleines
- 3:05:10Fenster reinschneiden und dann werden um den Fensterrahmen herum so kleine Steinchenpusteln.
- 3:05:15Ich denke so, was ist denn da los?
- 3:05:17Also klar, da hat man schon mal gesehen in Houdini und jetzt gerade auch rausgekommen Tinyglade.
- 3:05:22Tinyglade, genau, wollte ich auch gerade sagen. Die machen das nochmal sehr
- 3:05:24viel, nochmal sehr viel mehr.
- 3:05:26Genau, das ist nämlich das Ding. Tiny Glade ist ja quasi, das gesamte Spiel
- 3:05:29dreht sich um die prozedurale Sache und hier geht es ja nicht nur darum,
- 3:05:32sondern da ist ja auch noch ein ganzes Spiel dahinter mit irgendwie Quests und allem drum und dran.
- 3:05:36Und deswegen habe ich das gar nicht erwartet, dass da so ein Detail drin steckt.
- 3:05:40Ja, man kann es in Borderlands schon sehen. Also es ist glaube ich wirklich
- 3:05:43eine Iteration von etwas, was wir in Borderlands schon hatten.
- 3:05:47In Borderlands hatten wir diese Möglichkeit nicht, das wirklich als einzelne Modelle zu machen.
- 3:05:51Aber wir hatten schon auch diese Logik, dass man die Nachbarn anguckt und dann
- 3:05:54haben wir halt so mit einem zweiten Movie Channel so Kanten gemacht mit Texturen.
- 3:06:00Das kann man sich in Portnites auch sehr gut angucken. Das sieht man da.
- 3:06:02Das ist halt nicht ganz so auffällig, weil es halt keine echten 3D-Objekte sind.
- 3:06:06Und nichts schlägt echte Geometrie.
- 3:06:09Aber man sieht das da schon und das ist ein ähnlicher...
- 3:06:13Ähnliche Technik.
- 3:06:14Genau, und was interessant ist, es gibt mindestens zwei Draw Calls,
- 3:06:17einen für die Voxel, einen für die Mini-Objekte, was natürlich super ist,
- 3:06:20weil dann könnt ihr auch die Mini-Objekte wegblenden auf Distanz.
- 3:06:23Ja, also es ist komplett GPU-driven, die Pipeline, und diese Dekobjekte werden
- 3:06:26komplett auch Roktushenkalt und die, die überleben, die werden dann zusammengesammelt
- 3:06:30wieder und dann dynamisch instanziert auf der GPU.
- 3:06:33Also wir packen dann immer alle, die den gleichen Modelltyp haben,
- 3:06:36zusammen, also nach Roktushenkalling, und das ist jeweils ein Drawcall pro...
- 3:06:43Also ich weiß nicht, wie weit die Tiefen gehen wollen hier, aber...
- 3:06:46Ach, so tief wie du möchtest.
- 3:06:50Ganz entspannt. Genau, weil eines habe ich mich auch gefragt.
- 3:06:53Eine Sache, die man lernt, wenn es um Drawcalls geht, ist, es muss das gleiche
- 3:06:57Mech sein und es muss die gleiche Textur sein.
- 3:06:59Und dann kann man zum Beispiel Sachen batchen oder instanzieren oder so.
- 3:07:02Und ich war mir nicht ganz sicher, ob ich mich falsch geguckt habe.
- 3:07:04Ich habe nämlich in meinem super...
- 3:07:07Also ich habe mir sehr viel Mühe gegeben. Ich habe einfach eine Steinwurst an
- 3:07:09so einer Holzwand gemacht, Weil ich sehen wollte, wie sich das so miteinander interagiert.
- 3:07:14Und mir ist dann aufgefallen, mit der NVIDIA N-Zeit habe ich das geguckt,
- 3:07:18dass das ein Dwarf-Code zu sein scheint.
- 3:07:21Da dachte ich so, warte mal, wir reden ja jetzt über ein Steinmaterial und ein Holzmaterial.
- 3:07:25Das muss dann ja auf einem Atlas, auf einem gemeinsamen Atlas liegen oder so.
- 3:07:29Nee, das nennt man Bindless. Also
- 3:07:31das ist eine Technik, die die Hälfte von deiner Aussage obsolet macht.
- 3:07:37Also die Textur ist nicht mehr relevant in einem Draw Call. Ihr müsst nicht gleich sein.
- 3:07:42Und es können auch einfach beliebig viele Texturen sein, natürlich haben die ihre Kosten,
- 3:07:46aber man kann, der Trick ist, dass man quasi ein großes Array,
- 3:07:50also eine große Sammlung von allen Texturen, die einen interessieren hat,
- 3:07:54und die kann man im Shader adressieren über einfach einen Index, also eine Zahl.
- 3:07:59Und das kann unterschiedlich sein für jedes Dreieck von dem Dropout, das man macht.
- 3:08:05Warum machen wir das nicht alle schon immer?
- 3:08:07Es erfordert ein gewisses Mindestmaß an GPU-Hardware, die halt jetzt gerade
- 3:08:13erst so Mainstream ist, dass das mehr und mehr alle machen.
- 3:08:16Aber das ist nicht so der ganz normale Texture-Atlas, wie früher hieß es ja noch Mega.
- 3:08:22Das sind komplett getrennte Texturen. Texture-Atlas hat immer ein Problem damit,
- 3:08:26dass man ein Filter-Problem hat am Rand.
- 3:08:29Also jetzt sind wir wirklich in den Details, aber ein Texture-Atlas ist quasi
- 3:08:32mehrere Texturen auf eine große Textur packen.
- 3:08:35Und dann hat man immer das Problem am Rand, von einer Textur auf die nächste.
- 3:08:38Das bleedet dann immer rüber.
- 3:08:41Genau, aber das hat man da nicht.
- 3:08:44Das ist auch eine Sache, das kennt man vor allem, seit es gute Tools gibt wie
- 3:08:47Substance Painter und so.
- 3:08:49Wenn die nämlich baken, die können an den Rändern von den UV-Shells,
- 3:08:53können die so Pixel nach außen mit der gleichen Farbe bleeden lassen.
- 3:08:58Und damit man eben genau so ein Color Bleeding verhindert, Wenn die UV-Shells
- 3:09:05weit genug auseinander sind zumindest.
- 3:09:07Und wenn man es auf den Finit stellt, weil sonst hat man irgendwelche Mipmaps
- 3:09:10am Ende doch noch ein bisschen bleeding.
- 3:09:11Ja, genau, das stimmt, ja. Ah, interessant, ja. Das ist ja faszinierend.
- 3:09:16Okay, dann ist das alles ein Draw Call.
- 3:09:19Wow, toll. Ja, wieder mal Theoriewissen vernichtet.
- 3:09:23Das entwickelt sich aber auch, weil das ist ja zu Fallen-Night-Zeiten war das
- 3:09:27durchaus noch so. Da war es auch ein Atlas.
- 3:09:29Da haben wir das auch so gemacht. Also das ist jetzt gar nicht falsch,
- 3:09:33weil dein Wissen ist nur vielleicht fünf Jahre alt.
- 3:09:36Wahrscheinlich neun Jahre, weil ich habe so einen Artikel mal geschrieben über
- 3:09:39Rendering und der ist neun Jahre alt. Da habe ich es alles so illustriert mit
- 3:09:42süßen kleinen Animationen.
- 3:09:44Da gab es ja noch gar kein Raytracing.
- 3:09:45Nee, tatsächlich nicht, aber warte, ich zeige dir den mal, weil das ist nämlich,
- 3:09:50also da habe ich mir sehr viel Mühe gegeben mit der Illustration, wenn du hier,
- 3:09:56das ist der Artikel, da habe ich nämlich alle sehr niedlich gemalt,
- 3:10:01zum Beispiel, ich zeige dir mal ein Video, wie ich mir das so,
- 3:10:04da siehst du mal, wie sich ein Grafiker vorstellt, wie Rendering funktioniert,
- 3:10:07hier ist ein Video zum Beispiel, wie die Applikation dem Driver irgendwas sagt
- 3:10:11und der Driver ist halt eine kleine Figur mit einem Taxi-Mütze.
- 3:10:14Genau, so sieht das aus.
- 3:10:15Genau. Und dann...
- 3:10:17Aufs Monocle ist sehr pickig.
- 3:10:19Mein Taxi Driver hat ein kleines Monocle und ein Schnauzbart.
- 3:10:22Auf jeden Fall sehr picky. Also wenn das nicht ganz akkurat ist,
- 3:10:25dann nimmt er das gar nicht an.
- 3:10:27Genau. Und so habe ich dann das alles animiert.
- 3:10:31Sehr schön.
- 3:10:33Und ganz besonders stolz bin ich übrigens auf mein...
- 3:10:38Geometrie-Shader, der mit einem kleinen Zauberstab wedelt und dann aus einem
- 3:10:42Vertex auch mehrere machen kann.
- 3:10:47Geometrie-Shader ist ein Schimpfwort tatsächlich, wo die Grafikkugeln wieder kreisen.
- 3:10:51Was, Geometrie-Shader ist ein Schimpfwort?
- 3:10:53Ja, das sollte man nicht benutzen. Echt?
- 3:10:56Okay.
- 3:10:56Es ist sehr ineffizient. Also die Hardware lagweilt sich da im Regel.
- 3:11:00Das Problem ist halt, ja, da gibt's bessere Methoden mittlerweile.
- 3:11:08Okay, zurück zu Entschraudet. Wir haben ja jetzt gesagt, dass das Terrain so geil zerstörbar ist.
- 3:11:15Also man kann wirklich mit der Spitzhacke da reinhauen.
- 3:11:19Übrigens, da wollte ich eine Frage stellen. Also ihr habt ja die Engine entwickelt.
- 3:11:22Und wahrscheinlich habt ihr, oder anders gefragt, gab es in Portal Knights schon Quick-Travel?
- 3:11:28Es gab Portale. Ich meine, das ist ja ein Name. Ich weiß nicht,
- 3:11:31was du meinst. Meinst du nach Hause teleportieren oder so? Das gab es auch schon, ja.
- 3:11:34Ja, weil die Sache ist die, ich habe halt, das Erste, was ich gemacht habe,
- 3:11:37ist, ich habe einen Tunnel nach unten gegraben und wollte mal gucken,
- 3:11:40wie weit es nach unten geht.
- 3:11:41Und dann bin ich da nicht mehr rausgekommen. Und hätte es da keinen Quick-Travel
- 3:11:44gegeben, wäre ich da halt verendet.
- 3:11:47Du hättest ja so eine Treppe gegraben.
- 3:11:50Nee, das habe ich versucht. Das ist zu anstrengend. Also ich weiß nicht,
- 3:11:54ob ich die richtige, also vielleicht ist meine Anfängerspitzhacke einfach nicht gut genug.
- 3:11:58Die ist nicht gut genug. Die wird noch besser und dann geht es schneller.
- 3:12:00Genau, das hätte ich nicht geschafft. Da wäre ich vorher an Ermüdung gestorben, glaube ich.
- 3:12:05Da muss man die Balance finden. Wir wollen es möglich machen und wollen auch,
- 3:12:09dass Leute das als kreative Lösung für die Spielprobleme, also die Probleme,
- 3:12:16die das Spiel einem gibt, also Gegner und so, kann man jetzt durchaus einsetzen.
- 3:12:20Aber es sollte nicht so einfach sein, dass das gar kein Aufwand ist und dass
- 3:12:24dann die anderen Probleme gar keine Rolle mehr spielen.
- 3:12:27Verstehst du, was ich meine? Also es ist so ein bisschen eine Balance, die man da treffen muss.
- 3:12:31Wir sind schon happy und stolz, dass das funktioniert alles immer,
- 3:12:34aber es sollte schon sich jetzt auch nicht ein bisschen nach Arbeit anfühlen.
- 3:12:38So eine kleine Challenge bleiben, ja, genau. Ja, ich wollte es ja also so auch
- 3:12:43nur so aus technischer, aus der Technik heraus testen und habe mir dann einfach
- 3:12:47in diesem Moment überlegt, ah, cool, Quick-Travel, da habe ich mich einfach
- 3:12:50zu meinem Altar gebeamt und dann dachte ich so,
- 3:12:52Was war zuerst da? Das Runterbiegen oder das Quick-Travel?
- 3:12:56Und ich habe mir halt vorgestellt, wie zum Beispiel du da sitzt,
- 3:12:58nach unten dich begreifst und dann realisierst, oh.
- 3:13:03Ja, tatsächlich braucht man Quick-Travel in so Fällen. Es gibt immer noch seltene
- 3:13:07Fälle, wo man auch sich quasi in der Kollision verhaken kann und so.
- 3:13:11Das ist immer möglich bei solchen Spielen, die so eine offene Welt haben.
- 3:13:17Und genau aus dem Grund ist es immer ganz sinnvoll, einen Quickderm zu haben.
- 3:13:22Weil die Koalition, muss man ja auch bedenken, ist auch dynamisch.
- 3:13:25Und das ist ja, also auch NavMesh für die Gegner ist dynamisch.
- 3:13:28Das muss ja dynamisch sein, weil die Welt dynamisch ist.
- 3:13:31Man kann ja auch irgendwie Löcher reinhauen und dann können da Gegner halt auch durchgehen.
- 3:13:36Das sind alles so Sachen, die bei, sagen wir mal, konventionellen Spielen durchaus
- 3:13:41mal gerne gebacken werden.
- 3:13:43Ja, das stimmt. Das klingt auch sehr nach Challenge, oder?
- 3:13:47Weil so eine NavMesh ist, ich weiß noch, die das zu generieren hat bei Sacred
- 3:13:50wird, ultra lang gedauert. Also die Offline zu generieren.
- 3:13:53Computer sind schneller geworden seitdem. Aber es ist immer noch ein Challenge.
- 3:13:57Und wir machen das halt nicht für alles in der Welt, sondern immer nur quasi
- 3:14:01um den Bereich von aktiven Gegnern herum.
- 3:14:04Und das, wir haben bis zu 16 Spieler auf einem Server.
- 3:14:08Das heißt, wir haben bis zu 16 Bereiche auf der Welt, wo wir Gegner simulieren müssen.
- 3:14:14Ja, und die tracken wir die ganze Zeit und da machen wir dann quasi Nuffmisch- Erzeugung.
- 3:14:20Ich habe einmal in mein supertives Loch einen Wolf reinfallen lassen.
- 3:14:23Das war irgendwie befriedigend und ich habe mich dann auch gefragt,
- 3:14:25was passiert da unten jetzt mit dem? Bleibt der da jetzt für immer?
- 3:14:29Nein, also es kommt darauf an, ob du jetzt in deiner Basis warst,
- 3:14:33aber wenn nicht, dann gehst du, dann wird das Resetted nach 30 Minuten deiner Abwesenheit.
- 3:14:38Also wenn du 30 Minuten außerhalb dieses Chunks bist, wir hatten ja vorhin schon
- 3:14:41über diese Chunks geredet als Weltelemente und das nicht in deinem Safegun ist,
- 3:14:46dann wird die gesamte Welt da resettet. Das heißt, der Wolf ist wieder da, wo er vorher war.
- 3:14:49Doch, genau. Ich war nah bei meiner Basis, neben meinem Ding.
- 3:14:52Dann bleibt der Wolf für immer in dem Loch da hinten drin.
- 3:14:55Nur innerhalb dieses Basisbereichs. Also wirklich hart in dem Bereich.
- 3:14:59Genau.
- 3:15:00Wenn es in dem Bereich war, dann bleibt der Wolf da.
- 3:15:02Ah, der war nämlich böse. Da darf ich nicht selbst reinfallen,
- 3:15:05ansonsten komme ich da nicht wieder raus. Der beißt mich dann.
- 3:15:09Wobei ich gar nicht ganz genau weiß, also das Loch bleibt auf jeden Fall da.
- 3:15:12Ob der Wolf da bleibt, weiß ich gar nicht ganz genau.
- 3:15:15Das war übrigens auch eine Sache, die hast du jetzt schon beantwortet.
- 3:15:17Das habe ich mich auch gefragt.
- 3:15:18Ich habe dir ein Screenshot geschickt. Ich habe nämlich mal ein Wireframe gemacht,
- 3:15:22wie mein Loch aussieht, meinen Tunnel, den ich nach unten gegraben habe.
- 3:15:25Und da ist mir dann aufgefallen, weil ich habe mich gefragt,
- 3:15:28wird das irgendwie kalt? weil es wäre jetzt sehr krass, wenn ich jetzt 10,
- 3:15:3220, 30 Löcher buddele und ich habe dann einfach, ich generiere ja immer mehr
- 3:15:35Polygone damit auch und irgendwann ist die CPU, GPU ja auch ein bisschen.
- 3:15:39Ja und wir sind auch Löcherbuddler, also wir haben eine ganze Menge Löcher verbuddelt
- 3:15:43in diesem Spiel, also falls du mal weiterspielst, wir haben sehr,
- 3:15:45sehr, sehr viele Sachen unter der Erde.
- 3:15:47Ah.
- 3:15:48Ja und das ist super wichtig, das geht gar nicht ohne. Also ohne Occlusion Culling
- 3:15:52von diesen Sachen unter der Erde, da sind ganze Dungeons,
- 3:15:57Riesengebäude unter der erde und die würden wir alle sonst rennen das geht gar nicht ohne.
- 3:16:01Ja genau aber aber im gebäude da kann ich mir noch vorstellen klar das ist ein
- 3:16:05eigenes objekt so das kann man irgendwie kann aber das terran das gehört alles so zusammen dazu.
- 3:16:10Da sind auch höhlen natürliche höhlen unten drunter mit lager gefüllt und so also.
- 3:16:13Okay genau aber ich habe mich dann gefasst wie macht ihr das also machte dann
- 3:16:18so ein weiß ich 16 x 16 meter stückchen wird das dann so,
- 3:16:23aufgeteilt oder so aber du hast ja eben schon gesagt dass sie so kleine chance
- 3:16:26habt und so Und wenn man nämlich auf diesen Screenshot guckt,
- 3:16:29kann ich jetzt auch mal einblenden, dann sieht man tatsächlich auch,
- 3:16:31dass dieser Tunnel, der da unten geht, wirklich so in einzelnen Polygonen dann auch endet.
- 3:16:40Genau, das ist super spannend, wie er das da optimiert.
- 3:16:44So, genau, das war cool. Ah, das mit dem Gleiter, das Streaming habe ich auch
- 3:16:47schon gefragt. Und ja, es sind so kleine Details, aber es macht Spaß,
- 3:16:54in diesem Spiel einfach so Experimente zu machen, weil es so ein Experimentierkasten ist.
- 3:16:59Wenn man nämlich Terrain unter anderen Objekten weggräbt, dann gibt es unterschiedliche Reaktionen.
- 3:17:05Das fand ich sehr spannend. Wenn man nämlich unter einem anderen NPC was weggräbt,
- 3:17:10dann rutscht der einfach runter.
- 3:17:12Mein Schmied steht aktuell in einer sehr tiefen Grube.
- 3:17:15Und der kommt auch nicht mehr raus.
- 3:17:19Im nächsten Update wird das Spiel sich bewegen können.
- 3:17:22Also musst du aufpassen, ob du ihn zu angry machst.
- 3:17:27Mal gucken, ob du gut brauchst. Was ich spannend fand, war, unter einem Baum,
- 3:17:32wenn man da Terrain wegmacht, dann faded der Baum einfach aus.
- 3:17:37Der ist einfach plötzlich weg.
- 3:17:39Aber wenn man einen großen Stein hat, den man noch nicht klein gehauen hat,
- 3:17:44um ihn einzusammeln, der bleibt in der Luft schweben. Man kann unter dem Stein
- 3:17:49alles weggraben und dann hat man einen magischen, schwebenden Stein. Ja.
- 3:17:53Man kann ja auch Wurzel, also man kann unter anderem Gebäudewurzeln alle Wurzel wegmachen.
- 3:17:57Also wir haben keine Physik in dem Sinne im Spiel, die dazu sorgt,
- 3:18:02dass alles runterfällt.
- 3:18:03Und das ist auch eine bewusste Entscheidung gewesen. Das hatten wir in Borderlands
- 3:18:05auch schon so, dass das für die, das hatte ich ja vorhin schon angesprochen,
- 3:18:10dass das einfach unserer Meinung nach für das Baugefühl besser ist.
- 3:18:15Es macht einfach mehr Spaß, weil sonst muss man sich um diese ganzen Kram sorgen und Gedanken machen.
- 3:18:21Es gibt durchaus Leute, die finden den Teil spannend, das will ich gar nicht sagen.
- 3:18:25Balheim ist ja zum Beispiel auch so ein Spiel, was da mehr macht in die Richtung
- 3:18:30und da muss man physikalisch irgendwie halbwegs sinnvoll einen Support bauen,
- 3:18:35damit das nicht in sich zusammenfällt.
- 3:18:36Aber wir haben absichtlich gesagt, das wollen wir jetzt nicht als Fokus im Spiel
- 3:18:41haben, wir wollen die Kreativität da nicht zu sehr einschränken.
- 3:18:44Wir wollen ja, dass Leute schwebende Magiertürme bauen oder so Sachen.
- 3:18:49Also ein bisschen Fantasy eher. Und warum der Stein jetzt nicht runterfällt,
- 3:18:55der Baum kaputt geht, weiß ich im Detail nicht.
- 3:18:58Also das war sicher irgendeine Entscheidung von irgendjemandem im Team,
- 3:19:01der gesagt hat, dass das so rum... Vielleicht ist es beim Baum aufgefallen, mehr aufgefallen.
- 3:19:07Deswegen hat man es beim Baum so gemacht und beim Stein nicht.
- 3:19:10Also das ist jetzt keine technische Limitierung. Ich glaube,
- 3:19:12der Steine könnte auch feststellen, dass er keinen Boden mehr unter sich hat
- 3:19:16und dann könnte er auch weggehen oder runterfallen, I guess.
- 3:19:21Ja, das sind auch spannende Themen, wo Game Design mit reinspielt.
- 3:19:25Man könnte ja auch zum Beispiel sagen, dass wenn man unter einem Baum was weggräbt,
- 3:19:29dann platzt der Baum in kleine Stücken, die man einsammeln kann,
- 3:19:32weil die sind ja physikal nicht simuliert.
- 3:19:34Aber dann wäre es vielleicht ein bisschen zu einfach, ganze Bäume zu malen,
- 3:19:37weil dann müsste man nur einmal bei jedem Baum unten dranhauen und dann explodieren die alle.
- 3:19:42Genau, das ist spannend. Aber es macht wirklich Spaß.
- 3:19:46Also man geht in das Spiel rein und denkt so, okay, jetzt habe ich aber Bock
- 3:19:49zu experimentieren. Das ist ja ein gutes Zeichen schon mal.
- 3:19:51Ja, wir haben sehr unterschiedliche Spielertypen, muss man sagen.
- 3:19:54Also wir haben jetzt viele Spieler und wir wissen, dass manche Leute das gar
- 3:19:57nicht so sehr machen mit dem Bauen und manche Leute spielen fast nur das als Bausimulation.
- 3:20:03Also sehr unterschiedlich. Es gibt durchaus auch Leute, die spielen das als Action-Rollenspiel.
- 3:20:09Also die, weiß ich nicht, also nehmen es wahrscheinlich schon wahr,
- 3:20:13dass es geht, aber die spielen das Spiel so mit der Story und mit den Gegnern
- 3:20:19und mit dem Leveln und so, wie das halt ja auch da ist.
- 3:20:24Andere Leute verlassen die Basis quasi kaum, außer um Rohstoff zu sammeln,
- 3:20:28um da weiterbauen zu können.
- 3:20:30Und so ein bisschen ist die Hoffnung, dass man dadurch, dass es ein Multiplayer
- 3:20:33ist, vielleicht sogar beide in einem Spiel zusammenkriegt.
- 3:20:36Dass man, sagt der eine oder die zwei, gehen irgendwo jagen und man kann ja
- 3:20:41auch dann neue Voxel-Typen sammeln.
- 3:20:45So ein bisschen ist das ja auch so, so die Game Loop,
- 3:20:48dass man rausgeht und neue, den glatten Marmor und so, den kriegst du halt erst
- 3:20:52ganz woanders und dann bringst du den nach Hause zurück und kannst damit dann
- 3:20:56weiterbauen in deiner Basis, deine Basis noch schöner machen und dass man da so eine,
- 3:21:01ja, so eine Teamwork macht draus, dass jemand den einen Teil macht und der andere Ah.
- 3:21:07Ja, ja, ja, Arbeitsteilung, ja.
- 3:21:10Arbeitsteilung.
- 3:21:11Bei den Gebäuden, das fand ich auch faszinierend, weil es gibt da so ein tolles
- 3:21:14Video, wo ihr zeigt, erstmal wie man modelliert, was cool aussieht,
- 3:21:18so ein bisschen wie dieses SDF-Tool auch.
- 3:21:21Und was auch spannend ist, man kann aber auch Objekte importieren,
- 3:21:25was dann umgewandelt wird in eure Technologie.
- 3:21:28Das ist natürlich cool. In dem Video wurde dann so ein riesiges Schwert genommen.
- 3:21:31Und das wurde dann auf so einen Stein, glaube ich, gesetzt und sowas.
- 3:21:36Also das heißt, man ist nicht nur auf Blöcke oder sowas limitiert.
- 3:21:40Man kann Nee, das machen wir sehr viel. Also in irgendeinem Tool-Blender oder
- 3:21:47Maya oder Max wird ein sehr grobes 3D-Modell gebaut,
- 3:21:52zum Beispiel von einem Berg, kann auch durchaus was Großes sein,
- 3:21:57und dann kann man das importieren und mit Voxel füllen quasi und die,
- 3:22:01der Voxel-Füll-Algorithmus, der füllt es halt so, dass das Terrain nach dem
- 3:22:05Mashing wirklich nah an der Oberfläche von dem Mesh ist,
- 3:22:09was man da importiert hat und das hat wieder den Vorteil, dass man das einfach
- 3:22:13in ein anderes Ding reinstecken kann wieder und dann, dass die Kanten halt ineinander übergehen.
- 3:22:18Und daraus kann man sehr schnell auch sehr coole Shapes mitbauen und welche
- 3:22:23Klippen oder so, die die Ödopragen.
- 3:22:26Und wahrscheinlich muss man dann, kann man dann den Voxel-Typ mit einem Brush oder so draufmalen?
- 3:22:32Dass ich sage, hier male ich so Stein hin und hier male ich so Holz hin oder so?
- 3:22:37Tatsächlich, in den meisten Fällen ist es ein Voxel-Typ und wir haben später,
- 3:22:40also man kann sich das vorstellen, im Editor, wir haben verschiedene Layers,
- 3:22:43so wie in Photoshop vielleicht, kann man sich das vorstellen.
- 3:22:45Also wir haben verschiedene Schritte, die nacheinander ablaufen und man kann
- 3:22:49später dann auch noch so Sachen machen wie Voxel-Materialien oder Shapes injecten.
- 3:22:55Also man kann Rohstoffe irgendwo injecten, zufällig oder man kann obendrauf
- 3:23:00noch einen Sandlayer drauf tun, der eine gewisse Dicke hat.
- 3:23:03Und solche Sachen gibt's dann noch. Also das ist gelayert.
- 3:23:07Man importiert dann erstmal diese grobe Geometrie und meistens macht man danach
- 3:23:11noch Schritte, um obendrauf die Materialien zu verteilen oder aufzulockern.
- 3:23:17Meinst du jetzt mit obendrauf, dass man wie Erdschichten und dann gräbt man
- 3:23:21sie erst durch Sand und dann durch...
- 3:23:23Oben drauf war ich jetzt im leeren Sinne, aber das ist meistens tatsächlich auch physisch von oben.
- 3:23:28Aber wie ist das eigentlich mit den UVs? Macht ihr da irgendwie triplanares Mapping auf alles?
- 3:23:34Triplanar, ja.
- 3:23:35Ah, okay. Macht auch festliche Artefakte an vielen Stellen, aber wir haben noch
- 3:23:38nichts Besseres gefunden. Falls du was weißt, gerne her damit.
- 3:23:42Ich habe jetzt öfters mal so einen anderen Term gesehen.
- 3:23:48Angeblich, aber im Ernst, ich verstehe nicht, wie es funktioniert.
- 3:23:50Angeblich braucht man nur zwei Projektionen statt drei.
- 3:23:53Das wird irgendwie von der Kamera aus gesehen oder so. Ich habe da gerade so
- 3:23:57ein Elefant im Kopf, wo die so eine Demo gezeigt hatten.
- 3:24:01Keine Ahnung, wie es funktioniert, aber sah ganz okay aus. Aber sagen wir mal
- 3:24:05so, zumindest für organische Formen, aber da sieht es am meisten sowieso okay
- 3:24:08aus. Es ist ja meistens ein Problem.
- 3:24:09Ja, bei Gebäuden, da haben wir den Vorteil, dass wir einen 90-Grad-Winkel haben,
- 3:24:12die mappen wir halt dann von den Hauptprojektionsachsen. Also von der Seite.
- 3:24:16Genau, und außerdem habt ihr für die Kanten ja auch noch die ganzen Detail-Meshes.
- 3:24:19Für die Kanten die Dekorbeckte, genau. Wobei sich viele Leute natürlich wünschen,
- 3:24:22also wünschen, auch runde Gebäude bauen zu können.
- 3:24:25Ja, das ist schon ein populärer Wunsch. Das geht im Moment nicht.
- 3:24:29Da müssen wir nochmal gucken.
- 3:24:30Wie wir das vielleicht noch machen. Und genau, Genau, und bei den Gebäuden,
- 3:24:33da gibt es noch zwei Sachen, die mir noch nicht ganz klar sind.
- 3:24:35Das eine war, ganz in diesem Video auch, da war wieder so ein Houdini-Ding,
- 3:24:41dass ihr im Grunde genommen sagt, hier habe ich so einen groben Kasten,
- 3:24:44mach da mal ein Gebäude hin und da wird ein Gebäude generiert. Prozedural.
- 3:24:49Da weiß ich nicht genau, was du meinst. Also die Gebäude stehen bei uns tatsächlich
- 3:24:52fast immer in Magica Voxel.
- 3:24:54Magica Voxel. Ist das irgendwas, was man kennt?
- 3:24:57Wenn man Voxel-Modelle mag, dann ja. Das ist so ein Voxel-Tool,
- 3:25:01das Das ist relativ cool zu bedienen.
- 3:25:03Und da kann man eine Palette definieren. Und genau, das ist der Link.
- 3:25:08Und wir importieren diese VOX-Files direkt in die Engine.
- 3:25:13Also die kann man direkt importieren. Und kann dann in einzelnen Paletten-Einträgen
- 3:25:17halt unterschiedliche Materialien aus der Engine von uns zuweisen.
- 3:25:20Und da kann man dann auch Gebäude relativ, also ziemlich schnell zusammenklicken.
- 3:25:24Okay, warte, ich zeige das. Genau, hier an der Stelle...
- 3:25:28Warte, so, ich schicke dir mal ein Video mit Timecode. Und das ist nämlich dieses
- 3:25:32Video, wo auch das mit dem Schwert erklärt wird.
- 3:25:34Und jetzt muss ich hier mal die Kämpfchen anmachen.
- 3:25:37Da wird gesagt, also da hat man im Grunde nur so ein Voxel-Gebäude.
- 3:25:43Dann wird das dupliziert und das andere sieht dann anders aus.
- 3:25:48Genau, also was wir haben, wir haben eine riesengroße Welt.
- 3:25:52Das heißt, wir versuchen dann schon, Sachen wiederzuverwenden teilweise,
- 3:25:55so dass es mich zu sehr auffällt. Also wir können kleine Points of Interest
- 3:25:59bauen, also kleine Szenen. Das kann jetzt ein Gebäude sein, wie in diesem Fall,
- 3:26:03oder auch ein bisschen was Größeres, eine Ansammlung von Gebäuden.
- 3:26:06Und die können wir instanzieren in der großen Welt. Das heißt,
- 3:26:08wir können mehrere Instanzen davon irgendwo platzieren.
- 3:26:11Und da sind auch wieder Regeln aktiv. Also die können je nachdem,
- 3:26:15wo sie instanziert werden, unterschiedlich aussehen.
- 3:26:18Die können ein anderes Material annehmen und nur ein paar andere Sachen,
- 3:26:23die dann variabel sind und die dann ausgewürfelt werden an der Stelle,
- 3:26:27wo sie instanziert werden.
- 3:26:28Ja, aber in diesem Fall ist es so, dass das Haus komplett anders aussieht.
- 3:26:33Also es ist wirklich so, es steht ein Haus da, muss man sich so vorstellen.
- 3:26:37Dann nimmt die Person, die das Video hier gemacht hat, macht quasi Copy und Paste.
- 3:26:41Genau, das ist eine Whitebox, nennen wir das. Also eine Whitebox wird gefüllt
- 3:26:45mit einem der möglichen Kandidaten für diese Umgebung.
- 3:26:48Also jemand sagt, baut halt fünf oder sechs kleine Häuser und sagt dann,
- 3:26:53hier will ich ein kleines Haus haben und dann wird halt aus dem Pool an kleinen
- 3:26:58Häusern eins ausgewählt.
- 3:27:00Aber die sind alle per Hand gebaut vorher? Die sind alle per Hand gebaut.
- 3:27:02Ah, okay. Ich dachte nämlich da, okay, krass, da ist auch nochmal direkt ein
- 3:27:05Building Generator irgendwie mit drin oder so.
- 3:27:07Nee.
- 3:27:08Okay.
- 3:27:09Okay, wir hatten mal ein bisschen drüber nachgedacht, aber am Ende ist es sehr
- 3:27:12schnell zu bauen, auch durch die Voxel-Natur in Magier-Voxel.
- 3:27:16Und man hat dann immer mehr Kontrolle.
- 3:27:19Am Ende sollen die Gebäude, wir wollen zwar viele, aber jedes Gebäude soll auch
- 3:27:23für sich irgendwie sinnvoll sein und irgendwie gut aussehen und so.
- 3:27:27Und dann hat man das Gefühl am Ende, da haben wir immer noch,
- 3:27:30dass es besser ist, die Finanzen zu bauen.
- 3:27:33Nur der Level-Designer ist ja jemand, also ein bisschen die Job-Arbeitsteilung.
- 3:27:36Es gibt dann jemand, der baut halt diese Häuser.
- 3:27:40Und dann gibt es jemand, der baut eine Szene in der Welt und braucht dafür halt
- 3:27:46ein paar Häuser und stellt die hin.
- 3:27:47Und das interessiert sich jetzt nicht so sehr in dem Moment für die Details.
- 3:27:50Das macht man im Nachhinein vielleicht noch, wenn man nochmal drüber geht.
- 3:27:53Aber das ist dann schon ein bisschen effizient steigernd, wenn man das trennt.
- 3:27:58Okay, und jetzt ist es ja so, dass alles aus Wachseln besteht,
- 3:28:03aber warum kann ich dann zum Beispiel jetzt, da ist eine Säule einfach und da
- 3:28:10habe ich dagegen gehauen und dann habe ich gedacht,
- 3:28:13ja jetzt müsste ich ja da ein Loch reinhauen in die Säule, aber in dem Fall
- 3:28:16kommt einfach nur ein Diekel drauf von zerstörten Steinen oder so und das scheint...
- 3:28:21Du warst nicht ausdauernd genug, Simon.
- 3:28:24Ach, geht das doch?
- 3:28:24Du hättest weiterhauen müssen. Du hast eine sehr, sehr schwache Axt, also Pickaxe am Anfang.
- 3:28:29Und die haben quasi alle Hitpoints, die Dinger. Und die haben relativ viel.
- 3:28:34Aber es geht.
- 3:28:35Das geht, ja, du kannst die alle weghauen. Es gibt tatsächlich Wachstum-Materialien,
- 3:28:39die man nicht abbauen kann.
- 3:28:40Es gibt so ein Bad Rock, so wie man das bei Minecraft kennt.
- 3:28:43Ganz, ganz, ganz tief unten.
- 3:28:46Gibt so was. Und dass du nicht rausfällst, wenn du noch weiter runterkommst,
- 3:28:50weil irgendwann ist das Ende. und es gibt diese Ancient-Materialien.
- 3:28:53Also es gibt, weiß nicht, ob du so weit schon gespielt hast,
- 3:28:55es gibt so Tempel, an die man kommt oder auch der Start-Tempel,
- 3:28:59an dem du startest, ganz am Anfang, den kannst du nicht abbauen.
- 3:29:01Und das war so ein bisschen, naja, da muss man das irgendwie zusammenbringen,
- 3:29:06dass wir immer noch ein Spiel machen und so ein bisschen gucken,
- 3:29:10dass man den Spieler ein bisschen leitet und ein bisschen auch Guardrails gibt.
- 3:29:16Also, weil sonst kann er sich Situation bringen, dann geht auch das Home-Travel
- 3:29:21nicht mehr, wenn er diese Station da kaputt machen könnte oder so.
- 3:29:25Also da muss man gucken, dass man... Und auch Boss-Kämpfe haben wir ein paar
- 3:29:29Stellen, wo wir so ein bisschen das einschränken.
- 3:29:32Weil man dann einfach den Boss kaputt machen kann auch.
- 3:29:34Aber das heißt, ich könnte eigentlich die gesamte Welt wegmachen, oder?
- 3:29:38Außer ganz spezielle Bereiche. Unten Boden und ...
- 3:29:43Praktisch nicht. Also, weil wir das 30-Minuten-Reset haben, wird es nicht schnell genug sein.
- 3:29:49Hm. Hm.
- 3:29:51Aber es gibt Videos, also, es gibt eine Menge Videos von Leuten,
- 3:29:54die lustige Sachen versucht haben.
- 3:29:56Und bisher hat das alles ganz gut funktioniert, würde ich sagen.
- 3:30:00Es gibt aber ein paar Ausnahmen. Und zwar, das sieht man jetzt auch auf dem
- 3:30:04Bild, wo ich hier gegen die Säule haue, da ist ja eine schöne kleine Kette noch.
- 3:30:07Die geht zu so einer Lampe um. Und das sind ja keine Boxelobjekte.
- 3:30:11Genau, das sind normale 3D-Modelle.
- 3:30:15Und die, sind die dynamisch platziert oder sind die per Hand dann gebastelt?
- 3:30:22Unterschiedlich, aber die meisten sind von Hand platziert.
- 3:30:24Okay, das heißt, wenn ich jetzt meine Super-Picaxe an der Stelle gehabt hätte,
- 3:30:28würde die Lampe dann irgendwann in der Luft schweben, wenn ich die Säule wegkomme?
- 3:30:32Die würde in der Luft schweben, ja. Also wir haben auch Objekte,
- 3:30:34die runterfallen, so gerade bei Tischen, wenn man einen Tisch wegmacht und dann
- 3:30:37fallen die Sachen runter, die auf dem Tisch sind.
- 3:30:40Aber in dem Fall würde ich sagen, wahrscheinlich schwebt die dann,
- 3:30:42ja. Du kannst sie aber auch abbauen.
- 3:30:44Einfach dagegen hauen, ne? Alles mit Gewalt lösen.
- 3:30:47Alles mit Gewalt.
- 3:30:49Ah, okay. Das ist faszinierend, ja.
- 3:30:51Wir hatten am Anfang, wir haben Steam Next Fest das Demo vor ziemlich genau
- 3:30:55einem Jahr, ja, released. liest.
- 3:30:57Und wir hatten viele Leute im Stream, die wir beobachtet haben,
- 3:31:01wir haben sehr viele Streams geguckt, die das nicht verstanden haben,
- 3:31:04dass man die Welt zerstören kann.
- 3:31:05Weil, wie du es vorhin sagst, sieht nicht so aus wie Minecraft.
- 3:31:08Genau.
- 3:31:10Und zum einen ist das natürlich nett so, weil das wollten wir ja,
- 3:31:14das war das Ziel. Wir wollten nicht so aussehen wie Minecraft.
- 3:31:17Auf der anderen Seite ist es natürlich
- 3:31:18auch schade, wenn sie das gar nicht realisieren, was da noch alles geht.
- 3:31:22Und deswegen haben wir in der ersten Höhle, das hast du auch gesehen,
- 3:31:24gibt es diese Explosive Balls, so als ziemlichen Hint, dass das geht.
- 3:31:29Auf der anderen Seite hat das auch nicht so gut funktioniert,
- 3:31:31weil die Wand ist halt eine besondere Wand und man hat so das Gefühl,
- 3:31:35dass das nur da geht vielleicht.
- 3:31:37Also das war, das ist tatsächlich nicht so einfach, weil das so drin ist bei
- 3:31:41den allermeisten Spielern, weil die allermeisten Spiele das nicht erlauben,
- 3:31:45die so oder so ähnlich aussehen.
- 3:31:47Ja.
- 3:31:48Aber es ist doch eine natürliche Welt, dass man eine Spitzhacke in der Hand
- 3:31:51und ein Loch in den Boden gräbt.
- 3:31:53Also ich weiß gar nicht, das ist ja normal in Shrouded und die Die anderen Spiele
- 3:31:56sind alle eigentlich merkwürdig.
- 3:31:59Die Sache ist, dass das mit dem Boden geht, finde ich noch gar nicht so ungewöhnlich,
- 3:32:04aber dass es mit den Gebäuden geht.
- 3:32:07Also klar haben wir alle schon mal gesehen, wer heißt denn das Spiel? Red Faction.
- 3:32:14Aber da ist es eher so, dass ich gegen Gebäude haue und dann fällt das halt
- 3:32:17physikalisch simuliert zusammen, eher so als Destruction-Effekt oder so.
- 3:32:22Aber dass man das so spezifisch, so quasi so ein bisschen wie Tiny Glade,
- 3:32:27aber das ist jetzt auch wieder was Neues, das ist halt ungewöhnlich.
- 3:32:31Ja, weiß ich nicht. Dafür gibt es dann die Loading-Screens, wo sowas erklärt werden muss.
- 3:32:36Aber ja, klar, ich meine, das ist das Problem von Entrepreneuren.
- 3:32:39Wenn das Spiel auch so Spaß macht, und das macht es glaube ich auch,
- 3:32:42weil es glaube ich auch immer noch ein gutes Action-RPG ist,
- 3:32:44dann ist es ja umso besser. Ja, also man kann das ja auch einfach so spielen.
- 3:32:48Ja, aber ja, es ist halt wirklich, wenn man so Entrepreneur-Technik hat,
- 3:32:52genauso wie es bei mir auch mal mit Nenad und Lumen so, dass ich am Anfang gar
- 3:32:55nicht checke, was da eigentlich dahinter steht, weil es halt einfach nicht erklärt
- 3:33:00wird. Da muss ich mir erstmal den Tech-Talk angucken und dann werden die Augen groß.
- 3:33:03Genau, und ich hatte noch eine Frage.
- 3:33:07Genau, das ist auch eine der letzten Fragen. Und zwar, wir haben ja über triplanares
- 3:33:11Mapping schon gesprochen.
- 3:33:12Also für alle, die es nicht wissen, ist, man spart sich damit Custom UVs auf
- 3:33:16den Meshes, indem man einfach von oben, unten, links, rechts und vorne und hinten
- 3:33:20eine Projektion, eine Textur drauf projiziert aufs Mesh und sich so spart,
- 3:33:25einfach UVs anlegen zu müssen.
- 3:33:27Sehr, sehr gewöhnliche Technik, so im Environment-Bereich. Aber es gibt eine
- 3:33:32Sache, die fand ich spannend.
- 3:33:34Ich habe nämlich so ein Stück Gras irgendwie rausgedingselt und da ist mir aufgefallen,
- 3:33:38dass am Rand dieses Grasbüchel, wo die Polygonen auch noch weiter nach oben
- 3:33:42zeigen, wo ich jetzt erwarten würde, eigentlich müsste da ja Gras zu sehen sein.
- 3:33:46Aber jetzt, weil ich das gelernt habe, weil du ja gesagt hast,
- 3:33:48man kann auch die Voxel definieren mit verschiedenen Typen und füllen und so,
- 3:33:52ich schätze sich einfach mal, dass die Randdinger hier halt auf Stein gestellt
- 3:33:57sind oder so und nicht auf Gras und deswegen das triplanare Mapping da nicht
- 3:34:03überall Gras drauf macht.
- 3:34:04Ja, das ist eine lange Geschichte, dieser Screenshot. Also wir haben Materialblending noch zusätzlich.
- 3:34:11Das ist nicht einfach nur eine Textur, die pro Voxelmaterial,
- 3:34:14sondern es ist eine ganze Latte an Layern, die nach verschiedenen Regeln ausgewählt wird.
- 3:34:19Und unter anderem ist halt die normale mit beteiligt. Bei diesem Voxel-Material
- 3:34:23hier, das ist glaube ich hier Grassland Dirt, I guess, heißt es.
- 3:34:27Also es ist ein Voxel-Material und da gibt es halt Regeln, die von der Seite
- 3:34:31da Steine transprozieren.
- 3:34:33Und die Idee war so ein bisschen, dass das halt netter aussieht,
- 3:34:35wenn man sich den Felsen anguckt, dass da von der Seite halt ein Stein aussehen
- 3:34:39hat und von oben ist da halt Grasfläche.
- 3:34:41Und das ist einfach ein Produkt von dieser Layer-Blending-Regel,
- 3:34:47das sich besonders gut aussieht an der Stelle.
- 3:34:49Aber da sind wir so ein bisschen am Weggehen von, weil es für den Spieler weniger lesbar ist.
- 3:34:56Ja, weil es wird von einer Seite aus wie Stein und von oben wie Erde, dass das halt ein ...
- 3:35:01Ein Erdblock ist. Also das macht schon, wir versuchen jetzt mehr und mehr an
- 3:35:06der Seite des Felsens wirklich dann auch Steinmaterial zu haben und oben wirklich
- 3:35:11ein Layer an Erdmaterial.
- 3:35:13Und so, dass du wirklich und die Erde sieht auch aus wie Erde,
- 3:35:17auch von der Seite aus wie Erde und der Stein sieht von oben auch aus wie Erde.
- 3:35:19Also dass man eine Wachselschicht Erde sozusagen hat und nicht nur oben eine
- 3:35:23Polygonfläche. Ah ja, spannend.
- 3:35:26Das ist noch ein bisschen älteres Material, da haben wir das noch mehr gemacht.
- 3:35:30Ja, spannend. Ich hatte noch eine interessante Meldung. Ich habe eine Meldung bekommen.
- 3:35:38Invalid Locatech. Und dann wurden Localization-Tags kreiert.
- 3:35:42Das sind Bugs einfach. Also Invalid Locatech ist einfach quasi in der Stelle.
- 3:35:47Es ist sehr früh im Spiel und wir haben an der Stelle die korrekte Übersetzung
- 3:35:53des Textes, der angezeigt wird, noch nicht geladen.
- 3:35:56Und das ist natürlich nichts, was passieren sollte. Nein, nein, nein.
- 3:35:59Jetzt checke ich das erst. Ich dachte, ihr generiert on the fly 1000 Localization-Tags
- 3:36:07und ich habe mich gefragt, hä?
- 3:36:08Nein, nein, nein, das ist einfach, da steht irgendwas wie Loading wahrscheinlich
- 3:36:12oben drüber oder Laden und der Text Laden selbst ist noch nicht geladen.
- 3:36:17Das macht Sinn. Ich fand es halt einfach super spannend, weil ich habe jetzt
- 3:36:20auch ein bisschen Loka gemacht für mein kleines Spiel und dachte so,
- 3:36:22ihr macht da irgendeine coole, weiß ich nicht, on the fly Localization.
- 3:36:26Nein, nein, das ist ein ganz, das stinkt normaler Wack.
- 3:36:28Ach so. Okay, gut. So, dann die letzte Frage, es sei denn, du hast dann noch
- 3:36:33irgendwelche Sachen, die du gerne erzählen möchtest, auf die du stolz bist oder
- 3:36:36auf die wir noch hinweisen sollten in Bezug auf Entschraudet.
- 3:36:40Aber die allerwichtigste Frage ist natürlich, warum kann man nur kleine Spinnen
- 3:36:46verstecken und keine großen? Es gibt nämlich eine Option.
- 3:36:48Eine sehr gute Frage.
- 3:36:49Es gibt nämlich eine Option bei den Accessibility-Sachen, hide small spiders. Und ich dachte so, hm.
- 3:36:58Ja, wir wollten gerne das Spinnen verstecken, weil es Leute gibt,
- 3:37:01denen das wirklich schwerfällt, das Spiel dann zu spielen.
- 3:37:05Und die kleinen Spinnen sind einfach technisch sehr viel einfacher zu verstecken.
- 3:37:10Deswegen haben wir das innerhalb von einer Stunde einbauen können.
- 3:37:13Und die großen Spinnen, die sie spielen, sind halt also wir haben kein Replacement-
- 3:37:18Modell für die und auch kein gutes also es gibt ja, wie heißt das Spiel?
- 3:37:22Grounded, gell? Da gibt's ja so einen sehr coolen Slider schon,
- 3:37:26wo du sagst, wie spinnend ähnlich sollen die Spinnen denn sein?
- 3:37:29Das finde ich sehr cool, aber sowas haben wir leider nicht für die Modelle.
- 3:37:32Das heißt, die Modelle können wir jetzt im Moment nicht so gut ersetzen,
- 3:37:35es sei denn durch Würfel I guess, aber das wurde halt dann nicht gemacht.
- 3:37:39Ich glaube schon, dass wir das noch vorhaben und die kleinen Spinnen sind tatsächlich,
- 3:37:44komplett VFX, also das sind einfach ein VFX.
- 3:37:49Die Dinger werden, wir haben ja vorhin kurz über SDF erzählt,
- 3:37:51also wir haben SDF von der gesamten Welt und das ist natürlich was,
- 3:37:56was was im Wix oft benutzt wird für Kollisionen von Partikeln.
- 3:38:00Dass Partikel halt irgendwie auf dem Boden aufschlagen und damit kann man auch
- 3:38:04kleine Spinnen über den Boden bewegen. Das ist einfach ein Vorwix.
- 3:38:07Genau, das ist eine, das hat man auch ab und zu mal gesehen in so Horror-Demos,
- 3:38:12wo Kakerlaken die Wände entlang kriechen oder irgendwelche organischen Formen.
- 3:38:16Ich glaube, man hat es auch gesehen in der Demo von Nanite, die da gezeigt wurde.
- 3:38:20Und diese Science-Distance-Fields sind vielseitig einsetzbar.
- 3:38:24Genau zum beispiel um zu wissen obwohl die kollision ist dass es das freut wie fx,
- 3:38:29Herzen sehr.
- 3:38:30Auf jeden Fall. Wir haben ja über Deko-Objekte geredet. So etwas Ähnliches haben
- 3:38:34wir auch noch für das Terrain.
- 3:38:35Das sieht man dann im Gras. Das Gras ist kein Deko-Objekt. Das ist ein Detail-Objekt.
- 3:38:41Nennen wir die. Detail-Scattering.
- 3:38:44Und das ist auch sehr lustig. Ich weiß nicht, ob du schon im Nebel unten warst.
- 3:38:47Aber die Nebelwände sind alle besetzt mit solchen Pilzpranken.
- 3:38:54Und das hat sehr viel gebracht. überall quasi diese Detailgeometrie dran zu
- 3:38:59setzen, fände ich auch ein sehr effektives System,
- 3:39:03weil das auch komplett regelbasiert ist aufgrund der Wachselmaterialien und
- 3:39:07auch dynamisch, wenn man da Löcher reinhaut oder so.
- 3:39:11Was auch lustig für dich vielleicht, wir haben auch Decals, die diese Detailobjekte
- 3:39:16wegmachen, also quasi Löcher rein fräsen können, weil wir diese Detailobjekte,
- 3:39:21was vielleicht ein bisschen untypisch ist, jeden Frame neu platzieren.
- 3:39:26Also wir machen erst das Culling, also wir gucken, welche Chunklets von dem
- 3:39:31Terrain sind sichtbar und dann nehmen wir uns die ganzen sichtbaren Chunklets
- 3:39:34und werten dann Regeln aus, die darauf Gras verteilen.
- 3:39:38Das heißt, das Gras hinter dir, außerhalb deines Sichtfeldes oder auch hinter
- 3:39:43einem Stein, das ist alles nicht da.
- 3:39:45Das wird alles auf der GPU quasi erst erzeugt.
- 3:39:48Okay, und die Positionen, die sind dann randomisiert, aber basierend auf einem
- 3:39:52konstanten Seed, sodass sie...
- 3:39:54Auf dem konstanten Seed. Ah.
- 3:39:57Ja, das ist spannend, ja.
- 3:39:59Und dadurch, dass sie dynamisch jeden Frame passieren, können wir sie auch sehr
- 3:40:02einfach durch Decals zum Beispiel dynamisch modifizieren. Und da gibt's dann halt...
- 3:40:08Gibt es halt Effekte, dass zum Beispiel um Lut herum einfach immer das Gras
- 3:40:12weggemacht wird, damit das Gras nicht stört.
- 3:40:15Ja, das ist ja super, das ist super schlau. Ja, genau, weil das Gras ist ja
- 3:40:18immer so ein Problem, es verdeckt ja immer alles.
- 3:40:20Und dann findet man nichts. Ah, ist ja genial. Diese kleinen Details,
- 3:40:23das ist echt toll. Ja, das ist mir gar nicht aufgefallen. Spannend.
- 3:40:27Und ihr könnt ja theoretisch auch das Gras wegmachen, wenn ein riesiges Monster darüber läuft oder so.
- 3:40:32Machen wir auch, genau. Ich kann da jetzt schon ein Rasenmäher einbauen,
- 3:40:35das habe ich mich aber noch nicht durchsetzen können.
- 3:40:39Oh nein, das wird dann so die neue Simulation, so Grasrasensimulator und dann
- 3:40:45machen die Leute Kornkreise oder so.
- 3:40:47Aber genau, wird das gespeichert? Also wenn ich jetzt in meiner Basis einen
- 3:40:53Kornkreis machen würde mit dem Rasenmäher, würde beim nächsten Laden dann das...
- 3:40:57Die Detailobjekte, die speichern wir nicht, weil das sind VFX,
- 3:41:00die werden nicht gespeichert. Aber was man machen kann in der Schau ist pflanzen.
- 3:41:03Also man kann sich ein Feld anlegen und da kann man Kornkreise pflanzen.
- 3:41:06Und die werden gespeichert. Musst ein bisschen weiterspielen noch.
- 3:41:09Genau, ich war übrigens auch schon mit Nebel drin und drunter.
- 3:41:12Der Nebel ist auch schön.
- 3:41:14Vor allem in der Nacht sieht das so schön aus, wenn das so ein bisschen wie beleuchtet ist.
- 3:41:18Vor allem der rote Nebel, wo man noch nicht rein darf, das sieht so aus wie
- 3:41:20als wäre da eine kleine Rave-Party unten oder da brennt es im Nebel unten drin. Das ist auch sehr schön.
- 3:41:26War das eigentlich irgendwie im Vergleich zu Portal Knights so was unbeleuchtend?
- 3:41:32Komplett neues, diese ganzen Volumen-Nebel-Dinger?
- 3:41:35Ja, also das haben wir neu gemacht, genau.
- 3:41:38Also GI war ganz anders und neu. Große Welt war ganz anders neu.
- 3:41:42Das ganze Nebel-Thema war für uns neu. Und genau.
- 3:41:47Ja, krass. Okay, gibt es noch irgendwas, was du gern erzählen würdest?
- 3:41:55Also du hast ja mehr Überblick.
- 3:41:57Ich weiß nicht, ob wir jetzt noch irgendjemanden mitgenommen haben.
- 3:42:00Bisschen lange Reise. Habt ihr am Ende jemand angekommen?
- 3:42:03Doch, ich bin sicher. Wer bis hierhin gehört hat, kann gerne in die Discord
- 3:42:08kommen und mal Hallo sagen.
- 3:42:10Und auch gerne weitere Fragen stellen.
- 3:42:13Wie Timo. Und es dauert dann auch nur vier, fünf Jahre, bis die dann beantwortet werden.
- 3:42:17Dann kommt die Folge drei.
- 3:42:18Genau, ratzfatz geht das hier. Ja, du, dann danke ich dir, dass du dir noch
- 3:42:22mal so viel Zeit mitgenommen hast. Das war super spannend.
- 3:42:25Ja, dir vielen Dank, dass du das machst.
- 3:42:27Ja, macht ja auch Spaß. Man lernt ja auch viel. Auch wenn es ein bisschen deprimierend
- 3:42:31ist, dass ich immer merke, dass mein Wissen eigentlich schon wieder veraltet
- 3:42:33ist, aber jetzt ist es aufgefrischt, das ist gut.
- 3:42:37Genau, ja, genau, das kann man ja immer auffrischen.
- 3:42:40Genau, und dann, ja, noch viel, viel, viel, viel, viel Erfolg für Entschraudet,
- 3:42:43ich bin gespannt, was da noch kommt, muss man weiterspielen und ja.
- 3:42:48Ja, wir haben auf jeden Fall noch viel vor und sind hochmotiviert und freuen
- 3:42:51uns wirklich, dass es so gut ankommt bisher.
- 3:42:54Es ist echt, haben wir lange, lange viele Projekte gemacht, wo das leider nicht so war.
- 3:43:01Ja, mir ist auch ein Stein vom Herzen gefallen, als Palwirt rauskam und alles
- 3:43:05dominiert hat und dass ihr dann trotzdem so erfolgreich sein konntet.
- 3:43:08Da dachte ich so, oh Gott sei Dank. Das war auch, ja.
- 3:43:12Da hatten wir ein bisschen Bammel. Aber das kann man so kurz dann auch nicht
- 3:43:16mehr ändern. Das war bei Palwirt sehr plötzlich.
- 3:43:18Genau, genau. Nee, bin ich froh. Okay, na dann, danke schön.
- 3:43:22Und mal sehen, vielleicht bis bald. Wer weiß. Genau, gerne. Tschüssi.
- 3:43:27Tschüss.