HN-Post: Tramway SDK – eine seltsame Kombination aus der Half-Life- und der Morrowind-Engine
(racenis.github.io)-
Einführung in Tramway SDK
- Tramway SDK ist ein Grafikpaket, ein Framework und eine Game Engine, die in den letzten drei Jahren entwickelt wurde.
- Es beschreibt die Vorteile von Tramway SDK im Vergleich zu Mainstream-Engines.
-
Turbobloat-Problem
- Mainstream-Engines wie Unity und Godot benötigen leistungsstarke Hardware.
- Tramway SDK kann sogar auf Hardware von vor 15 Jahren laufen und bei Bedarf auch ohne Grafikkarte mit Software-Rasterisierung.
-
Probleme bei Hardware-Upgrades
- Viele Menschen können es sich nicht leisten, neue Hardware zu kaufen.
- Die Produktion von Computerchips schadet der Umwelt.
- Es ist nicht nötig, einen neuen Computer anzuschaffen, wenn die bestehende Hardware gut funktioniert.
-
Nachteile nodebasierter Systeme
- In einem Node-basierten System muss ein Node häufig mehrere Elemente so darstellen, als wäre es ein einzelnes Element.
- Tramway SDK unterklassifiziert Entity-Klassen, schreibt danach Code und erstellt Levels im Level-Editor.
-
Monolithenproblem
- Mainstream-Engines haben einen monolithischen Game Editor.
- Tramway SDK bietet optionale Editoren und erlaubt, nur die C++-Runtime oder nur den Level-Editor zu verwenden.
-
Grafikqualität
- Tramway SDK liefert gute Grafik schon mit nur Lightmapping und Gouraud-Shading.
-
Brush-basierte Level-Bearbeitung
- Über einen .map-Dateikonverter kann Tramway SDK Brushes in Dreiecks-Meshes umwandeln.
- Level können mit dem Trenchbroom Map Editor und dem Tramway SDK Level Editor erstellt werden.
-
RPG-Framework
- Tramway SDK bietet ein RPG-Framework ähnlich wie RPG Maker und unterstützt die Entwicklung von Open-World-RPGs.
-
Fazit
- Tramway SDK ist eine entitätsbasierte Game Engine im Stil von Quake/Source, unterstützt Open-World-Streaming und bietet optionale Erweiterungen wie das RPG-Framework.
- Das Produkt befindet sich noch in der frühen Entwicklungsphase; die API ist instabil und viele Funktionen sind noch nicht umgesetzt, es entwickelt sich jedoch schnell.
1 Kommentare
Hacker News Kommentare
Als jemand, der in einem kleinen Team arbeitet, das mit der Godot-Engine Low-Poly-Spiele entwickelt, finde ich dieses Projekt wirklich großartig. Ich kann gut nachvollziehen, dass ein Wechsel zwischen einem node-basierten GUI und Code nötig ist. Dass eine integrierte IDE solche Konflikte beim Zusammenführen zwischen Entwicklern fördern kann, zeigt, dass ein zweckspezifischer Editor hilfreich sein kann.
Ich widerspreche der Idee, einfach einen besseren Computer zu kaufen: Viele Menschen können sich aus finanziellen Gründen keine neue Hardware leisten, die Chipproduktion ist umweltbelastend, und wenn ein Computer bereits gut funktioniert, besteht kein Bedarf, zwangsläufig ein neues Gerät zu kaufen.
Ich beginne zu glauben, dass es externe Faktoren gibt, die die Qualität von Game Engines im Laufe der Zeit verschlechtern. Node-basierte Editoren wie Unity sind fürs Lernen sinnvoll, und da viele Amateur-Entwickler nur Unity/Unreal kennen, stellen viele Firmen genau diese ein. Unity muss ständig auf Kundenwünsche zugeschnitten werden, weshalb es zu Turbobloat kommt.
Die Half-Life- und Morrowind-Engines wurden von leidenschaftlichen Programmierern entwickelt und liefern eine minimalistische Engine mit starker Technik. Dieses Projekt liegt zwischen raylib und Unity, ist für Amateurprogrammierer vielleicht nicht besonders attraktiv, aber leistungsstark und gut aufgebaut.
Der Satz „A thing should be a thing“ hat mich wirklich beeindruckt und erinnert mich an den Stil von Terry Pratchett. Ich habe eine Idee, wie man ihn in einem KI-Projekt nutzen könnte.
Dem Problem von Turbobloat stimme ich vollständig zu: Moderne Rechner sind deutlich stärker, doch die Software wirkt trotzdem eher langsamer. Das Projekt- und Websitedesign ist hervorragend.
Viele Unity-Spiele sehen nicht gut aus, selbst mit fortgeschrittener Shader- und Techniknutzung. Eine bestimmte Textur-Mapping-Technik ist verschwunden, und Spiele wie Ikaruga haben großartige Hintergründe.
Ich habe kürzlich wieder Half-Life 2 gespielt und es zeigt selbst ohne hochauflösendes Texturpaket noch beeindruckende Grafik.
Zur Aussage über „Turbobloat“ und das „bloated“ einer Engine wäre es hilfreich zu erklären, welche Features im Tramway-Projekt weggelassen wurden.
Vielen Dank für den Beitrag, der erklärt, wie man ein Framework für Anfänger nutzt, die mit C++ nicht vertraut sind; das Tutorial macht Spaß und ist gut zugänglich.
Aus Erfahrung mit einer Engine für 3D-Grafik und wissenschaftliche Projekte bin ich neugierig, was die Stolpersteine bei der Umsetzung von hochauflösender, dynamischer Beleuchtung sind. Mit Vulkan/DX/Metal/OpenGL usw. lässt sich das mit einem minimalen Pixel- und Fragment-Shader-Paar realisieren.