شرط رباکس روی مدل جهان ویدیویی
خلاصهٔ کاملتر
رباکس آگوست ۲۰۲۵ به اوج ۴۵ میلیون کاربر همزمان رسید، ولی خودش سازندهٔ بیشتر بازیها نیست؛ ابزار میده و زیرساخت رو نگه میداره. تو این مصاحبهٔ ByteByteGo با Anupam Singh، معاون ارشد مهندسی رباکس، بحث سر اینه که چطور میشه یه مدل جهان ویدیویی رو کنار موتور بازی گذاشت تا تجربهها فوتورئال بشن، بدون اینکه مقیاس و مولتیپلیر قربانی بشه.
به گفتهٔ Singh، چیزی که یه بازی رو بازی میکنه گرافیک نیست، بلکه سیستمهاییه که بازیکن هیچوقت نمیبینه: وضعیت ماندگار، قوانینی که برای همه یکسان حل میشن، فیزیک باورپذیر و همگامسازی بلادرنگ بین هزاران بازیکن. تو یه بازی مسابقهای، پیست و امتیاز و جریمه و جای هر ماشین باید دقیق و برای همه یکی باشه؛ اگه یکیش بلنگه، بازیکن فوری میفهمه.
مدل ویدیویی تنها از پس این کار برنمیاد. نویسنده دو دلیل میآره: اول اینکه حافظهٔ بادوام و قانون ثابت نداره — به قول Singh اگه دوربین رو برگردونی و دوباره نگاه کنی، تو بیشتر مدلهای ویدیویی جهان دیگه همون جهان قبلی نیست. دوم اینکه پیکسل یعنی فهم نیست: مدل میتونه یه بطری بینقص بکشه بدون اینکه بدونه باز میشه، آب نگه میداره و اگه ولش کنی میافته.
موتور بازی هم تنها کافی نیست. موتور تو نگهداشتن وضعیت و فیزیک پختهست، ولی فوتورئالیسم براش گرونه، برای همین سراغ میانبر میره: نورپردازی از پیش پختهشده، نسخهٔ سادهتر اجسام دور، تکرار تکسچر و سبک استایلایز. رسیدن به واقعگرایی واقعی هزینهای داره که روی دوش آدمها میافته: سازنده مهارت و وقت بیشتر، بازیکن دستگاه قویتر.
راهحل رباکس تقسیم کاره. سیستمی که اسمش رو Roblox Reality گذاشته سه تکه داره: موتور بازی، Roblox Cloud و مدل جهان ویدیوییای به نام Super Upsampler. موتور «data model» رو نگه میداره — فهرست ساختاریافتهٔ هر شیء و ویژگیهاش — و منبع حقیقت واحده. مدل هم جهان رو از صفر نمیسازه؛ فریم سادهٔ رندرشدهٔ موتور رو میگیره و تکسچر و نور و جزئیات ریز رو بهش اضافه میکنه.
همگامسازی جاییه که مهندسی واقعی اتفاق میافته. هر فریم، قبل از تولید یک پیکسل، مدل روی خروجی موتور شرطی میشه: سیگنالهای چگال و همتراز با پیکسل (فریم خام و نقشهٔ عمق) کنار ورودی مدل میشینن یا از شبکهٔ جانبی سبک ControlNet تزریق میشن؛ سیگنالهای سراسری مثل «ظهر، بارون سبک، خورشید پایینِ سمت چپ» از راه مدولاسیون میان و توصیفهای ساختاریافتهٔ هر شیء از راه cross-attention. یه مرحلهٔ retrieval هم فقط اشیای مرتبط رو میکشه بیرون تا کل وضعیت بازی هر فریم پردازش نشه.
نکتهٔ ظریف طراحی اینه که وضعیت و پیکسل جدا ذخیره میشن: وضعیت مشترک جهان تو data model روی سرور میمونه و بین همهٔ کلاینتها یکیه، ولی ظاهر جهان تو latentهای ویدیویی مدل زندگی میکنه که مدام بازتولید میشن و اصلاً لازم نیست ذخیره بشن. سرور حقیقت مشترک رو تعیین میکنه و مدل چیزهایی رو پر میکنه که میتونن بین بازیکنها کمی فرق داشته باشن.
چهار مسئله هنوز باز مونده و سمت مدل ویدیویی هنوز تو آزمایشگاهه: تأخیر (باید از حدود پنج ثانیه به ۳۰ میلیثانیه برسه؛ با self-forcing از خرید Morpheus AI، فشردهسازی کش key-value و GPUهای H200 و B200 تو دیتاسنترهای لبه)، انسجام در جلسههای طولانی با پنجرهٔ کانتکست بلندتر، مولتیپلیر که موتور بهعنوان مرجع سرور حلش میکنه، و کنترل سازنده با «game cartridge harness» از تیم Lucid AI و تزریق ورودیهای WASD. نسخهٔ اولیهٔ Roblox Reality اواخر امسال یا اوایل سال بعد انتظار میره.
نکات کلیدی:
- Roblox Reality کار رو تقسیم میکنه: موتور و کلاد حقیقت جهان رو نگه میدارن، مدل ویدیویی فقط ظاهر رو میسازه
- مدل بهجای ساختن جهان، فریم سادهٔ موتور رو upsample میکنه؛ برای همین از هر دو سر طیف ارزونتر درمیاد
- وضعیت مشترک روی سرور ذخیره میشه و پیکسلها به شکل latent مدام بازتولید میشن و ذخیره نمیشن
- چهار مسئلهٔ باز: تأخیر، انسجام بلندمدت، مولتیپلیر و کنترل سازنده
- چون رندر سنگین روی GPUهای مشترک لبه انجام میشه، کیفیت تصویر از بودجهٔ تیم و قدرت دستگاه بازیکن جدا میشه




