نویسنده: احمدرضا مغنی زاده
یک بازی اجرا کنید، از هر مدلش که دوست دارید. به بخشهای مختلفش نگاه کنید، منو ها، کاراکتر ها، صدا گذاری... به نور پردازیاش نگاه دقیق تری بیاندازید و به پیاده شدن داستانی که در پشت این همه تجملات تار و پود یافته،تک تک این موارد و کلی از این دست چیزها داخل یک بازی وجود دارد. اگر تک تک این قابلیتها را همانند یک نوازندهی حرفهای و متخصص در نواختنِ یک سازِ خاص در نظر بگیرید میتوان گفت بازی یک سمفونی خواهد بود... بتهُوِنِ داستان شمایی هستید که با موتور بازی سازی شروع به نوشت نتها، تنظیم کردن هارمونیها، اوج و فرودهای داستان و صحنهها میکنید.
بعنوان اولین مقالهی آموزش بازیسازی خیلی تخصصی و ریز و دقیق نمیخواهم جلو بروم... پس به یک بررسی اجمالی و معرفی مختصر بسنده میکنیم.
پاراگراف اول کم و بیش اشارهای به تک تک اجزای هر بازی داشت. اصولا موتور بازی سازی به نرم افزاری میگویند که تمام این اجزا را داشته باشد و بعنوان محصول خروجی قابلیت عرضهی بازی را داشته باشد.
موتورِ تخصصی مورد بحث ما «یونیتی» است، با تمام قابلیت های مورد انتظار و حتی فراتر از انتظار برای ساخت محصولی به اسم بازی. سال 2005 این نرم افزار توسط یوآخین آنته، دیوید هِلگاسن و نیکولاس فرانسیس به جهانیان معرفی شد. با این موتور قدرتمند میتوانید بازیهای دو بعدی و سه بعدی با سبکها و ژانرهای مختلف با صداگزاری و نورپردازیهای دلخواه با رندرینگِ عالی برای پلی استیشن، اندروید، ویندوز، مک و IOS بسازید بخصوص اینکه نکتهی بسیار مثبت این موتور یعنی سادگی فوق العادهی آن همراه شما است.
با این شروع میکنیم که میخواهید یک داستان خاص را برای بازییتان با یونیتی پیاده سازی کنید... مثلا آدمی که قرار است داخل خیابانی بدود و در مسیرش از یک سری موانع پریده و با جمع کردن یک مشت سکه بتواند امتیاز جمع کند تا برای خودش لباس، خانه یا ماشین بخرد... بیایید فرض کنیم که بازییمان هم سه بعدی است... برای شروع یک کاغذ و قلم برمیداریم و لیستمان را تهیه میکنیم:
1- ما خیابان، آدم، سکه و موانع میخواهیم... بازییمان سه بعدی است پس اینا هم باید سه بعدی باشد... برای ساختن مدل سه بعدی عموما از نرم افزارهای مایا و مکس استفاده میکنند و بعد از اینکه مدل را ساختند یک خروجی جهت وارد کردن در یونیتی از آن میگیرند. البته اینترنت پر است از مدل آماده و ساخته شدهی مجانی.
2- آدمی که ما داخل مایا یا تری دی مکس ساختیم یک مجسمهی بیجان و بدون حرکت است و یک نفس مسیحایی میخواهد که زندهاش کند و حرکتهایی مثل قدم زدن و پریدن را به او ببخشد. برای همین است که خدا انیماتورها را آفریده... انیماتورها مجسمههای مردهی ما را زنده میکنند.
3- ما یک مشت منو هم میخواهیم، یک سری صفحهی احتمالا دو بعدی که درونش بتوانیم کلیدهایی مثل ورود و خروج را بگذاریم. میتوانیم با فوتوشاپ یا حتی با ابزار نقاشی ویندوز از پسِ اینا برآییم.
4-تعدادی صدا هم میخواهیم. مثلا صدای کسب امتیاز، صدای خیابانی که داخلش میدویم یا صدای ضربه خوردن و باختنمان و خیلی صداهای دیگر که ممکن است بازی کننده اصلا نشنود ولی زمزمهی همین صداها فضای بازییمان را شکل میهد.
حالا یک گیتاریست داریم، یک ویالون نواز و یک درامر. قرار است یونیتی را باز کنیم و از همکاریِ این نوازندهها یک سمفونی ساده ولی دلچسب بسازیم.
با چیدن خیابانها و شهر سازی شروع میکنیم. Player را کنار پیادهرو گذاشته و به او این قابلیت را میدهیم که انیمیشن بپذیرد. انیمیشنِ راه رفتن و پریدن را به او متصل میکنیم و بعد منو را وارد صحنه میکنیم، صداهایی که آماده کردیم را هم داخل یک فولدر قرار میدهیم که بتوانیم از یونیتی به آنها دسترسی داشته باشیم.
صحنه آماده است، بتهونوار آستینها را بالا میزنیم. یک صفحهی کد نویسی باز میکنیم و شروع میکنیم به صحبت کردن با موتور یونیتی با کمک برنامهنویسی!
اگر بازیکن دکمهی play را زد:
{
-صفحهی منو را ببند.
-خیابان را ظاهر کن . آدمکِ ما کنار پیادهرو است.
-صدای خیابان و بوق و بادِ لای برگهای درختان را پخش کن.
}
تا زمانی که کلید دویدن فشرده باشد:
{
-آدم ما را بطور مرتب به سمت راست جابجا کن و در همین حین انیمیشن دویدن را برایش تکرار کن.
-دوربین را موازی با آدمِ در حال حرکت ما طوری جابجا کن که آدم با دویدن از کادر خارج نشود.
}
اگر دکمهی پریدن فشار داده شد:
{
-آدم ما را کمی به سمت بالا ببر و در همین حین انیمیشن پریدن را اجرا کن.
}
و به همین ترتیب اگر به پول برخورد کرد به او امتیاز بده، اگر از موانع نپرید بازی را دوباره تکرار کن، اگر به مغازه رسید و پول داشت و درخواست خرید کرد براش خرید انجام بده و اگر و آنگاههای بیشماری که سمفونی ما را آماده میکنند.
حالا با یونیتی میتوانیم از بازییمان خروجی بگیریم. بریزیم روی گوشییمان و به دوستمان پز بدهیم که ببین من چه ساختم و او هم پس از اینکه کمی با بازی وَر رفت مستقیما در چشمانمان زُل بزند و بگوید: خب که چی!!...
شاید تنها نقطه ضعف یونیتی همین است... یونیتی نمیتواند در جوابِ خب که چی گفتنهای بقیه کمکمان کند.
پینوشت:
خواستم خیلی کلی حرف بزنم... خیلی دقیق نشم... نشدم!