2 Punkte von GN⁺ 2025-08-24 | 1 Kommentare | Auf WhatsApp teilen
  • Librebox ist eine Open-Source-3D-Game-Engine auf Luau-Basis, die auf API-Kompatibilität mit Roblox abzielt
  • Entwickler können von der Engine bis zum Code vollständiges Eigentum an ihrem Spiel besitzen
  • Derzeit befindet sich das Projekt in der Demo-Phase; unterstützt werden zentrales Szenen-Rendering, Kamerabewegung und das Erstellen grundlegender Parts
  • In künftigen Versionen sollen Physik, Benutzereingaben, Multiplattform-Unterstützung usw. hinzukommen
  • Die Lizenz ist MIT, vollständig kostenlos und erlaubt freie Modifikation und Verbreitung

Einführung in Librebox

  • Librebox ist eine Open-Source-3D-Game-Engine, die auf der Luau-Engine aufbaut
  • Das Hauptziel ist es, eine Roblox-ähnliche API bereitzustellen, um die Kompatibilität bestehender Luau-Codes so weit wie möglich sicherzustellen
  • Entwickler erhalten Eigentum und Freiheit sowohl über die Engine selbst als auch über die Spiellogik und können unabhängig von einer bestimmten Plattform entwickeln

Warum Librebox?

  • Ermöglicht freie Nutzung der Engine und gesichertes Eigentum
  • Entwickler, die bereits mit Roblox oder Luau vertraut sind, können Code nahezu ohne Änderungen wiederverwenden
  • Aufbau einer eigenen Plattform sowie freie Verbreitung, Anpassung und Monetarisierung möglich

Wichtiger Beispielcode

  • Beispiel: Einen Part erstellen sowie Rotation und Farbänderung anwenden
    • Siehe Datei examples/part_example.lua
    • Wie in bestehendem Luau-/Roblox-Code können Parts, Farben, Positionen, Rotationen und Schleifen nahezu identisch verarbeitet werden

Zusammenfassung der unterstützten Funktionen (Stand: Demo-Version)

  • Szenen-Rendering, Beleuchtung, Schatten, Skybox
  • Rendering von Objekten in game.Workspace
  • Grundlegende Kamerabewegung
  • Instance System und Unterstützung zentraler Datentypen
    • CFrame, Vector3, Color3, Random usw.
    • Instance.new, Klonen/Zerstören von Parts, Steuerung von Eigenschaften
  • Client-seitige Services
    • Workspace, Camera, Lighting, RunService usw.
    • Unterstützung für RenderStep-/HeartBeat-Events
  • Unterstützung für Luau-Skripte und Scheduler
    • Coroutines, Events, asynchrone Aufgaben (task.spawn, task.wait usw.)
  • Window-Handling und Vollbildoptimierung

Plattformen und Erweiterbarkeit

  • Derzeit nur Unterstützung für Windows
  • Nutzt raylib, wodurch eine Portierung auf andere Betriebssysteme einfach ist
  • Verbreitung als Standalone-Executable

Geplante Funktionen

  • Physik-Engine und Kollisionserkennung
  • Unterstützung für Modelle/Meshes, Bilder, GUI, Materialien
  • Onscreen-GUI, Replication/Multiplayer (Server)
  • UserInputService, ContextActionService usw.
  • Aufbau eines eigenen Editors sowie eines vollständigen Server-/Client-Ökosystems

Vision und Zukunft

  • Vollständig unabhängige Open-Source-Engine mit einem ähnlichen Ziel wie Godot und Unity
  • Ohne Plattformabhängigkeit, mit meinem Spiel/meinem Code frei entwickeln
  • Geplante Erweiterung auf alle Bereiche von Editor, Server, Verbreitung und Monetarisierung
  • Benutzer-API und Quellcode können umgeschrieben werden

Lizenz und Urheberrecht

  • MIT-Lizenz
  • Verwendet ausschließlich Open-Source-Lizenzen wie Luau (auf der Roblox-Engine basierend, MIT) und raylib (zlib/libpng)
  • Unabhängiges Projekt ohne Verbindung zu kommerziellen Plattformen oder Dritten
  • Keine externen Quellen/Assets/proprietären Codes enthalten

Kontakt und Community

  • E-Mail: librebox.developers@gmail.com
  • Nutzung, Feedback, Modifikation und Beiträge sind für alle möglich

Tech-Stack

  • Besteht aus C++, Lua, Luau, Python, C, CMake usw.

Relevanz und Vergleichsvorteile

  • Unabhängige Open-Source-Engine als Alternative im Roblox-/Lua-Ökosystem
  • Bietet die in bestehenden kommerziellen Plattformen eingeschränkte Freiheit bei Erstellung, Besitz und Monetarisierung
  • Dank vollständig offenem Quellcode, API-Kompatibilität und einer Windows-basierten Demo gut geeignet für die Erstellung von 3D-Spielen/-Inhalten auf Lua-Basis

Fazit

  • Eine attraktive Wahl für Junior-Entwickler und die plattformübergreifende Spieleentwicklung: eine Game-Engine, die kostenlos, Open Source, kompatibel und frei ist

1 Kommentare

 
GN⁺ 2025-08-24
Hacker-News-Kommentare
  • Librebox ist noch im Demo-Stadium, implementiert nur einen sehr kleinen Teil der Roblox-API, und es fehlen noch viele Funktionen wie Server oder Networking
    • Wenn ich im Entwicklungsteam wäre, würde ich mit Servern und Networking anfangen, denn das später hinzuzufügen ist normalerweise wirklich schwierig
  • Ich halte das für einen originellen Versuch und wünsche viel Glück; hoffentlich wird das Projekt nicht von der Rechtsabteilung von Roblox angegriffen. Es könnte ein guter Anwendungsfall für einen nativen Linux-Client sein. Das derzeit viel genutzte Sober ist proprietäre Software, und das früher genutzte Vinegar wurde wegen Problemen mit Linux-Hackern blockiert
    • Roblox könnte zwar rechtliche Schritte versuchen, aber persönlich wirkt dieses Projekt auf mich eindeutig legal. Nach meinem Maßstab für Rechtmäßigkeit würde ich ihm mehr Punkte geben als VLC Media Player (Patentprobleme) und deutlich mehr als NES-Emulatoren. Ich denke, es liegt unter Android, aber Oracle hat Android bekanntlich auch verklagt. (Ich bin kein Anwalt)
    • Gemessen an den Prioritäten der Roblox-Rechtsabteilung wirkt es so, als wäre so ein Projekt ein höheres Ziel als das Problem der Ausbeutung von Kindern innerhalb von Roblox
  • Es wurde erwähnt, dass :WaitForChild() fehlt, und jemand meinte, das sei eher etwas Gutes
    • Eigentlich ist das kein großes Problem, sondern nur eine kleine Komfortfunktion, und immer noch besser als Busy Waiting. Oft ist nicht garantiert, dass ein bestimmtes Objekt vor der Ausführung des Codes existiert; ähnliches Verhalten kann man selbst so implementieren: while not parentObj:FindFirstChild("childObj name") do wait() end. Soweit ich weiß, entspricht die wait()-Funktion mindestens 1/30 Sekunde pro Frame; wenn man es wirklich sofortig haben will, muss es bei jedem Heartbeat ausgeführt werden
  • Es gibt eine gewaltige Menge an nutzergenerierten Inhalten, die an Roblox gebunden sind; man spürt, wie viele Ressourcen dort feststecken
    • Besonders Inhalte rund um Clubs und Ähnliches müssen unbedingt befreit werden
  • Im Repository (GitHub) findet sich absolut keine Information über den Entwickler. Sogar auf dem Discord-Server ist in den Kanälen nichts, und es gibt nur ein einziges als Entwickler markiertes Konto, offenbar ausschließlich für dieses Projekt. Im Quellcode sieht man, dass tatsächlich Arbeit hineingeflossen ist und nicht nur ein README existiert. Trotzdem wirkt das Ganze insgesamt irgendwie seltsam
    • One-Man-Projekte sehen oft genau so aus
    • Wenn ich es wohlwollend auslege, verbirgt die Person ihre Identität wohl aus Angst vor rechtlichen Problemen. Roblox selbst ist ein Großunternehmen mit einem Wert von 81 Milliarden
  • Wenn man keine Robux verwenden kann, interessiert es mich persönlich nicht besonders. Eigentlich ist der Kern des Problems Robux (das Währungssystem); die Engine selbst ist gar nicht so besonders
    • Viele Entwickler kommen von ROBLOX nicht los, weil sie seit ihrer Kindheit die ROBLOX-Tools gelernt und darin Erfahrung gesammelt haben und diese Fähigkeiten dann zu Nischen-Skills werden, die sich in den meisten anderen Game-Engines nicht nutzen lassen. Die Wahl besteht jetzt darin, in einer neuen Umgebung wie Unity wieder als Anfänger anzufangen oder weiterhin innerhalb von ROBLOX wie bisher hochwertige Ergebnisse zu liefern. Dazu kommen Freunde und Ansehen, die man in jeder Community aufgebaut hat. Ehrlich gesagt überrascht es mich eher, dass ein API-kompatibler Ersatz erst so spät aufgetaucht ist
    • Es könnte für Entwickler eine Chance sein, ihre Roblox-Spiele als Standalone-Spiele zu veröffentlichen und dem Platform Lock-in zu entkommen. Ob die bestehenden Nutzer dann mitziehen, ist natürlich eine andere Frage
    • Ich mag Roblox nicht besonders, aber ich habe gehört, dass die Roblox-Entwicklungstools tatsächlich ziemlich ausgereift sind
  • Ich finde dieses Repository ziemlich cool
  • Ich frage mich, ob das lokal tatsächlich beim Testen oder bei besserer QA helfen kann. Ich hatte neulich versucht, Lemur (inzwischen archiviert) auf Lune zum Laufen zu bringen, um Jest-Tests für eine react-lua-App auszuführen, und hatte sogar einen Test-Runner gebaut, der In-Game-Output ausgibt. Das Problem ist, dass Roblox Studio unter Linux mit dem vinegar-Paket noch nicht richtig läuft, daher wäre es extrem praktisch gewesen, einfach mit RobloxStudio.exe --place game.rbxlx --script test_runner.lua --keep-open fortlaufend Konsolenausgaben zu erhalten.
    • Ich wollte dem Lemur-Repository loadPlaceFile hinzufügen, habe dann aber aufgehört, weil ich unsicher war, ob das dort überhaupt hingehört. Dabei bin ich auf Librebox gestoßen, und jetzt hoffe ich, damit react-lua-Apps per Jest in lokalem CI testen zu können
    • Zur Information: Es gibt auch eine Open-Cloud-Engine-API-Beta, mit der sich Luau-Code innerhalb eines Roblox-Place ausführen lässt. [Beta] Open Cloud Engine API for Executing Luau
    • Vorteile lokaler Tests: Screenshots und Videoaufzeichnungen bei fehlgeschlagenen Tests, unmittelbares Feedback und die Möglichkeit, mit der Option -i oder interaktiv bei einem Fehlschlag direkt in die Spielsitzung zu springen