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

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

تولید مرحله رویه‌ای دقیقاً چیست؟

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

فرض کنید یک بازی اتاق‌های ورودی، مبارزه، استراحت و خروج دارد. طراح شکل و نقش هر اتاق را آماده می‌کند. سامانه در شروع هر نوبت، ترتیب و اتصال آن‌ها را با قواعد مشخص می‌چیند: خروج باید قابل‌دسترسی باشد، اتاق سخت در آغاز نیاید و مسیر بن‌بست زیاد نشود. این مثال از ترکیب قطعات آماده است؛ لزوماً هندسه همه دیوارها از صفر ساخته نمی‌شود.

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

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

«بذر» یا Seed چه نقشی دارد؟

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

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

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

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

الگوریتم از چه قواعدی برای چیدن اتاق‌ها استفاده می‌کند؟

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

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

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

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

طراح بازی در حال بررسی شبکه اتاق‌های مرحله
طراح بازی در حال بررسی شبکه اتاق‌های مرحله

بازی چگونه مطمئن می‌شود مرحله قابل‌تمام‌کردن است؟

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

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

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

تیم توسعه معمولاً بذرهای بسیاری را در آزمون خودکار و دستی اجرا می‌کند و موارد نامعمول را ذخیره می‌کند. اینکه چند بذر کافی است به پیچیدگی بازی بستگی دارد. ادعای «بی‌نهایت مرحله بی‌نقص» بدون آزمون و کنترل قواعد قابل‌اعتماد نیست.

آیا مرحله رویه‌ای کاملاً تصادفی است؟

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

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

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

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

چه فرقی با طراحی دستی مرحله دارد؟

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

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

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

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

تولید رویه‌ای چه تأثیری بر ذخیره و عملکرد بازی دارد؟

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

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

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

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

چه ضعف‌هایی ممکن است در مرحله‌های رویه‌ای ببینیم؟

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

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

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

اگر به تغییر بازی علاقه دارید، تفاوت مود و DLC موضوع دیگری است؛ مود ممکن است قواعد تولید مرحله را عوض کند، اما وجود مود به خودی خود نشان نمی‌دهد بازی اصلی از چه الگوریتمی استفاده کرده است.

جمع‌بندی

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

سوالات متداول
آیا بذر یکسان همیشه نقشه یکسان می‌دهد؟

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

آیا هر بازی جهان‌باز رویه‌ای است؟

خیر. جهان‌باز بودن به ساختار دسترسی به نقشه اشاره دارد؛ نقشه ممکن است دستی، رویه‌ای یا ترکیبی ساخته شده باشد.

آیا تولید رویه‌ای جای طراح مرحله را می‌گیرد؟

خیر. طراح قواعد، قطعات، محدودیت‌ها و آزمون را تعیین می‌کند. الگوریتم بدون این تصمیم‌ها احتمالاً چیدمان‌های نامناسب می‌سازد.

منابع
نوشته قبلی