Guest Stream with @caldariprimeponyclub
EVE-Online-Projekt visualisiert Chatter als Raumschiffe
Ein EVE-Online-Projekt wird vorgestellt, bei dem Twitch-Chatter durch einen Bot in Raumschiffe umgewandelt werden. Die Anzahl der aktiven chatter bestimmt dabei die Stärke des generierten Schiffes. Der Fokus liegt auf der technischen Umsetzung und der Performanceanalyse bei der Darstellung von 3D-Modellen in einer Echtzeit-Anwendung.
Start des Streams und Einrichtung des Twitch-Bots
00:03:45Zu Beginn des Streams werden technische Einrichtungen und Werkzeuge für das EVE-Online-Projekt vorgenommen. Der Streamer startet mit der Einrichtung der Lichtverhältnisse und der Vorbereitung eines Werkzeugs zur Darstellung von EVE-Charakteren direkt im Browser. Eine wichtige Entscheidung betrifft den Twitch-Bot, der beibehalten wird, um die Online-Präsenz der Streamer zu überwachen. Für jeden Streamer im Chat wird ein Raumschiff generiert, wobei die Anzahl der aktiven Chatter die Stärke des Schiffs beeinflusst. Dies dient als Grundlage für die Interaktion mit der Community während des Streams.
Analyse des Charakter-Erstellers und Kategorisierung von Optionen
00:17:49Der Fokus verlagert sich auf die Entschlüsselung des EVE-Online-Charakter-Erstellers. Als Teil der Entwicklung eines Charakter-Viewers ist es notwendig, alle Kategorien und Modifikationen zu dokumentieren. Der Streamer geht die einzelnen Optionen wie Körper, Gesicht, Frisur, Kleidung und weitere Ausrüstungsgegenstände durch. Ziel ist es, die zugrundeliegenden Datenstrukturen und Funktionen wie Update- und GetBatches-Funktionen zu verstehen, um die 3D-Modelle und Texturen später laden und manipulieren zu können. Diese Aufgabe erfordert ein tiefes Eintauchen in die Client-Dateien.
Technische Herausforderungen beim Laden von 3D-Modellen und Shadern
00:37:27Ein zentrales Problem ist das korrekte Laden und Darstellen der 3D-Charaktermodelle. Dabei müssen die Skelett-Bone-Strukturen und zugehörigen Shader-Dateien verstanden werden. Die Shader sind komplex, teilweise unleserlich und enthalten veraltete Methoden wie for-Schleifen, die in modernen Grafik-APIs nicht mehr funktionieren. Der Streamer analysiert verschiedene Shader-Typen wie 'Skin Avatar' und 'Light Prepass', stößt jedoch auf signifikante technische Hürden bei der Implementierung. Es wird deutlich, dass die direkte Umsetzung ohne tiefgehende Kenntnisse der EVE-Engine schwierig ist.
Schaffung einer visuellen Community-Interaktion und Performance-Tests
01:16:55Nach den technischen Schwierigkeiten wechselt der Streamer das Format und nutzt das bestehende Twitch-Bot-Tool, um die Community visuell zu repräsentieren. Emotes und Chat-Befehle werden zu riesigen Objekten in der 3D-Szene, was zu einem visuellen Spektakel führt. Gleichzeitig wird die Performance der Anwendung unter Belastung getestet. Der Streamer beobachtet, dass selbst bei moderater Teilnehmerzahl die FPS drastisch sinken, und beginnt, die Auslastung zu analysieren, um mögliche Optimierungen zu finden. Dies ist eine neue Phase, die technische Entwicklung mit direkter Community-Beteiligung verbindet.
Durchführung von Giveaways und Design von Schiffsskins
01:53:00Als Hauptinteraktion mit der Community finden mehrere Giveaways statt. Teilnehmer übermitteln Befehle im Chat, um an Gewinnspielen für exklusive Skins teilzunehmen. Der Streamer gestaltet daraufhin verschiedene Schiffsskins basierend auf den Wünschen der Community. Ein Fokus liegt auf dem Triglavian-Tengu, wobei die Herausforderungen des Designs mit Decals und Shader-Anpassungen besprochen werden. Die Kombination aus Community-Feedback und kreativer Gestaltung führt zu mehreren individuellen Entwürfen, die im Stream präsentiert werden.
Fehlerbehebung und Performance-Optimierung
02:21:33Während des Streams treten immer wieder technische Probleme auf, die behoben werden müssen. Beispielsweise funktionieren Chat-Befehle nicht mehr korrekt, was auf einen Fehler im Code zurückzuführen ist. Der Streamer debuggt die Anwendung, indem er versucht, sie gezielt zu überlasten und dabei die Performance-Logs im Auge behält. Ziel ist es, die Performance zu verbessern, da selbst auf leistungsstarker Hardware mit vielen Objekten die FPS unangemessen niedrig sind. Es wird die Absicht geäußert, überflüssige Elemente wie Sprites und Booster zu deaktivieren, um die Auslastung zu reduzieren.
Stresstest der Anwendung mit Chat-Befehlen
02:44:42Ein intensiver Stresstest der Anwendung wird durchgeführt. Die Community wird aufgefordert, massenhaft Emotes und Befehle wie 'Titan' oder 'Drake' in den Chat zu spammen. Das Ziel ist, die Performancegrenzen des Tools zu finden und mögliche Abstürze oder Verzögerungen zu provozieren. Dies liefert wertvolle Daten für die zukünftige Optimierung. Der Streamer testet dabei nicht nur die Stabilität der Software, sondern auch die Grenzen der Hardware, insbesondere bei der Darstellung großer Modelle wie der Titan.
Fazit und zukünftige Optimierungsstrategien
02:47:44Der Stream endet mit der Analyse der Performance-Probleme. Der Streamer identifiziert, dass das Hauptproblem nicht die Anzahl der Objekte, sondern die Größe und Komplexität der 3D-Modelle ist. Große Modelle wie der Dreadnought haben eine hohe Vertex-Anzahl und belasten die CPU unnötig. Die Strategie für die Zukunft ist es, nicht-essentielle visuelle Elemente abzuschalten und die Modelle zu optimieren, um eine flüssigere Darstellung zu gewährleisten, selbst wenn viele Benutzer gleichzeitig interagieren. Dies markiert eine wichtige Lektion für die Weiterentwicklung des Tools.
Performance-Optimierung und Ship-Spawn
02:52:08Der Stream beginnt mit der Untersuchung der Performance-Probleme beim Spawnen von Schiffen. Es wird eine Physik-Engine für Kollisionen getestet, die jedoch als ineffektiv eingestuft wird. Durch Deaktivieren der Physik und das Spawnen von weniger Schiffen gleichzeitig kann die Performance erheblich gesteigert werden, was zu einem flüssigeren Ablauf führt. Die Verbesserung wird von den Zuschauern als deutlich spürbar bestaunt.
Ship-Kategorien und neue VFX-Implementierung
02:55:31Ein neues Schiff, der Lancer, wird als mögliche Beute für Giveaways vorgeschlagen. Die genaue Kategorie des Lancers muss zunächst geklärt werden. Nachfolgend wird intensiv an der visuellen Umsetzung von Effekten (VFX) gearbeitet. Insbesondere die Effekte für Sino-Geräte (Jammer, Jump Bridge) werden getestet und in einem Editor bearbeitet, um sie in das Spiel zu integrieren.
Detaillierte Skin-Entwicklung für Tech 3 Schiffe
03:36:02Der Stream widmet sich den technischen Herausforderungen des Skinns von Tech 3 Schiffen. Es wird erklärt, dass diese Schiffe aus vielen modularen Teilen bestehen, was das Erstellen konsistenter und ästhetischer Skines extrem schwierig macht. Die Technik der 'Pattern Projection' wird vorgestellt, bei der eine einzige Textur auf verschiedene Schiffsteile projiziert wird, um die Entwicklung zu vereinfachen und wiederzuverwenden.
Interaktive Giveaways und Community-Beteiligung
04:17:14Der Fokus liegt auf der Durchführung von mehreren Giveaways, bei denen die Zuschauer durch das Eingeben von Befehlen im Chat (z.B. '!lag') an der Teilnahme beteiligt sind. Die Preise umfassen Skins für diverse Schiffsklassen. Die Chat-Aktivität wird zur Performance-Analyse genutzt. Ein Höhepunkt ist der Versuch, durch massives Spamming im Chat ein besonders großes Schiff, einen Keepstar, zu spawnen.
Erreichen des Keepstar-Ziels und Browser-Crash
04:42:14Nach intensivem Spamming im Chat gelingt es der Gemeinschaft tatsächlich, das Spawnen eines Keepstars zu erreichen. Dies wird als großer Erfolg gefeiert und wird als positives Testergebnis für die Performance-Verbesserungen gesehen. Kurz darauf stürzt jedoch der Browser des Streamers ab, was das Ende dieses intensiven Testdurchgangs markiert. Die Performance-Logs werden als wertvolle Daten für die weitere Analyse gesehen.
Verpasstes Ziel und Übergabe an den Co-Streamer
04:50:39Beim letzten Giveaway, das ebenfalls auf das Spawnen eines Keepstars abzielt, stört ein unerwarteter 'Smart Bomb'-Angriff durch einen Zuschauer den Prozess. Das Ziel, den Keepstar zu erreichen, verfehlt nur knapp. Der Streamer bedankt sich bei der Community für die Mithilfe beim Debugging und beim Testen der Performance. Er überträgt den Stream dann an den Co-Streamer Andy, der die Veranstaltung fortführt.