Wenn du schon eine Weile hier bist, kennst du diesen Blog als Ort für Unreal-Anfängerposts. Jeden Sonntag ein Stolperstein: Casting, Soft References, Speicherstände, die GameMode-Frage. Diese Posts bleiben. Sie ziehen in einen eigenen Tab Unreal Engine, und die Hauptseite gehört ab jetzt etwas Neuem: der Wicked Engine.
Dieser Post erklärt, warum.
Wo es angefangen hat
Wie die meisten habe ich mit den Samples angefangen. Third-Person-Template öffnen, Play drücken, und über den Bildschirm läuft ein Charakter, den du nicht gebaut hast. Dieser Moment packt dich. Dann öffnest du den Character-Blueprint, findest einen Graphen, den du noch nicht verstehst, und fängst an, ihn Node für Node auseinanderzunehmen.
Diesen Weg ist auch dieser Blog gegangen. Jeder Post war ein Problem, in das ich selbst gelaufen bin, meistens mehr als einmal. Irgendwann wurden aus den Problemen Werkzeuge: 13 Blueprint-Plugins auf Fab, von FoxSound bis FoxEasySave. Jedes davon gibt es, weil ich dasselbe zum dritten Mal von Hand gebaut hatte und genug davon hatte.
Der Teil, der in keinem Tutorial steht
Unreal gibt dir enorm viel. Es entscheidet aber auch enorm viel für dich. Mit der Zeit habe ich gemerkt, wie viel von meinem Tag dafür draufging, um die Engine herum zu arbeiten statt mit ihr:
- warten, bis der Editor startet, bis Shader kompiliert sind, bis eine C++-Änderung per Hot Reload greift oder eben nicht
- Forenthreads lesen, um zu erraten, was ein System tut, weil die Antwort irgendwo in Millionen Zeilen steckt, die ich realistisch nie lesen werde
- Plugins gegen mehrere Engine-Versionen bauen, jede mit eigenen umbenannten APIs
Nichts davon ist eine Beschwerde über Unreal. Es ist eine riesige, fähige Engine für riesige Teams. Ich bin eine Person, und ich will verstehen, was mein Spiel tut, wenn es einen Frame rendert.
Dann kam Wicked
Die Wicked Engine ist eine Open-Source-Engine in C++ unter MIT-Lizenz, zum großen Teil von einem einzigen Entwickler geschrieben, Turánszki János. Sie ist klein genug, um sie zu lesen, und schnell genug, um sie ernst zu nehmen: modernes Rendering, DX12 und Vulkan, Path Tracing, ein eingebauter Editor, Lua-Scripting.
Der Test, den ich ihr gegeben habe, war hart. Ich wollte die Welt von Two Worlds, einem Spiel von 2007, in eine moderne Engine holen, direkt aus den Original-Archiven des Spiels gelesen: Terrain, Häuser, Licht, Figuren. In Unreal hätte das Importer, Konvertierungs-Pipelines und viel Asset-Geschiebe bedeutet. In Wicked habe ich den Importer direkt in meinen Fork der Engine geschrieben, weil die Engine einfach Code ist, den ich öffnen kann.
Innerhalb weniger Tage lief der Held durch die Original-Landschaft. Kampf, Gegner mit KI, Dungeons, Gras, Wasser. Nicht, weil Wicked das alles fertig mitbringt, sondern weil nichts zwischen mir und der Stelle stand, an der es passieren musste.
Was sich im Alltag verändert hat
Ich lese, statt zu raten. Sieht das Licht falsch aus, öffne ich den Shader. Stürzt etwas ab, steppe ich in den Engine-Code und sehe, warum. Die Antwort steht in einer Datei, nicht in einem fünf Jahre alten Forenthread.
Iteration ist schneller geworden. Shader kompilieren zur Laufzeit. Einen ändern, ReloadShaders() aus Lua aufrufen, und die neue Version ist auf dem Bildschirm, ohne den Editor neu zu starten.
Alles ist Code. Ich habe dem Editor eine kleine Bridge gegeben: Lua über einen lokalen Socket. Skripte können Szenen laden, die Kamera bewegen, Einheiten spawnen und Screenshots machen. Ich teste ganze Features, ohne mich durch ein einziges Menü zu klicken, und kann jeden Test exakt wiederholen.
Die Engine gehört mir. Mein Fork hat DLSS-Unterstützung, SpaceMouse-Navigation und einen kompletten Two-Worlds-Importer. Brauche ich etwas, baue ich es. Niemand muss es vorher mergen.
Was es kostet
Fairerweise: Wicked hat keinen Marketplace mit Tausenden Assets, keinen Blueprint-Graphen und deutlich weniger Tutorials. Wer visuelles Scripting und eine riesige Community will, ist mit Unreal immer noch besser beraten. Du musst mit C++ und Lua klarkommen und mehr selbst bauen.
Für mich ist genau dieser Tausch der Punkt. Ich baue lieber etwas Kleines, das ich komplett verstehe, als etwas Großes zusammenzustecken, das ich nur halb verstehe.
Wie es auf diesem Blog weitergeht
- Die Hauptseite dreht sich um die Wicked Engine: den Fork, den Two-Worlds-Port, Rendering, Tooling und die Fehler auf dem Weg.
- Alle Unreal-Posts bleiben, wo sie sind, im Tab Unreal Engine. Links funktionieren weiter.
- Die FoxToolkit-Plugins gibt es weiterhin auf Fab.
Als Nächstes: ein erster Blick unter die Haube des Forks.
— Marco
Comments
Leave a comment