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 테스트하는 방향을 기대하게 됨
Hacker News 의견
while not parentObj:FindFirstChild("childObj name") do wait() end. 내가 알기로 wait() 함수는 프레임당 1/30초 이상임, 완전 즉각적으로 하려면 각 하트비트마다 실행해야 함RobloxStudio.exe --place game.rbxlx --script test_runner.lua --keep-open옵션으로 콘솔 출력만 계속 찍을 수 있으면 엄청 편했을 것임.