نشریه انجمن علمی دانشکده مهندسی کامپیوتر دانشگاه علم و صنعت ایران
دنیاهای بینهایت، دنیاهای متفاوت
از تولید محتوای فرایندی در بازی ها چه می دانید؟
امیرمحمد دورپوش (ورودی ۱۴۰۰)
تولید فرایندی
حدود نه سال پیش در سال ۲۰۱۴ بازیای به نام نو منز اسکای (No mans sky) توی مراسم E3 معرفی شد؛ که توجه افراد زیادی رو جلب کرد. تو نگاه اول این بازی شبیه هر بازی علمی تخیلی دیگهای تو فضا با المانهای بقا و ساخت و ساز بود؛ اما نو منز اسکای یک ویژگی داشت که اونو از تمام بازیهای دیگه توی این سبک متمایز می کرد؛ و اون ویژگی وسیع بودن غیرقابلباور دنیاش بود. دنیای این بازی شامل بیش از 18 کوینتیلیون (ده به توان ۱۸) سیاره است که همگی دارای حیات بومی و آبوهوای مخصوص به خودشون هستن. (برای درک مقیاس، تعداد سیارات جهان حدود ۷۰ کوینتیلون تقریب زده شده.) شما میتونید توی هر نقطه از هر سیاره فرود بیاید و اون رو بگردید. و جالبتر این که هیچ لودینگ اسکرینی توی بازی پیدا نمی کنید.
امروزه حجم دانلودی بازی نو منز اسکای حدود ۱۵ گیگابایته. شاید براتون سوال پیش اومده باشه که چجوری این حجم اطلاعات میتونه توی ۱۵ گیگ جا بشه. علاوه بر مشکل حجم، هلو گیمز (Hello Games) استودیوای با ۵۰ نفر کارمنده. اگه فرض کنیم همشون تو تیم توسعه باشن، هر کدوم باید حدود ۳۶۰ کوادریلیون سیاره طراحی کنه. همون طور که مشخصه همچین چیزی ممکن نیست؛ پس چجوری این بازی از پس چنین کاری بر اومده؟ جواب تولید فرایندی (Procedural Generation) هستش.
تولید فرایندی چیست؟
به صورت ساده میشه گفت هرجا که از شانس توی چهارچوبی برای تولید محتوای بازی استفاده کنیم، میشه گفت از تولید فرایندی استفاده کردیم. یه مفهوم مشابه به نام تولید تصادفی (Random Generation) هم وجود داره که اکثر مردم به اشتباه این دو رو با هم یکی میگیرن. حالا تفاوت این دو تا مفهوم چیه؟ معمولا توی تولید فرایندی قانونها و قوائدی رو تعریف میکنیم، که باعث طبیعیتر و بهتر شدن محتوای تولید شده میشن. در صورتی که فرایند تولید توی تولید تصادفی به صورت کاملا تصادفی انجام میشه. این به این معنیه که تولید تصادفی صرفا زیرمجموعهای از تولید فرایندی هست. درصورتی بهترین روندهای تولید فرایندی از شانس به طور هوشمندانهای استفاده می کنن تا مرز بین محتوای دست ساز با مصنوعی کمتر بشه.
لازم به ذکره که استفاده از شانس، به معنی وجود نداشتن محتوای دستساز توی بازیها نیست. محتوای دست ساز مثل تیکههای لگوای هستن که طبق یک دستورالعمل به هم دیگه می چسبن؛ تا هر بار یک شکل کاملا جدید رو درست کنن. سایز این تیکههای لگو هم تو بازیهای مختلف فرق داره. به طور مثال بازیای مثل بایندینگ آف آیزاک (Binding of Issac) یک سری مراحل مربع شکل و از قبل طراحی شده است که در ابتدای بازی کنار هم چیده میشن تا یه محیط جدید رو درست کنن. در مقابل، بازیهایی مثل ماینکرفت (Minecraft) و تراریا (Terraria) هم هستن که با تعریف بلوکهای کوچیکتری (مثل خاک، چُُمن، آب، برف و ...) قابلیت ایجاد دنیاهایی تقریبا بینهایت رو توی یک کلیک دارن.
گذری بر تاریخ
نو منز اسکای اولین بازیای نبود که از تولید فرایندی توی ایجاد دنیاش استفاده کرد. قبلتر بازیهای معروفی مثل ماینکرافت، تراریا، اسپلانکی (Spelunky) و ... برای درست کردن دنیاهاشون، از این روش استفاده کرده بودن. اگه بخوایم دنبال ریشههای تولید فرایندی بگردیم باید به سال ۱۹۸۰ برگردیم.
شاید بازی های انگشتشماری وجود داشته باشن که انقدر جلوتر از زمان خودشون بودن که باعث ایجاد یک موج جدید از افرادی که سعی داشتن ازشون تقلید کنن شدن. روگ (Rouge) یک بازی توی سبک سیاهچالهپیمایی (Dungeon Crawler) که توی سال ۱۹۸۰ توسط مایکل توی (Michele Toy) و گلن ویچمن (Glenn Wichman) برای سیستمهای یونیکس (Unix) منتشر شد، قطعا یکی از اوناست.
توی روگ بازیکن بازی رو توی یه اتاق مستطیل شکل شروع میکنه. با اتمام هر مرحله اتاقهای جدیدی توسط بازی ایجاد میشه و بازی این اتاقها رو با استفاده از راهرو به هم وصل میکنه. شاید امروزه این جور دنیا سازی واقعا ساده و پیشپاافتاده به نظر بیاد ولی توی سال ۱۹۸۰ این حرکت به قدری انقلابی بود که یک سبک بازی جدید به نام شبه روگ (RougeLike) به وجود اومد که تا همین الان میزبان چند تا از بهترین بازیهای جهان بوده.
مزایا و معایب
تولید محتوای عظیم توی حجم کم تنها فایدهای نیست که تولید فرایندی برای بازیها داره. بازیهایی که از این تکنیک استفاده میکنن معمولا عمر بالاتری هم دارند. درست شدن دنیای بازی به طور تصادفی سرعت تکراری شدن بازی رو کم میکنه. ولی شاید بزرگترین بهرهی تولید فرایندی رو بشه توی گیمپلی بازیها مشاهده کرد. استفاده از المان شانس توی شکل دادن بازی باعث میشه که بازیکنها به جای حفظ کردن استراژیهای بهینه، مکانیکهای درونی بازی رو یاد بگیرن تا بتونن با هر مانعی که شانس جلوشون میندازه مغابله کنن. توی همچین بازیهایی شما نمیتونید صرفا استراتژیهای بهینه رو حفظ و هر بار اجرا کنید. فرض کنید بازی ماینکرفت به جای تولید دنیاهای جدید همیشه توی یک دنیا شروع میشد. در این صورت بازیکن ها با حفظ کردن مکان منابع ارزشمند بازی لذت اکتشاف رو (که هسته ی اصلی بازیه) از خودشون دریغ میکردن. اتفاقا آقای سورن جانسون (Soren Johnson) و سید مایر (Sid Meier) خالقین سری تمدن (Civilization) یک جملهی معروف دارن که به این صورته.
بازیکنها با بهینهسازی، تمام تجربهی بازی رو از خودشون دریغ میکنند. در نتیجه یکی از مهمترین وظایف طراحان این است که از بازیکنها در مقابل خودشون محافظت بکنند.
Given the opportunity, players will optimize the fun out of a game. One of the responsibilities of designers is to protect the players from themselves.
پس شاید بپرسید با وجود این همه مزایا چرا تمام استودیوها از تولید فرایندی برای طراحی محتوا استفاده نمی کنن؟ علیرغم تمام این خوبیها بازی نو منز اسکای توی زمان عرضه با استقبال روبرو نشد. دلیل اصلی این شکست دقیقا همون چیزی بود که اونو از بقیه متمایز میکرد. درسته که تعداد عظیمی سیاره توی این بازی وجود داشت؛ اما به نظرتون همهی این سیارهها ارزش دیدن رو داشتن؟ از اسم تولید فرایندی مشخصه که یک فرایند پروسهایه. بزرگترین خطری که میتونه یه بازی با تولید فرایندی رو تهدید کنه اینه که بازیکنها متوجه الگوها و پروسههای استفاده شده توی ساخت دنیا بشن. بعد از انتشار نو منز اسکای، اکثر بازیکنها ادعا داشتن که بعد از دیدن ده سیاره محیط بازی خستهکننده و حوصلهسربر میشه. به عبارتی درسته که هیچ الگویی به صورت دقیق تکرار نمیشه ولی در نهایت سیارههای بازی به شدت شبیه هم هستن و انگاری همون ده سیاره قدیمی با هم ترکیب شده بودن. همهی این چیزها (و البته مقداری مارکتینگ غلط از طرف هلو گیمز) باعث شد که دنیای این بازی خالی و مرده به نظر برسه و به سطح مورد انتظار مردم نرسه.
نگاهی به آینده
نو منز اسکای خیلی خوب نشون میده که استفاده از تولید فرایندی خطرناکه و مناسب هر بازیای نیست؛ و قبل استفاده از این روش باید ملاحظات زیادی انجام بشه. با تکنولوژی الان به نظر میرسه که محتوای شانسی تولید شده هیچوقت از نظر کیفیت نمیتونن به پای محتوای دستساز برسن. برای همین تو بازیهای جدیدتری مثل استارفیلد (Starfield) (یک جورایی جانشین نو منز اسکای) از ترکیبی از محتوای دستساز و تولید فرایندی استفاده شده تا محیطهای طبیعیتر و نزدیکتر به واقعیت ایجاد بشه. ولی امروزه با پیشرفت هوش مصنوعی و الگوریتمهای تولید مختلف، ساختن یک بازی کامل توسط کامپیوتر که غیرقابل تشخیص با یک بازی دستسازه، خیلی هم غیرممکن به نظر نمی رسه.
مطلبی دیگر از این انتشارات
سزا کالج
مطلبی دیگر از این انتشارات
نشست کاری یک - با ما بیا به دیوار
مطلبی دیگر از این انتشارات
یاد بگیریم که چهطور یاد بگیریم