
در این مقاله میخواهیم به بررسی نکات مهم موتور بازی سازی یونیتی بپردازیم، ولی قبل از آن، ابتدا مقالهی «موتور بازی سازی چیست» را مطالعه کنید.
یونیتی، یک موتور بازی سازی عمومی میباشد که به جرئت میتوان گفت مشهورترین و محبوبترین موتوربازی عمومی تا به امروز است.
یونیتی (Unity)، یک موتور بازی سازی چند سکویی (Cross Platform: یعنی با استفاده از آن میتوان برای پلتفرمهای مختلفی از جمله ویندوز، اندروید، آیفون و … خروجی گرفت.) میباشد که توسط فناوریهای یونیتی (Unity Technologies) ساخته شده است. ساخت بازی با این موتور بسیار ساده است؛ چرا که حجم سنگین کار در محیط ویژوال (بصری) آن انجام شده و تنها موارد اختصاصی نیاز به کدنویسی خواهند داشت! و گرچه محیط کاربری آن بیشتر برای بازیهای سه بعدی در نظر گرفته شده است، اما با این حال، امکان ساخت بازیهای دوبعدی نیز در آن وجود دارد! همچنین این موتور، از زبانهای سیشارپ و جاوا اسکریپت برای برنامهنویسی منطق بازی پشتیبانی میکند.
موتور بازی Unity، مجموعهی گستردهای از ویژگیها را به همراه یک واسط گرافیکی قابل فهم و بسیار ساده عرضه کرده است، و همانطور که گفته شد، یکی از مزیتهای اصلی آن، چند سکویی (Cross Platform) بودن آن میباشد؛ به این معنی که میتوان بازیهای ساخته شده با یونیتی را به سادگی برای اندروید، iOS، ویندوز فون، بلک بری و … پورت کرد. (البته بستگی به پروژه دارد که بخواهد از امکانات خاص یک پلتفرم استفاده کند یا خیر! که در این صورت میتوان بخشی از کدها را تنها برای یک پلتفرم خاصی نوشت تا فقط برای آن کامپایل شود.) همچنین این موتور، قابلیت توسعهی بازی برای کنسولهای پلی استیشن، ایکس باکس، Wii U و حتی مرورگرهای وب را هم دارد.
کار با یونیتی نسبت به «آنریل انجین – Unreal Engine» و «کرای انجین – CRYENGINE» بسیار سادهتر است؛ چرا که بیشتر کار مثل «گیممیکر – GameMaker»، بدون کدنویسی هم امکان پذیره میباشد؛ اما اگر بازی ساز حرفهای باشید، قطعا نوشتن کد اختصاصی بهتر از دستورات آماده خواهد بود؛ و طبیعتا برای نوآوریهای جدید خود نیاز به نوشتن کدهای اختصاصی خود خواهید داشت.
گرچه یونیتی تنها امکان ساخت مدل اشیاء اولیهای مثل کره، مکعب، Plane و … را به ما میدهد و امکان مدلسازی در آن وجود ندارد، اما با این حال، یونیتی Asset (دارایی و آن منابعی که بازی را با آن ها میسازیم، مثلا: عکس، صوت، فیلم، مدل های سه بعدی، اسپرایت ها و …) های بسیاری از برنامههای سه بعدی مثل ۳ds Max، Maya، Softimage، Cinema4D و Blender را پشتیبانی میکند؛ و در نتیجه هیچ محدودیتی در نوع فرمت اشیاء و مدلهای بازی وجود نخواهد داشت و میتوان از نرمافزارهای سه بعدی دیگری برای مدلسازی بازی استفاده کرد. و البته، یونیتی شامل یک Asset Store بزرگی نیز میباشد که میتوان منابع مورد نیاز برای بازی را از آن جا دانلود یا خریداری نمود.
جالب است بدانید که یونیتی تعداد کاربر میلیونی داشته و محبوبیت آن منجر شده است تا شرکتهای بازیسازی بزرگی از جمله «SQUARE ENIX» نیز بازی معروف و زیبای «Deus Ex: The Fall» را با استفاده از یونیتی، برای کامپیوتر، اندروید و آیفون منتشر کنند. چرا که درواقع این موتور بازی، وارد جنگ بین موتورهای آنریل و کرای انجین شده و با وجود پشتیبانی ۶۴ بیتی و WebGL، به عنوان یک موتور بازی سازی قوی و پر از ویژگیهای کاربردی شناخته شده است.
یونیتی از نرمافزار «مونو» که یک ویرایشگر متنباز زبانهای برنامهنویسی میباشد، به عنوان ویرایشگر کدهای خود استفاده میکند. مونو بسیار قدرتمند و کاملاً با یونیتی هماهنگ شده است و شامل موارد مهمی از جمله «پیشنهاد دهندهی خودکار کلمات»، «سیستم دیباگینگ پیشرفته» و «پشتیبانی کامل از زبان سیشارپ» نیز میباشد.
البته شما میتوانید با عوض کردن تنظیمات یونیتی، از محیطهای دیگری همچون ویژوال استودیوی محبوب مایکروسافت، برای برنامه نویسی بازی خود استفاده کنید.
ظاهرا در نسخههای جدیدی یونیتی، ویرایشگر مونو حذف شده و یونیتی به استفاده از ویژوال استودیو توصیه کرده است. البته شما میتوانید ویرایشگر مونو رو به صورت جدا نصب کنید.
یونیتی از جمله موتورهای بازی سازیای است که از زبانهای برنامه نویسی معروفی پشتیانی میکند. دو زبان سیشارپ (C#) و جاوا اسکریپت در یونیتی قابل استفاده هستند (و البته زبان بو که یک خانواده از زبانهای برنامهنویسی پایتون میباشد نیز در نسخههای قبل از 5 وجود داشت و سپس حذف گردید).
همچنین بهتر است بدانید که زبان سیشارپ (C#)، یکی از قدرتمندترین زبانهای برنامهنویسی با قابلیت شی گرایی است و به واسطهی این قابلیت، قابلیتهایی همچون ارثبری را هم دارا میباشد؛ که این قابلیتها در پروژههای بزرگ برنامه نویسی بسیار سودمند خواهند بود.
همانطور که گفته شد، یونیتی یک موتور بازی سازی چند سکویی میباشد؛ و از آنجایی که امروزه تعداد زیادی از کاربران به جای کامپیوتر شخصی بیشتر با موبایلها، کنسولها و … بازی میکنند، بنابراین موضوع چندسکویی بودن بازی اهمیت ویژهای دارد.
یونیتی برای پلتفرمهای زیر میتواند خروجی ایجاد کند:
تقریباً میشود گفت که یونیتی برای تمامی پلتفرمهای مهم موجود در بازار خروجی تولید میکند و این نکته از لحاظ تجاری بسیار مهم است. به خصوص اجرای بازی روی وب و به صورت چند نفره (network) باعث جذب کاربران بسیاری خواهد شد و جالب است که بدانید تعدادی از بازیهای موجود در شبکهی اجتماعی فیسبوک نیز با موتور بازیسازی یونیتی ایجاد شدهاند.
امیدوارم از این مطلب لذت کافی برده باشید