












گزیده ای از سخنرانی مهندس احمدرضا نظامی در مورد کنسول Xbox 360 مایکروسافت
نخستین همایش ملی بازی های رایانه ای دانشگاه صنعتی شریف
تدوین گزارش : مریم ثابت قدم اصفهان
ناظر و ویراستار علمی : مهدی صنعت جو
حقوق این گزارش برای سایت انیمیشن دیتا محفوظ است.
مهندس احمد رضا نظامی ، پس از دریافت مدرک کارشناسی از دانشگاه صنعتی شریف به آمریکا رفته و در رشته کاربرد ریاضیات در علوم کامپیوتر مدرک کارشناسی ارشد خود را اخذ کردند.. ایشان دارای ده سال سابقه فعالیت در شرکتهای معروف و در زمینه برنامه نویسی هستند که به ویژه در ساخت بازی استراتژیک Wrahmmer 40,000: Space Marine شرکت Relic و برنامه نویسی درایور کارت های گرافیک Matrox Parhelia و برنامه نویسی بازی رایانه ایfifa 2006 -2007 - 2008 حضوری فعال داشته اند.

مهندس نظامی در نخستین همایش ملی بازی های رایانه ای دانشگاه صنعتی شریف
دوستان از من خواسته اند تا به اجمال در مورد Xbox 360 مطالبی ارائه دهم. من نیز با یک مقدمه در مورد کنسولها آغاز کرده و سپس به جزئیات ساخت بازی رایانه ای می پردازم.
PC ویژگی خاصی را دارا است که آن را از کنسول (Console ) متمایز می سازد. نمی دانم شما اولین بازی های کنسول را که مشاهده کرده اید چه بوده است؟ اما من به خاطر دارم که سی سال پیش از این ، به هنگام مشاهده یک بازی ساده کنسول تا چه حد شیفته کنسولها شده بودم. بنابراین کنسول ها ، حتی قبل از ورود رایانه ها به منازل ، آمدند و به عنوان یک سخت افزار بازی مطرح شدند. اما پیشرفت های اخیر در حوزه رایانه ، باعث شد که ایندو به هم بپیوندند . هم اکنون یک کنسول با یک PC ، اختلاف ساختاری و ماژولی چندانی ندارد ؛ ولی هنوز کنسول ها ، ویژگی هایی برای سازندگان بازی در اختیار دارد که فعالیت بازیکنان را تسهیل می بخشد. ویژگی های کنسول ها مشخص است . بدین معنی که شما در زمان ساخت بازی ،می دانید چه قدر حافظه دارد؟ و چه قدر Register (ثبات ) داراست و از چه Review (منطقی )استفاده می کند؟ . اما در مبحث PC ،بازی ساز با توجه به میزان توانمندی آن ، خود را باید هماهنگ کند. لذا چنین امری ساده نیست. اما در زمانی که برای کنسول ، گیم می زنید ؛ چنین نیست و کاملاً به روند کار واقف هستید و می دانید تا هشت سال آینده ، این سیستم پا برجا است و دغدغه های تغییر مجدد آن را به سبب توسعه سخت افزاری ندارید.
نسل کنونی کنسول ها 360 PS3, Wii , Xbox است که حتی نمونه های قابل حمل آنها( بطور مثال در تلفن های همراه ) نظیر DS ( از شرکت نینتندو ) و psp ( از شرکت سونی )نیز وجود دارند .البته کنسولهای PS3 و Xbox 360 در بازی های جدی Hardcore بکار می روند ؛ حال آنکه Wii در بازی های سرگرم کننده منازل استفاده می شود ( پی نوشت 1 ) . من تجربه فعالیت در Xbox 360 و PS3 را داشته ام. خوشبختانه زمانی به گیم پیوستم که شرکت های زیادی در این دو عرصه فعالیت می کردند. آنزمان در مورد EA اطلاعاتی نداشتم و تنها ، یکی از دوستانم مرا به یکی از شرکت های وابسته معرفی کرد. وقتی وارد این محیط شدم ؛ حقیقتاً جذب آن محیط و وسعت گروه ها و روند کار شدم. وقتی شما وارد سایت EA می شوید ؛ در می یابید که که شرکت بسیار بزرگ و توسعه مندی نظیر شرکت فورد General Motors است که در آن ، تیم ها در یک فرایند بسیار پیچیده مشغول به فعالیت هستند. بنابراین ، در صنعت بازی ،شرکت های مختلف کوچک و بزرگی متناسب با نوع بازی ارائه شده ؛ وجود دارند. . به هر حال من وارد این عرصه شده و با هر دوی این کنسولها کار کردم. در همان دوران ، 360 Xbox یکسال زودتر از کنسول PS3 پا به عرصه وجود نهاده بود و لذا برتری داشت. اما مایکروسافت ، سنگ تمام گذاشت تا کنسول Xbox360 را ثبت کرده و به خوبی سازندگان بازی را تحت حمایت فنی خود قرار دهد. در حقیقت از همان ابتدا یک (SDK ) سرنام Software Development Kit ارائه داد که سازندگان بازی را تحت پشتیبانی فنی خود قرار می داد .در ساخت بازی رایانه ای بطور جدی ، مسئله این نیست که شما کدهایی را بنویسید ؛ بلکه یک پروسه و فرایند بسیار طولانی در پیش رو دارید ؛ به ویژه اگر بازی کنسول باشد. از آنجهت که اگر مایکروسافت بخواهد نام خود را روی آن قرار دهد ؛ نمی توانید صرف اینکه یک بازی خوب است ،ساخت بازی را محقق نمایید؛ بلکه در هر مرحله از ساخت بازی باید مایکروسافت دخیل باشد. لذا اساس نامه ای نظیر کتاب قانون مدون شده تحت عنوان TRC را در اختیار دارند که باید تحت آن عمل کنید.بطور مثال بازی رایانه در هنگام بوت شدن , نباید بیش از بیست ثانیه در حالت غیر فعال باقی بماند . همه تیم ها چنین قواعدی را پذیرفته و طی این شرایط به جدیت عمل می کنند. و در صورت هر گونه اشتباه و عملکردی مغایر با این اساس نامه، حتی شرکتی نظیر EA که چندین سال با مایکروسافت کار می کند ؛ باید چندین ماه را به برطرف شدن این خطاها اختصاص دهد. اینچنین مایکروسافت، تجربه های حاصل از Xbox قبلی خود را به SDK کنونی منتقل نمود ؛ به نحوی که اکنون بازی سازان شرکت های کوچکتر را نیز به ارائه بازی Xbox توانمند ساخته است. گرچه مشکلاتی در بخش هنری بازی در این نوع شرکت ها قابل مشاهده است. ولی تمام فرایند Submit ، Live و انتشار آن توسط مایکروسافت فراهم آمده است. لذا سونی به جهاتی از مایکروسافت عقب مانده است. گرچه تمام تلاش خود را می کند . اما Platform ( زیر ساخت ) اش ، آن همه گرایی و در دسترس بودن مایکروسافت در یک پکیج را در اختیار ندارد.

کنسول Xbox 360 ،دارای CPU با سیستمی مبتنی بر Power pc ( مبتنی بر معماری RISC که بطور انحصاری برای استفاده در کنسول طراحی شده ) و دارای سه هسته قدرتمند است که در سال 2005 توسط IBM ( یک نسخه را به طور انحصاری برای این کنسول و نسخه دیگر ( Cell ) را برای کنسول PS3 شرکت سونی تولید کرد ) ارائه شد . هر کدام از این هسته ها قادرند که دو Hardware Threads را پشتیبانی کند. در واقع ، شما بطور همزمان ؛حقیقتاً همزمان و نه مشابه آنچه که در Hyper Thread موجود در PC معمولی می بینید ؛ از شش Hardware Threads برخوردار هستید که اینچنین می توانید نرم افزار خود را مبتنی بر این قابلیت بنویسید. بعلاوه، هر کدام از این Thread ها دارای VMXRegister 128 است. روی این مبحث خیلی دقت کنید. کنسول بازی رایانه ای ، سیستمی است که مقدار زیادی کارهای Streaming ( انتقال جریان وار ) را انجام می دهد و لذا طی آن، نباید هیچ تداخلی در فرایند پردازش موازی ایجاد شود.پردازش موازی به ویژه در فرایند Texturing یک کنسول بسیار کاربرد دارد ؛ بطوری که رجیستر های موجود در این کنسولها باعث می شود که Vector های چهار بعدی 128 گیگ را پردازش کنید. این مسئله باعث می شود که به ویژه در فرایندی که در یک PC معمولی ساعت ها وقت گیر است ؛در ساخت بازی کنسول ، فرایندی چند ثانیه ای باشد. این حتی برای خود ما نیز بسیار هیجان انگیز بود.
هر کدام از این SMT ها ، 32 کیلو بایت کش سطح یک (L1 Cache ) دارند که همگی یک مگا بایت کش سطح دو ( L2 Cache ) را بین هسته ها به اشتراک می گذارند . حتی می توانید هر قسمت از این یک مگا بایت را تفکیک کرده و هر یک را به Thread های مختلف بدهید.بعلاوه؛ CPU آن دارای 512 مگابایت رم است. گرچه شاید درحال حاضر وجود 512 مگابایت RAM، حجم زیادی نیست ؛ اما در سال 2005 این حجم قابل ملاحظه ای بود. یکی از ویژگی های خاص این است که این رم ، بوسیله CPU و GPU استفاده می شود و اینچنین به آن Unified Ram گویند. در حالی که RAM سونی اینگونه نیست و با هر بار ارسال اطلاعات باید بدانیم که کدام یک به CPU و کدام یک به GPU اختصاص می یابد.

زمانی که شما می خواهید کاراکتر خود را Skin کنید؛ یعنی بر اساس بن های استخوان و محل قرار گیری ورتکس ، روی بدن این کاراکتر ،Mesh ایجاد کنید؛ بهتر آن است که فرایند Optimize ( بهینه سازی )کدها روی Gpu انجام گیرد ؛ لذا هر دوی کنسول ها به شما اجازه می دهد که تکسچر را با Texture Fetch فرمت کنید. پیش می آید که Shader ،تکسچر را لود کرده و ضمن گرفتن دیتا ، آنرا مورد استفاده قرار دهد. لذا این Texture Processing و Vertex Processing با هم زیاد در حال رقابت نیستند ؛آنطور که یکی به دیگری نیازمند بوده و قابل دسترسی نباشد.
یک ویژگی دیگر ، وجود 10 مگا بایت EDRAM بروی GPU این کنسول است . این RAM فوق العاده قوی است و متناسب با bus ( گذرگاه ) روی CPU ؛ می تواند براحتی 22 گیگ در ثانیه با RAM صحبت کرده و همه کارهای Processing ( پردازشی ) را به سهولت انجام دهد.اینچنین همه دیتا ها به قسمتی از RAM مورد استفاده ی Frame buffer ارسال می شود و از آنجا که Memory Controller روی GPU قرار دارد ؛ این فرایند را تسریع می بخشد . این یک مزیت انقلابی است که Xbox 360 را از سایر کنسول ها متمایز می سازد.

معمولاً مایکروسافت برایXbox 360 Development ، به شما یکسری باکس های Kit با نام Retail kit ) ارسال می کند که با آن بازی کنید . یک ورژن مشابه این هم هست که گاهی مشکی یا خاکستری رنگ است و به آن Development kit گویند. اینها ، پلاگین های جدید سخت افزاری و پشتیبانی از کارهای Debugging(اشکال زدایی ) هستند .
پس به یک معنی دو نوع کیت موجود است : Retail kit و Development kit
Development kitبه دو نوع Development kit ( کیت توسعه ) و Test kit ( کیت تست ) تفکیک می شود. (Test kit که به تست کننده بازی تعلق دارد ؛ از ویژگی های کمتری نسبت به Development kit برخوردار است).
© Copyright 2009 - 2010/ Animationdata.com & Partners
پی نوشت 1 :
همیشه از Wii به عنوان کنسول causal gamer ها نام برده می شود در مقابل PS3 و Xbox 360 که کنسول hardcore gamerها است - مهدی صنعت جو
صفحه 1 صفحه 2 صفحه 3 عناوین مطالب











