2 puan yazan GN⁺ 2025-08-24 | 1 yorum | WhatsApp'ta paylaş
  • Librebox, açık kaynaklı Luau tabanlı bir 3D oyun motorudur ve Roblox ile API uyumluluğunu hedefler
  • Geliştiriciler, motordan koda kadar oyunları üzerinde tam sahipliğe sahip olabilir
  • Şu anda demo aşamasında; temel sahne render etme, kamera hareketi ve basit parça oluşturma gibi özellikler destekleniyor
  • Gelecek sürümlerde fizik, kullanıcı girdisi, çoklu platform desteği gibi özelliklerin eklenmesi planlanıyor
  • Lisansı MIT'dir; tamamen ücretsizdir ve serbestçe değiştirilip dağıtılabilir

Librebox'a giriş

  • Librebox, Luau motoru üzerine inşa edilmiş açık kaynaklı bir 3D oyun motorudur
  • Ana hedefi, Roblox'a benzer bir API sunmak ve mevcut Luau koduyla uyumluluğu mümkün olduğunca korumaktır
  • Geliştiriciler, hem motorun kendisi hem de oyun mantığı üzerinde sahiplik ve özgürlüğe sahip olur; platform bağımlılığı olmadan geliştirme yapabilir

Neden Librebox?

  • Motoru özgürce kullanma ve sahiplik elde etme imkanı sunar
  • Mevcut Roblox veya Luau'ya aşina geliştiriciler, neredeyse hiç değişiklik yapmadan kodlarını yeniden kullanabilir
  • Kendi platformunuzu kurabilir; dağıtım, değiştirme ve gelir elde etme konusunda özgür olabilirsiniz

Başlıca örnek kod

  • Örnek: parça oluşturma, döndürme ve renk değiştirme
    • examples/part_example.lua dosyasına bakın
    • Mevcut Luau/Roblox koduna neredeyse tamamen aynı şekilde; parça oluşturma, renk, konum, dönüş ve döngü işlemleri yapılabilir

Desteklenen özelliklerin özeti (demo sürümü bazında)

  • Sahne render etme, aydınlatma, gölgeler, skybox
  • game.Workspace içindeki nesnelerin render edilmesi
  • Temel kamera hareketi özellikleri
  • Instance System ve başlıca veri türleri desteği
    • CFrame, Vector3, Color3, Random vb.
    • Instance.new, parça kopyalama/yok etme, özellik kontrolü
  • Client tarafı servisleri
    • Workspace, Camera, Lighting, RunService vb.
    • RenderStep/HeartBeat etkinlik desteği
  • Luau script desteği ve scheduler
    • coroutine, event, asenkron işler (task.spawn, task.wait vb.)
  • Pencere yönetimi ve tam ekran optimizasyonu

Platform ve genişleme

  • Şu anda yalnızca Windows desteği var
  • raylib kullanıldığı için diğer işletim sistemlerine taşınması kolaydır
  • Bağımsız çalıştırılabilir dosya olarak dağıtılır

Gelecekte sunulacak özellikler

  • Fizik motoru ve çarpışma algılama
  • Model/mesh, görsel, GUI, materyal desteği
  • Ekran üstü GUI, Replication/Multiplayer (sunucu)
  • UserInputService, ContextActionService vb.
  • Kendi editörü, sunucu/istemciyi kapsayan bütünlüklü bir ekosistem

Vizyon ve gelecek

  • Godot, Unity benzeri hedeflere sahip, tamamen bağımsız bir açık kaynak motoru
  • Platform bağımlılığı olmadan, kendi oyunum/kendi kodum anlayışıyla özgür geliştirme
  • Editör, sunucu, dağıtım ve gelir elde etme dahil tüm alanlara yayılma planı
  • Kullanıcı API'si ve kaynak kod yeniden yazılabilir

Lisans ve telif

  • MIT lisansı
  • Yalnızca Luau (Roblox motoru tabanlı, MIT), raylib (zlib/libpng) gibi açık kaynak lisansları kullanılır
  • Ticari platformlar ve üçüncü taraflarla bağlantısı olmayan bağımsız bir proje
  • Harici kaynak/asset/proprietary kod içermez

İletişim ve topluluk

  • E-posta: librebox.developers@gmail.com
  • Herkes kullanabilir, geri bildirim verebilir, değiştirebilir ve katkıda bulunabilir

Teknik yığın

  • C++, Lua, Luau, Python, C, CMake vb. ile oluşturulmuştur

Önemi ve karşılaştırmalı üstünlüğü

  • Roblox/Lua ekosistemine bağımsız bir açık kaynak motor yanıtı
  • Mevcut ticari platformlarda kısıtlanan üretim/sahiplik/gelir elde etme özgürlüğünü sunar
  • Tam kaynak açıklığı, API uyumluluğu ve Windows tabanlı demo ile Lua tabanlı 3D oyun/içerik üretimi için uygundur

Sonuç

  • Ücretsiz, açık kaynaklı, uyumlu ve özgür bir oyun motoru olarak; junior geliştiriciler ve çoklu platform oyun geliştirme için cazip bir seçenektir

1 yorum

 
GN⁺ 2025-08-24
Hacker News yorumları
  • Librebox hâlâ demo aşamasında; Roblox API'sinin yalnızca çok küçük bir kısmını uyguluyor ve sunucu ya da ağ iletişimi gibi eksik birçok özellik var
    • Ben geliştirici ekipte olsam önce sunucu ve ağ iletişimini uygulayarak başlardım; bunu sonradan eklemeye çalışmak gerçekten zordur
  • Bunun yenilikçi bir girişim olduğunu düşünüyorum ve başarılar diliyorum; umarım Roblox'un hukuk ekibinin hedefi olmaz. Linux için yerel istemci tarafında iyi bir kullanım alanı olabilir. Şu anda yaygın kullanılan Sober özel mülk yazılım ve eskiden kullanılan Vinegar ise Linux hackerları yüzünden engellendi
    • Roblox hukuki girişimde bulunmayı deneyebilir ama bana göre bu proje açıkça yasal görünüyor. Yasallık açısından bakarsak buna VLC Media Player'dan (patent meseleleri) daha yüksek, NES emülatörlerinden ise çok daha yüksek puan veririm. Android'den daha düşük görürdüm ama sonuçta Oracle Android'e dava açmıştı. (Ben avukat değilim)
    • Roblox hukuk ekibinin önceliklerine bakınca, böyle projelerin Roblox içindeki çocuk istismarı sorunlarından daha yüksek öncelikle ele alınıyor gibi görünmesi düşündürücü
  • :WaitForChild() olmamasından bahsedilmiş ama bunun aslında iyi bir şey olabileceği söyleniyor
    • Aslında büyük bir mesele değil, küçük bir kullanım kolaylığı. Busy waiting'den daha iyi bir tarafı var. Bazı nesnelerin kod çalışmadan önce mutlaka var olacağı her zaman garanti değildir; bu yüzden benzer davranışı kendiniz şöyle kurabilirsiniz: while not parentObj:FindFirstChild("childObj name") do wait() end. Bildiğim kadarıyla wait() fonksiyonu kare başına en az 1/30 saniye bekler; tamamen anlık olmasını istiyorsanız her heartbeat'te çalıştırmanız gerekir
  • Roblox'a kilitlenmiş muazzam miktarda kullanıcı içeriği var; gerçekten çok büyük bir kaynak söz konusu
    • Özellikle Club tarzı içeriklerin mutlaka özgürleştirilmesi gerekir
  • Depoda (github) geliştirici hakkında ne kadar bilgi arasam da hiçbir şey bulamadım. Discord sunucusunda bile kanallarda hiçbir şey yok ve geliştirici rolüne sahip hesap da projeye özel tek bir hesap. Kaynak kodda gerçekten emek verildiği belli, sadece README bulunan bir depo değil. Yine de genel olarak biraz tuhaf bir his veriyor
    • Tek kişinin yürüttüğü projeler zaten genelde böyle olur
    • İyi niyetli yorumlayacak olursam, kimliğini gizlemesi muhtemelen hukuki sorunlardan çekinmesindendir. Roblox tek başına 81 milyar değerinde dev bir şirket
  • Robux kullanılamayacaksa şahsen pek ilgimi çekmiyor. Aslında meselenin özü Robux (para sistemi); motorun kendisi o kadar da özel değil
    • Birçok geliştiricinin ROBLOX'tan ayrılamamasının nedeni, çocukluktan beri ROBLOX araçlarını öğrenip ustalaşmaları ve bu becerilerin çoğunun diğer oyun motorlarında kullanılamayan niş yeteneklere dönüşmesi. Artık ya Unity gibi yeni bir ortamda yeniden acemi olarak başlayacaklar ya da eskisi gibi ROBLOX içinde yüksek seviyeli işler çıkarmaya devam edecekler. Çünkü her toplulukta biriktirdikleri arkadaşlıklar ve itibarları var. Açıkçası API uyumlu bir alternatifin bu kadar geç çıkmış olmasına daha çok şaşırıyorum
    • Geliştiricilerin Roblox oyunlarını bağımsız oyun olarak yayımlayıp platform kilidinden kaçması için bir fırsat da olabilir. Tabii mevcut kullanıcıların peşlerinden gelip gelmeyeceği ayrı mesele
    • Roblox'tan hoşlanmıyorum ama Roblox geliştirme araçlarının gerçekten epey iyi olduğu söyleniyor
  • Bu deponun oldukça havalı olduğunu düşünüyorum
  • Bunun yerelde test etme ya da QA'yi iyileştirme konusunda gerçekten işe yarayıp yaramadığını merak ediyorum. Kısa süre önce bir react-lua uygulamasında jest testleri çalıştırmak için Lune üzerinde Lemur'ü (arşivlenmiş durumda) çalıştırmaya uğraştım ve hatta oyun içi çıktıyı yazdıran bir test runner da yapmıştım. Sorun şu ki Roblox Studio hâlâ Linux'ta vinegar paketiyle düzgün çalışmıyor; bu yüzden sadece RobloxStudio.exe --place game.rbxlx --script test_runner.lua --keep-open gibi bir seçenekle konsol çıktısını sürekli alabilmek bile inanılmaz kullanışlı olurdu.
    • Lemur deposuna loadPlaceFile eklemeyi düşünüyordum ama doğru yer orası mı emin olamadığım için durdum; o sırada Librebox'ı gördüm ve şimdi bununla react-lua uygulamalarını Jest kullanarak yerel CI testine sokabilmeyi umuyorum
    • Bu arada Roblox'ta place içinde Luau kodu çalıştırmaya yönelik bir Open Cloud Engine API betası da var. [Beta] Luau Çalıştırmak için Open Cloud Engine API
    • Testleri yerelde çalıştırmanın faydaları: test başarısız olduğunda ekran görüntüsü ve video kaydı alma, anında geri bildirim, -i seçeneği ya da interactive mod ile başarısızlık anında doğrudan oyun oturumuna girebilme