Hacker News 의견
  • 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
    • 테스트를 로컬에서 돌리면 얻는 이점: 테스트 실패 시 스크린샷·비디오 기록, 즉각적인 피드백, -i 옵션이나 interactive로 실패 시 바로 게임 세션으로 진입 가능함