OnLive
از رویا تا حقیقت
از رویا تا حقیقت
اگر اخبار GDC 09 (Game Developers Conference 2009) را دنبال کرده باشید، حتما با پدیده جدید صنعت بازی آشنا شدهاید. OnLive، سرویس جدیدی که به مشترکین خود اجازه دسترسی به بازیهای رایانهای را بدون نیاز به رایانهای قدرتمند و یا حتی بدون نیاز به رایانه میدهد و تنها ابزار ضروری برای استفاده از آن اینترنت پر سرعت با حداقل سرعت 2 مگابیت بر ثانیه میباشد.
با استفاده از سرویس OnLive کاربران میتوانند بازیهای رایانهای را از طریق اینترنت به Streaming در لحظه بازی به پردازند. یعنی تمام محاسبات بازی بر روی سرور مرکزی OnLive صورت میگیرد و تصویر اتفاقات برای کاربر از طریق اینترنت پخش خواهد شد. به این ترتیب کاربر با استفاده از ورودی (ماوس و کیبرد و یا دسته بازی) خود فرمان را از طریق کلاینت نرمافزاری (برروی PC) و یا کنسول OnLive (برای تلویزیون) به سرور ارسال کرده و نتیجه را بصورت تصویر ویدیویی دریافت مینماید.
با این حال اولین بار که خبر این سرویس را شنیدیم شگفتی و شک تنها تاثیر آن روی ما بود. کما اینکه در گذشته نیز پروژههایی مشابه نظیر کنسول بازی Phantom وجود داشتند که به نتیجه نرسیدند.
روش کاری OnLive این است که به شما اجازه خواهد داد تا به بازیهای مورد علاقه خود به صورت مجازی در هر مکانی دسترسی داشته باشید. همانگونه که گفته شد محاسبات گرافیکی از طریق سرور و اینترنت انجام میپذیرد و این یعنی عدم نیاز به سخت افزارهای گران قیمت و دسترسی آسان به بازی در هرجای دیگر – بازی خود را روی تلویزیون شب در منزل pause کنید و فردا در محل کار در ساعت ناهار آنرا ادامه دهید.
این سوال خود به خود در ذهن پدیدار میشود که چرا تا بهحال کسی موفق به انجام چنین کاری نشده است؟ دلیل آن وجود محدودیت تکنیکی مهمی به نام سرعت نور است. اگر پردازشهای گرافیکی در محل کاربر انجام نشود، حجم فوق العاده زیادی از دادهها باید مسافت زیادی را بپیماید. انجام موفقیت آمیز چنین پروسهای بدون ایجاد تاخیر (lag) در بازی بسیار بسیار دشوار خواهد بود. برای مثال اگر دکمهای را برای شلیک گلولهای فشار دهید و دو ثانیه بعد شاهد عملیات شلیک باشید بدون شک مدت زیادی در بازی دوام نخواهید آورد. اگر تجربه انجام بازیهای آنلاین را داشته باشید با مفهوم تاخیر در بازی (Latency) آشنا خواهید بود و میدانید برای انجام بازی به صورت آنلاین این موضوع باعث محدودیت در سرعت زمان پاسخگویی خواهد بود - بهخصوص با شبکه ضعیف اینترنت ایران که حتی در سرورهای بازی داخلی نیز این مورد عذابآور باعث اذیت و آزار گیمرها بوده و با شرایط فعلی خواهد بود.
برای مثال بازی Counter-Strike که در داخل کشور سرورهایی برای گیمرهای ایرانی دارد و کاربران میتوانند با پینگ زیر 100 تقریبا به راحتی به انجام بازی بپردازند و latency، زیاد باعث بروز مشکل نمیشود. ولی برای انجام همین بازی در سرورهای اروپایی پینگ به یکباره از مرز 200 میلیثانیه عبور خاهد کرد که به طرز ناراحت کنندهای انجام بازی را دشوار میسازد.
با در نظر گرفتن این موضوع بگذارید بررسی کنیم که آیا چنین سرویسی که به مراتب پیچیده تر از انجام یک بازی آنلاین است - که تمام محاسبات در رایانه شخصی انجام میگیرد و این اطلاعات (که معمولا حجمی در حدود 5 کیلوبایت دارند) به سرور بازی ارسال میگردد – تا چه حد امکان پذیر خواهد بود.
زمان پاسخگویی (Response Time)
به عنوان کسی که سالها مشغول انجام بازیهای تحت شبکه و از زمان ورود اینترنت به کشور به صورت آنلاین میباشد، زمان پاسخگویی را مهمترین امر در کیفیت یک بازی به صورت آنلاین میدانم. بیشتر کسانی که تجربه بازی به صورت آنلاین را دارند قبول دارند که 100 میلیثانیه (1/0 ثانیه) تاخیر سریع و ایدهآل محسوب میشود و هرچیزی بیشتر از آن باعث میشود تا کاربر وقفه و تاخیر را حس نماید.
پس اولین گام سنجش و بررسی برای بدست آوردن زمان پاسخگویی مناسبی است که بتواند تجربهای بدون نقص و وقفهای را در گیمپلی به ارمغان بیاورد.
با این حال برخی بازیها خود دارای درصدی تاخیر از زمان ورود فرمان تا محاسبه و نمایش این عملیات روی صفحه مانیتور هستند. یعنی از زمانی که شما فرمان را با فشار یک کلید وارد مینمایید تا نتیجه کار را در بازی ببینید درصدی زمان میبرد. به این فرایند input lag یا controller lag (تاخیر ورودی) گفته میشود. نتایج مندرج در جدول بر گرفته از تحقیق وبسایت Gamasutra.com میباشد که میزان تاخیر در برخی بازیها روی کنسولهای بازی Xbox 360 و PlayStation 3 را محاسبه نموده است. این نتایج نشان میدهند که در بازیها به صورت offline نیز تاخیر وجود دارد و اگرچه این تاخیر قابل گذشت است اما در سیستم OnLive میتواند موثر باشد و این وقفه افزایش یابد.
تاخیر ورودی (input lag) بر حسب میلی ثانیه ---- عنوان
PS3 ---- system menus 50ms
Guitar Hero III ---- 50ms
Ridge Racer 7 ---- 67ms
Virtua Tennis 3 ---- 67ms
Ninja Gaiden Sigma ---- 67ms
PixelJunk Racers ---- 67ms
Genji: Days of the Blade ---- 100ms
Tony Hawk's Proving Ground ---- 133ms
BlackSite: Area 51 ---- 133ms
Halo 3 ---- 133-167ms
Skate ---- 167ms
Grand Theft Auto IV ---- 167ms
Heavenly Sword ---- 117-300ms
PS3 ---- system menus 50ms
Guitar Hero III ---- 50ms
Ridge Racer 7 ---- 67ms
Virtua Tennis 3 ---- 67ms
Ninja Gaiden Sigma ---- 67ms
PixelJunk Racers ---- 67ms
Genji: Days of the Blade ---- 100ms
Tony Hawk's Proving Ground ---- 133ms
BlackSite: Area 51 ---- 133ms
Halo 3 ---- 133-167ms
Skate ---- 167ms
Grand Theft Auto IV ---- 167ms
Heavenly Sword ---- 117-300ms
در مقاله این وبسایت آمده است که وقفه در بازیهایی که بیش از 150 میلیثانیه تاخیر ورودی داشتند قابل احساس بوده و از این وضعیت در بازی پرطرفداری نظیر GTA IV بسیار گلهمند بودند.
آنها این زمان پاسخگویی نسبتا زیاد که توسط کاربران هم قبلا گزارش شده را نوعی بی مسوولیتی از جانب سازندگان بازی میدانند و گفتهاند که تاخیر در شلیک گلوله کاملا مشهود و ناراحت کننده است.
همچنین تاخیر در پاسخگویی در بازی Heavenly Sword که گاهی به 300 میلی ثانیه میرسد نیز موجب نارضایتیهای زیادی از سوی کاربران شده بود.
در نتیجه کمتر از 100 میلیثانیه ایدهآل و تا 160 میلیثانیه را میتوان قابل قبول دانست.
پهنای باند و تاخیر در شبکه
دو مقوله مهم در انتقال کنسول به توده (Cloud یا همان اینترنت) وجود دارد؛ تاخیر یا Latency (زمان طی مسافت یک سیگنال تا تلویزیون/رایانه و بازگشت آن) که آنرا به نام Ping نیز میشناسیم و پهنای باند (Bandwidth) برای انتقال حجم معینی از دادهها.
انواع تاخیرهای شبکه شناخته شدهاند و به عواملی نظیر طول کابلها و تعداد آنها و نیز مودمها و روترهای موجود در مسیر بستگی دارد. برای یک کامپیور با ارتباط کابلی و یا DSL در همان کشور زمان تاخیر عموما زیر 100 میلی ثانیه است. البته باید ایران را از این قاعده مستثنی دانست چرا که در آزمایشهای انجام شده ما با سرویسهای ISP های مختلف برخی کاربران حتی Ping زیادی با ISP خود داشتند و البته باید بدانید که پینگها بین ISP های مختلف نیز بسیار ناپیدار و متغیر است و گاهی این میزان بسیار زیاد بوده، و نشان دهنده گسستگی شبکه داخلی کشور میباشد.
در کنفرانس خبری OnLive در GDC، مدیرعامل این شرکت استیو پرلمن اعلام کرد که سرویسهای این شرکت با استفاده از دیتاسنتر (مرکز دادهها) تا فواصل 1600 کیلومتری پاسخگو خواهد بود. برای این مقدار فاصله میتوانید انتظار پینگی در حدود 30 میلیثانیه در شبکههایی با اینفراستراکچر قوی داشته باشید.
پهنای باند هم از اهمیتی به اندازه latency برخوردار است. فشرده سازی تصاویر ویدیویی برای پایین آوردن حجم دادهها نیز مشکل دیگری است. باید بدانید که سیگنالهای خام تصاویر ویدیویی HD را بدون فشرده سازی نمیتوان روی نت ارسال کرد، چراکه نیازمند حجم بسیار زیادی از پهنای باند میباشد که برای مصارف خانگی مقرون به صرفه نخواهد بود. فشرده سازی ویدیویی به پایین آوردن این حجم زیاد کمک بسیاری کرده است، اما روش سنتی این عمل بسیار کند میباشد و موجب تاخیری 500 میلیثانیهای و حتی بیشتر خواهد بود تا بتوان تصاویر HD را فشرده سازی نمود.
و این مساله دقیقا نکته اتکای OnLive میباشد چراکه آنها موفق به ابداع تکنیک جدیدی برای حل این مشکل شدهاند. آنها نوعی کارت شبکه ساختهاند که میتواند عملیات فشرده سازی تصاویر ویدیویی HD را در عرض 1 میلیثانیه انجام دهد. این تقریبا روشی است که وقفه بوجود آمده در زمان فشرده سازی سنتی را از بین میبرد.
با این حال تاخیرهای ناشی از باز کردن کدهای تصاویر فشرده سازی شده از سمت کاربر قابل پیشبینی است، ولی این میزان در حد 5 میلیثانیه برآورد شده است.
Core Gamers VS. Casual Gamers
فرق زیادی بین هاردکور گیمرها و کژوال گیمرها وجود دارد. جمعیت کور دوستدارند که بازیهایشان همیشه پیششان باشد، از خرجهای سنگین برای داشتن سیستمهای قدرتمند ترسی ندارند و معمولا جمعیتی هستند که به انجام بازیهایی که از Community Mod برخوردارند علاقهمندند، نظیر بازیهایی مثل Half-Life، Half-Life 2، Crysis و بازیهای بیشمار دیگری که هرروز بر Map ها و Modification های آنها اضافه میگردد. این برای متولیان OnLive دشوار خواهد بود و نیازمند نیروی کاری و زمان زیاد برای پیگیری وضعیت پایگاهای مربوط به این بازیها میباشد.
به این ترتیب جمعیت کور یا از این سیستم استقبال نخواهند کرد و یا اگر هم به آن علاقهمند باشند در حدود پایینی خواهد بود و صرفا محدود به بازیهایی خواهد شد که آنها هرگز حاضر نیستند برای بازی کردنشان هزینه زیادی صرف کنند.
در طرف دیگر کژوال گیمرها به راحتی و سهولت کار اهمیت بیشتری میدهند. آنها راحتترند تا بدون کوچکترین زحمت به انجام بازیهای روز بپردازند و از آنها لذت ببرند. برایشان فرق نمیکند که صاحب بازی باشند و از سرویسهای ارزانتر استقبال میکنند. پس مخاطب بیشتر این سرویس را میتوان کژوال گیمرها دانست.
نتیجه
این موضوع که OnLive دیگر یک رویا نیست و به تحقق نزدیک است غیر قابل انکار است.
انتقال کنسول بازی به اینترنت با استفاده از معماری OnLive با در نظر گرفتن تاخیر کمتر از 50 میلیثانیه امکان پذیر است. در نتیجه میتوان انتظار داشت که در حدود 25 درصد بازیها تاخیری قابل قبول داشته باشند (160 میلیثانیه)، 40 درصد نیز در حالت مطلوب قرار بگیرند و نیز بازیهایی خواهند بود که کاربر را زیاد دچار دردسر نخواهند کرد. اما به طور یقین بازیهایی خواهند بود که با توجه به پیشرفته بودن قابل استفاده در این سیستم نخواهند بود.
به نظر میرسد که OnLive به طور کامل از معماری PC استفاده میکند. رایانههای قدرتمند و کد نویسی دقیق و بهینه سازی شده نیز میتواند در کاهش درصد تاخیر موثر باشد.
در مورد کنسولهای بازی نیز (Xbox 360، PS3 و ...) با توجه به تحقیق بالا حتی در صورت توافق سازندگان (سونی و مایکروسافت) میتوان گفت که خیلی از این بازیها در OnLive قابل استفاده نخواهند بود.
مشکل بعدی ISP ها هستند. با اینکه بیش از 71 درصد کاربران خانگی در آمریکای شمالی از کانکشنهای باند وسیع بیش از 2 مگابیت بر ثانیه استفاده میکنند تامین پهنای باند برای اپراتورهای آمریکایی نیز دشوار خواهد بود.
OnLive در زمستان 2009 به بهرهبرداری خواهد رسید و به صورت رسمی در آمریکای شمالی کار خود را آغاز میکند. با توجه به بستر مناسب اینترنت و شبکه در این منطقه OnLive میتواند متصور شروعی خوب باشد. اما تا آن روز زمان زیادی باقی مانده و شاید حتی شاهد پیشرفتهای بیشتری در فناوریهای مورد استفاده OnLive باشیم.
سوالات بدون پاسخ مانده
در GDC 09 آنها دستاورد خود را به نمایش گذاردند. اما سوال اصلی این است که با توجه به معماری کنونی OnLive بازیهای هر کاربر چگونه محفوظ نگاه داشته میشود؟ بله، هر کاربر اکانت مختص خود را دارد و در پیش نمایشهای GDC دیدیم که کاربر میتواند بازی خود را نگاه (Pause) داشته و بعدا آنرا ادامه دهد، اما حتی سرورهای OnLive نیز ممکن است نیاز به بوت شدن مجدد داشته باشند و اینکه چطور از این وضعیت حفاظت خواهد شد هنوز سوالی است بی پاسخ. میتوان گفت که این غیر ممکن است که بازی را در حالت اجرا شده و پاز شده بعد از بوت مجدد نگاه داشت.
ارایه این سرویس به سایر نقاط دنیا هم مشکل دیگری است. برای مثال استرالیا 4000 کیلومتر با آمریکا فاصله دارد و حداقل نیازمند 3 دیتاسنتر در مسیر برای پوشش کامل خواهد بود. ضمن اینکه اگر متوسط زمان بازی از طریق OnLive را 60 ساعت در ماه با استفاده از سرویس 5 مگابیتی برای هر کاربر در نظر بگیریم، هر کاربر بالغ بر 100 گیگابایت پهنای باند را مصرف خواهد کرد که این بیشتر از میزان ارایه شده توسط بیشتر ISP هاست. پس قبل از راه اندازی در کشورهای دیگر OnLive نیازمند تغییرات زیادی در زیرساخت شبکه این کشورها میباشد که خود مستلزم هزینه بالا و زمان زیادی خواهد بود.
بگذریم از این موضوع که با توجه به زیرساختهای ارتباطی و شبکه ایران، راهیابی این سرویس به کشورما چیز در حد یک رویا خواهد بود. ولی با اینحال کشورهایی نظیر امریکا، کره، ژاپن، آلمان، سوئد و ... کمترین مشکل را برای استفاده از این سرویس خواهند داشت و این را مدیون زیرساختهای پیشرفته و مدون شبکه اینترنت خود هستند.
در صورت موفقیت ...
OnLive نه تنها میتواند تحولی در نحوه بازی کردن ما ایجاد کند، بلکه میتوان مفهوم وب را به آن معنی که میشناسیم دگرگون سازد.
OnLive میتواند نحوه انجام بازیهای آنلاین را دگرگون سازد. قابلیت دیدن بازی دیگران و متصل شدن به آنها در تمام بازیها میتواند گامی بزرگ در این راه باشد، بهخصوص اینکه پلتفرم دیگر اهمیتی نخواهد داشت از کاربران روی مک، ویندوز و تلویزیون خواهند توانست هر لحظه به انجام بازی با دوستان خود بپردازند.
همچنین این سیستم میتواند سازندگان بازی را نیز با از بین بردن piracy و حتی کاهش هزینههای تولید برای چند پلتفرم خوشحال نماید. به این ترتیب جنگ کنسولهای بازی نیز خاتمه خواهد یافت.
همچنین OnLive میتواند مفهوم استفاده از وب را نیز دگرگون سازد. در حال حاضر این شیوه به رایانههای شخصی و مشخصات سخت افزاری آنها وابسته است ولی اگر از سرویس OnLive استفاده گردد کسی چه میداند شاید محتوی وبسایتها در غالب محیطهای چندرسانهای HD به کاربران ارایه گردد.
به هر حال OnLive هنوز راه زیادی را در پیش رو دارد و به زمان زیادی لازم دارد تا مهارتهای خود را به چالش بگیرد. هنوز برای قضاوت در مورد موفقیت یا شکست آن زود است و باید دید تا 5 سال آینده چه اتفاقاتی در مسیر پر پیچ و خم OnLive رخ میدهد.