یونیتی یک موتور بازیسازی و محیط یکپارچه توسعه (IDE) برای ساخت رسانههای تعاملی، به طور خاص بازیهای رایانهای است. بازی سازی با یونیتی بسیار لذتبخش است. همانطور که دیوید هِلگاسون (David Helgason) مدیرعامل شرکت سازنده این موتور میگوید “یونیتی یک مجموعه ابزار برای ساخت بازیهاست، و همچنین یک تکنولوژی که برای اجرای گرافیک، صدا، فیزیک، فعل و انفعالات و شبکهسازی به کار میرود.” یونیتی به دلیل قابلیتهایی که برای نمونهسازی (Prototyping) سریع دارد و همچنین پشتیبانی تعداد زیادی از پلتفرمها جهت انتشار معروف است.
ورژن اول از یونیتی (1.0.0) با همکاری دیوید هلگاسون، یواخیم آنت (Joachim Ante) و نیکولاس فرانسیس (Nicholas Francis) در دانمارک ساخته شد. محصول اولیه در تاریخ ۶ ژوئن ۲۰۰۵ راهاندازی شد. هدف ساخت یک موتور بازیسازی مقرون به صرفه با ابزارهای حرفهای برای بازیسازان تازهکار بود تا به اصطلاح “صنعت بازیسازی دموکراتیک شود” و همه بتوانند بازی خودشان را بسازند. این سه نفر از جریان کاری آسان، نحوه بکارگیری داراییها (Asset) به صورت ساده و همچنین رابط کاربری “کشیدن و رها کردن” کامپیوترهای شرکت اپل الهام گرفته بودند.
وقتی نسخه اصلی عرضه شد، یونیتی منحصرا برای سیستم عامل مکایکس در دسترس بود و توسعهدهندگان تنها میتوانستند بازی خودشان را بر روی تعداد کمی از پلتفرمها عرضه کنند. اما نسخه فعلی یونیتی بر روی سیستمعاملهای مک، ویندوز و لینوکس اجرا میشود و دهها پلتفرم هدف را برای عرضه پشتیبانی میکند. خروجی ۶۴ بیت در یونیتی از مدتها قبل در دسترس است و همچنین ورژن ۶۴ بیتی ویرایشگر یونیتی نیز اکنون قابل دانلود است.
تجربه خودم از شروع بازیسازی
من بازیسازی را با موتور Game Maker 8 شروع کردم. با رویای ساختن بازیهای بزرگی مثل God of War و Gears of War قدم در این راه پر فراز و نشیب گذاشتم. با گیممیکر تنها میتوانستیم بازیهای دو بعدی بسازیم و من همیشه دلم میخواست حداقل یک بازی سهبعدی بسازم. بعدها نسخه جدیدی از گیممیکر به نام Game Maker Studio عرضه شد که بسیار کارآمدتر از نسخههای قبلی بود اما همچنان مخصوص ساخت بازیهای دوبعدی بود. گیم میکر برای من تجربه بسیار خوبی بود و هیچوقت اولین بازیهایی که با آن ساختم را از یاد نمیبرم؛ البته اگر بتوان به آنها بازی گفت 🙂 . به جرات میتوانم بگویم که برای کسی مثل من که تازه شروع کرده بود و هیچ چیز از کدنویسی نمیدانست بازیسازی با ایونت و اکشنهای گیممیکر بهترین گزینه بود. پس از مدتی کار کردن با ایونتها و اکشنها و فهمیدن منطق برنامهنویسی، اسکریپتنویسی را در گیممیکر شروع کردم. به این نتیجه رسیدم که با اسکریپتنویسی کارهای بیشتر و خلاقانهتری میتوان پیاده کرد.
وایفی اولین بازی که با گیممیکر ساختم
اما کمکم با موتور جدیدی به نام یونیتی آشنا شدم. در آن زمان یونیتی هنوز رایگان نشده بود و باید برای استفاده آن را کرک میکردیم. اعتراف میکنم که برایم سوییچ کردن از گیم میکر به یونیتی سخت بود. با اینکه با یونیتی میشد بازی سهبعدی ساخت اما در برابر یادگیری آن مقاومت میکردم. به هرحال از یک زمانی مجبور شدم این تغییر را بپذیرم. هنگامی که از دوستان بازیسازم تعریف و تمجیدها از یونیتی میشنیدم به این نتیجه رسیدم که با یونیتی چقدر میتوانم راحتتر بازی بسازم. مثلا برای ساختن یک انیمیشن ساده بالا و پایین رفتن یک سکه در گیممیکر باید چندین خط اسکریپتنویسی انجام میدادم و در نهایت جوری نمیشد که میخواستم. اما در یونیتی با استفاده از پنجره انیمیشن بدون یک خط کدنویسی حرکت نرمِ بالا و پایین رفتنِ موردنظرم را به راحتی درمیآوردم. اخیرا یونیتی نیز از سیستم ویژوالاسکریپت خود رونمایی کرده و کار را برای کسانی که تازه میخواهند شروع به بازیسازی کنند و چیزی از کدنویسی نمیدانند راحتتر کرد.
اکنون یونیتی نسبت به نسخههای قبلی بسیار تغییر کرده و روز به روز در حال اضافهکردن امکانات بیشتر است و من به این فکر میکنم که چه تصمیم درستی برای یادگیری یونیتی گرفتم.
ساخت یونیتی چگونه آغاز شد؟
ساعت ۱:۴۷ بامداد ۲۱ امین روز از ماه می ۲۰۰۲، نیکولاس فرانسیس، برنامه نویس دانمارکی، پستی را بر روی بُرد OpenGL مک قرار داد و در آن درخواست یک نیروی کمکی برای توسعه سیستم شیدر موتور بازیسازی خودش کرد (در اینجا لازم است این توضیح را بدهم که یک شیدر قطعه کدی است که نحوه نمایش یک شی (Object) 3بعدی را تعیین میکند). چند ساعت بعد، یواخیم آنت که در آن زمان در آلمان زندگی میکرد، به پست نیکولاس پاسخ داد. نتیجه مکالمات این دو به همکاری برای ساخت یک سیستم شیدر مشترک منجر شد تا از آن در هر دو موتور در حال توسعه استفاده شود زیرا یواخیم نیز در حال کار بر روی موتور بازیسازی خود بود. فرانسیس در یک مصاحبه در رابطه با ریشههای یونیتی میگوید: “بعد از مدتی تصمیم گرفتیم تا کار جداگانه بر روی موتورهای خود را کنار بگذاریم و هر دو بر روی یک موتور بازیسازی تمرکز کنیم، زیرا این خیلی باحالتر است وقتی دو نفری بر روی یک چیز مشترک کار کنید.”
بعد از مدتی دیوید هلگاسون در مورد پروژه میشنود و به گفته خودش “با این تصور که آنها واقعا بر روی چیز درستی کار میکنند به عنوان سومین برنامهنویس وارد کار میشود.”
سه تفنگدار
در ابتدا آنها قصد داشتند تا با موتور ساخته شده بازیهای خودشان را تولید کنند، اما متوجه نیاز اساسی به یک تکنولوژی برجسته شدند. آنها به این فکر میکردند که “ابتدا یک بازی با این موتور میسازند و سپس شروع به فروش موتور میکنند زیرا وجود یک بازی ساخته شده با موتور مورد نظر برای نشان دادن تواناییهای آن ضروریست.” در انتها آنها موفق به پایان رساندن ساخت یک بازی نشدند اما موفق به پایان دادن به “ساخت ابزار برای تولید بازیها” شدند.
روند توسعه زمانی آغاز شد که یواخیم و نیکولاس مکانی را در کُپِنهاگِن پایتخت دانمارک اجاره کردند. دیوید نیز در همان خیابان زندگی میکرد و برای گذران زندگی در یک کافه کار میکرد. در آن محل اجارهای بود که آنها شروع به ساخت یکی از پرکاربردترین نرمافزارهای صنعت بازیسازی کردند.
یکی از اصلیترین دلایل موفقیت یونیتی پشتیبانی آن برای بازیسازان مستقل بود، کسانی که منابع مالی خوبی برای خرید لایسنس موتورهای گران نداشتند.
معرفی ویرایشگر یونیتی
محیط ویرایشگر یونیتی از چندین زیر پنجره تشکیل شده است که پرکاربردترین آنها عبارتاند از: مرورگر پروژه، اینسپکتور (Inspector)، نمای بازی یا Game View، نمای صحنه یا Scene View و همچنین پنجره سلسله مراتب یا همان Hierarchy.
1. پنجره مرورگر پروژه (Project Window)
مرورگر پروژه پنجرهایست که تمام داراییهایی (Asset) که شما وارد پروژه یونیتی خود کردهاید در آن قابل مشاهده و برای استفاده در دسترس است. این پنجره در اصل همان پوشه Asset در پوشه اصلی پروژه شماست که چیدمان آن در سیستمعاملهای مختلف یکسان است. این باعث میشود که توسعهدهندگان با فراهم شدن یک رابط کاربری مناسب، احساس راحتی بیشتری هنگام کار با داراییهایی که به صورت روزانه با آنها سروکار دارند داشته باشند.
پنجره مرورگر پروژه
2. اینسپکتور (Inspector)
این پنجره جایی ست که جزئیات هر گیمآبجکت در آن قابل مشاهده و ویرایش است. هر گیمآبجکت از چند جز یا Component تشکیل شده است (مانند اسکریپتها، کلایدرها و…) که هر جز نیز داری متغیرهای خاص خود است. متغیرها در پنجره اینسپکتور قابل تنظیم هستند تا به آن حس و حال موردنظر سازنده نزدیکتر شود. اجزا یا کامپوننتهای مختلف قابلیت اتصال یا حذف از هر گیمآبجکت را دارند.
پنجره اینسپکتور
3. نمای بازی (Game View)
این پنجره نمای نهایی بازی را نمایش میدهد یعنی هنگامیکه خروجی از بازی بگیریم بازی به همان صورتی که در این پنجره نمایش داده میشود دیده میشود. این نما تصویری است که دوربین (Camera) موجود در صحنه با توجه به مکان و زاویه خود به ما میدهد. هر صحنه میتواند یک یا چند دوربین داشته باشد اما در لحظه فقط یکی از آنها فعال است و بازی را به تصویر میکشد. همچنین در این پنجره توسعهدهنده میتواند با استفاده از تمام ورودیهایی که خود برای بازی تعریف کرده بازی را تست کند و تغییرات اعمال شده را مشاهده کند بدون نیاز به گرفتن خروجی از بازی بر روی پلتفرم خاصی.
پنجره نمای بازی
4. نمای صحنه (Scene View)
این پنجره جاییست که در واقع بازی در آن ساخته میشود. توسعهدهنده میتواند با کشیدن و رها کردن هر دارایی از درون پنجره پروژه به داخل پنجره صحنه یک نمونه از آن در داخل صحنه بسازد. هندلهای کنترل سهبعدی آسان و همچنین امکان جابهجایی گیمآبجکتها به صورت شبکهای (Grid Snapping) به ما این امکان را میدهد تا آبجکتها را در بهترین مکان قرار دهیم.
پنجره نمای صحنه
5. هایررکی (Hierarchy)
پنجره سلسله مراتب یا هایرَرکی دربردارنده لیستی از تمام آبجکتهایی است که در صحنه وجود دارند. این لیست به صورت خودکار هنگامیکه یک آبجکت جدید به صحنه اضافه میشود، به روز میشود. در این پنجره میتوانیم با نگهداشتن و کشیدن یک آبجکت بر روی دیگری و رهاکردن آن، آن را به فرزند آبجکت دوم تبدیل کنیم و بدین صورت با جابهجایی آبجکت ولی (Parent)، آبجکت فرزند نیز با حفظ مکان خود نسبت به آبجکت ولی جابهجا میشود.
پنجره هایررکی
در مقاله “6 پنجره پرکابرد یونیتی که در نگاه اول دیده نمیشوند” به برخی دیگر از پنجرههای یونیتی که آنها هم بسیار کارآمد هستند پرداختهایم
پایپلاین دارایی و جریان کار (Workflow)
پایپلاین (Pipeline) دارایی یونیتی صنعت را به سمت سهولت کار سوق میدهد و با نرمافزارهای توسعه دارایی فعلی سازگاری زیادی دارد. برای وارد کردن یک دارایی به پروژهی یونیتی کافیست آن را به سادگی بکشید و داخل پنجره پروژه رها کنید، همین ! بقیه کار را یونیتی خود انجام میدهد. زمانی که مشغول ویرایش یک دارایی هستید، یونیتی به صورت خودکار آخرین تغییرات شما را اعمال میکند و تمام نمونههای موجود از آن دارایی در کل پروژه به روز میشوند.
در حال حاضر یونیتی وارد کردن دارایی از بسیاری از نرمافزارها را پشتیبانی میکند، از جمله مدلهای سهبعدی با فرمت FBX و مدلهای استخوان بندیشده و همچنین انیمیشنها. هنگام وارد کردن داراییها یونیتی به صورت خودکار و در پسزمینه کارهای تبدیل فرمت را انجام میدهد که باعث صرفهجویی در زمان توسعهدهنده میشود. اگر توسعهدهنده کنترل بیشتری بر روی تنظیمات واردکردن نیاز داشته باشد، میتواند ویرایشگر یونیتی را بر اساس نیاز خود با استفاده از UnityEditor API namespace گسترش دهد.
همچنین یونیتی این امکان را به توسعهدهندگانی که قصد دارند بازی خود را بر روی چند پلتفرم عرضه کنند میدهد تا از فایلهای یکسانی برای همه پلتفرمها استفاده کنند. اگر توسعهدهنده بر روی پروژه بزرگی کار میکند که تعداد زیادی دارایی دارد، ممکن است پیدا کردن یک دارایی خاص زمانبر شود. پنجره پروژه این امکان را میدهد تا به راحتی دارایی مورد نظرتان را جستوجو کنید. همچنین پیدا کردن یک شیء خاص با استفاده از پارامترهایی نظیر تگهایی که توسط کاربر تعریف میشوند بسیار موثر است. ویرایشگر یونیتی شامل یک پنجره پیشنمایش (Preview) است که به توسعهدهنده اجازه میدهد نمای مناسبی از دارایی انتخاب شده را بدون واردکردن آن به داخل صحنه بازی یا اعمال کردن آن بر روی یک آبجکت ببیند.
از یونیتی نسخه 3.4 پشتیبانی از substanceهای الگوریتمی اضافه شد. substanceها یک نوع از تکسچرها (Texture) هستند که قابلیت شخصی سازی زیادی دارند و میتوانند به صورت بلادرنگ (Real-Time) در هنگام اجرا دستکاری شوند و جلوههای بینظیری تولید کنند. همچنین به شدت کم حجم هستند که آنها را برای استفاده در پروژه ایدهآل میکند. این نوع تکسچرها به صورت پویا تولید میشوند، که باعث میشود بتوان بدون افت کیفیت آنها را بزرگنمایی کرد. برای پلتفرمهایی که این تکنولوژی را پشتیبانی نمیکنند یونیتی میتواند substanceها را در یک بیتمپ (Bitmap) ذخیره کند.
با یونیتی فقط بازی میسازند؟
از یونیتی میتوان برای توسعه اپلیکیشنهای غیر بازی استفاده کرد. برای مثال، معماران به راحتی میتوانند ایدههایشان را پروتوتایپ کنند. هنرمندان میتوانند هنرهای تعاملی بسازند و یا محققان میتوانند از آن برای بصری سازی دادهها استفاده کنند. اما بالعکس ساخت یک بازی با استفاده از برنامه های دیگر نظیر CAD امکان پذیر نیست. در یک مصاحبه فرانسیس میگوید که استفاده آسان از یونیتی و همچنین یادگیری سریع آن از دلایل اصلی موفقیت یونیتی است. در یک نظرسنجی که یونیتی از مشتریان خود گرفته است مشخص شد که یک سوم از آنها برای ساخت بازی از یونیتی استفاده نمیکنند!
چند پلتفرمی!
دلیل دیگری که باعث محبوبیت یونیتی شده است توانایی آن برای گرفتن خروجی بر روی پلتفرمهای گوناگون با داراییها و کدهای یکسان است. فقط با کلیک کردن یکی دو دکمه شما میتوانید پلتفرم هدف را تغییر دهید و با زدن دکمه Build، یونیتی شروع به گرفتن خروجی برای شما میکند. در حال حاضر یونیتی ۵ دسته پلتفرم را پشتیبانی میکند:
- دسکتاپ: سیستم عاملهای ویندوز، مک و لینوکس
- تلفنهای هوشمند: اندروید و iOS
- کنسولهای بازی: ایکس باکس وان، PS4 و نینتندو سوییچ
- وب: WebGL
- تلویزیونهای هوشمند: tvOS
برای خروجی دسکتاپ، هم ۳۲ بیت و هم ۶۴ بیت پشتیبانی میشود.
گسترش و جهانی شدن
همانطور که پیشتر گفتیم یونیتی کار خود را در یک مکان اجارهای در دانمارک آغاز کرد. اما حالا تبدیل به یک شرکت جهانی شده است. دفتر اصلی آن در شهر سانفرانسیسکو ایالات متحده قرار دارد و هم اکنون گستره فعالیت آن به کشورهایی نظیر کانادا، چین، کلمبیا، دانمارک، فنلاند، آلمان، کره جنوبی، ژاپن، لیتوانی، سنگاپور، سوئد، اوکراین و انگلیس رسیده است. در تنها ۵ سال یونیتی از یک تیم سه نفره به شرکتی با دهها کارمند تبدیل شد. تقریبا ۲۰ درصد از درآمد یونیتی از کشور آمریکا است. ۵۰ درصد دیگر از دیگر کشورها و ۳۰ درصد باقیمانده مربوط به اپلیکیشنهای غیر بازی است. کشورهای آمریکا، چین، کره جنوبی، ژاپن، انگلیس، کانادا، روسیه، آلمان، برزیل و فرانسه بیشتر آمار استفاده از یونیتی را دارند.
اکنون یونیتی شرکتی با بیش از ۳۰۰ کارمند در بیش از ۳۰ نقطه دنیا است. آنها نزدیک به ۳ میلیون توسعهدهنده ثبت شده، روزانه بیشتر از ۵۰۰ هزار کاربر فعال و ۴۰۰ میلیون پخش کننده وب (Web Player) نصب شده دارند. این آمار نشان دهنده این است که یونیتی یکی از سریع ترین شرکتهای در حال رشد و از بزرگترین انجمنهای توسعه در دنیاست.
زبان برنامهنویسی
زبان برنامهنویسی در یونیتی، سیشارپ (#C) است. در نسخههای قبلتر یونیتی شما میتوانستید از بین سیشارپ، یونیتی جاوااسکریپت (Javascript) که به یونیتیاسکریپت (UnityScript) هم معروف بود و بوو (Boo) یکی را برای نوشتن کدهای بازی خود استفاده کنید. اما از نسخه ۲۰۱۸ یونیتی اسکریپت و بوو از یونیتی حذف شدند و تنها زبان سیشارپ در یونیتی استفاده میشود. این زبان بر روی مونو (Mono) اجرا میشود و سرعت کامپایل (Compile) بالایی دارد. مونو یک نسخه متن باز از Microsoft .NET است که امکان اجرا بر روی پلتفرمهای مختلف را دارد.
یکی از ویژگیهای منحصر به فرد اسکریپتنویسی در یونیتی بصری کردن خصوصیات (Property) یک قطعه کد است. این قابلیت که به Visual Properties معروف است به ما این اجازه را میدهد تا متغیرهای عمومی که در اسکریپت خود تعریف میکنیم را به صورت بصری در ویرایشگر یونیتی در داخل پنجره اینسپکتور مشاهده کنیم و حتی آنها را تغییر دهیم، بدون آنکه بخواهیم به کد دست بزنیم. این قابلیت سرعت تست و عیبیابی کدهایمان را بالا میبرد. مخصوصا برای آن دسته از طراحان بازی که با کدنویسی آشنایی ندارند بسیار مفید است تا به راحتی بتوانند با ویرایشگر یونیتی کار کنند. برنامهنویس، مکانیکهای تعیین شده را کدنویسی میکند و متغیرهای موردنیاز برای دستکاری توسط طراح بازی را به صورت عمومی تعریف میکند و آن را در اختیار طراح بازی قرار میدهد. به این ترتیب طراح بازی بدون دردسر مکانیکها را تست و بالانس میکند.
زبان برنامهنویسی #C
زبان برنامهنویسی سیشارپ نسبت به یونیتیاسکریپت که قبلا استفاده میشده برای یادگیری کمی سختتر است و همینطور مقدار کدنویسی بیشتری میطلبد اما در عوض به برنامهنویس اجازه میدهد تا کنترل دقیق وکاملتری داشته باشد. در یونیتی اسکریپت بسیاری از تبدیل نوعهای متغیرها به صورت خودکار و در پشت صحنه انجام میشد اما در سیشارپ این اعمال پشت صحنه کمتر است و بیشتر تبدیلات را باید خود برنامهنویس انجام دهد.
در ادامه یک کد یکسان را در هر دو زبان مشاهده میکنیم:
UnityScript :
function Update() {
// Move the object forward along its z axis 1 unit/sec
transform.Translate(Vector3.forward * Time.deltaTime);
// Move the object upward in world space 1 unit/sec
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
C# :
using UnityEngine;
using System.Collections;public class Example : MonoBehaviour {
void Update() {
// Move the object forward along its z axis 1 unit/sec
transform.Translate(Vector3.forward * Time.deltaTime);
// Move the object upward in world space 1 unit/sec
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
}
برای آشنایی بیشتر با زبان سیشارپ به مقاله جامع “برنامه نویسی بازی چیست؟ از کجا شروع کنیم؟” مراجعه کنید.
آموزشهای موجود برای یونیتی
تا قبل از یونیتی نسخه 3.0 آموزش برای آن کمیاب بود و Unify Community Wiki یکی از معدود محافل موجود برای کسب اطلاعات بود. با انتشار کتاب ”اصول توسعه بازی با یونیتی” (Unity Game Development Essentials) نوشته ویل گولدستون (Will Goldstone) قضیه کمی تغییر کرد. کتاب فوق اولین آموزش منتشر شده و در دسترس برای کسانی بود که قصد یادگیری یونیتی را داشتند. پیش از این توسعهدهندگان مجبور بودند از طریق آزمون و خطا و با جستوجوی زیاد در وب کار با یونیتی را بیاموزند.
با افزایش محبوبیت یونیتی، نیاز به ایجاد یک جامعه رو به رشد برای آموزش یونیتی بسیار حس شد. رایگان شدن خود موتور بازیسازی یونیتی نیز اشتیاق ایجاد آموزش برای آن را چند برابر کرد. در ادامه به ۵ کتاب پیشنهادی برای شروع یادگیری یونیتی اشاره میکنیم:
برای استفاده از یونیتی چقدر باید هزینه کنیم؟
هیچ! بله در حال حاضر برای استفاده از موتور بازیسازی یونیتی نیاز نیست لایسنسی برای آن بخرید یا حتی کرک آن را از سایتهای ایرانی پیدا کنید. استفاده از ویرایشگر یونیتی کاملا رایگان است و شما کافیست که آخرین نسخه آن را مستقیما از وب سایت یونیتی دانلود کنید. البته به دلیل تحریمها، دسترسی مستقیم به سایت یونیتی ممکن نیست و شما باید از یک VPN استفاده کنید. اخیرا یونیتی بستری به نام یونیتیهاب (Unity Hub) تهیه کرده است که مشکل کاربران برای استفاده از نسخههای متفاوت یونیتی بر روی سیستمشان را برطرف میکند. با استفاده از این بستر که با حجم کم قابل دانلود و نصب است شما قادر هستید نسخههای متفاوت یونیتی را از طریق هاب نصب کرده و هر بار یک پروژه بازی را با نسخه یونیتی خودش اجرا کنید.
در گذشته لایسنس یونیتی تحت عنوان Unity Indie License، دویست دلار بود اما این لایسنس با نسخه کاملا رایگان Unity Free جایگزین شد. دیوید هلگاسون در این باره میگوید: “ما فکر کردیم که Unity Indie بخش عمده درآمد ما را تشکیل نمیدهد… پس تصمیم گرفتیم که آن را برداریم… چه چیزی مهمتر از اینکه یونیتی را در اختیار همه قرار دهیم.” بعدتر تمام افزودنیهای خروجی موبایل نیز رایگان شدند و شما اکنون میتوانید بازی خود را بدون پرداخت هزینه برای اندروید و iOS بسازید.
رویداد Unite
Unite رویدادی است که هر ساله میزبان توسعهدهندگان و ناشران مختلف است. این مجموعه کنفرانسها فرصت برقراری ارتباط بین افراد مختلف جامعه بازیسازی و اشتراکگذاری تجربیات، دانش و منابع را فراهم میکند. همچنین توسعهدهندگان میتوانند جدیدترین ساختههای خود را به ناشران شرکتکننده ارائه کنند. اولین رویداد Unite در شهر سانفرانسیسکو به مدت سه روز برگزار شد. آخرین دوره این رویداد در سال ۲۰۱۹ در شهر کپنهاگن دانمارک برگزار شد.
Unite کپنهاگن
در این رویداد توسعهدهندگان با مهندسان یونیتی ارتباط برقرار میکنند، به نسل جدید یونیتی به صورت Early Access دسترسی پیدا میکنند و فرصت برقراری ارتباط و حتی همکاری با دیگر توسعهدهندگان را دارند. جلسات آموزشی ارائه شده توسط سازندگان یونیتی به شرکتکنندگان کمک میکند تا بیشتر در مورد جوانب مختلف یونیتی که به آنها علاقهمندند یاد بگیرند. همچنین مهندسان یونیتی به شرکتکنندگان در عیبیابی و پرداخت پروژهشان، پیادهسازی ایدههای نو و ارائه نظرات سازنده کمک میکنند. Unite یک فرصت عالی برای توسعهدهندگان یونیتی در سراسر دنیاست تا در کنار یکدیگر جمع شوند تا از حرفهایها و از یکدیگر یاد بگیرند.
Asset Store
در سال ۲۰۱۰ یونیتی یک مارکت به نام Asset Store برای توسعهدهندگان خود راهاندازی کرد که در درون یونیتی قرار داشت و کاربران بدون خروج از محیط یونیتی میتوانستند از این مارکت برای پروژه خود خرید انجام دهند. همچنین توسعهدهندگان مستقل میتوانند از طریق این بازار پکیجهای ساخته شده خود را به رایگان یا به صورت پولی در اختیار دیگران قرار دهند. این مارکت به جامعه یونیتی این امکان را میدهد تا با روشی کاملا نوین از مهارت و استعداد خود کسب درآمد کنند. سهم یونیتی از فروش یک پکیج ۳۰ درصد خواهد بود. در این مارکت پکیجهایی با فروش بالا وجود دارد که زندگی سازنده خود را متحول کرده است. بسیاری از توسعهدهندگان با فروش پکیجهای خود پول کافی برای ساخت پروژه بلند پروازانه خود را بدست میآورند.
هم اکنون هزاران پکیج برای استفاده بر روی Asset Store قرار دارد و روزانه به تعداد آنها اضافه میشود. بسیاری از این پکیجها نیز رایگان هستند.
در انتها از شما همراهان بازیساز و بازیدوست دعوت میکنم تا نظرات و پیشنهادات خود در رابطه با مقاله فوق را با ما در میان بگذارید.
منبع
- A History of the Unity Game Engine – John Haas
محصولات مرتبط
آموزش یونیتی
این بازی درباره یک پسر و دوختر است.
سلام وقت بخیر. به نظر من اگه کسی قصد داره که توی بازی سازی پیشرفت کنه و به قول معروف بریم خارج و بتونیم بازی AAA بسازیم، یونیتی گزینه خوبی نیستش. البته این نظر شخصیه که مثلا بگیم با یونیتی جای پیشرفت نیست. و این انتخاب با خود شخص هست که از کدوم موتور استفاده کنه. ولی آنریل انجین برای شروع به نظرم خیلی بهتره و توی خارج هم بیشتر از یونیتی از این موتور استفاده میشه و کلا مسیر پیشرفت روشن تری داره آنریل انجین
سلام دوست عزیز
ممنون که نظرتون رو با ما به اشتراک گذاشتی. 🙏🏻🌹
نظر شما کاملا محترمه اما واقعیت این هست که شرکتهای بینالمللی بسیاری از یونیتی به عنوان گیم انجین برای ساخت بازیشون استفاده کردند و میکنند و بازیهای بزرگی هم با این موتور ساخته شده. با کمی جستوجو در اینترنت اسامی بازیها و شرکتها رو پیدا میکنید.
انتخاب گیم انجین کاملا بستگی به پروژه و اهداف و توانایی تیم سازنده داره.
با آرزوی موفقیت
ممنون. مفید بود
سلام دوست عزیز
خوشحالم که براتون مفید بوده 🙂
سلام با برنامه نوسی هم میشه بازی ساخت؟ من میخام برنامه نویسی زبان php رو یاد بگیرم . میشه با این زبان تو ی بعضی از برنامه های کامپیوتری هم برنامه نویسی کرد؟ مثلا الان چه بازی ساز های با زبان های php کار میکنن؟
سلام دوست عزیز
زبان php یک زبان سمت سرور هست و بیشتر برای طراحی سایت ازش استفاده میشه. هر کدوم از موتورهای بازی سازی از یه زبان استفاده میکنن. مثلا یونیتی از سی شارپ و آنریل از سی پلاس پلاس استفاده میکنه. میشه از php برای برنامه نویسی سمت سرور یه بازی استفاده کرد ولی اما انجینی سراغ ندارم که زبان اسکریپت نویسش php باشه.
یونیتی واقعاً خیلی عالیه و تقریباً تمام بازی سازان ایرانی هم از این موتور استفاده می کنن.ایشالا جای اون سه تفنگدار هم وسط بهشته.
سلام بازی دوست عزیز. دقیقا همینطور هست.
اشتراکها: ایدهها زیاد و زمان کم » مرجع آموزش بازی سازی مستقل - بازی ساز باش