배경
2025년 8월, Roblox는 동시 접속자 4,500만 명이라는 정점을 찍었다. 이 정도 규모를 감당할 수 있는 게임 엔진은 거의 없다. 그런데 정작 Roblox 자신은 게임을 만들지 않는다. 크리에이터들에게 제작 도구를 제공하고, 그 아래 인프라에 집중하는 역할을 한다. 지금 Roblox는 한 걸음 더 나아가, 자사 게임 엔진과 함께 작동하는 영상 월드 모델(video world model)을 통해 확장성이나 멀티플레이어 성능을 희생하지 않으면서도 포토리얼리즘 수준의 경험을 만들 수 있는지 탐구하고 있다.
ByteByteGo는 이 하이브리드 접근을 살펴보기 위해 Roblox 엔지니어링 수석 부사장(SVP) Anupam Singh과 인터뷰를 진행했다. 이 글은 그 인터뷰를 바탕으로, Roblox가 왜 이런 방향을 택했는지, 어떤 아키텍처를 쓰는지, 그리고 어떤 난제들이 남아있는지를 정리한다.
게임을 게임답게 만드는 것
사람들이 게임을 칭찬할 때 보통 그래픽을 가리킨다. 그래픽은 가장 눈에 띄지만, 실제로는 엔지니어링에서 차지하는 비중이 가장 작은 부분일 때가 많다. 진짜로 게임을 게임답게 만드는 건 플레이어 눈에 보이지 않는 시스템들이다. 이 시스템들은 크게 두 가지 목적을 갖는다: 모두에게 동일한 세계를 일관되게 유지하는 것, 그리고 그것을 화면에 그려내는 것이다.
세계의 일관성 유지는 여러 시스템이 함께 작동해야 가능하다. 기반은 지속적 상태(persistent state)다. 모든 것이 어디에 있고 무슨 일이 있었는지에 대한 살아있는 기록으로, 플레이어가 다시 접속했을 때도 그 세계가 그대로 남아있게 한다. 그 위에 규칙(rules)이 있다. 모두에게 동일하게 적용돼야 게임이 공정하게 유지된다. 물리(physics)는 그럴듯해야 한다. 물체가 부딪히고 떨어지는 방식이 플레이어의 기대와 맞아떨어져야 한다. 대부분의 게임은 여러 사람이 함께 플레이하기 때문에, 이 모든 것이 실시간으로 동기화되어야 수천 명이 조금씩 다른 세계가 아니라 하나의 일관된 세계를 공유하게 된다. 여기에 더해 플레이어가 행동하는 즉시 세계가 반응해야 한다. 이 모든 게 합쳐져야 움직이는 이미지가 실제로 플레이할 수 있는 무언가가 된다.
레이싱 게임을 예로 들면 이해하기 쉽다. 트랙, 점수, 페널티, 각 자동차의 조작감, 다른 차들의 위치까지 전부 정확해야 한다. 모든 플레이어가 같은 순간에 같은 것을 봐야 한다. 이 중 하나라도 어긋나면 플레이어는 바로 알아챈다.
두 번째 목적, 즉 세계를 진짜처럼 보이게 만드는 것은 비교적 최근에 생긴 요구다. 현실 세계에는 재현하기 어려운 미세한 디테일이 아주 많다. 바람에 흔들리는 풀, 자동차 뒤의 먼지, 불에서 나는 연기, 표면을 가로지르며 변하는 빛. 이제 플레이어들은 이 정도 수준의 리얼리즘을 기대한다.
문제는 여기서 어려워진다. 어떤 플랫폼도 이 모든 것—일관되고 공정하며, 실제처럼 보이면서, 사람들이 이미 가진 하드웨어에서 부담 없이 돌아가는 세계—을 한 번에 실현하지 못했다. 오늘날 이 문제의 각 절반을 두 가지 기술이 나눠 맡고 있다. AI 월드 모델은 학습한 것을 바탕으로 포토리얼리스틱한 이미지를 생성해 실제처럼 보이게 만드는 데 특화돼 있다. 게임 엔진은 모든 플레이어에 걸쳐 상태, 규칙, 물리를 추적하며 세계를 일관되게 유지하는 데 특화돼 있다. 문제는 각각 자신의 절반에서만 뛰어나다는 점이다.
왜 영상 월드 모델만으로는 부족한가
영상 월드 모델은 한 번에 한 프레임씩 세계를 생성하며 다음에 올 것을 예측한다. 텍스트 프롬프트나 시작 이미지 같은 조건 신호도 입력으로 받을 수 있다. 게임에서 가장 중요한 신호는 플레이어의 행동이다. 그것이 세계를 플레이 가능하게 만든다. 예를 들어 플레이어가 앞으로 이동하는 키를 누르거나 카메라를 돌려 주변을 보면, 다음 프레임이 그에 맞춰 바뀐다. 하지만 입력에 반응하는 프레임이라도, 그럴듯한 프레임을 생성하는 것과 게임을 구동하는 것은 두 가지 이유로 서로 다르다.
첫 번째 이유는 영상 모델에 게임을 지탱하는 시스템이 없다는 점이다. 모든 객체를 시뮬레이션하지 않고도 다음에 무엇이 맞아 보일지 생성해내는 것이 이 모델의 강점이지만, 동시에 그것이 게임을 하나로 묶어내지 못하는 이유이기도 하다. 영상 모델에는 세계에 대한 지속적인 메모리도, 일관된 규칙도, 플레이어의 입력을 올바른 결과로 바꿔줄 신뢰할 만한 방법도 없다. 이걸 확인하는 가장 간단한 방법은 카메라를 뭔가로부터 돌렸다가 다시 돌려보는 것이다. Singh은 이렇게 말한다. "캐릭터가 다시 돌아봤을 때, 그 세계는 여전히 같은가? 대부분의 영상 모델에서는 그렇지 않다." 모델이 장면을 다시 생성하면서 은근슬쩍 그것을 바꿔버린다.
멀티플레이어는 이 간극을 더 적나라하게 드러낸다. 영상 모델은 500명의 군중을 그려낼 수는 있지만, 그것은 픽셀일 뿐 각자의 위치·인벤토리·행동을 가진 500명의 개별 플레이어가 아니다. 군중을 그리는 것과 군중을 시뮬레이션하는 것은 서로 다른 문제다. 아무리 그럴듯해 보여도, 독립형 영상 월드는 게임보다는 지속성도 실제 상호작용도 없는 "안내된 꿈(guided dream)"에 가깝게 작동한다.
눈에 덜 띄지만 조용히 존재하는 간극도 있다. 순수 영상 모델은 테스트하고 다듬기가 어렵다. 일반적인 게임 코드라면 크리에이터가 규칙 하나를 바꾸고 실행해서 결과를 확인할 수 있다. 하지만 학습된 가중치로부터 세계를 생성하는 모델은 그런 정밀하고 반복 가능한 통제를 제공하지 않는다. 이는 정교한 경쟁형 게임플레이나 신뢰할 수 있고 지능적인 NPC를 보장하기 어렵게 만든다. 이런 문제들은 예외적 사례가 아니라, 좋은 게임을 만드는 일상적인 작업 그 자체다.
두 번째 이유는 더 근본적이다. 영상 모델은 전적으로 픽셀 단위로 작동하는데, 픽셀은 이해가 아니다. 모델은 병이 무엇인지—그것이 열리고, 물을 담고, 손에서 놓으면 떨어진다는 것—전혀 모른 채로도 완벽한 병 이미지를 그려낼 수 있다. Singh의 표현대로 "픽셀만으로는 결코 세계를 이해할 수 없다." 무언가가 그 대신 추론을 담당해야 한다. 사물이 무엇이고 어떻게 행동하는지를 파악하는 일 말이다. 장면을 그리기만 하는 모델은 게임이 의존하는 규칙, 물리, 인과관계를 실제로 붙잡고 있지 못한다. 그것은 세계를 렌더링하는 것이지, 모델링하는 것이 아니다.
게임 엔진은 정확히 영상 모델이 할 수 없는 일을 하도록 만들어졌다. 픽셀을 그리는 대신, 무엇이 존재하는지 추적하고 규칙을 강제하며 물리를 계산한다. 그렇다면 영상 모델에 이 모든 게 없다면, 차라리 게임 전체를 엔진으로 만들면 되지 않을까?
왜 게임 엔진만으로도 부족한가
게임 엔진은 영상 모델이 할 수 없는 부분을 위해 만들어졌다. 세계의 정확한 상태를 추적하고, 규칙을 매번 동일하게 적용하며, 세션과 플레이어 전반에 걸쳐 그 상태를 일관되게 유지한다. 엔진은 또한 충돌이나 자동차의 위치·속도·조향 같은 물체의 움직임을 포함해 물리를 직접 계산한다. 게임 개발에서 이 영역은 이미 성숙하고 잘 이해되어 있다.
포토리얼리즘은 엔진이 어려움을 겪는 지점이다. 세계를 실제처럼 보이게 하려면 엔진이 고해상도 텍스처, 복잡한 조명, 안개 속 빛의 산란이나 재질별 반사 같은 효과를 위한 시뮬레이션까지 모든 디테일을 명시적으로 렌더링해야 한다. 이 모든 것은 계산 비용이 크고, 사실적으로 밀어붙일수록 비용은 더 커진다. 그래서 엔진은 지름길을 택한다. 조명을 실시간 계산 대신 미리 구워두거나(baked lighting), 멀리 있는 물체는 단순화된 버전으로 바꾸거나, 텍스처를 재사용하거나, 디테일 부족을 가리는 스타일화된 룩에 기댄다. 이런 트릭들은 효과가 있지만, 동시에 대부분의 게임이 여전히 "게임처럼" 보이지 실제 현실처럼 보이지 않는 이유이기도 하다.
이런 지름길을 피하고 실제로 포토리얼리즘에 도달하려면 서버뿐 아니라 사람에게도 비용이 든다. 크리에이터는 디테일을 만들기 위해 더 많은 기술과 시간이 필요하고, 플레이어는 그것을 구동할 더 강력한 기기가 필요하다. 대형 스튜디오는 이를 감당할 수 있지만, 2인 팀이나 평범한 폰을 쓰는 사람은 그렇지 못하다. 이것이 진짜 한계다. 엔진은 진짜 게임을 줄 수 있지만, 그것을 통한 사실적인 그래픽은 대부분의 크리에이터와 플레이어에게는 여전히 닿기 어려운 영역으로 남는다. 각 기술은 상대가 약한 지점에서 정확히 강하기 때문에, 자연스러운 다음 수는 둘을 결합하는 것이다.
핵심 아이디어: 하이브리드 아키텍처
Roblox의 입장은 명확하다. 영상 모델에게 게임 엔진 역할을 시켜서도 안 되고, 게임 엔진에게 포토리얼리즘을 스스로 생성하라고 시켜서도 안 된다. 대신 각 부분이 잘하는 일을 하도록 작업을 나누는 시스템을 만들어야 한다.
Roblox는 이 시스템을 Roblox Reality라고 부른다. 세 부분으로 구성된다: Roblox 게임 엔진, Roblox Cloud, 그리고 팀이 Super Upsampler라고 부르는 영상 월드 모델. 앞의 둘은 세계를 일관되게 유지하고, 세 번째는 그것을 실제처럼 보이게 만든다.
게임 엔진은 실제로 무엇이 존재하는지를 아는 부분이다. 데이터 모델(data model)이라 불리는 구조화된 기록을 유지하며, 모든 객체와 그 속성—자동차의 위치, 속도, 방향, 재질—을 나열한다. 그 기록 위에서 물리와 규칙 시뮬레이션을 매번 동일하게 실행한다. 이를 정확하고 반복 가능하게 계산하기 때문에, 엔진은 모든 플레이어의 시점이 일치해야 하는 단일한 진실의 원천(single source of truth) 역할을 할 수 있다.
Roblox Cloud는 이 엔진을 대규모로 구동하는 역할을 한다. 각 세계의 상태를 영구적으로 저장해 며칠 뒤 다시 접속해도 그 세계가 그대로 남아있게 하고, 전 세계 데이터센터에 걸쳐 수백만 개의 라이브 게임 세션을 실행한다. 이 세션들을 플레이어와 물리적으로 가깝게 유지하는 것이 빠르고 공정한 멀티플레이어를 가능하게 만드는데, 권위 있는 상태(authoritative state)가 지구 반대편이 아니라 그것을 다루는 사람들 가까이에 있기 때문이다.
Super Upsampler는 영상 월드 모델이며, 이름 그대로의 일을 한다. 세계를 처음부터 발명하지 않는다. 엔진이 먼저 형태·위치·카메라 움직임은 정확하지만 텍스처와 조명은 단순한 "밋밋한" 프레임을 렌더링하면, 모델이 그것을 포토리얼리스틱한 결과물로 업샘플링한다. Singh의 표현대로, 모델은 장면에 무엇이 있는지를 결정하는 게 아니라 대체로 텍스처와 디테일을 추가하는 일을 한다. 이것은 Roblox가 이 작업을 위해 후속 학습(post-train)시킨 대형 베이스 영상 모델로, 이미 시각 세계가 어떻게 보이는지 알고 있고 텍스처, 조명, 앞유리에 맺힌 물방울, 차가 지나갈 때 흔들리는 나뭇잎 같은 디테일만 채우면 된다. 엔진은 정확하고 저렴한 부분을 담당하고, 모델은 비싸고 애매한 부분만 담당한다. 이 조합이 양쪽 극단보다 저렴한 이유다.
이 분업 뒤에는 더 깊은 발상이 있다. 무슨 일이 일어나고 있고 왜 일어나는지에 대한 추론까지 포함해 모든 것을 학습하는 하나의 거대한 모델을 만드는 게 목표라고 가정하기 쉽다. Roblox의 베팅은 그 반대다. 월드 모델은 여전히 추론이 필요하지만, 그것이 전부 네트워크 안에 있을 필요는 없다. Singh의 표현대로, 하이브리드에서는 그 추론이 모델 곁—엔진과 그 규칙, 물리—에 자리할 수 있다. 이는 영상 모델이 자신이 가장 잘하는 단 하나의 일, 즉 픽셀에 모든 역량을 쏟을 수 있게 해준다.
이런 분업은 플레이어가 그 이음매를 전혀 느끼지 못할 때만 의미가 있다. 그러려면 엔진과 모델이 프레임 단위로 긴밀하게 동기화되어야 한다.
엔진과 모델은 어떻게 동기화되는가
진짜 엔지니어링은 이 두 부분이 어떻게 연결되는가에 있다. 모델이 세계를 자유롭게 지어내도록 두면 안 되기 때문이다. 모델은 픽셀 하나를 생성하기 전에 매 프레임 엔진이 만들어낸 것에 조건화된다. 이 입력들은 레벨 오브 디테일과 컴포지팅을 처리하는 클라우드 시스템이 만들고, 영상 스트리밍과 같은 방식으로 CDN을 통해 엣지까지 전달된다.
드라이빙 게임의 한 프레임을 예로 들어보자. 엔진은 저품질 렌더링 프레임, 깊이 맵(depth map), 장면의 조명과 날씨, 모든 객체에 대한 구조화된 디테일을 생성한다. 각각은 업샘플러가 나중에 포토리얼리스틱한 버전을 렌더링할 때 사용할 서로 다른 종류의 신호다.
**픽셀 정렬 신호(dense, pixel-aligned signals)**는 모든 픽셀에 대해 값을 가진다—대략적인 렌더링 프레임, 카메라로부터의 거리를 담은 깊이 맵. 이들은 출력과 같은 격자를 공유하기 때문에 모델의 입력과 연결(concatenate)되거나 ControlNet 방식의 사이드 네트워크를 통해 주입되어, 생성되는 모든 픽셀이 깊이와 색상에 고정되도록 한다.
**전역 신호(global signals)**는 한 샷 전체에 대한 하나의 설정이다. 예컨대 정오, 약한 비, 왼쪽에 낮게 뜬 태양. 이는 변조(modulation)를 통해 적용되는데, 확산 모델(diffusion model)이 타임스텝을 입력하는 것과 같은 방식으로 모델의 활성값을 전체적으로 스케일하고 이동시킨다.
**구조화 신호(structured signals)**는 각 객체의 세부사항—예를 들어 위치 (120, 0, 48)에서 초당 40미터로 움직이는 금속 스포츠카—과 전체 스타일에 대한 프롬프트 같은, 텍스트에 가까운 압축된 설명이다. 이는 교차 어텐션(cross-attention)을 통해 들어와, 프레임의 어느 부분이든 필요할 때 이를 참조할 수 있다.
이 모든 것으로부터 모델은 최종 2K 프레임—젖은 페인트의 광택, 앞유리의 눈부심, 거친 아스팔트, 타이어에서 튀는 물보라—을 그려낸다. 자동차를 움직이거나 거리를 바꾸는 일 없이 말이다.
데이터 모델은 세계가 흐트러지지 않도록 붙잡아주는 역할을 한다. 어떤 객체가 존재하고 고정되어 있는지를 모델에게 알려줘서, 자동차는 한 프레임에서 다음 프레임으로 넘어가도 문 네 개짜리 자동차로 남는다. 다만 모델이 매 프레임 전체 게임 상태를 받는 것은 아니다. 그건 처리하기에 너무 많은 양이기 때문이다. 대신 검색(retrieval) 단계가 지금 렌더링 중인 것과 관련된 객체만 뽑아온다. 엔진은 무엇이 존재하는지에 대한 권위를 유지하고, 모델은 그것이 어떻게 보이는지만 결정한다.
상태와 픽셀은 저장되는 방식도 다르며, 이 차이가 설계의 핵심이다. 일관된 세계 상태는 서버의 데이터 모델에 존재해 모든 클라이언트에 공유되고 긴 세션 동안 안정적으로 유지된다. 세계의 겉모습은 모델의 영상 잠재변수(video latents)에 존재하며, 계속해서 재생성되고 저장될 필요가 전혀 없다. 서버는 모두가 공유하는 진실을 결정하고, 모델은 플레이어마다 조금씩 달라도 안전한 부분을 채운다.
아직 풀리지 않은 네 가지 난제
아키텍처가 갖춰진 지금, 진짜 과제는 이를 수백만 명의 플레이어를 대상으로 실시간으로 구동하는 것이다. Roblox 엔진과 그 글로벌 인프라는 이미 프로덕션에서 돌아가고 있다. 반면 영상 모델 쪽은 아직 실험실 단계로, 실시간으로 작동하고 있지 않다. 설계에서 프로덕션 출시까지 남은 네 가지 문제는 다음과 같다.
1) 레이턴시
게임은 플레이어가 행동하는 즉시 반응해야 한다. Singh의 표현대로, "클릭한 플레이어를 결과를 기다리며 몇 초씩 세워둘 수는 없다." 대부분의 영상 모델은 이 기준을 맞추지 못한다. 시간 축 양방향을 모두 읽는 오프라인 방식으로 클립 전체를 한 번에 생성하는데, 여기에 몇 초가 걸릴 수 있다. 플레이 가능한 게임은 수십 밀리초마다 새 프레임이 필요하다. 즉 약 5초의 격차를 약 30밀리초 수준까지 줄여야 한다는 뜻이다.
핵심 기법은 self-forcing으로, Roblox가 Morpheus AI를 인수한 이유의 핵심이기도 하다(이 방법을 개발한 창업자가 합류했다). Self-forcing은 느린 오프라인 모델을 자기회귀적(autoregressive) 모델로 바꿔, 매 프레임을 방금 생성한 프레임들에 조건화하며 프레임 단위로 생성하게 만든다. 그 결과 클립 전체를 한 번에 계산하는 대신 출력을 연속적으로 스트리밍할 수 있다.
Self-forcing만으로 끝나지 않는다. 모델은 더 작게 만들어지고, 실행 메모리인 키-값 캐시(key-value cache)는 압축된다. Roblox는 이를 비용 폭증 없이 고해상도에 도달하기 위한 핵심 요소로 본다. 생성 작업은 게임 엔진 인스턴스 바로 옆, 플레이어와 가까운 엣지 데이터센터의 H200·B200급 GPU에서 실행되어 네트워크 왕복 시간을 짧게 유지한다.
2) 일관성
앞서 다룬 데이터 모델이 프레임 간 흐트러짐을 막아준다. 더 어려운 과제는 수많은 프레임에 걸친 일관성을 유지하는 것이다. 긴 세션 동안 작은 오차들이 누적되면 세계가 서서히 스스로에 대한 추적을 잃을 수 있다. 모델은 몇 개의 프레임뿐 아니라 몇 분간의 플레이 전체에 걸쳐 일관성을 유지해야 한다.
긴 세션 동안 일관성을 유지하려면 모델이 자신의 히스토리를 훨씬 더 많이 담아둘 수 있어야 하는데, Roblox는 이를 처음부터 만드는 대신 인수를 통해 확보하는 쪽을 택했다. Self-forcing의 배경이 된 바로 그 Morpheus AI 인수가 이를 위한 장기 컨텍스트 월드 모델 작업도 함께 가져왔다. Roblox는 현재 모델의 컨텍스트 윈도우를 확장하는 중이며, 이를 통해 10분 전에 생성한 내용이 지금 생성하는 내용에도 계속 영향을 미치도록 하고 있다.
3) 멀티플레이어
멀티플레이어는 영상 모델의 가장 명확한 실패 지점이자, Roblox에게 가장 특수한 문제다. 모델은 군중을 생성할 수는 있지만 그것을 구동할 수는 없다. 실시간으로 반응하는 2만 명의 플레이어를 관리한다는 것은 그럴듯한 군중 그림 하나를 생성하는 게 아니라 2만 개의 개별 상태를 추적한다는 뜻이다. 이 요구사항은 소규모에서도 미묘하게 드러난다. 한 플레이어가 물체를 움직이면, 그것을 볼 수 있는 다른 모든 플레이어도 그 움직임을 봐야 한다. 플레이어의 행동은 그 자신이 한 일일 뿐 아니라, 그것이 다른 모든 사람의 세계관에 미치는 효과이기도 하다.
엔진은 서버 권위(server authority)로서 모두가 공유하는 하나의 참 상태(true state)를 계산함으로써 이를 가능하게 한다. 각 플레이어의 영상 모델은 그 공유 상태에 조건화되어 해당 플레이어만의 시점을 생성하므로, 시점은 다르지만 사실관계는 일치한다. 반응성을 유지하기 위해 시스템은 플레이어 기기에서 즉각적인 행동에 대한 빠른 예측 시뮬레이션도 함께 실행하고, 서버가 잠시 뒤 권위 있는 결과를 확정한다. 향후에는 플레이어 자신의 아바타를 로컬에서 렌더링해 스트리밍되는 영상 위에 겹쳐, 플레이어가 가장 신경 쓰는 자신의 움직임이 즉각적으로 느껴지게 할 수도 있다. 수천 명 규모에서 이 모든 것을 실행하는 일은 아직 해결된 기능이 아니라 활발한 연구 영역이며, Singh은 멀티플레이어 액션을 팀의 핵심 과제로 꼽는다.
4) 크리에이터 컨트롤
게임은 크리에이터가 그것을 빚어낼 때 비로소 플레이할 가치를 갖는다. 게임을 재미있게 만드는 건 대개 얼마나 디테일하게 보이는가가 아니라 크리에이터가 더한 규칙과 로직이다. 겉보기엔 평범한 게임도 그 아래 게임플레이가 좋으면 대박이 날 수 있다. 그래서 영상 모델은 크리에이터의 통제 아래 있어야 하며, 그 통제권을 어떻게 부여할지는 아직 열려있는 연구 영역이다.
구체적인 사례 하나는 Roblox에 합류한 팀 Lucid AI에서 나왔다. 이 팀의 창업자는 Roblox가 "게임 카트리지 하네스(game cartridge harness)"라 부르는 것을 만들었는데, 실제 게임 엔진의 결정론적 로직으로 영상 월드 모델을 감싸는 방식이다. 요점은 세계가 생성된 것처럼 보이면서도 크리에이터가 설정한 고정되고 예측 가능한 규칙에 따라 행동하도록 하는 것이다.
이 하네스는 또한 플레이어의 조작이 모델에 전달되는 통로이기도 하다. 표준 이동 키인 WASD 입력이 조건 신호로 입력되어, 앞으로 이동하는 키를 누르면 엔진 안의 캐릭터만 움직이는 게 아니라 생성되는 시점 자체를 직접 움직인다. 실시간 플레이어 입력을 받아 올바른 다음 프레임으로 바꾸는 것은 독립형 영상 모델이 다룰 수 없는 종류의 제어다. 크리에이터가 이동 이상으로 모델을 어떻게 지시하게 될지—글로 쓴 프롬프트를 통해서인지, 데이터 모델을 통해서인지, 아니면 그 둘의 조합인지—는 아직 정해지지 않았다.
Roblox의 승부수: 크리에이터, 컴퓨팅, 20년의 축적
이것들은 어려운 문제들이며, Roblox가 이를 풀 수 있다고 자신하는 근거는 몇 가지 강점에 있다. Roblox는 함께 만들고 배울 수 있는 대규모 크리에이터 커뮤니티를 갖고 있다. 클라우드 제공업체에서 용량을 빌리는 대신 20개가 넘는 엣지 데이터센터와 자체 GPU를 운영하며 컴퓨팅을 직접 소유하고 있는데, 이는 영상 모델이 모든 플레이어에게 낮은 레이턴시로 구동되어야 할 때 중요하다. 또한 하이브리드 전체가 의존하는 구조화된 객체·물리 기록인 데이터 모델을 구축하는 데 거의 20년을 쏟아왔다.
AI 쪽 역량을 강화하기 위해 Roblox는 여러 연구소 출신 창업자들을 모아, "커뮤니티를 존중하라, 책임을 져라, 일을 해내라(respect the community, take responsibility, get stuff done)"는 짧은 가치 아래 자율성을 부여했다. 각 팀은 문제의 서로 다른 조각을 풀어왔다. Morpheus AI는 self-forcing과 그 배경이 된 저지연·장기 컨텍스트 작업을 가져왔다. Lucid AI는 결정론적 게임 로직과 영상 모델 사이를 잇는 게임 카트리지 하네스를 가져왔다. Dynamics Lab은 사람이 사진이든 그림이든 회화든 어떤 이미지를 업로드하면 텍스트 프롬프트로 형태를 바꾸고 친구와 공유해 즉시 함께 플레이할 수 있는, 실시간 범용 도메인 월드 엔진을 가져왔다. 이를 합치면 하이브리드가 필요로 하는 속도·통제·생성의 조각들이 갖춰지는 셈이다.
기술이 아닌 운영 측면의 강점도 하나 있다. 모델이 실시간으로 구동되기 시작하더라도, Roblox는 이를 동시에 수백만 명의 플레이어에게 서빙해야 하며, 이 정도 규모에서 시스템을 안정적으로 유지해본 경험을 가진 회사는 거의 없다. 어떤 게임이 몇 주 만에 300만에서 2,200만 플레이어로 뛸 수 있는 만큼 용량 예측은 어렵고, Roblox는 급증이 오지 않을 거라 가정하는 대신 그것에 대비해 계획을 세운다. 시스템에 부하가 걸렸을 때 트래픽을 조절하는 대신, "타코 튜즈데이(Taco Tuesday)"라 부르는 주간 훈련을 통해 프로덕션 서비스에서 일부러 용량을 제거해 한계를 미리 찾아낸다. 이 테스트는 자동화되어 있고 어떤 엔지니어든 시작할 수 있다. 안정성은 모두의 일로 여겨지며, 경영진도 공휴일을 포함해 엔지니어와 동일한 온콜 로테이션에 포함된다.
다음 단계
Roblox Reality의 초기 버전은 올해 말이나 내년 초에 나올 것으로 예상되며, 대규모 플레이어에게 도달하기 전까지 비용과 확장성 문제가 여전히 남아있다. 첫 번째 품질 목표는 2K 해상도·초당 60프레임이며, 장기적으로는 4K를 목표로 한다.
더 중요한 변화는 누가 포토리얼리스틱한 게임을 만들 수 있게 되는가다. 무거운 렌더링이 크리에이터의 개인 기기나 플레이어의 디바이스가 아니라 공유된 엣지 GPU에서 이뤄지기 때문에, 시각적 품질이 더 이상 팀의 예산 규모나 플레이어 폰의 성능에 좌우되지 않는다. 크리에이터는 평범한 기기에서도 최고 수준의 결과를 얻을 수 있다. Singh이 그리는 목표는 2인 스튜디오가 복잡함과 시각적 품질을 맞바꾸지 않고도 대형 스튜디오 수준으로 풍부한 무언가를 만들 수 있게 하는 것이다.
Singh은 이 진전이 작은 걸음이 아니라 큰 도약 단위로 찾아올 것이라 예상하며, 월드 모델이 게임을 훨씬 넘어서는 영역에서도 중요해질 것이라 본다. Roblox의 접근이 주목할 만한 이유는, 영상 모델 혼자서 모든 걸 해결해주기를 기다리지 않는다는 데 있다. 대신 그 모델에게 지금까지 없었던 지원—세계를 기억하고, 규칙을 강제하며, 모두에게 그것을 진실되게 유지해주는 엔진—을 붙여준다.
핵심 요약 (20줄)
- Roblox는 2025년 8월 동시접속 4,500만 명을 기록했으며, 게임 엔진과 AI 영상 월드 모델을 결합해 포토리얼리즘을 구현하는 방안을 탐색 중이다.
- ByteByteGo는 Roblox 엔지니어링 수석 부사장 Anupam Singh과의 인터뷰를 바탕으로 이 하이브리드 접근을 상세히 다뤘다.
- 게임은 크게 두 축으로 구성된다: 지속적 상태·규칙·물리·실시간 동기화를 통한 세계의 일관성 유지, 그리고 그것을 실제처럼 보이게 만드는 렌더링이다.
- AI 영상 월드 모델은 사실적인 이미지를 만드는 데는 강하지만, 지속적인 메모리·일관된 규칙·정밀한 플레이어 입력 반영이 없어 카메라를 돌렸다 되돌리면 세계가 은근히 바뀌는 문제가 있다.
- Singh은 "픽셀만으로는 결코 세계를 이해할 수 없다"고 말하며, 영상 모델이 사물을 그릴 뿐 그것이 무엇이고 어떻게 작동하는지는 이해하지 못한다고 지적한다.
- 게임 엔진은 상태·규칙·물리 계산에는 강하지만, 포토리얼리즘을 구현하려면 계산 비용이 급격히 커져 라이팅 베이킹, 원거리 객체 단순화 같은 지름길에 의존해야 한다.
- 이 때문에 대형 스튜디오가 아닌 소규모 팀이나 저사양 기기 사용자는 사실적인 그래픽에 도달하기 어렵다는 한계가 생긴다.
- Roblox의 해법은 "Roblox Reality"라는 하이브리드 시스템으로, 게임 엔진·Roblox Cloud·Super Upsampler(영상 월드 모델) 세 요소로 구성된다.
- 게임 엔진은 모든 객체의 위치·속도·재질을 담은 데이터 모델을 유지하며 모든 플레이어가 동의해야 하는 단일 진실 원천 역할을 한다.
- Roblox Cloud는 전 세계 데이터센터에서 수백만 개의 라이브 세션을 실행해 상태를 플레이어와 물리적으로 가깝게 유지한다.
- Super Upsampler는 엔진이 만든 형태·위치는 정확하지만 텍스처가 단순한 프레임을 받아 포토리얼리스틱하게 업샘플링하며, 장면의 내용이 아니라 디테일만 채운다.
- 엔진과 모델의 동기화는 픽셀 정렬 신호(렌더링 프레임·깊이맵), 전역 신호(조명·날씨), 구조화 신호(객체 설명) 세 종류의 조건화를 통해 프레임마다 이루어진다.
- 세계 상태는 서버의 데이터 모델에 저장되어 안정적으로 공유되고, 시각적 표현은 모델의 영상 잠재변수로 매번 재생성되며 저장될 필요가 없다.
- 남은 네 가지 난제는 레이턴시, 일관성, 멀티플레이어, 크리에이터 컨트롤이다.
- 레이턴시 문제는 self-forcing 기법(Morpheus AI 인수로 확보)으로 약 5초 걸리던 오프라인 생성을 약 30밀리초의 프레임 단위 실시간 생성으로 줄이는 방식으로 해결하고 있으며, H200·B200 GPU를 엣지에 배치한다.
- 일관성 문제는 컨텍스트 윈도우 확장을 통해 수 분에 걸친 플레이 동안에도 모델이 과거 생성 내용을 계속 반영하도록 하는 방식으로 다루고 있다.
- 멀티플레이어 문제는 엔진이 서버 권위로서 공유 상태를 계산하고, 각 플레이어의 영상 모델이 그 상태에 조건화되어 저마다의 시점만 생성하는 구조로 접근한다.
- 크리에이터 컨트롤은 Lucid AI가 개발한 "게임 카트리지 하네스"로 결정론적 게임 로직이 영상 모델을 감싸게 해, WASD 입력이 생성되는 프레임을 직접 조종하도록 한다.
- Roblox의 강점은 대규모 크리에이터 커뮤니티, 20개 이상의 자체 엣지 데이터센터·GPU 보유, 20년간 쌓아온 데이터 모델, 그리고 Morpheus AI·Lucid AI·Dynamics Lab 인수를 통한 AI 역량 강화다.
- Roblox Reality의 초기 버전은 올해 말이나 내년 초 공개 예정이며, 목표는 2K·60fps에서 시작해 4K로 확장하는 것이고, 궁극적으로는 소규모 팀도 대형 스튜디오급 시각 품질을 저사양 기기에서 구현할 수 있게 하는 것이다.