«ساختن هر چیزی سخت است. اما ساختن چیزی که بهدرستی کار کند از آن چالشبرانگیزتر است و تبدیل کردنش به چیزی که لذتبخش باشد، حتی از آن نیز سختی بیشتری دارد.»
- گابریلا سالواتوره، موسس استودیوی Beans
برای تماشای آیتم ویدیویی در یوتوب کلیک کنید
با پیشرفت تکنولوژیهای مختلف، انتظار بازیکنان از بازیسازان همواره بالاتر رفته و توسعهدهندگان نیز طبیعتا با چالشهای بزرگتری در بازیسازی روبرو هستند. چالشهایی که شاید حل کردنشان در چشم بازیکنان همانند آب خوردن باشد، اما در واقعیت توسعهدهندگان مجبورند تا با انواع و اقسام روشهای پیچیده و دشوار بر این چالشها غلبه کنند. مدتی پیش، ربکا ولنتاین از رسانه IGN با همصحبتی با حدود 100 توسعهدهنده مختلف، سعی کرد که به یک سوال پاسخ دهد: در یک بازی ویدئویی، چه چیزی وجود دارد که به ظاهر ساده بهنظر میرسد، اما در واقع ساختن آن بسیار سخت است؟
البته که برای این سوال، یک پاسخ واحد وجود ندارد. اما تجربه سازندگان مختلف، از استودیوهای تک نفره گرفته تا استودیوهای AAA، نشان میدهد که طیف گستردهای از این چالشهای بازیسازی را مواردی تشکیل میدهد که به عنوان مصرفکننده، معمولا هیچ توجهی به آن نداریم. بنابراین با ما همراه شوید تا 10 مورد از این چالشها در ساخت یک بازی ویدئویی را اینبار از زبان توسعهدهندگان بشنویم.
10. جابجا شدن بازیکن
بازیهای زیادی از آسانسورها برای جابجایی بازیکنان و یا پنهان کردن صفحات لودینگ بهره میبرند. اما جالب است بدانید که قرار دادن یک آسانسور ساده در یک مرحله از بازی، میتواند دردسرهای فراوانی را بههمراه بیاورد. بیل گاردنر، طراح ارشد مراحل سری BioShock درباره مشکل آسانسور میگوید: «اول از همه، شما باید آسانسور را با فشردن یک کلید پایین بیاورید. با فشردن کلید، این فرصت بهوجود میآید که بازیکن، آبجکتها یا هوش مصنوعی (شخصیتها یا دشمنان) به زیر آن بروند که به له شدن و یا گیر افتادن آنها منجر میشود. بنابراین شما باید ناگهان به این موضوع رسیدگی کنید.»
او توضیح میدهد که یکی از راه حلهای احتمالی، این است که هوش مصنوعی شخصیتها را از ورود به آسانسور منع کنید. اما چگونه باید اینکار را انجام داد و همزمان کاری کرد که هنگام ورود شما به آسانسور، رفتار شخصیتهای همراه احمقانه بهنظر نرسد؟ آنها بر اساس کدهای تعریف شده، تنها میایستند و شما را تماشا میکنند. فارغ از این، گاردنر همچنین اشاره میکند که مطمئن شدن از اینکه هیچ بازیکنی در لابهلای درب آسانسور گیر نکند، دیگر چالش بزرگی است که در مورد این مسئله وجود دارد. در نهایت، نتیجه حل کردن تمام این مشکلات پیچیده، تنها این خواهد بود که بازیکن بتواند به مدت چند ثانیه از نقطه A به نقطه B جابجا شود.
9. تعامل داشتن تمام اشیا با یکدیگر
تعامل بین دو چیز، موضوع دیگری است که تعدادی از توسعهدهندگان به آن اشاره کردهاند و آن را بهطور باورنکردنیای پیچیده میدانند. بن وندر، طراح بازی Airborne Kingdom در یک مثال جالب توضیح میدهد که عمل سادهای مانند برداشتن یک میوه توسط یک شخصیت، تا چه حد میتواند مشکلساز باشد. بسیاری از آبجکتهای درون بازی واقعی نیستند، بدین معنا که هیچ محدودیت فیزیکی یا چگالی خاصی برای آنها تعریف نشده است. از اینرو، اگر شخصیت قابل بازی بخواهد شیء سادهای مانند سیب را در دست بگیرد، آرتیستها مجبورند تا جایگیری انگشتان شخصیت را تغییر دهند تا سیب بهطور بینقص در دست قرار گیرد. اما اگر بجای سیب، یک میوه دیگر در کار باشد چطور؟ در این صورت مجبورید تا یک انیمیشن متفاوت بسازید.
ادری لپنریس ، یکی از توسعهدهندگان بازی Haven که داستان آن بر روی ماجراجویی یک زوج تمرکز دارد، پیاده کردن تعاملاتی مانند لمس کردن، در آغوش کشیدن و گرفتن دست در گیمپلی را کابوسوار توصیف میکند. بهطور کلی، اگر تابحال کجکاو بودهاید که چرا بسیاری از اشیا خارج از کادر دوربین بین شخصیتها دستبهدست میشود، با شنیدن چنین توضیحاتی از زبان سازندگان میتوان درک بهتری نسبت به این موضوع داشت.
8. تعریف کردن یک قصه منسجم
حتی اگر سختی خلق شخصیتهای جالب و نوشتن دیالوگهای قابل باور را کنار بگذاریم، باز هم چالشهای مهمی در روایت کردن یک قصه منسجم وجود دارند. مت فیرور ، مدیر استودیوی ZeniMa Online ماجرای جالبی را در مورد مشکل روایی بزرگی که در بازی The Elder Scrolls Online با آن مواجه شده بود، تعریف میکند. در هنگام توسعه، یکی از شعارهای تیم سازنده این بود که بازیکنان میتوانند جهان بازی را تغییر دهند. از اینرو، بازی The Elder Scrolls Online انتخابهای فراوانی را در مقابل شما قرار میدهد و همین مسئله نیز باعث ایجاد مشکلات بزرگی میشود.
بهطور مثال، یکی از این انتخابها این است که بازیکنان در هنگام مواجهه با یک روستای در حال آتش گرفتن، آن را نجات دهند یا ساکنانش را به حال خود رها کنند. در این شرایط، توسعهدهندگان مجبورند تا دو نسخه متفاوت از روستا را بسازند و در بازی قرار دهند: یک ورژن برای روستایی که به حال خود رها شده و یک ورژن برای روستایی که توسط بازیکن نجات یافته است. اما مشکلی که وجود داشت، این بود که اگر با دوستی مشغول بازی باشید که هنوز به این کوئست نرسیده، ناگهان دوستتان از روستای مذکور و در نتیجه از بازی شما ناپدید میشود. بنابراین خیلی زود ذهنیت بازیکنان از اینکه «من میتوانم جهان بازی را تغییر دهم» به اینکه «چرا دوستان من در حال ناپدید شدن هستند؟» تغییر یافت. تیم سازنده در واقع از این تکنیک برای بیش از صد کوئست استفاده کرده بود و حالا باید ساختار تک تک آنها را از نو بازسازی میکرد. در نهایت انجام اینکار بهتنهایی بیش از یک سال زمان برد.
7. راهنمایی کردن بازیکن
چالش بزرگ بعدی که در آن نویسندگی و طراحی بهطور نزدیکی به هم پیوند میخورند، راهنمایی کردن بازیکن برای انجام یک کار خاص است. کوین زان، کارگردان بازی Bugsnax در این مورد میگوید قرار دادن اشارهها و راهنماییهای مختلف جهت کمک کردن به بازیکن، بهطور تعجبآوری چالشبرانگیز است: «نمیتوانید بهراحتی به بازیکن بگویید که چکار کند، بلکه باید مسیر ذهنی بازیکن را به جهت درست هدایت کنید. شما به یک اشاره کوچک یا یادآوری ظریف نیاز دارید. این بدین معنی است که شما باید با دقت تستها را بررسی کنید و متوجه شوید که اکثر بازیکنان در کدام نقطه راه خود را گم میکنند.»
توضیحاتی که بازی در اختیار بازیکن قرار میدهد باید مختصر و مفید باشد. کوین زان حتی به تجربیات گذشته خود اشاره میکند که چگونه انتخاب واژههای نامناسب، بازیکنان را به سمت مسیرهای اشتباه میفرستد و بازگرداندن آنها از یک راهنمایی بد، حتی دوبرابر سخت است. اما از طرف دیگر، اکثر نویسندگان دوست ندارند که بابت مسئله سادهای مثل راهنمایی بازیکن، دیوار چهارم را بشکند. بنابراین بهخرج دادن ظرافت در اینکار، انرژی و البته خلاقیت زیادی را میطلبد.
6. آزادی عمل و عواقب آن
هنگامی که یک بازی شوتر سوم شخص میسازید، با تعداد بیشماری سوال در روند طراحی مکانیزمهای تیراندازی مواجه میشوید که باید برای تک تک آنها پاسخ مناسبی داشته باشید. آیا بازیکن میتواند بدون نشانهگیری نیز تیراندازی کند؟ اگر جواب مثبت است، آیا در صورت تیراندازی کردن بدون هدف گرفتن، موقعیت دوربین باید تغییر یابد؟ میدان دید چطور؟ آیا باید پراکندگی گلولهها یا لگد اسلحه نیز تغییر کند؟ سرجی موخوف، طراح ارشد گیمپلی بازی Control میگوید اینها تنها بخشی از سوالاتی هستند که قبل از ساخت چنین بازیهایی بهوجود میآید و باید به آنها پاسخ داده شود.
در مثال دیگر، پاول امیل، یکی از طراحان بازی Absolver و (همچنین کارگردان هنری Sifu)، توضیح میدهد که کاربران Absolver برای مدتها درخواست داشتهاند که قابلیت پرش به بازی اضافه شود. اما افزودن چنین یک قابلیت پایهای مانند پریدن، کاملا سیستم مبارزات را به چالش میکشد و میتواند بالانس جهان بازی را به کل بهم بریزد. او حتی میگوید که چنین درخواستهایی برای سازندگان، تقریبا مثل این میماند که از آنها بخواهید یک بازی مجزا بسازند.
5. ذخیره کردن بازی
توسعهدهندگان بسیاری نیز از تعیین قوانین مربوط به ذخیره کردن بازی، چکپوینتها، ریست و ریلود سیو و مسائل اینچنینی به عنوان یکی از بخشهای چالشبرانگیز بازیسازی یاد کردهاند. ذخیره شدن بازیها یکی موارد بدیهی است که در هنگام تجربه یک بازی معمولا ذهنمان را چندان درگیر نمیکند. اما اگر از دید توسعهدهندگان به پروسه بهکار گیری سیو و چکپوینتها به قضیه نگاه کنیم، اوضاع چند برابر پیچیدهتر میشود.
فرناندو رسکو از استودیوی Armature در این مورد میگوید که چندین دپارتمان مختلف در یک تیم بازیسازی در این پروسه دخیل هستند و هر کدام از آنها باید برای لیست بلندی از سوالات، پاسخ و راه حل مناسب پیدا کنند. برای مثال، از منظر طراحی یا دیزاین، آیا باید به بازیکن اجازه دهید تا تنها از یک اسلات (Slot) برای ذخیره کردن بازی استفاده کند؟ رابط کاربری آن چه شکلی خواهد داشت؟ آیا باید قابلیت سیو دستی را در بازی قرار داد؟ از طرف دیگر، منهدسان نرمافزاری باید تعیین کنند که ذخیره شدن بازی دقیقا در چه وضعیتی صورت میپذیرد. اکثر مواقع شما نمیتوانید تک تک اجزای بازی را سیو کنید، چرا که باید فاکتورهایی مانند موسیقی در حال پخش، پارتیکل افکتهایی که در تصویر دیده میشوند و چندین موارد اینچنینی را نیز در نظر گرفت.
4. بخشهای چند نفره
چالش رایج بعدی، مربوط به ساختن بازیهای چند نفره، چه بهصورت لوکال و چه آنلاین است. گیوم بوچر ویدال، مدیرعامل استودیوی Nine Dots توضیح میدهد اگر قصد دارید تا قابلیت اجرا بهصورت اسپلیت اسکرین (Split-screen) را در بازی خود اعمال کنید، تک تک تصمیمات مربوط به طراحی چند درجه پیچیدهتر میشوند. از همان ابتدای کار باید به این سوال پاسخ دهید که در خصوص منوها و نگه داشتن بازی (Pauses کردن) چه تصمیمی خواهید گرفت؟ پیشرفت در داستان و سیستم پاداشدهی به چه صورت خواهد بود؟ آیا هر دو بازیکن پاداشهای مشابهی را دریافت میکنند؟ چطور باید تک تک کوئستهای بازی را با در نظر گرفتن احتمال اینکه ممکن است یک بازیکن دیگر در هر لحظه به بازی اضافه شود، برنامهریزی کرد؟
در سمت دیگر ماجرا، یعنی مولتی پلیر آنلاین نیز توسعهدهندگان معمولا با سیل عظیمی از مشکلات گوناگون مواجه میشوند. بسیاری از بازیکنان تصور میکنند که افزودن سرورهای بیشتر همیشه بهترین راه حل است، اما کریس پولاک، برنامهنویس ارشد استودیوی Phoenix Labs توضیح میدهد که این موضوع چقدر پیچیدهتر از این حرفهاست:
«تمام بازیهای آنلاین در روز اول عرضه با مشکل مواجه میشوند. در این موقعیت، تمام کاربران اینترنت فریاد میزنند که سرورهای بیشتری را اضافه کنید، اما این در حالی است که تعداد سرورها اصلا و ابدا منشا مشکل نیست.»
او در مثال جالبی اشاره میکند که ممکن است سرویس لاگین یک بازی، توانایی دریافت 100 هزار درخواست در هر دقیقه را داشته باشد. اما اگر تعداد زیادی از بازیکنان برای لاگین کردن اقدام کنند و تمام درخواستها بر روی بخش یکسانی از دیتابیس ثبت شوند، چه اتفاقی رخ میدهد؟ بازیکنان معمولا هنگام انتظار کشیدن در صف سرور، مدام کلید Escape را فشار میدهند. این عمل ساده، ارسال شدن درخواست جهت نمایش منوها به دیتابیس را در پی دارد. بنابراین با فشردن پیاپی یک کلید، هر شخص میتواند مسئولیت سرویس ثبت درخواست را دهها برابر سنگینتر کند.
3. منو و روابط کاربری
مورد بعدی، چیزی است که لیام ادواردز، کارگردان سابق استودیوی Q-Games، از آن به عنوان «کابوسی دنبالهدار» یاد میکند. منوی اصلی معمولا اولین چیزی است که بازیکن با آن تعامل دارد و از اینرو، هنگام طراحی آن فاکتورهای زیادی را باید در نظر گرفت؛ از طراحی هنری آن گرفته تا لحنی که به بازیکن القا میکند. ادواردز توضیح میدهد که برای ساخت منوی اصلی، شما باید از زبان جهانی بازیهای ویدئویی آگاه باشید. برای مثال، استفاده از کلمات جایگزین برای «پلی»، «ستینگ» یا «آپشن» میتواند بهراحتی بازیکن را گیج کند.
موضوع وقتی پیچیدهتر میشود که مواردی مانند تنظیمات مرتبط با دسترسپذیری (Accessibility) یا سختافزار را به منوی بازی خود اضافه کنید. هر منو دارای المانهای ظاهری مخلتفی از جمله آیکون، پس زمینه، قاب کلید، سایه برجسته و چندین موارد دیگر است. چیزی که معمولا آن را نادیده میگیریم، این است که ریز به ریز این المانها باید به دست اشخاصی طراحی شوند و با دقت به انجین بازی انتقال یابند.
2. بومیسازی و تفاوت زبانها
مخابره کردن یک مفهوم یا متن بهطوری که برای بازیکن واضح و شفاف باشد، سختی خود را دارد. اما هنگامی پای چند زبان مختلف در میان باشد، اوضاح حتی سختتر و پیچیدهتر میشود. جی سی لاو، عضو سابق تیم بومیسازی ایکس باکس «قرار دادن یک خط از نوشته بر روی تصویر» را چالشی بزرگ میداند. او میگوید که هنگام کار کردن در مایکروسافت، ایکس باکس بهتازگی لیست دوستان را به کنسولهای ایکس باکس اضافه کرده بود. یکی از پیامهایی که بهصورت پاپآپ (Popup) برای کاربران ظاهر میشد، عبارت «با دوستان خود به معاشرت بپردازید» را در بر داشت که شما را به لیست دوستانتان هدایت میکرد. اما این عبارت در زبان لهستانی، به اشتباه به این جمله تبدیل شده بود: «با دوستان خود به حمایت از سوسیالیسم بپردازید.» البته خوشبختانه این اشتباه توسط اعضای تیم مشاهده شد.
اما چالشهای بومیسازی به ترجمه متنها خلاصه نمیشود. جو میرابلو، کارگردان استودیوی Terrible Posture Games در اظهار نظر جالبی میگوید: «برنامهریزی قبلی میتواند مفید باشد، اما هیچ چیز نمیتواند شما را در مقابل زبان آلمانی آماده کند.» پس زمینهای که برای یک نوشته 10-20 حرفی انگلیسی کافی باشد، برای زبان آلمانی کافی نیست. چرا که در زبان آلمانی، ممکن است معادل خاصی برای عبارت مورد نظر وجود داشته باشد که از قضا چندین برابر از آن طولانیتر است. بهطور کلی، برای بومیسازی نوشتههای خود در یک بازی به انعطافپذیری بالایی نیاز دارید که کار را برای طراحان رابط کاربری و همچنین مترجمان، بهشدت مشکلساز میکند.
1. قرار دادن همهچیز در کنار هم
وقتی مکانیزمی در یک بازی ویدئویی احساس خوبی را به ما منتقل میکند، به این معنی است که صدها یا حتی هراز تصمیم ریز بهخوبی در کنار هم قرار گرفتهاند تا تجربهای یکپارچه را به ما ارائه دهند. در هنگام شرح دادن یکی از این مکانیزمهای لذتبخش برای دوستان خود، معمولا به گفتن این جمله بسنده میکنیم که «پریدن به عنوان ماریو در بازی احساس خوبی میدهد و مفرح است.»
گابریلا سالواتوره، موسس استودیوی Beans با تفکیک جزئی این مسئله سعی میکند تا به ما توضیح دهد که چه فاکتورهایی در لذتبخش بودن پریدن در یک بازی سوپر ماریو نقش دارند. او میگوید که توسعهدهندگان برای طراحی مکانیزیمی که بهدرستی کار کند، باید به چنین سوالاتی پاسخ دهند: طراحی مرحله تا چه حد بر روی لذت بردن ما از این مکانیزم تأثیرگذار است؟ معیارهایی که ارتفاع و میزان فاصلهای که ماریو میتواند با یک پرش طی کند چطور؟ آیا حس بازی نیز در لذت بردن از این مکانیزم نقشی دارد؟ در مورد کنترلها چطور؟ آیا پریدن با کلید A نسبت به کلید B ارضاکنندهتر است؟ افکت صدا تا چه حد تجربه ما را بهبود میدهد؟
اگر سازندگان به تمامی این سوالات پاسخ درستی داشته باشند، نتیجه کار این خواهد بود که هنگام پریدن در یک بازی، احساس خوبی به ما دست خواهد داد. اکنون اگر طی شدن این پروسه را برای تک تک مکانیزمهای بازیهای محبوب خود در نظر بگیریم، بهتر متوجه میشویم که چگونه صدها تصمیم ریز و درشت و کنار هم قرار دادن تمام آنها، تجربه کلی یک اثر با کیفیت را شکل میدهند.