概要
Librebox は、 Roblox互換 のオープンソースゲームエンジン。 Luau スクリプトを実行し、 Roblox API の互換性を目指す。 Windows対応 のデモ段階で、今後多機能化予定。 完全な独立性 と オープンソース が特徴。 将来的には サーバー・エディタ・マルチプラットフォーム へ拡張予定。
Libreboxとは
- Roblox互換 を目指した オープンソースゲームエンジン
- Luau スクリプトを実行可能
- Roblox API を再現し、既存のRobloxコードを流用可能
- Roblox Corporation とは一切関係なし
- 開発者自身がゲーム・エンジンを完全に所有 できる環境
Libreboxの特徴
- シーン描画・ライティング・シャドウ・スカイボックス 対応
- Parts(パーツ) の基本的なレンダリングと配置
- カメラ操作 の基本機能
- CFrame, Vector3, Color3, Random 等の標準データ型サポート
- Instanceシステム とほぼ完全なAPI(:WaitForChild()は未実装)
- クライアントサイドサービス (Workspace, RunService, Lighting等)対応
- Luauスクリプト の高速実行と最適化
- ウィンドウ管理やフルスクリーン最適化
サンプルコード
- Workspaceに Part を生成し、回転と色変化を実装
- 例:
local part = Instance.new("Part") part.Anchored = true part.Color = Color3.new(1,0,0) part.Position = Vector3.new(0,2.5,0) part.Parent = workspace local rs = game:GetService("RunService") local t = 0 rs.RenderStepped:Connect(function(dt) t += dt part.CFrame = CFrame.new(part.Position) * CFrame.Angles(0, t, 0) part.Color = Color3.fromHSV((t*0.2 % 1), 1, 1) end) - 上記コードは Libreboxエンジン でそのまま実行可能
- 例:
現状の対応範囲
- デモ段階 であり、Roblox APIの一部のみ実装
- シーン描画・パーツ配置・カメラ操作
- Instance API(Parent, :Destroy(), :Clone()等)
- BasePart(Part.Color, .Transparency, .Size, .Position, .CFrame等)
- RunService(RenderStep, HeartBeat等)
- Lighting(Ambient, ShadowSoftness, ClockTime, Brightness等)
- Luauスクリプト の各種機能(コルーチン、イベント、タスクスケジューラ等)
ダウンロード・実行方法
- Windows 7以降 対応の スタンドアロン実行ファイル(.exe)
- コマンドライン引数でスクリプトやフォルダ指定可能
--no-place:初期配置スクリプトを無効化--target-fps:FPS制限--path:スクリプトやフォルダのパス指定
- 依存ライブラリ は raylib のみ(クロスプラットフォーム対応予定)
今後の拡張予定
- Physics (物理演算・衝突判定)
- Mesh サポート
- game.Players, Player, UserInputService, ContextActionService
- 画像・デカール描画、GUI、マテリアル強化
- ネットワーク・サーバー・レプリケーション
- エディタ・サーバー構築・独自API・マネタイズ機能
- マルチプラットフォーム展開
ライセンス・法的事項
- Luau :MIT License
- raylib :zlib/libpng License
- Librebox は完全に 独立したプロジェクト
- Robloxのソースコード・アセット等は一切未使用
- 商標・互換性表記は 相互運用性 のためのみ
お問い合わせ
- librebox.developers@gmail.com 要望・質問等の連絡先
まとめ:Libreboxの意義
- 自分だけのゲームプラットフォーム 構築が可能
- オープンソース で 著作権フリー、商用利用も可能
- Roblox API互換 で既存の知識やコードを活かせる
- 今後の拡張性、 コミュニティ主導の開発 期待