شبکه Xbox Live Cloud چه مزایایی برای Titanfall داشته است؟

 Respawn در سایت رسمی خود مقاله ای درباره مزایایی که Xbox Live Cloud در اختیار آنها قرار می دهد نوشته که اطلاعات خوبی درباره سیستم Cloud مایکروسافت (Azure) ارائه می دهد.

سلام به همگی. من Jon Shiring هستم، مهندس Respawn که روی تکنولوژی Cloud برای Titanfall کار می کند. اخیرا در مجامع اینترنتی سردرگمی های زیادی در این باره به وجود آمده بود که بهتر دیدم توضیحات بیشتری درباره کاری که ما در Titanfall انجام می دهیم و همچنین خود Cloud و سرورهای اختصاصی در اختیار شما قرار بدهم.

ابتدا درباره اینکه چرا سرورهای اختصاصی بهتر هستند توضیح می دهم:

سرورهای Player-Host:

در بازیهای مولتی پلیر حال حاضر، بیشتر بازی ها یک بازیکن را انتخاب می کنند تا به عنوان سرور بازی عمل کند. معنی این قضیه اینطور است که بقیه بازیکن ها به او کانکت می شوند و هر اتفاقی در بازی بیفتد ابتدا باید با سیستم او ارتباط پیدا کنند و اطلاعات را از سیستم او دریافت کنند. مثلا وقتی شلیک می کنید، ابتدا اطلاعات را به او می فرستید و سپس او به همه بازیکن ها (از جمله خود شما) این اطلاعات را منعکس می کند که مثلا به چی شلیک کردید. حال این موضوع چه مشکلاتی در بر دارد؟

اگر اینترنت یک شخص پهنای باند عالی داشته باشد، اما لگ (تاخیر) آن زیاد باشد چه می شود؟ بازی ها باید بین همه یک نفر را به عنوان سرور انتخاب کنند که بعضا تصمیم سختی هم هست و بر اساس دو مولفه انجام می شود: پهنای باند و تاخیر. بعضی اوقات شخصی به عنوان سرور انتخاب می شود که پهنای باند بسیار خوبی دارد اما تاخیر آن زیاد است. ما نمی خواهیم بازی اینطور باشد، ما دوست داریم هر بار همان حسی را داشته باشه که قبلا داشته. نمیخواهیم نگران این مسائل باشیم، فقط می خواهیم به راحتی از بازی خود لذت ببریم و این مشکلات را نداشته باشیم.

شخصی که سرور شده، چه مزایایی نسبت به بقیه دارد؟ کسی که سرور شده، در واقع کل بازی دارد مستقیما از سیستم او انجام می شود، بنابراین تاخیر او فوق العاده کم و نزدیک به صفر است. احتمالا این مورد را زیاد دیده اید که بعضی بازیکنان خیلی قبل تر از اینکه او را ببینید شما را دیده اند، یا تیر آنها زودتر از تیر شما به او می خورد. خُب این خیلی بد است. هیچکس نباید در یک بازی رقابتی نسبت به دیگری برتری اساسی داشته باشد.

اگر شخص سرور دیسکانکت شود چه اتفاقی می افتد؟ در بهترین حالت این موضوع، تغییر سرور اتفاق می افتد، تازه اگر بازیکن دیگری موجود باشد که پهنای باند کافی داشته باشه و بقیه هم به راحتی به او متصل شوند. در اینصورت وسط بازی تغییر سرور انجام می شود، به این شکل که بازی متوقف می شود و بعد از اینکه شخص جدید آماده عمل کردن به عنوان سرور بود (معمولا چندین ثانیه) ادامه پیدا می کند. این اصلا پروسه جذابی نیست و می تواند حتی اتفاق نیفتد (و بازی ناگهان به اتمام برسد).

اگر پهنای باند سرور قابل دسترس نباشد چطور می شود؟ مثلا در یک بازی، یک نفر به دلیل داشتن پهنای باند کافی سرور شد. حال اگر یک نفر در خانه او بخواهد چیزی را دانلود کند یا مثلا ویدیویی از Netflix ببیند، پهنای باندی که قبلا عالی بود، حال افتضاح می شود و بقیه بازیکن ها لگ غیر قابل تحملی پیدا می کنند.

اگر بعضی بازیکن ها نتوانند به شخص سرور متصل شوند چه اتفاقی می افتد؟ احتمالا این قضایای Open NAT و Closed NAT را دیده اید؟ روتر اینترنت شما تلاش می کند افراد بد و شرور را از دسترسی به سرویس شما باز نگه دارد. بازی ها یک مورد عجیب در این قضیه هستند چون بازی از روتر شما می خواهد بقیه بازیکن ها را به داخل شبکه شما متصل کند. بازی باید چک کند که تمام بازیکن ها می توانند به شخص سرور متصل شوند و اگر یک نفر نتواند، آن شخص نمی تواند سرور باشد. این باعث می شود پیدا کردن match ها سخت و طولانی شود و ما از این موضوع متنفریم. همچنین وقتی بازی از شما می خواهد تا روتر خود را Open کنید، در واقع دارد از شما می خواهد تا میزان امنیت شبکه خود را کاهش دهید که بازی بتواند انجام بشود. خُب خیلی خوب است بدون کاهش امنیت بتوانید بازی کنید.

اگر هیچکس پهنای باند کافی نداشته باشد چه؟ فرض کنید شما یک گروه عالی و هماهنگ برای بازی کردن جمع کردید، اما هیچکس پهنای باند کافی برای سرور شدن ندارد. خُب در اینصورت باید تغییراتی در این جمع بدهید تا یک نفر بتواند سرور بشود. ولی ما این محدود کردن ها را نمی خواهیم، این راه حل خوبی نیست.

کسانی که پهنای باند محدودی دارند یا اینترنت آنها سقف استفاده دارد چه می شوند؟ اگر پهنای باند شما محدود است یا بدتر از آن، برای هر پهنای باندی که استفاده می کنید پول پرداخت می کنید و از طرفی بازی هم تشخیص دهد که شما چقدر برای سرور شدن مناسب و ایده آل هستید (!) چه اتفاقی می افتد؟ در مورد اول سرعت اینترنت شما به شدت پایین می آید و در مورد دوم، باید منتظر تمام شدن سریع اینترنت خود باشید.

کسی که سرور می شود، دستگاه او پردازش بیشتری نسبت به بقیه انجام می دهد؟ بله! CPU شما دارد پردازش بیشتری نسبت به بقیه انجام می دهد. این به این معنی است که گرافیک بازی نمی تواند آنقدر که باید خوب باشد و CPU بقیه افراد هم نسبت به شما بیکارتر است. یا بدتر، ممکن است بازی آنها گرافیک بهتری از شما داشته باشد! ما فکر می کنیم بازی باید روی همه دستگاه ها به طور یکسان اجرا شود. همچنین می توانیم از آن CPU بیکارتری که وجود دارد استفاده کنیم.

خُب پس مشخص است سرورهای Player-Host معایب زیادی دارند. حال چرا این همه بازی از آن استفاده می کنند؟ جواب این است: چون آن یک مزیت بسیار بزرگ دارد. لازم نیست سازنده پولی برای سرور پرداخت کند! فراهم کردن صدها و هزاران سرور فوق العاده گران است، فوق العاده گران، طوری که اکثر سازندگان نمی توانند از پس مخارج آن بربیایند. در واقع تجربه بازی بازیکن ها فدا می شود، که این هزینه های گزاف خرج نشود.

 

سرورهای اختصاصی

 

سرورهای اختصاصی یعنی کامپیوتری که جای دیگری قرار دارد و تمام کارهای سرور را در بازی انجام می دهد و بقیه به آن متصل می شوند.

مزایا:

    بازیسازها قدرت پردازشی بسیار بیشتری در اختیار دارند که باعث می شود بتوانند کارهای زیادی انجام بدهند، مثل AI های بسیار زیاد و Titan های بزرگ [اشاره به بازی خودش].
    هیچ مزایای اضافی برای یک شخص وجود ندارد [چون کسی سرور نمی شود].
    پهنای باند مورد نیاز به راحتی توسط سرور فراهم می شود.
    از تمام قدرت پردازشی کنسول بازیکن برای ساخت گرافیک و صدای بهتر استفاده می شود.
    matchmaking به سرعت نور انجام می شود چون همه می توانند به سرور وصل شوند.
    از آنجایی که سرور قطع نمی شود یا کسی با سرور نمی رود از Netflix ویدیو نگاه کند، پس هیچ قطعی هم در وسط بازی وجود نخواهد داشت.

پس تجربه بازی بسیار بهتر می شود.

 

اما هزینه خیلی زیادی دارد.

 

چندین سال است که من دارم روی این موضوع کار می کنم. استودیویی مثل Respawn منابع و قدرت آن را ندارد که بتواند صدها هزار سرور اجاره و مدیریت کند. ما می خواهیم کار خودمان را انجام بدهیم و بازی های عالی بسازیم نه اینکه خدمات ارائه سرور انجام دهیم. هر چقدر زمان بیشتری برای ساخت بازی بهتری صرف کنیم، به همان اندازه بازیکن ها بیشتر لذت می برند.

من شخصا با مایکروسافت و سونی در این باره صحبت کردم و گفتم باید راهی پیدا بشود که صدها هزار سرور اختصاصی با قیمتی عالی در اختیار داشته باشیم. مایکروسافت متوجه شد سرورهای Player-Host در واقع دارند از پیشرفت بازیهای آنلاین جلوگیری می کنند و گفتند با تمام قدرت تلاش می کنند تا این مشکل حل شود.

گروه Xbox پیش ما برگشت و به ما این امکان را داد تا Titanfall را روی سرورهای اختصاصی قرار دهیم و با پهنای باند و قدرت پردازشی بیشتری که این سرورها به ما می دهند پیشرفت کنیم و بازیهای بهتری بسازیم. حال این امکان برای ما وجود دارد که دنیای بزرگ تر، فیزیک بهتر، تعداد زیاد هوش مصنوعی و مزایای بسیار بیشتری داشته باشیم.

Cloud چیست؟

آمازون یک cloud دارد که وبسایت ها را تامین می کند. سونی یک cloud دارد که ویدیو بازی را استریم می کند و شما می توانید بازی هایی را انجام دهید که روی دستگاهتان نیست. حالا Xbox Live هم یک cloud دارد که بازی ها را تامین می کند.
به بیان ساده تر: وقتی شرکت ها از Cloud خود صحبت می کنند، یعنی اینکه آنها تعداد فوق العاده زیادی سرور دارند که هر چیزی نیاز داشته باشید برای شما اجرا می کند، همین.

پس Xbox Live Cloud چیست؟

مایکروسافت سرویس Cloud ـی به نام Azure دارد و آنها به این نتیجه رسیدند که با استفاده از این تکنولوژی می توانند مشکل ما را حل کنند.

آنها با این سیستم قدرتمند این امکان را به ما می دهند که هر چیزی بخواهیم برای ما اجرا کند، و به صورت اتوماتیک هم با تعداد بازیکن ها بزرگ تر یا کوچک تر می شود. ما برنامه هایمان را آپلود می کنیم و پردازش از طرف آن انجام می شود. آنها برای پلتفرم های دیگر هم سرور بازی ما را تامین می کنند! Titanfall از Xbox Live Cloud استفاده می کند تا سرورهای اختصاصی برای PC, Xbox 360 و Xbox One فراهم کند.

و این فقط به سرورهای اختصاصی محدود نمی شود، مایکروسافت با دید وسیع تری به مشکلات ما نگاه کرده. بازیسازان فقط سرورهای اختصاصی نمی خواهند، آنها شاید بخواهند انواع مختلف کارها را برای بهتر کردن بازی های خود انجام دهند که به یک سرور برای پردازش احتیاج دارد. مثلا Forza 5 نوع رانندگی افراد را مطالعه و ثبت می کند تا هوش مصنوعی های مختلفی تولید بشود که شبیه مردم واقعی رفتار کند. این با استفاده ای که Titanfall می کند کاملا متفاوت است و البته خیلی هم باحال است! پس این درست نیست که فکر کنیم Xbox Live Cloud فقط برای سرورهای اختصاصی استفاده شود و خیلی کارهای بیشتری می تواند انجام دهد.

خُب این چه فرقی با همان سرورهای اختصاصی دارد؟

با Xbox Live Cloud ما دیگر نیازی نداریم که تخمین بزنیم به چه تعداد سروری نیاز داریم. نیازی نداریم که در سراسر جهان ISP پیدا کنیم و از آنها سرور کرایه کنیم. نیازی نداریم که خودمان از سرور پشتیبانی و نگهداری کنیم یا build های جدید را روی تک تک سرورها کپی کنیم. ما فقط روی بازی خودمان تمرکز می کنیم تا تجربه بهتری برای بازیکنان درست کنیم. و از همه چیز بهتر، مایکروسافت در تمام جهان سرور گذاشته، پس تجربه بازی شما روان و بدون مشکل، و با تاخیر بسیار کمی همراه می شود.

سخن آخر…

این خیلی عالیه و بازیهای آنلاین را بسیار بهتر می کند. Xbox Live Cloud امکان انجام کارهایی را به ما می دهد که بازیهای با سرور Player-Host هیچوقت نمی توانند انجام بدهند. این امکان را به ما داده تا مرزهای مولتی پلیر آنلاین را گسترش دهیم و این فوق العادست. ما می خواهیم ایده های جدیدی را امتحان کنیم و به بازیکن امکان بدهیم کارهایی را انجام بدهد که هیچوقت قادر به انجامش نبوده اند. من انتظار دارم در آینده استفاده های بسیار بیشتر از فقط سرورهای اختصاصی توسط آن انجام دهیم. این به ما اجازه می دهد تا در آینده هر نوع ایده جدیدی به فکرمان می رسد برای بازیهای آنلاین ارائه دهیم.

می دانم یک مقدار تخصصی و طولانی شد، و ممنون که این مطلب را خواندید. امیدوارم برخی مسائل را روشن تر کرده باشم و شما هم در جریان قرار بگیرید که چرا من انقدر برای کاری که مایکروسافت انجام داده هیجان زده ام و ذوق دارم. بهار امسال شما را در Titanfall روی سرورهای اختصاصی میبینم!

منبع

خروج از نسخه موبایل