# Roblox-호환 오픈소스 게임 엔진인 Librebox

> Clean Markdown view of GeekNews topic #22694. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=22694](https://news.hada.io/topic?id=22694)
- GeekNews Markdown: [https://news.hada.io/topic/22694.md](https://news.hada.io/topic/22694.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-08-24T11:33:06+09:00
- Updated: 2025-08-24T11:33:06+09:00
- Original source: [github.com/librebox-devs](https://github.com/librebox-devs/librebox-demo)
- Points: 2
- Comments: 1

## Topic Body

- **Librebox**는 오픈소스 **Luau 기반** 3D 게임 엔진으로, Roblox와 **API 호환성**을 지향함
- 개발자는 **엔진부터 코드까지** 자신의 게임에 대한 완전한 소유권을 가질 수 있음
- 현재는 **데모 단계**로, 핵심적인 씬 렌더링과 카메라 이동, 기본 파트 생성 등이 지원됨
- 향후 버전에서는 **물리, 사용자 입력, 멀티플랫폼 지원 등**이 추가될 예정임
- **라이센스**는 MIT로, 완전히 무료이며 자유로운 수정과 배포가 가능함

---

### Librebox 소개

- **Librebox**는 Luau 엔진 위에 구축된 **오픈소스** 3D 게임 엔진임
- 주요 목표는 **Roblox와 유사한 API를 제공**하여, 기존 **Luau 코드의 호환성**을 최대한 보장함
- 개발자는 **엔진 자체와 게임 로직 모두에 대한 소유권과 자유**를 가지며, 플랫폼 종속성을 벗어난 개발이 가능함

### 왜 Librebox인가?

- **자유로운 엔진 사용**과 소유권 확보가 가능함
- 기존 Roblox나 Luau 친숙 개발자가 **거의 수정 없이 코드 재사용** 가능
- 자신만의 플랫폼 구축 및 자유로운 **배포, 변형, 수익화** 가능

### 주요 예시 코드

- 예시: 파트를 생성하고 회전 및 색상 변환
    - `examples/part_example.lua` 파일 참고
    - 기존 Luau/Roblox 코드와 거의 동일한 방식으로 파트 생성, 색상, 위치, 회전, 루프 처리 가능

### 지원 기능 요약 (데모 버전 기준)

- **씬 렌더링, 조명, 섀도우, 스카이박스**
- **game.Workspace** 내 오브젝트 렌더링
- **기본 카메라 이동 기능**
- **Instance System 및 주요 데이터 타입 지원**
    - `CFrame`, `Vector3`, `Color3`, `Random` 등
    - `Instance.new`, 파트 복제/파괴, 속성 제어
- **Client 사이드 서비스**
    - Workspace, Camera, Lighting, RunService 등
    - RenderStep/HeartBeat 이벤트 지원
- **Luau 스크립트 지원 및 스케줄러**
    - 코루틴, 이벤트, 비동기 작업(`task.spawn`, `task.wait` 등)
- **윈도우 핸들링 및 전체화면 최적화**

### 플랫폼 및 확장

- 현재 **Windows 전용** 지원
- **raylib**을 활용, 타 OS로의 이식이 용이함
- **Standalone 실행파일**로 배포

### 앞으로 제공 예정인 기능

- **물리 엔진 및 충돌 감지**
- **모델/메시, 이미지, GUI, 머터리얼 지원**
- **Onscreen GUI, Replication/Multiplayer (서버)** 
- **UserInputService, ContextActionService** 등
- 자체 **에디터**, 서버/클라이언트 완결 생태계 구축

### 비전 및 미래

- 완전한 독립형 오픈소스 엔진으로 **Godot, Unity**와 유사한 목표
- **플랫폼 종속 없이, 내 게임/내 코드**로 자유로운 개발 실현
- **에디터, 서버, 배포 및 수익화**까지 모든 영역 확장 계획
- 사용자 API 및 소스코드 재작성 가능

### 라이선스 및 저작권

- **MIT 라이선스**
- Luau(로블록스 엔진 기반, MIT), raylib(zlib/libpng) 등 오픈소스 라이선스만 사용
- 상업 플랫폼 및 타사와 무관한 **독립 프로젝트**
- 외부 소스/에셋/프로프라이어터리 코드 불포함

### 문의 및 커뮤니티

- **이메일:** librebox.developers@gmail.com
- 누구나 사용, 피드백, 수정, 기여 가능

### 기술 스택

- **C++** , **Lua**, **Luau**, **Python**, **C**, **CMake** 등으로 구성

### 중요성 및 비교 우위

- **Roblox/루아 생태계의 독립 대응 오픈소스 엔진**
- 기존 상용 플랫폼에서는 제한되는 **제작/소유/수익화의 자유**를 제공
- **완전한 소스공개, API 호환성, 윈도우 기반 데모 제공**으로, 루아 기반 3D 게임/콘텐츠 제작에 적합

### 결론

- **무료, 오픈소스, 호환성, 자유**까지 모두 갖춘 게임 엔진으로, 주니어 개발자 및 크로스플랫폼 게임 개발에 매력적인 선택지임

## Comments



### Comment 42838

- Author: neo
- Created: 2025-08-24T11:33:07+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=44995147) 
* Librebox는 아직 데모 단계임, Roblox API의 극히 일부만 구현하고 있고, 서버나 네트워킹 등 많이 빠진 기능이 많음
   * 내가 개발팀이라면 서버와 네트워킹부터 구현을 시작할 것임, 나중에 추가하려고 하면 정말 어렵기 마련임
* 참신한 시도라 생각하고 행운을 빔, Roblox의 법무팀에게 공격받지 않길 바람, 리눅스 네이티브 클라이언트 쪽으로 좋은 활용도가 생길 수 있음. 현재 많이 쓰이는 Sober는 독점 소프트웨어이고, 예전에 쓰던 Vinegar는 리눅스 해커들 문제로 차단당함
   * Roblox가 법적 조치를 시도할 수 있겠지만, 개인적으로 이 프로젝트는 명백히 합법적이라고 느껴짐. 합법성 기준에서 봤을 때 이건 VLC Media Player(특허 이슈)보다 더 높은 점수를 줄 수 있고, NES 에뮬레이터보다는 훨씬 높음. Android보단 낮다고 생각하지만, 어쨌든 Oracle이 Android를 소송한 적은 있음. (나는 변호사는 아님)
   * Roblox 법무팀의 우선순위에서 보면 이런 프로젝트가 Roblox 내 아동 착취 문제보다 더 높은 처리 대상인 것 같다는 생각이 듦
* :WaitForChild()가 없다는 점이 언급되었는데, 오히려 좋은 점 아닌가 얘기함
   * 사실 큰 문제는 아니고, 약간의 편의 기능임, busy waiting보다 나은 부분임. 어떤 오브젝트가 코드 실행 전엔 꼭 존재한다고 보장되지 않을 때가 많은데, 다음과 같이 유사한 동작을 직접 구현할 수 있음: `while not parentObj:FindFirstChild("childObj name") do wait() end`. 내가 알기로 wait() 함수는 프레임당 1/30초 이상임, 완전 즉각적으로 하려면 각 하트비트마다 실행해야 함
* Roblox에 묶여 있는 엄청난 양의 유저 콘텐츠가 있음, 정말 많은 자원이 있음을 느낌
   * 특히 Club류 콘텐츠는 반드시 해방시켜야 함
* 저장소(github)에서 개발자에 대한 정보를 아무리 찾아도 없음. 디스코드 서버마저도 채널에 아무것도 없고, 개발자 역할로 등록된 계정도 프로젝트 전용 단 한 개임. 소스코드엔 실제 작업이 이루어진 티가 나고 단순히 README만 있는 건 아님. 그래도 전체적으로 뭔가 괴상하다는 느낌임
   * 혼자서 하는 원맨 프로젝트들이 원래 이런 식임
   * 내가 호의적으로 해석하자면, 자기 신분을 숨기는 건 법적 문제를 두려워해서 그런 듯함. Roblox 자체가 810억 가치의 대기업임
* Robux를 쓸 수 없다면 개인적으로 별로 관심이 없음. 사실 문제의 핵심은 Robux(화폐 시스템)임, 엔진 그 자체는 그렇게 특별하지 않음
   * 많은 개발자들이 ROBLOX에서 벗어나지 못하는 이유는 어릴 때부터 ROBLOX 툴을 익히고 숙련된 뒤, 그 기술이 대부분의 다른 게임 엔진에서 쓸 수 없는 틈새 스킬이 되어버린 것임. 이제 선택지는 Unity 같은 새로운 환경에서 초보로 다시 시작하거나, 예전처럼 ROBLOX 내부에서 계속 수준 높은 결과물을 내는 것밖에 없음. 각 커뮤니티에서 쌓아온 친구와 명성이 있기 때문임. 솔직히 API 호환 대체제가 이렇게 늦게 나왔다는 게 오히려 놀라움
   * 개발자들이 자기 Roblox 게임을 독립형 게임으로 릴리즈하고, 플랫폼 락인을 탈출할 수 있는 기회일 수도 있음. 물론, 기존 유저들이 따라올지는 별개의 문제임
   * 내가 Roblox를 좋아하진 않지만, Roblox 제작 도구의 완성도는 실제로 꽤 괜찮다고 들음
* 이 저장소는 꽤 멋지다고 생각함
* 이게 로컬에서 테스트 기능이나 QA 향상에 실질적으로 도움이 되는지 궁금함. 최근 react-lua 앱에서 jest 테스트 돌리려고 Lune에 Lemur(아카이브 됨)을 동작시키려고 했는데, in-game output을 출력하는 테스트 러너도 만들었었음. 문제는 Roblox Studio가 아직 Linux에서 vinegar 패키지로는 잘 안 돌아가서, 그냥 `RobloxStudio.exe --place game.rbxlx --script test_runner.lua --keep-open` 옵션으로 콘솔 출력만 계속 찍을 수 있으면 엄청 편했을 것임.  
   * Lemur 저장소에 loadPlaceFile 추가하려다, 거기다 넣는 게 맞나 싶어서 멈췄는데, 이때 Librebox를 알게 되었고, 이제는 이걸로 react-lua 앱을 Jest로 로컬 CI 테스트하는 방향을 기대하게 됨  
   * 참고로 Roblox서 place 안에서 Luau 코드를 실행할 수 있는 Open Cloud Engine API 베타도 있음. [[Beta] Open Cloud Engine API for Executing Luau](https://devforum.roblox.com/t/beta-open-cloud-engine-api-for-executing-luau/3172185)  
   * 테스트를 로컬에서 돌리면 얻는 이점: 테스트 실패 시 스크린샷·비디오 기록, 즉각적인 피드백, -i 옵션이나 interactive로 실패 시 바로 게임 세션으로 진입 가능함
