ثبت بازخورد

لطفا میزان رضایت خود را از ویجیاتو انتخاب کنید.

1 2 3 4 5 6 7 8 9 10
اصلا راضی نیستم
واقعا راضی‌ام
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

از اینکه ما را در توسعه بهتر و هدفمند‌تر ویجیاتو همراهی می‌کنید
از شما سپاسگزاریم.

آموزش

Backward Compatibility در ایکس باکس وان چگونه عمل می‌کند؟ – قسمت اول

یکی از به یادماندنی ترین ارائه‌های E3، یکی از بزرگترین دست‌آورد‌های فن آوری نسل کنونی بود. دو سال و نیم پیش، فیل اسپنسر در مراسم گالن سنتر شهر لس آنجلس به روی سن آمد تا ...

مانی میرجوادی
نوشته شده توسط مانی میرجوادی | ۱۱ اسفند ۱۳۹۸ | ۱۱:۳۰

یکی از به یادماندنی ترین ارائه‌های E3، یکی از بزرگترین دست‌آورد‌های فن آوری نسل کنونی بود. دو سال و نیم پیش، فیل اسپنسر در مراسم گالن سنتر شهر لس آنجلس به روی سن آمد تا نسخه‌ی ایکس باکس ۳۶۰ بازی مس افکت را، با سخت افزار ایکس باکس وان اجرا کند.

بعد از یک دوره‌ دسترسی اولیه تحسین برانگیز، ویژگی بکوارد با تمام قوا وارد صحنه شد و حالا بیش از صد عنوان بازی ایکس باکس ۳۶۰ با استفاده از این ویژگی قابل اجرا روی ایکس باکس وان هستند. همچنین عناوین بسیار زیادی با بهبود‌ گرافیک‌هایشان حالا با ویژگی 4K روی ایکس باکس وان ایکس هم اجرا می‌شوند. اما این دست‌ آورد ها چگونه اتفاق افتاد؟ ویژ‌گی بکوارد در ایکس باکس وان چگونه کار می‌کند؟

بیشتر بخوانید: 

با گذشت سال‌ها، ما فقط حرف‌های خوشمزه و غیر واقع از این فرایند شنیدیم. خصوصا این موضوع که پاور پی‌سی ایکس باکس ۳۶۰ با استفاده از مهندسی معکوس به یک واسط تبدیل شد و سپس با ترکیبی جدید به معماری x86 رسید. همچنین صحبت‌ هایی از سخت افزاری بود که به پردازنده‌ی ایکس باکس وان متصل می‌شد تا کار را آسان تر کند. اما فراتر از این، جزئیات فنی این فرایند به ندرت جایی یافت می‌شد... تا همین حالا.

بیل استیل ول مدیر راهبردی پلتفرم ایکس باکس اینگونه توضیح می‌دهد:

اساسا، ما یک پردازنده‌ی گرافیکی مجازی داریم -یا یک پردازنده‌ی گرافیکی ایکس باکس ۳۶۰ که آن را با ترکیبی دوباره به x86 تبدیل کرده‌ایم- و پشته‌ی کامل سیستم عامل ۳۶۰ را روی آن اجرا می‌کنیم. ما هر بازی را می‌گیریم، آن را دوباره کامپایل می‌کنیم تا اجرا شود، اما در واقع ما هنوز آن را روی یک ۳۶۰ اجرا کرده‌ایم. بعد از آن تیم ما برای هر بازی در مسیر‌های متفاوتی پیش می‌رود.

در مسیر اول، تیم سعی می‌کند تا سایه‌ها یا شادر های پردازنده‌ی گرافیکی را جمع آوری کند. چیزی که استیل ول از آن با عنوان «ارجاعات» (Enlightments) یاد می‌کند که پیش از این به گوشمان نخورده بود. او در این باره می‌گوید:

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

دلیل وجود عینی برخی از ویژگی‌های سخت افزاری ایکس باکس ۳۶۰ در پردازنده‌ی ایکس باکس وان ایکس کمک فوق العاده‌ای به انجام امور بود. به طور ویژه پشتیبانی از قالب تکسچر‌ها و صدا ها. بیل استیل ول در این باره می‌گوید:

این اتفاق، همان چیزی است که انجام این امور را برایمان امکان پذیر می‌کند، چون به این شکل می‌توانیم همه‌ی سایه‌هایی که جمع آوری می‌کنیم را برداریم و آن‌ ها را بسته بندی کنیم و [همینطور] همه‌ی ارجاعات را، و سپس ما فقط مسیر‌های عادی تست عملکرد را طی می‌کنیم تا مطمئن شویم که شبیه ساز درست عمل می‌کند.

البته کار آسانی نیست چون اساسا، پردازنده‌ی پاور پی‌سی ایکس باکس ۳۶۰ چند دنیا از معماری x86 ایکس باکس وان فاصله دارد. محاسبات اعداد اعشاری باید از ۴۰ بیت به ۳۲ بیت تغییر کند، با مفهوم‌های بالقوه برای ویژگی‌هایی نظیر تشخیص برخورد (Collision Detection). اما هدف مایکروسافت اینجا کاملا روشن است؛ بتواند بازی‌ها را روی ایکس باکس ۳۶۰ مجازی شده اجرا کند و تا حد امکان نزدیک به سخت افزار اصلی ۳۶۰ باشد.

بیل استیل ول (سمت چپ) و جاناتان موریسون (سمت راست)

استیل ول می‌گوید:

اگر بخواهیم بی تامل در‌باره‌اش صحبت کنیم، ما به طور موثر سعی می‌کنیم تا بازی متوجه نشود که روی یک ایکس باکس ۳۶۰ واقعی اجرا نمی‌شود، و هر ویژگی که بازی ارائه کند، ما همان ویژگی را ارائه می‌کنیم که از یک دستگاه ۳۶۰ انتظار داریم و همه‌ی این کار ها را به طور نرم افزاری انجام می‌دهیم. بنابراین، جلسه‌ای با چند راه حل وجود دارد که ما در آن با نیرویی صد نفره از تستر‌ها، هزاران ساعت داده ویدیویی جمع آوری می‌کنیم و سپس از آن‌جا داده‌هایی که به ما امکان سازگاری می‌دهد را دریافت می‌کنیم و همچنین شبیه ساز با عرضه‌ی هر بازی جدید، قدرمند تر می‌شود.

تلاش در تبدیل کد‌های طراحی شده برای پردازنده‌ی سه هسته‌ای پاور‌پی‌سی که با فرکانس ۳.۲ گیگاهرتزی و با قدرت کم و فرکانس پایین هسته‌های x86 اجرا می‌شود، قابل توجه است. در تئوری، شش رشته‌ی سخت افزاری ایکس باکس ۳۶۰ می‌توانستند به هسته‌های مشخصی در ایکس باکس وان نگاشته شوند، اما ناگهان مشکلات وقتی ظاهر شدند که تیم به سراغ بازی‌های سنگین تر رفت. استیل ول در این باره می‌گوید:

چیزی که متوجه شدیم این بود که [مشکل] فقط رشته‌ها نیست، یا هسته‌های متفاوت. در واقع، ایکس باکس وان یک برنامه ریز رشته‌ای دارد- شبیه به ویندوز که با توجه به نیاز تخصیص بندی‌ها را انجام می‌دهد- که هر زمانی ۳۶۰ قفل می‌شد، به شدت مقاوم بود. و اتفاقی که متوجه آن شدیم این بود که وقتی از برنامه ریز رشته‌ای ایکس باکس وان استفاده می‌کردیم، مشکلات زیادی پیش رویمان بود. بنابراین ما برنامه ریز رشته‌ای خودمان را از نو نوشتیم. هر زمان که شما شبیه ساز را اجرا می‌کنید و زمانی که لوگوی ۳۶۰ بالا می‌آید، ما برنامه ریز رشته‌ای ایکس باکس وان را به سطح زمان‌بندی ۳۶۰ تبدیل می‌کنیم تا دیگر با مشکلات تفسیر از یکی به دیگری رو به رو نشویم و نگران مدیریت رشته‌ها به طور مستقیم در ایکس باکس وان نباشیم.

ردموند. جایی که گروهی از شرکت مایکروسافت روی ویژگی بکوارد کار می‌کنند

اما اساسا، قابلیت بکوارد ایکس باکس ۳۶۰ بر پایه قوانین لایه‌ی شبیه سازی انجام می‌شود. کمک سخت افزاری در این بین وجود دارد و –بله- برخی لم‌های پر سری (مثلا مایکروسافت نمی‌خواست که درباره‌ی چگونگی پشتیبانی شبیه ساز از واحد‌های برداری VMX128 ایکس باکس ۳۶۰ صحبتی داشته باشد)، اما تیم در حال حاضر در مرحله‌ای قرار دارد که هرکاری که ایکس باکس ۳۶۰ قدرت انجام آن را داشته باشد، شبیه ساز هم می‌تواند مانند یک آینه‌ی نرم افزاری عمل کند.

و این فوق‌العاده است که با پایان عصر ایکس باکس ۳۶۰، توسعه دهندگان مهلت عبور از دایرکت ایکس را داشتند تا بتوانند به طور مستقیم با پردازنده‌ی گرافیکی کار کنند. استیل ول تایید می‌کند که این مشکلی برای لایه‌ی شبیه‌ سازی نخواهد بود و در واقع، تنها چیزی که پشتیبانی نمی‌ شود XNA است:

من فکر می‌کنم هر اتفاقی شدنی است، چرا که مهم نیست ما چه فکری داشته باشیم، مردم بازی‌های خودشان را می‌نویسند. بعضی‌ها بازی‌هایشان را به نحوی می‌نویسند که قبل از آن به فکر هیچکس نرسیده باشد. ما با چند مورد [بازی‌های این چنینی] برخورد داشته‌ایم، اما به طور کلی قبلا هم با بازی‌هایی رو به رو شدیم که فکر می‌کردیم از آن‌ها جواب نخواهیم گرفت، اما حالا می‌دانیم که جواب می‌دهند.

دسته‌ی دیگری از بازی‌ها هم هستند که قبلا کار می‌کردند، اما نه به طور مطلوب. تست‌های اولیه‌ی ما از عناوین ایکس باکس ۳۶۰ که روی ایکس باکس وان اجرا می‌شوند، گروهی از مشکلات را نمایان کردند، خصوصا در زمینه‌ی همگام ساز مجازی (v-sync) که بازی‌هایی مشاهده شدند که قبلا ۳۰ فریم بر ثانیه اجرا می‌شدند، اما حالا به ۲۰ فریم بر ثانیه کاهش یافته‌اند.

سپس بازی هیلو ریچ، عنوان پرچم داری که اهمیت زیادی در دستور کار ویژگی بکوارد ایکس باکس داشت. عنوانی که در حد و اندازه‌های مطلوب و استاندارد خودش نبود. همه‌ی این‌ها به نظر یک بهانه بود تا مایکروسافت دوباره روش‌هایش را از نو بازبینی کند. اتفاقی که منجر به اصلاح عناوین کنونی شد که در ویژگی بکوارد دارای کیفیت بهتری هستند. استیل ول در این باره می‌گوید:

بله، ما واقعا این کار را انجام دادیم و از این بابت سود زیادی بردیم. بازبینی ریچ تقریبا باعث شد تا ما به این مرحله برسیم. وقتی در لحظه‌ی اول ما در حال پیاده سازی این بازی‌ها [برای ویژگی بکوارد] بودیم چیزی که اتفاق افتاد این بود که ما باید آن ها را اجرا می‌کردیم و چون که قبلا توانستیم بازی‌های ۳۶۰ را روی وان شبیه سازی کنیم، تا حد زیادی از خودمان راضی بودیم. بنابراین شروع کردیم به شبیه سازی عناوین مختلف و بیشتر تست‌هایمان ذهنی بود.

اشاره کردم ما ارتشی از تستر ها داشتیم، اما در عین حال در زمینه‌هایی نظیر ارزیابی بازی‌ها پخته نبودیم. در بسیاری از موارد روش‌های ما نزدیک به هم اتفاق می‌افتاد. ریچ یکی از لحظات کلیدی برای ما بود. چرا که فکر می‌کردیم بازی عالی است. وقتی برای اولین بار خواستیم ریچ را اجرا کنیم، افتضاح بود. یکی از پیچیده ترین بازی‌هایی بود که تبدلیش را انجام می‌دادیم. اولین ویدیو هایی که از بازی دیدیم هیچ یک از جزئیاتش به درستی رندر نمی‌شد. بنابراین وقتی موفق شدیم آن را اجرا کنیم و زمانی که خودمان شروع به بازی کردیم، نسبت به چیزی که قبلا دیده بودیم شبیه یک دستاورد بزرگ بود. بعد از آن بود که آنالیز‌های بازی را دیدیم و متوجه شدیم نکات زیادی را از قلم انداخته‌ایم.

با این حال، هرچه قدر تیم ویژگی بکوارد مایکروسافت روی عناوین بیشتری کار کرد، لایه‌ی شبیه سازی دقیق تر شد. ما می‌دانیم که عنوانی مثل هیلو ریچ و گیرز آو وار ۳ خیلی روان تر و مطلوب تر از قبل اجرا می‌شوند، اما واقعیت این است که همه‌ی عناوین اولیه‌ی ویژگی بکوارد نه تنها یک بار، بلکه دوبار اصلاح شدند.

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

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

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

اما این روش‌ شناسی فراتر از ارتقای شبیه ساز ایکس باکس ۳۶۰ می‌رود. ابزار مشابه به طور ویژه‌ای برای تست عناوین ایکس باکس ۳۶۰ روی سخت افزار جدید ایکس باکس وان ایکس مفید است. بیل استیل ول اینجا درباره‌ی عناوین ERA صحبت می‌کند. [مخفف Exclusive Rights Applications یا حقوق انحصاری برنامه‌های کاربردی]. مقوله‌ای که‌ همه‌ی بازی‌ها در آن اتفاق نظر دارند. (همچنین واژه‌ای مثل SRA وجود دارد. به معنی حقوق به اشتراک گذاشته شده‌ی برنامه‌های کاربردی. برنامه‌هایی نظیر Store، Spotify و ... از این دسته‌اند) :

ما به راحتی نزدیک به یک سال را صرف ابزار کردیم تا جایی که وقتی شروع به پیاده سازی ویژگی اسکورپیو کردیم –اینجا کمی زیادی تیم را تحسین می‌کنم- زمانی که اولین نگاه به بازی‌های اسکورپیو و ERA در حین اجرا روی سخت افزار جدید را داشتیم، ابزار مشابه را مجددا اعمال کردیم تا همه‌ی بازی‌ها را با آن تست کنیم. بنابراین می‌دانستیم که می‌توانیم مدعی این ویژگی شویم بدون اینکه مشکلی با ERA داشته باشیم. تیم همه‌ی بازی‌های در شرف عرضه‌ی ایکس باکس وان را روی سخت افزار اولیه‌ی اسکورپیو تست کرد تا مطمئن شود می‌توانیم از ویژگی بکوارد اینجا هم استفاده کنیم، و از آنجایی که ما به شدت در زمینه‌ی ارزیابی پخته و قدرتمند شده بودیم، حالا می‌توانستیم خیلی دقیق درباره‌ی تغییرات مورد نیاز در لایه‌ی شبیه ساز تصمیم گیری کنیم.

در قسمت بعدی این مقاله، به ادامه‌ی روند ویژگی بکوارد در ایکس باکس وان و ایکس باکس وان ایکس خواهیم پرداخت. روندی که از زبان بیل استیل ول روایت می‌شود و درباره‌ی مشکلات و پستی بلندی های این مسیر توضیحات بیشتری ارائه می‌کند.

منبع‌: Eurogamer

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (1 مورد)
  • Hossein
    Hossein | ۱۲ اسفند ۱۳۹۸

    واقعا بکوارد عالیه
    بازیهای قدیمی و البته فوق العاده ارزان رو میتونیم تو این نسل تجربه کنیم.
    تعداد بازیهایی که از ایکس باکس 360 دارم از ایکس باکس وانم بیشتره.

    ممنون از مقالتون

مطالب پیشنهادی