نگران نیستیم! در حاشیه انتشار کاریکاتور منتسب به خبرگزاری تسنیم

پوریا احمدی

۱۳۹۶/۱۰/۲۳

CBO
b

مدلسازی با Raymarching و میادین فاصله در یونیتی

سید مرتضی کمالی

۱۳۹۶/۱۱/۲۷

راهنمای ارسال مقالات برای گیمولوژی

علیرضا محمدی

۱۳۹۷/۰۱/۲۷

سردبیر
b

شیدر نویسی در یونیتی (بخش دوم)

سید مرتضی کمالی

۱۳۹۶/۰۸/۱۳

چالش‌های بازگشت بازیکنان به بازی

سمیرا دولت‌آبادی

۱۳۹۶/۰۸/۰۲

عضو تحریریه
b

شیدرنویسی در یونیتی (بخش اول)

سید مرتضی کمالی

۱۳۹۶/۰۷/۲۶

مارکتینگ بازی: طراحی برنامه

سمیرا دولت‌آبادی

۱۳۹۶/۰۷/۲۰

عضو تحریریه
b

باز‌ی سازان بزرگ چطور شما را گول می‌زنند؟

فرناز حقیقت

۱۳۹۶/۰۶/۱۶

روابط عمومی
b

قابلیت‌های آنلاین در بازی‌های تک نفره

رهام سجادی

۱۳۹۶/۰۷/۱۵

عضو تحریریه
b

درجه سختی - بخش اول

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

 

 درجه سختی یکی از مهم­ترین ارکان بازی­ هاست و در بازی­ های استاندارد به­ شدت به آن بها داده می ­شود؛ زیرا این موضوع با میزان لذت بردن از بازی رابطه مستقیم دارد. برای اینکه حس بُرد و موفقیت در بازیکن ایجاد شود، باید از حربه­ های خاص بازی­سازی استفاده کرد. یکی از این حربه ­ها «درجه سختی پویا» (Dynamic Difficulty) نام دارد. این سیستم می­ خواهد رابطه مستقیم بین لذت بردن و به ­چالش کشیده شدن را در تمام مراحل برقرار سازد. این مطلب که توسط Asher Einhorn در سایت Gamasutra نوشته شده، با توضیح درجه سختی پویا و چگونگی استفاده از آن، بازی­سازان را به ساخت اثری استاندارد ترغیب می کند. 

 

 درجه سختی - چگونه به صورت مخفیانه و پویا بازی را آسان تر کنیم.

 

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

 

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

 

در علم بازی­سازی، به زمانی که بازیکن در بهترین حالت ممکن به چالش کشیده شود «شارش»(Flow) می­گویند. مطالب و کتاب­های بسیاری راجع ­به این موضوع نوشته شده است. در حالت «شارش» بازیکن نه زیر فشار قرار میگیرد ( Anxiety) نه از آسان بودن بازی خسته می­شود (Boredom). این حالت برای هر بازی­باز متفاوت است. بدیهی است که سطح چالش­ ها ( Challenges) با پیشرفت مهارت بازی­کن ( Skills) افزایش می­ یابد.

 

  

 

 

 در واقع تمام بازیکن ها به نوعی از این سیستم استفاده می­ کنند. یکی از پیچیده ­ترین سیستم­هایی که برای درجه سختی بازی­ها تنظیم شده در بازی Left 4 Dead وجود دارد. این سیستم «کارگردان هوش مصنوعی» نام دارد که براساس مهارت شما، درجه سختی و فشار وارده توسط دشمنان را تنظیم می­ کند. یا آنکه می­توان طوری کد نوشت که احتمال انتخاب یک عدد از میان تعدادی از اعداد به­ صورت مساوی برای همه­ ی آن­ها برقرار نباشد تا شانس بیشتری برای انتخاب عددی خاص ایجاد شود که از ساده ­ترین مثال ­ها در این مورد است.

 

بایدها و نبایدها

 

مهم­ترین موضوع این است که این سیستم نباید محسوس باشد. شما نمی­خواهید که بازیکن بفهمد که به فرض مثال نوار سلامتی به­ طور خودکار تغییر می­ کند. این کار به دو طریق انجام می­شود.

 

مطمئن باشید که تغییرات مربوط به درجه سختی در ابعاد کوچک انجام میگیرد.

 

به عنوان مثال مقدار آسیبی که توسط دشمنان می­بینید، افزایش زمانِ واکنش دشمنان نسبت به وجود شما و ... از تغییرات کوچکی هستند که به چشم نمی­ آیند اما در روند بازی تاثیرگذارند. تغییراتی که در ابعاد بزرگ انجام می­ شود، شامل کم کردن تعداد دشمن­ ها، جلوگیری از آن­ ها برای انجام حملات محدود، کم کردن تعداد دشمن­ ها، حذف ­کردن تعدادی از حرکات خطرناکی که در حملات انجام می ­دهد، اهدا یک قابلیت یا شی به بازیکن بلافاصله بعد از مردن در بازی (Respawn)، استفاده از علم هندسه جهت آسان ­سازی ساختار مراحل بازی (مانند ساخت مانع یا سپر جهت سنگرگیری) و ... هستند. این تغییرات به سادگی توسط بازیکن شناخته می ­شوند. البته، ممکن است همین تغییرات کوچک اصلاً تاثیرگذار نباشد! به ­عنوان مثال کاهش نوار سلامتی به صورت مخفی و کم، توسط بازی­کن شناخته نمی ­شود اما درنهایت نه ­تنها تاثیر محسوسی ندارد بلکه در عملکرد بازیکن تغییری ایجاد نمی­کند. در همان حال، کاهش نوار سلامتی دشمنان به ­شدت تاثیرگذار است زیرا دشمنان زودتر می­میرند و نسبت به حالت عادی کمتر ضربه می­خورند.

 

تغییراتی که در درجه سختی مراحل بعد اعمال می ­کنید باید براساس اطلاعات مراحل قبل آن باشد.

 

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

 

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

 

نکات ریز

 

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

 

    • تغییر دادن رفتار هوش مصنوعی، میزان تمایل به حمله توسط دشمن و آسیبی که به بازی­کن می­ زند راه ­های خوبی برای ایجاد درجه سختی پویا هستند. در بسیاری از بازی­ ها سیستم ­هایی وجود دارد که دشمنان را به ­صورت گروهی کنترل می کند؛ مثلا در یک لحظه چند دشمن به بازیکن ضربه بزند، دشمن در چه مکان­هایی قرار گیرد، چه زمان عکس العمل نشان دهد، چه زمان حمله کند، درصد تحمل آن­ها چه ­قدر باشد که درنهایت از بازیکن فرار کند (Flee) و...  تغییر در این موضوعات به­ سختی قابل تشخیص است.
    • تغییر دادن پاداش ­هایی که به بازیکن داده می­شود از نوع تغییرات مخفی است؛ زیرا تا زمانی که شما هنوز به پاداشتان نرسیدید میزان آن براساس اعمال شما در حال تغییر است. در هر زمانی که آن را پیدا کنید، میزان آن ثابت خواهد شد؛ مهم نیست که چندبار بمیرید و دوباره آن را بردارید. با این کار سیستم به ­صورت مخفی به کارش ادامه خواهد داد.
    • لحظه ­هایی که بازیکن باید در همان موقع واکنش نشان دهد مثل چالش ­های لحظه­ ای (Quick Time Events) یا به شی ­ای که به سمت شما پرتاب می­شود و ... باید مشمول قانون سیستم درجه سختی پویا شوند و به اندازه سیستم مبارزات برای آن بها داده شود.

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

 

دیدگاه‌ها

پاسخ
١١
٠

Solomon   |   ۱۳۹۶/۰۲/۰۵   |   ۱۶:۲۸

عالی بود مرسی

پاسخ
٠
٠

مرتضی کارگر   |   ۱۳۹۶/۰۸/۱۴   |   ۱۸:۰۸

قشنگ بود...ممنون