طراحی بازی تقابل قدرت ها و چالش ها

در آغاز بگم تمام این بحثی که ارائه شده است نظرات شخصی که بخش هایی از مطالعات قدیمی که قبلا داشتم و ممکن است اشتباهاتی نیز وجود داشته باشد.وقتی صحبت از این بشود که یک بازی چیست احتمالا ساده ترین پاسخ این باشد یک فعالیت سرگرم کننده که شامل یک سری قوانین می باشد و بازیکن می تواند در آن امتیازی به دست آورده یا امتیازی را از دست بدهد.مثلا در فوتبال(چه بازی ویدیویی باشد و چه ورزش و حتی بورد گیم) قوانینی وجود دارد، تیم ها می توانند گل بزنند و در نهایت برنده یا بازنده باشند.البته lبحثی که قرار است به آن بپردازیم، فرض بر این می گیریم که قوانین یک بازی پیاده شده است و ببینیم یک بازیکن چه توانایی هایی(قدرت ها) می تواند داشته باشد و نقطه مقابل آن چالش ها که احتمالا تمرکز بر روی یکی از آنها باشد را بررسی می کنیم.قدرت هادر تمامی بازی ها یکی از این سه قدرت اصلی وجود دارد، قدرت هدایت کننده یا کنترل کننده، قدرت نابودگر و قدرت خلق کردن.قدرت هدایت کنندهاین قدرت در 99 درصد بازی ها وجود دارد و تقریبا هیچ بازی وجود ندارد که این قدرت را در آن استفاده نشده باشد.از یک چپ و راست شدن ساده که با دسته بازی یا صفحه کلید(کیبورد) یک کاراکتر را حرکت می دهید جز این قدرت به حساب می آیند تا حرکت دادن یک گروه از سربازان در یک بازی استراتژیک.قدرت نابود کنندهوقتی شما در یک بازی با شلیک اسلحه یک دیوار را تخریب می کنید یا یک NPC را می کشید در واقع دارید از این قدرت استفاده می نمایید. البته صرفا بحث شلیک نیست این می تواند تخریب یک خانه یا سازه در یک بازی استراتژیک هم باشد وقتی می خواهید سازه بهتر یا مورد نیازتری را انجا قرار دهید.قدرت خلقاین قدرت به شما اجازه می دهد شیئی را به وجود بیاورید و در بازی قراردهید که می توان به ساخت یک ساختمان در یک بازی RTS(استراتژیک) اشاره کرد.نکته1: گاهی ممکن است این قدرت ها با هم ترکیب شوند یا دقیقتر بررسی شوند به طور مثال وقتی یک اسلحه شلیک می کند یک گلوله خلق می شد و این گلوله می تواند باعث نابودی یک شی یا NPC شود.نکته 2: من خودم چندین سال است که با انجین یونیتی کار می کنم جالب است بدانید در کتابخانه شی شارپ یونیتی توابعی وجود دارند که نمایانگر این قدرت ها هستند. تابع Destroy یک شی را نابود می کند و تابع Instantiate یک شی را خلق می کند.نکته 3: در واقع یکی از مهمترین بخش های برنامه نویسی نوشتن کدهای بهینه هست که که خلق و نابود کنندگی می تواند برای برنامه نویس چالش ایجاد کند چون وقتی خلق می شود بخشی از حافظه به ان تعلق می گیرد و وقتی چیزی نابود شود باید آن بخش ازحافظه آزاد شود.چالش هاچالش ها نقطه مقابل قدرت ها می باشد یا به عبارتی در بازی به شما قدرت هایی داده می شود تا بتوانید از عهده چالش های که برای شما ایجاد می شود عبور کنید.چالش ها نیز انواع متفاوتی را دارند ولی در اینجا روی یک مورد از آنها تمرکز می کنیم.چالش مقاومت یا Resistanceاین چالش معمولا 2 نوع مختلف دارد:چالش شمارش معکوسدر این چالش شما باید در یک زمان معین شکست نخورید تا آن زمان تمام شود.مثلا در نسخه بازسازی شده رزیدنت اویل 3 در نقش کارلوس باید در یک زمان مشخص از یک جای مشخص در برابر زامبی ها محافظت کنید یا در ورژن های قدیمی کال اف دیوتی باید یک سری مواضع را به مدت 5 دقیقه حفظ می کردید. جالب است بدانید یک بازی مستقل به نام 12 دقیقه(12 Minutes) تمام مبنای گیم پلی خود را بر اساس این چالش طراحی کرده و در دوره های 12 دقیقه ای هر بار باید تصمیماتی بهتر از دفع قبل بگیرید.چالش شمارندهاین چالش نیز مبنای ان ماندن بازی می باشد ولی این بار به جای زمان باید در برابر تعداد مثلا دشمنان یا به حد نصاب رسیدن یک پارامتر باشد.این مثال نیز در یکی دیگر از بازی های رزیدنت اویل یعنی شماره 4 زمانی که در یک کلبه باید از اشلی و لوئیز مراقبت کنید استفاده شده و باید در برابر تعداد معینی از دشمن ها مقاومت کنید.در بازی های Idle موبایلی که مشهورترین آن ها احتمالا کلش اف کلنز باشد این چالش را بصورت دیگری وارد بازی کرده اند، در واقع یک انتخاب جلوی شما قرار می دهند یا این مدت زمان صبر کن یا هزینه کن تا از این چالش عبور نمایید، پس گاها این چالش ها می توانند عامل در آمد زایی در بازی های رایگان نیز باشند. البته چالش ها فقط به این یک مورد ختم نمی شود و چالش هایی مانند حل معما، دکمه زنی سریع(عکس العمل بالا) و بیار چالش دیگر در طراحی بازی رو به رو هستیم که در آینده به انها نیز تا حدودی می پردازیم.