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

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

مثلا اگر شما در حال ساخت یک نرم افزار سمت سرور پیچیده و یا یک سیستم عامل یا یک زبان برنامه نویسی جدید با ویژگی های خاص و type system خاص باشید ممکن است مسایل فنی حل نشده زیادی داشته باشید. در مورد تجربه کاربری هم حتی در تولید سایت های معمولی و کوچک به این مشکل بر بخورید. مثلا اگر مشتری شما یا خودتان از تجرقبه کاربری راضی نباشید، یافتن UI و UX مناسب ممکن است زمان خوبی طول بکشد. البته در بیشتر مواقع شما زمان کمتری برای حل دومی نیاز دارید.

این مسایل فقط تا موقعی مشکل هستند که شما قصد کپی کردن UX و UI و یا قابلیت های معمول نرم افزارهای دیگری را نداشته باشید. در آن صورت برنامه نویسی شما فرق زیادی با کار دستگاه کپی ندارد و عملا به قول یکی از دوستان کار یدی است (کار با دست مثل نجاری ساده یا تکه تکه کردن سنگ و چوب و ...).

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

این کار برای بازی هایی که سعی می کنند خاص باشند و حرف تازه ای برای گفتن داشته باشند بسیار سختتر هم هست. در مقابل اگر مثلا شما بخواهید به بازی shooter معمول خود یکی دو قابلیت اضافه کنید از نظرهایی کارتان راحتتر است هر چند باید مراقب ناراحت نکردن مخاطبین خود باشید. از بازی های گروه کاملا تازه منظورم بازی هایی مثل papers please یا this war of mine یا minecraft هستند که اساسا شبیه بازی خاصی قبل از خود نیستند و شما با یک بوم سفید سخت سر و کار دارید که اگر خط اول را در آن بکشید یا کلمه اول را بنویسید بقیه اش خودش می آید (حد اقل اگر مثل ایرج میرزا معتقد باشید که شاعری فقط طبع روان می خواهد، که من موافق نیستم) اما این بوم سفید سخت است و هر چه رویش بکشید و بنویسید بد جلوه می کند و ... 

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

اولا کتاب بخوانید و فیلم ببینید و در باره مسایل مختلف تحقیق کنید تا با ایده های مختلف و مسایل متفاوت آشنا شوید. اگر اطرافتان آدم های جالب زیاد هستند با آن ها ایده هایتان را در میان بگذارید و بازی را به آن ها نشان دهید. یا یک مکانیک را به آنها نشان داده و توضیح دهید. گاهی حرفهایی می زنند که شاید دقیقا قابل پیاده سازی نباشند اما اگر شما یاد بگیرید خوب گوش کنید ممکن است خیلی هم خوب باشد و بتوانید از آن الهام بگیرید. به خصوص کسانی که بازی زیاد نکرده اند و تا بازی را می بینند نمی گویند باید کجایش را مثل Call Of Duty کنید (و یا نسخه های تیریپ انتلکتی که می گویند کجایش باید مثل فلان بازی ایندی باشد که در عین شایستگی معروف نشد و هدف این است که شما بدانید آن ها چه قدر خفن هستند) :) 

در حد امکان برخی چیزهایی که به ذهنتان جالب می آید را prototype کنید و با آن ها بازی کنید. لازم نیست پیاده سازی کاملی باشد. اگر می خواهید یک آیتم جدید تست کنید 1000 تا از آن در اختیار کاربر بگذارید و تمام وسایل لازم را هم دم دست کاربر ظاهر کنید و با بازی سر و کله بزنید. هی بازی کنید و مکانیک را تکرار کنید و در این میان گاهی متوجه می شوید کدام بخش و چرا جالب است. 

به تکنولوژی هایی که می توانید تولید کنید و کاربرد های مختلفشان در نوع بازیتان فکر کنید و ببینید چه طور می توانید برای gameplay متفاوت از آن ها استفاده کنید. مثلا من با دانستن این که می توانم در بازیم با voxel هایی که می سازم path finding هم انجام دهم، سیستم جاده و ماشین ساختم. تنها دلیل به نظر رسیدن من هم این بود که می دانستم این کار را می توان کرد و فکر می کردم که چه استفاده ای از یک سیستم path finding می توان کرد به طوری که هدف جنگ نباشد. به این نتیجه رسیدم که باید هدف جا به جایی باشد و کم کم به ایده واگن رسیدم. شاید کارت های درون معدن فیلمی که دیدم هم بی اثر نبودند یا رفیق بد حتی.

سعی کنید به تجربیاتی که داشته اید فکر کنید. به تجربیات کودکیتان. شاید ما مثل میاموتو ماریوی بعدی را از تجربیات کودکیمان نساختیم و شایدی که احتمالتر که مثل او بگوییم من کاری نکردم و نمی دانم چرا این قدر معروف شده و شاید کار خدا بوده است (ترجمه انگلیسی می گفت intervention from above با توجه با ژاپنی بودن میاموتو من نمی دانم او دقیقا چه گفت). ولی به هر حال این بسیار مفید است. من خودم یکی از مکانیک های اصلی بازی را از بازی در کودکیم الهام گرفتم که هنگام برخی سفر ها با بچه های دیگر بوته های درون صحرا را می کندیم و روی هم جمع کرده و آتش می زدیم.

به فرهنگ و تاریخ خاص کشورمان و به داستان های خاص ایرانی و به هر چیز متفاوتی که اطرافتان هست فکر کنید و بهتر یاد بگیرید که به آن ها بنگرید. ویدیو های طراحان بزرگ بازی های خاص را ببینید و نوع نگاهشان را یاد بگیرید.

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