TGC 2018 | گزارش: درسهایی که از ساخت بازی مولتیپلیر یاد گرفتهایم
در پنل تکنولوژی در روز اول نمایشگاه TGC 2018، «سیاوش جعفرزاده» و «مهدی موزه» از شرکت بازی سازی پاییزان استودیو درباره درسهایی که از ساخت بازی مولتیپلیر یا چندنفره پسرخوانده گرفتند، سخن گفتند. «سیاوش جعفرزاده» که پیش از این تجربه فعالیت در بازی ارتشهای فرازمینی را داشته است به صورت کلی درباره نحوه ساخت بازیهای چند نفره سخن گفت و «مهدی موزه» درباره مشکلات و راه حلهای یافت شده برای رفع آنها در سرورها صحبت کرد. موضوع اصلی صحبت این دو نفر در این پنل تجربیات آنها در ساخت بازی پسرخوانده محصول این استودیو بازیسازی بود. در ادامه همراه دنیای بازی باشید.
جعفرزاده در ابتدا بازی مولتیپلیر را تعریف میکند و میگوید:
بازیهای چند نفره یا مولتیپلیر در واقع بازیهایی هستند که در آنها بیش از ۲ نفر در یک محیط مشترک حضور دارند و اعمال آنها بر روی یکدیگر تاثیر میگذارد.
پس از تعریف بازی چندنفره جعفرزاده از روشهای پیادهسازی یک بازی مولتیپلیر میگوید. او این پیادهسازی را به دو روش تقسیم میکند. یکی روش Deterministic Lockstep و دیگری روش Client Server Architecture. او درباره مزایا و معایب هر دو روش توضیح میدهد که روش Deterministic در واقع پاس دادن اکشنها است و برای بازیهای تیراندازی مناسب نیست و کسی از وسط بازی نمیتواند وارد آن شود. او همچنین میگوید که معایب روش Deterministic در روش Client Server رفع شده است اما در این روش تقلب بازیکنها معمولتر است.
جعفرزاده میگوید که به دلیل وضعیت اینترنت ایران در زمان ساخت بازی پسرخوانده و امکان پشتیبانی از بازیکنهای بالا با هزینه پایینتر در شرکت پاییزان تصمیم بر این شد که روش Deterministic برای این بازی انتخاب شود. در ادامه «مهدی موزه» درباره سرورهای بازی پسرخوانده و اینکه سرورهای این بازی به چه صورت کار میکنند توضیح میدهد:
در Matchmaking بازی دیتاها از طریق سرور به کاربرها منتقل میشود و ما بر این عمل نظارت میکنیم. به این صورت که اطلاعات ورودی را با یکدیگر مقایسه میکنیم که تناقضی در آنها نباشد که این نشان از وجود تقلب در بازی است.
البته، موزه توضیح میدهد که در ابتدا خود بازی دارای مشکل بود و اطلاعات با یکدیگر تناقض داشتند تا اینکه تقلبی در بازی رخ دهد. او درباره رفع این مشکل میگوید که این مشکل را تعریف تابعی در #C رفع کردند. او در ادامه درباره سرورهای بازی میگوید:
در ابتدا، نمیدانستیم که بازی چهقدر رشد میکند؛ به همین خاطر، برای تخمین هزینهها و همچنین قدرت سرورها تعدادی کاربر مجازی درست کردیم تا میزان سختافزار مورد نیاز را تخمین بزنیم.
همچنین موزه درباره بهروز رسانیهای بازی پسرخوانده در انتهای پنل میگوید:
در ابتدا، نمیخواستیم بهروز رسانیها را پشت سر هم منتشر کنیم، چون بازیکنان در اینصورت بازی را ترک میکنند. همچنین، چون بازی در بازارهای مختلف نظیر کافه بازار، مایکت و گوگل پلی منتشر میشد، ممکن بود برای بازار یک بهروز رسانی جدید زودتر منتشر شود. به همین خاطر، مجبور بودیم که یک نسخه شبیهساز برای بازی درست کنیم تا زمانی که تمامی مارکتها نسخه جدید بازی را منتشر کنند. پس از آن× نسخه شبیهسازی شده را غیرفعال میکردیم.