محمد ایرجی
محمد ایرجی
خواندن ۱۹ دقیقه·۴ سال پیش

نبردی در ستایش مرگ (تحلیل بازی Hades)

بازی Hades در سبک Rogue-like عرضه شد. سبکی که در اون با هر بار مردن بازیکن قوی‌تر می‌شه. اینجا هر چیزی که تو رو بکشه قوی‌ترت می‌کنه! تو این مقاله با تمرکز به روی سیستم نبرد بازی به تحلیل اون پرداختم. امیدوارم این اطلاعات براتون مفید باشه.
بازی Hades در سبک Rogue-like عرضه شد. سبکی که در اون با هر بار مردن بازیکن قوی‌تر می‌شه. اینجا هر چیزی که تو رو بکشه قوی‌ترت می‌کنه! تو این مقاله با تمرکز به روی سیستم نبرد بازی به تحلیل اون پرداختم. امیدوارم این اطلاعات براتون مفید باشه.


تو این مقاله می‌خوام درباره‌ی طراحی بازی Hades صحبت کنم. بازی که توسط استودیوی Super Giant Games ساخته شده. بازی‌های شاهکاری مثل Bastion و Transistor رو ساخته و حالا با عرضه‌ی بازی Hades موفق به کسب بهترین بازی سال در رویداد (Game of the year (GOTY شده.
این که Hades خیلی خفن و شاهکاره بحثی نیست اما اوج این قضیه برای من وقتی بود که طبق معمول سورس‌کد کامل بازی رو Decompile کردم. فایل‌های گرافیک رو استخراج کردم تا ببینم، بازی چه طور ساخته شده. بازی یه سری ویژگی‌های ساده‌تر از سایر نمونه‌های مشابه داشت اما تمام تمرکز روی جزییات بسیار زیادی بود که مربوط به ساده‌سازی گیم‌پلی (ترکیب جزییات و ساده‌سازی پارادوکسه؟ جلوتر دلیلش می‌گم) و نکات عجیبی مثل تاثیر الماس بنفش (Darkness) در damage بود که جایی مستند نشده و تو بازی بهش اشاره نمی‌شه! من از سیستم مبارزه شروع می‌کنم که مکانیک‌های اصلی توی اون وجود دارند.

مفاهیم طراحی بازی

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

مکانیک‌ها


مکانیک اصلی (Main mechanic): هر عملی توی بازیه که با Input کاربر (زدن دکمه، حرکت موس و...) کاری توی بازی صورت بگیره. مثلاً توی ماریو از مکانیک‌های اصلی، حرکت، پرش و شلیک تیر رو می‌شه نام برد.
مکانیک‌ جانبی (Side mechanic): اونایی هستند که در بازخورد مکانیک اصلی توسط بازی اجرا می‌شن که می‌تونن در مسیر پیشرفت یا ایجاد مانع در برابر بازیکن ظاهر بشن. مثل پرش در ماریو که مکانیک فرعی ضربه به جعبه (Coin box) و نمایش آیتم داخلش رو فعال می‌کنه و می‌تونه بهش قارچ بده که در ادامه پیشرفت بازی بهش کمک کنه. یا دشمنان که با در مقابل مکانیک اصلی حرکت قرار می‌گیرند و باید با مکانیک اصلی دیگه‌ای که پریدن باشه، اونا رو از میون برداشت.
مکانیک کیفی (Enhancement mechanics): این نوع مکانیک جهت افزایش عمق به سایر مکانیک‌ها به کار می‌ره. منظور از عمق اینه که باعث با ایجاد حالتی متفاوت از مکانیک‌های اصلی بشه تنوع در تصمیم‌گیری و انتخاب ایجاد کرد. یا مکانیک‌هایی هستند که باعث بهبود بخشی از بازی می‌شن. (نمی‌دونم «کیفی» ترجمه‌ی فارسی درستی هست یا نه)

سبک بازی

سبک این بازی Rogue-like عه. در اصل Rogue یه بازی بوده که سال ۱۹۹۳ منتشر شده. مکانیک‌هایی رو عرضه می‌کنه که به سبک جدیدی در طراحی بازی منجر می‌شه. این سبک زیرشاخه‌ی نقش‌آفرینی (Roly-playing) حساب می‌شه. ویژگی این سبک اینه که وارد یه سری Dungeon می‌شید و باید یه سری دشمن رو از بین ببرید. آیتم‌ها و سلاح‌های مختلف به دست میارید که روی هم تاثیر می‌ذارن و با پیشرفت در بازی تنوع حرکات و قابلیت‌های کارکتر رو افزایش می‌دن. همچنین بازی هم در هر مرحله سختتر می‌شه. خب تا اینجا که همون نقش‌آفرینی بود. اما چیزی که این سبک رو منحصر به فرد می‌کنه اینه که اگر تو بازی بمیرید باید از اول شروع کنید و تمام دستاوردتون از بین می‌ره. خب این ویژگی (به خصوص برای عصر حاضر) خیلی مسخره ست؟ اینجا قابلیت Procedural content generation مطرح می‌شه. این طوری که با هر بار مرگ نقشه‌ی بازی و آیتم‌هایی که به دست میارید از سری قبلی متفاوت هستند و هر بار با یه استراتژی متفاوت می‌تونید بازی کنید. در نتیجه بارها می‌شه این بازی‌ها رو انجام داد و هر بار کلی تنوع و تجربه‌ی جدید به دست آورد.

بازی Rogue
بازی Rogue

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

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

هسته‌ی اصلی گیم‌پلی (Core gameplay)

بازی Hades از موتور بازی توسط خود تیم توسعه داده شده و همون موتوری هست که باهاش Bastion و Transistor رو ساختند. بسیاری از مکانیک‌ها و ویژگی‌های بازی‌های قبلی رو استفاده کردند این تمرکز باعث شده همون ویژگی‌ها به صورت خیلی پخته‌تر در این بازی خودش رو نشون بده. البته محدودیت‌هایی هم داشتند. مثلاً با این موتور نمی‌شه یه بازی سه بعدی یا FPS درست کرد. (بله درسته، Hades یه بازی دو بعدیه! در مقاله‌ی فنی کامل توضیح می‌دم)


دوربین

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

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


باعث می‌شه تصویری که می‌ده تمام خطوط افقی زاویه‌ی ۴۵ درجه پیدا کنند و قابلیت Tile شدن رو داشته باشه و بشه محیط بازی رو با استفاده از Tilemap تولید کرد.
باعث می‌شه تصویری که می‌ده تمام خطوط افقی زاویه‌ی ۴۵ درجه پیدا کنند و قابلیت Tile شدن رو داشته باشه و بشه محیط بازی رو با استفاده از Tilemap تولید کرد.


مکانیک‌های مبارزه

حرکت: کارکترها در یک سطح دو بعدی حرکت می‌کنند (یعنی پرش یا دشمنی که پرواز کنه، نداریم) این قضیه تمرکز رو روی خود مبارزه بالاتر می‌بره و تمام توجه می‌تونه روی دشمنان باشه تا پلت‌فرم‌های غیر هم‌سطح. به نظرم در مقایسه با Dead cells که سکو و هم Dash داشت. این نوع حرکت ساده‌سازی شده کمک زیادی به حس خوب مانور در محیط می‌کنه. البته به احتمال زیاد بازی برای بستر موبایل هم عرضه می‌شه و این امر در کنترل باعث می‌شه تجربه‌ی لذت‌بخش بازی در پلتفرم‌های بیشتری برای مخاطبین قابل عرضه باشه.


ضربه/شلیک: در Hades شش نوع اصلحه وجود داره که هر کدوم حداقل سه نوع مختلف ضربه یا شلیک تیر دارند. هر ضربه زمان‌بندی و فاصله‌ی متفاوتی تاثیر می‌ذاره. این موارد باعث می‌شه تا با استراتژی‌های مختلفی هر مرتبه از بازی رو پیش بریم. همین طور برای استفاده‌ی حرفه‌ای از هر سلاح و یادگیری اون وقت بیشتری رو صرف کنیم.

جاخالی! (Dash): با این قابلیت از ضربه‌ی دشمنان و تله‌ها فرار می‌کنیم. نکته‌ی بسیار جالب این قابلیت برای من عبور از روی موانع میان مرحله مثل چاله‌ها یا ستون‌ها با اندازه‌ی یک واحد از Tilemap بود.

احضار (Summon): همیشه این ویژگی وجود نداره و اگر پاور‌آپ اون رو حین بازی دریافت کنید این قابلیت در اون Run برای شما فعال می‌شه. چند نوع مختلف داره و حتی ممکنه در یک مرتبه‌ از بازی اصلاً آیتمش رو نگیرید.

کریستال (Cast): در بازی به عنوان یه Enhancement mechanic استفاده شده که روی ضربه به صورت غیر مستقیم تاثیر می‌ذاره و برای تنوع Play style استفاده شده. اوایل بازی خیلی تاثیرش رو حس نکردم ولی وقت پاورآپ‌ها رو دریافت می‌کنی یا اون رو ارتقا می‌دیم به یکی از مهمترین قابلیت‌های بازی تبدیل می‌شه. در هر مرتبه از بازی می‌تونه جادوی کریستال تغییر کنه و کاملاً استراتژی جدیدی در مبارزه ایجاد کنه.

عوامل محیطی مرحله

- دشمنان که هر کدوم قابلیت متفاوتی دارند و با زمان‌بندی یا نحوه‌ی خاصی می‌شه بهینه اونا رو از بین برد.
- تله‌ها که برای مکانیک اصلی حرکت چالش ایجاد می‌کنند ولی با Dash میشه ازشون فرار کرد.
- دیوارها که محدوده‌ی حرکت رو مشخص می‌کنند.
- چاله‌ها (Gaps) که حرکت رو محدود می‌کنند. اگر عرض این فاصله یک واحد Tilemap باشه امکان این هست تا از روی اون عبور کرد.
- ستون‌ها که با ضربه زدن به اونا یا هل دادن دشمن به سمت اونا باعث صدمه زدن به دشمن می‌شن. استفاده از محیط برای صدمه به دشمن رو توی بازی‌هایی مثل دیابلو ۳ دیده بودم اما اینجا نقشش خیلی پررنگ‌تره و می‌شه با ترکیب پاورآپ‌ها از این ویژگی خیلی خوب استفاده کرد.
- مین‌ها: در هر مرحله ممکنه یه سری مین روی زمین باشه که با ضربه زدن به اونا فعالشون کرد تا بعد از گذر زمان چند ثانیه منفجر بشن و صدمه‌ی خیلی زیادی به اطرافیانشون وارد کنند. خود بازیکن هم مستثنی نیست.

تسلیحات


هر کدوم از سلاح‌های بازی یک PlayStyle منحصر به فرد رو ایجاد می‌کنند. تمام تنوع در اونا با سه پارامتر ایجاد شده:
- فاصله: مسافت بین بازیکن و دشمن که هر قدر بیشتر باشه از آسیب دیدن بیشتر در امانه.
- محدوده‌ی ضربه: با هر ضربه مساحتی دشمنان تحت ضربه قرار می‌گیرند، در Fist weapon این محدوده خیلی کوچیکه و در شروع تقریباً یک هدف ضربه می‌خوره و در عوض میزان Damage per second اون بالاتره.
- زمان: تقریباً تمام سلاح‌ها با هم برابر هستند و تفاوت اونا در ضربه به اندازه‌ی زمان پخش انیمیشن و Cooldown بین دو ضربه تقسیم شده. پس در نتیجه DPS نزدیک به همی دارند و تفاوت در استراتژی استفاده از اونا ست.
- ويژگی منحصر به فرد: تنها سلاحی که به غیر از ضربه، دفاع هم می‌کنه و از صدمات جلوگیری می‌کنه سپر ه.

چرا به نظرم تمام سلاح‌ها از نظر قدرت برابرند و نسبت به هم برتری قدرت ندارند؟
دلیلش اینه که هدف از تنوع دادن به اونا فقط قدرت انتخاب بین استراتژی‌های مختلف بین اونا بوده. بازی همیشه تلاش می‌کنه تا میزان استفاده از سلاح‌ها یکسان باشه. حتی وقتی یه مدت از یکی‌شون استفاده نمی‌کنید بازی پیشنهاد می‌کنه تا با استفاده از اون در طول یک Run چند درصد بیشتر از واحد پول (Currency) که برای ارتقا استفاده می‌شه بهره ببرید. همین طور بسیار در طراحی بازی ذکر شده تا بازیکن رو تنبیه نکنید! یعنی اگر کسی از فلان ویژگی بازی شما (مثل یکی از سلاح‌ها) خوشش نیومد نباید در عدم استفاده از اون متضرر بشه.

بالانس مکانیک و ریاضی

میزان Damage / DPS قابلیت‌های هر سلاح در ستون‌های a1 تا a5 نوشته شده
میزان Damage / DPS قابلیت‌های هر سلاح در ستون‌های a1 تا a5 نوشته شده


نمودار چند ضلعی سلاح‌های بازی
نمودار چند ضلعی سلاح‌های بازی

من سعی نکردم تا فرمول دقیق هر قابلیت رو استخراج کنم. مثلاً میزان Cooldown بعضی از قابلیت‌ها در میزان DPS لحاظ نشده. وقتی دیدم اختلاف حدود ۱۰ درصد هست به چیزی که می‌خواستم خیلی نزدیک شدم.
می‌خواستم نشون بدم همون طور که می‌بینیم سبک مختلف هر سلاح باعث ایجاد شکل‌های گوناگون شده و نشون می‌ده هر سلاح در یک بخش بهتر از سایرین عمل می‌کنه ولی در نهایت میزان کل صدمه‌ای که وارد می‌کنه در حالتی که هیچ پاورآپی اعمال نشده باشه با سایرین برابره.

ترکیب مکانیک‌های مبارزه و عوامل محیطی Combat system رو شکل می‌دن. این مکانیک‌ها به تنهایی خیلی سورپرایز کننده نیستند. چیزی که اونا رو به بهترین مکانیک‌های بازی اکشن سال تبدیل کرده، ایجاد عمق و هم‌افزایی (Synergy) با کنار هم قرار گرفتن این مکانیک‌هاست.

ریتم در مبارزه


چیزی که همیشه برای من در بازی‌های اکشن جذاب بوده ایجاد ریتم داینامیک بوده. در Hades این قضیه به صورت شاهکاری پیاده‌سازی شده. منظورم از ریتم چیه؟
من ریتم در مبارزه (Combat) رو این طور تعریف می‌کنم: نظم و سرعت دریافت ورودی از کاربر!
یعنی چی؟ مثل یه نوازنده که ساز می‌زنه و نت‌ها رو در فواصل زمانی منظمی باید بزنه تا صدای گوشنوازی ایجاد بشه در بازی‌های اکشن هم استفاده از قابلیت‌های مختلف در زمان‌بندی این حس داینامیک ریتم رو ایجاد می‌کنه. مثلاً در World of warcraft به این قضیه Spell roation یا Rotation می‌گن.

اما این که جلوی یه Dummy بایستیم و فقط دکمه بزنیم تا به بالاترین DPS برسیم یا تمام حریفان رو در سریعترین زمان ممکن بکشیم بازی همچنان ریتم داره اما ثابته! اینجاست که حرکت و هنر طراحی سیستم Hades خودش رو نشون می‌ده. ترکیب ریتم ضربه با ریتم حرکت باعث می‌شه با Tempoهای مختلفی در یک مبارزه یا در طول یک Run روبرو بشیم.

ریتم در حرکت


در Hades ریتم حرکت با چند عامل ایجاد شده. عوامل محیطی مثل مین‌ها، تله‌ها و چاله‌ها. سایر المان‌ها شامل تراکم دشمنان و Charge کردن اونا به سمت بازیکن می‌شه.

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

این تفاوت‌ها باعث می‌شه با Dash و حرکت سریع در محیط بازی تراکم رو کنترل کرد. از جای شلوغ سراغ دشمنانی که از فاصله تیر پرتاب می‌کنند رفت و مداوم در مرحله حرکت کرد. همین‌طور حرکت باعث می‌شه بتونیم اونا رو دنبال خودمون بکشیم (Aggro pulling) و با عبور سریع از روی تله‌ها به اونا صدمه بزنیم.

دشمن‌ها هم سرعت حرکت‌های متفاوت دارند و نمی‌تونن از روی گپ‌ها عبور کنند و وقتی ما با Dash از روی اونا عبور می‌کنیم مجبور می‌شن مسیر طولانی رو حرکت کنند تا دوباره به بازیکن برسند یا از Aggro range شون خارج می‌شیم و سر جاشون ثابت می‌مونند.

یکی از قشنگترین و داینامیک‌ترین مبارزات این بازی، غول دوم Hydra ست. در این مبارزه Hydra در یک نقطه ثابت با محدوده‌ی حرکت کوتاه حضور داره و وقتی سلامتیش به درصدهای مشخصی می‌رسه یه سپر ضدضربه (Invulrenable) احاطه‌ش می‌کنه و یه سری یار (مار بهتر نیست؟) کمکی (Adds) احضار می‌کنه که باید تمام اونا رو از بین برد تا سپر از بین بره. حالا هر کدوم از اونا هم محدودیت حرکت دارند. وقتی سراغ هر کدوم می‌ریم سر هیدرا و نزدیکترین مار دیگه هم به سمت ما میان و روی زمین آتیش ایجاد می‌کنند که نمیشه روی اونا ایستاد یا تیر پرتاب می‌کنند. این موقع باید از یک سمت میدان مبارزه به سمتی دیگه حرکت کرد تا زمان جادوهای روی زمین تموم بشه و یا تیرها از بین برن و چند بار این حرکت رو به صورت مداوم تکرار کرد تا نبرد به پایان برسه.

از سویی بازی برای این که ریتم حرکت و ضربه رو حفظ کنه برای تمام سلاح‌ها قابلیت Dash-Strike گذاشته و با پاورآپ‌های متعددی هم قابل ارتقا ست. این ویژگی بسیار برای من دوست‌داشتنی بود چون به صورت همزمان هم می‌تونستم DPS رو خوب نگه دارم و هم به صورت فعال تراکم رو کنترل کنم.

ایجاد Flow و عمق در مبارزه

Flow channel diagram
Flow channel diagram

روانشناس مجارستانی Mihaly Csikszentmihalyi نظریه‌ای داره که می‌گه افراد برای غوطه‌وری و غرق شدن در کاری که مشغول به اون هستند باید در حالتی قرار بگیرند که میزان استرس اونا در حد متعادلی باقی بمونه به این حد فاصل Flow Channel گفته می‌شه. وقتی یک فعالیتی رو انجام می‌دیم به مرور زمان مهارت به دست میاریم و اون فعالیت رو با چالش کمتری انجام می‌دیم. اگر فعالیت خیلی سخت باشه باعث اضطراب می‌شه و یا اگر خیلی ساده باشه منجر به حوصله سر رفتن می‌شه و در هر دو حالت از اون کار دست می‌کشیم.

توی طراحی بازی هم این قضیه به شدت اهمیت داره، اگر چالشی که بازی پیش روی بازیکن می‌ذاره با مهارت وی در تعادل نباشه باعث می‌شه از حالت Flow خارج بشه. زیبایی بازی‌های Rogue-like اینجا مشخص می‌شه. هر بار که یک Run رو شروع می‌کنیم، یک الگوی جدید برای یادگیری داریم و چالشی متفاوت برای ما طراحی می‌شه. این امر باعث خلق ارزش بازی چندباره (Replayability value) می‌شه.

چه طوری این Flow در Hades شکل گرفته؟ با چندین المان گیم‌پلی که به مرور اونا رو یاد می‌گیریم و با هر بار بازی اندکی تغییر می‌کنند تا چالش متفاوتی رو تجربه کنیم و همچنان مهارت ما رو به چالش بگشند.
این مهارت‌ها و المان‌ها کدوما هستند؟ انواع سلاح، پاور‌اپ‌ها، مسیر مراحل، رویداد‌ها که همگی با هم پیشرفت (Progression) رو می‌سازند.

انواع سلاح

همون‌طور که در بخش قبلی گفتم چیزی که سلاح‌ها رو از هم متمایز می‌کنه زمان‌بندی در ضربه زدن، فاصله و محدوده‌ی ضربه ست. این عناصر باعث می‌شه تا یادگیری هر سلاح برای ما متفاوت از بقیه باشه. این یادگیری مربوط به حافظه‌ی ماهیچه‌ای (Muscle memory) می‌شه و بعد از چند ساعت بازی کردن زمان‌بندی ضربات هر سلاح رو ناخودآگاه بهتر یاد می‌گیریم و اینجاست که بازی برامون ساده می‌شه. پس تنوع سلاح و قابلیت‌های متفاوت اون زمان بیشتری برای Master شدن در بازی رو برای ما فراهم می‌کنه. اما بازی شش سلاح داره و بالاخره توی همگی مهارت لازم رو به دست میاریم.

پاورآپ‌ یا Boon

اگر فرض کنیم یکی از ویژگی‌های یک اسلحه در بازی و قدرتش یک نمودار نرمال باشه (شکل وسط) ما هر بار که یک پاور‌آپ دریافت می‌کنیم میزان عملکرد اختصاصی سلاح خودمون رو به یک سمت بیشتر متمایل می‌کنیم.
مثلاً من سلاح Fist weapon رو انتخاب می‌کنم که در شروع برای تمرکز ضربه به روی یک هدف مناسبه و با انتخاب پاورآپ‌هایی که فاصله و محیط تحت تاثیر رو زیاد می‌کنه نمودار نرمال قابلیت‌هاش رو به سمت یک اسلحه‌ی مناسب AOE - Area Of Effect تغییر می‌دم. (تغییر Mode از Single target DPS به AOE DPS)

این حالات در Hades توسط Boonها پیاده شده. علاوه بر این که پاور‌آپ هستند و مقدار ضربه یا هر ویژگی رو بالاتر می‌برند. به عنوان Modifier هم ظاهر می‌شن. دسته‌بندی این‌ها در چندین بخش با توجه به تم بازی به خدایان یونان باستان توزیع شده. من اینجا نمی‌خوام وارد جزییات بشم و اگر تمایل داشتید می‌تونید از ویکی بازی شخصیت و نوع دسته‌بندی رو بخونید. این که این دسته‌بندی از کجا شکل می‌گیره به نظرم از المان‌های سیستم مبارزه میاد. این ویژگی‌ها در اکثر بازی‌های RPG مهم هستند (مثال‌ها از World of warcraft هستند):
- Single target DPS: تمرکز صدمه (damage) به روی یک هدف. برای کشتن Boss یا نیروهایی که مقدار سلامتی زیادی دارند مناسبه. مثل Rogue یا Mage که می‌تونن این کار رو به خوبی انجام بدن.
- Crowd Control / CC: این اصطلاح به معنی کنترل جمعیته. یعنی اگر قرار با سه نفر مبارزه کنیم یکی‌شون رو به نحوی از مبارزه برای مدت خارج کنیم. مثلاً Stunش کنیم. اما توی مبارزه‌ی تک به تک هم استفاده از قابلیت‌های CC برای کاهش دریافت صدمه از سمت دشمن به کار می‌ره. مثل تله‌های Hunter.
- Horde Control / AOE Damage: منظور از Horde کنترل تعداد زیادی از دشمنان هستند که اغلب سلامتی کمی دارند ولی چون تعدادشون زیاده می‌تونن بازیکن رو احاطه کنند و صدمه‌ی زیادی رو وارد کنند. (Zerg ها رو می‌شناسید؟)
- Survivability: هر قابلیتی که بتونه به حفظ سلامتی کمک کنه و می‌تونه شامل HP بیشتر، Shield یا قابلیتی که میزان صدمه‌ی دشمنان رو کاهش بده، باشه.
- Sustainability / DOT / HOT: در نبردهایی که میزان حرکت زیاده و نمی‌شه روی یک هدف تمرکز کرد و بین اهداف مختلف باید سوییچ کرد از Debuffهایی میشه استفاده کرد که به صورت Damage Over Time یا DOT عمل می‌کنند. یا برای پر کردن میزان سلامتی به اونا Heal Over Time یا HOT می‌گیم.

این المان‌هایی که گفتم توی خیلی از بازی‌های RPG استفاده می‌شن و شاید بشه موارد دیگه‌ای رو هم اضافه کرد. اما این دسته‌بندی باعث ایجاد کلاس‌ها در بازی می‌شه که وظیفه‌ی اختصاصی خودشون در یک بازی رو انجام بدن.

در Hades خدایان بازی در اصل همون کلاس‌ها هستند که ما می‌تونیم انتخاب کنیم که در هر Run چه میزان از ویژگی‌های اون رو انتخاب کنیم! یعنی من انتخاب می‌کنم در یک Run، بیست درصد AOE داشته باشم، ده درصد برای Survivability و ضربه نخوردن پاورآپ انتخاب کن و باقی رو فقط صرف Single target DPS کنم.

این Taxonomy گسترده امکان حالت‌های بسیار زیادی رو به بازیکن می‌ده و مهارت بازیکن انتخاب ویژگی‌هایی هستد که هم‌افزایی (Synergy) بیشتری برای استراتژی که انتخاب کرده، داشته باشند.

هم افزایی (Synergy)

مسیر و مراحل

یکی دیگه از مسائلی که در بازی‌های Rogue-like جذابه اینه که تمام مراحل به صورت Procedural با یه الگوریتم تولید می‌شن و با هر بار بازی ما یک مرحله‌ی کاملاً جدید طرف هستیم. مزیتش اینه که حس تازه بودن بازی رو تغییر در الگو نگه می‌داره و چیزی به عنوان بهترین مسیر برای اتمام بازی در اختیار بازیکن قرار نمی‌ده که مداوم از اون استفاده کنه و بعد از مدتی براش حوصله‌سر بر بشه (از Flow خارج بشه).

نمونه‌ای از heatmap که برای بالانس بازی کانتراسترایک استفاده شده
نمونه‌ای از heatmap که برای بالانس بازی کانتراسترایک استفاده شده


مشکلش مراحل Procedural اینه که قابل پیش‌بینی و بالانس نیستند! مثلاً نمی‌تونید یه Heat map داشته تا متوجه بشید بازیکن در چه محلی بیشتر شکست خورده (مُرده) اگر تعداد دفعات این قضیه در مراحل ابتدایی بیشتر از مراحل پایانی باشه نشون می‌ده سختی بازی با توانایی بازیکن در تعادل نیست و می‌تونه باعث افزایش استرس و خروج از Flow بشه.

کاری که در Hades برای حفظ این تعادل ایجاد شده، طراحی تمام مراحل به صورت دستیه و فقط هر مرحله به صورت تصادفی برای بازیکن باز می‌شه. حتی تمام Spawn pointهای دشمنان به صورت دستی تعیین شده. این قضیه پیاده‌سازی رو بسیار راحت کرده و بالانس رو میسر کرده! من حتی توی Dead cells چند مرتبه توی موقعیتی قرار گرفتم که سختی بیش از حد شکل می‌گرفت. چون توی اون حالت Hybrid وجود داره. یه بخش‌هایی طراحی شده ست و یه بخش‌هایی کاملاً الگوریتمی تولید شده.

رویداد‌ها (Events)

هر قدر هم که تنوع سلاح، دشمنان و مسیر در بازی داشته باشیم باز هم ممکنه دچار تکرار بشیم و در کل یک نوع چالش رو در پیش داریم که از بین بردن دشمنان در طول مسیر بازیه اما در Hades رویدادهایی طراحی شده که مثل Mode عمل می‌کنند و چالش جدیدی رو پیش روی بازیکن می‌گذارند. از این رویدادها می‌توان به Time trial اشاره کرد که طی زمان محدودی باید تعداد مشخصی از دشمنان رو از بین ببرید تا جایزه دریافت کنید.
یا در مرحله‌ی Elysium با Thanatos یک دوئل انجام بدید! به طوری که از تعداد مشخصی از دشمنان رو با هم بگشید و هرکسی تعداد بیشتری رو از بین برد برنده‌ی دوئل به حساب میاد.

پیشرفت (Progression)

نکته‌ی جالب دیگه برای من عدم استفاده از شانس برای رویدادهای داستانی بازی و بازشدن قابلیت‌های جدید بود! این قضیه در خیلی از بازی‌های این سبک رایجه که تیکه‌های داستانی یا قابلیت‌ها با توجه به ضریب شانس آزاد می‌شن. در Hades تمام پیشرفت و باز شدن بخش‌های مهم داستانی بر اساس unlock کردن اسلحه‌ها و انجام ماموریت‌های بازی ست! و شانس به عنوان عامل دوم برای توزیع رویدادها بین Runها تاثیر می‌ذاره.

این توجه به Core gameplay و این که همه چیز از اونجا نشات می‌گیره نشون از طراحی سیستمی درست داره. تمام تمرکز بازی به روی بخش Action و عمق اونه!


تجربه‌ی کاربر (User Experience)

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

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

موارد بسیاری از UX در گیم‌پلی وجود داره، مثل فیدبک UI زمانی که سلامتی کم می‌شه یا Summon آماده می‌شه. تمام Buff و Debuffها در HP bar یا بالای سر دشمنان یک آیکون دارند و... و... و...

اما چیزی که خیلی من رو سورپرایز کرد این مورد بود:
اگر ضریب طلا داشته باشیم به اندازه‌ی میزان Darkness ای که در هر Run جمع کردیم به صدمه‌ای که می‌زنیم اضافه می‌شه! این هیچ جایی مستند نشده و حتماً برای بالانس بازی در نظر گرفته شده و دلیل این قضیه نیاز به بررسی بیشتری داره.
می‌تونید تو فولدر اسکریپت‌های بازی فایل combat.lua خط ۳۷۶ این مورد رو ببینید:

if modifierData.GoldMultiplier and CurrentRun.Money then damageAddition = damageAddition + ( CurrentRun.Money * modifierData.GoldMultiplier ) end

نکته: Money همون Darkness است




در آخر


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

هدف من فقط بررسی کلی بخش‌های متفاوت بود و می‌شد هر بخش رو با جزییات بیشتری بررسی کرد. از جنبه‌های مختلفی می‌شه بازی رو بررسی کرد ولی من بیشتر تمرکز رو روی Core gameplay گذاشتم.

خوشحال می‌شم اگر نظرتون درباره‌ی طراحی این بازی و نکات جالبی که به نظرتون میاد رو با من در میون بذارید. تجربه‌ی شما از بازی چه طور بوده؟

بازیطراحی بازیتحلیلبازی سازیhades
از برنامه‌نویسی و طراحی بازی می‌نویسم.
شاید از این پست‌ها خوشتان بیاید