قسمت اول یک مصاحبه کاربردی با مهندس فیروزآبادی برای آشنایی با Unity و زیر و بم بازی سازی برای اندروید و ios از آموزش تا بازار کار و رنج حقوق ها و نحوه Freelance یا کار آزاد , مهندس فیروز آبادی و تیم شون در حال راه اندازی استدیو بازی سازی خودشون هستند و نکات جالبی راجع به ساخت گیم با Unity و #C برای پلتفرم های مختلف از موبایل تا پلی استیشن را بیان می کنند.

قسمت دوم این مصاحبه را از اینجا مشاهده بفرمایید.

لینک رفرنس Unity برای آموزش

وبسایت گیم جابز و پونیشا برای پیدا کردن پروژه به عنوان آزادکار یا freeelancer

 بازی Falling ساخنه تیم چیلی گیم و مهندس فیروزآبادی

وبسایت چیلی گیم

گیت هاب چیلی گیم

آرشیو دانلود Unity که متاسفانه IP ایران مسدود می باشد.

 

تصاویری از بازی Falling

 متن مصاحبه:

کارشناسان.نت : سلام خدمت دوستان عزیز. امروز در خدمت مهندس فیروزآبادی هستیم و قرار است که درباره ی ساخت گیم با unity یا c# و یا visual studio صحبت کنیم. مهندس، در خدمت شما هستیم.

برنامه نویس unity : سلام خدمت تمام مخاطبان و بیننده های شما. محسن اصغری هستم. طراح، برنامه نویس بازی های تحت گوشی با موتور unity و زبان برنامه نویسی c#. در خدمت شما هستم. 

س-. متولد چه سالی هستید و در کدام دانشگاه تحصیل کردید؟

برنامه نویس unity : من متولد آذر 73 هستم و در دانشگاه شهاب دانش قم تحصیل کردم. در حدود سه سال است که کار گیم را انجام می دهیم هم صورت جدی، هم به صورت فریلنسر، هم خودمان producer کارها هستیم، در زمینه محتوای گیم برای گوشی ها.

کارشناسان.نت : مهندس از اول کار برنامه نویسی را برای گیم شروع کردید یا قبل آن نیز با کار دیگری برنامه نویسی انجام دادید؟

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

کارشناسان.نت : بسیار عالی. به عنوان اولین سوال. ما می خواهیم فرض کنیم که یک جوانی می-خواهد الان این کار را شروع کند و علاقه مند است که وارد دنیای گیم سازی شود، می خواهم از الف کار شروع کنی، کاری که شما در حال حاضر به عنوان یک حرفه انجام می دهید، کسی که می-خواهد وارد این حرفه شود چطور باید اثقدام کند و قدم به قدم های کار چیست؟ استارتش را چطور باید بزند، نرم افزارهایش چیست؟ مثلا apple نیاز به apple ID دارد یا نیاز به proxy دارد؟

برنامه نویس unity : خب برای این که یک جوان خوش ذوق و با انگیزه ی پیشرفت و به عنوان بازی سازی بخواهد شروع کند، به نظرم پیش نیازش 100% زبان برنامه نویسی هست، می تواند دو تا فیلد موتور را جلو برود. خیلی ها ابتدا به این سمت میروند که چه موتوری را انتخاب کنند. بعد بخواهند چه زبانی را انتخاب کنند و در این ها میمانند. چیزی که حتی برای خود من هم پیش آمده است در زمانی که داشتم شروع می کردم. می توانم پیشنهاد بدهم که برای شروع، برای بازی سازی از engine و موتورهای خیلی کوچک مثل build box استفاده کنند. یک game maker  و این که بفهمند بازی چیست و چه چیزی از بازی می خواهند.

یک کاراکتری را حرکت بدهند، یک داستانی را جلو ببرند، و اصلا  چیزی را خلق کنند، پیشنهاد می کنم اول با موتورهای خیلی کوچک شروع کنند. بعد از این که آن کار را master کردند، game maker  را یا آن build box را که الان خیلی با آن مانور می دهند، مثلا شرکت Voodoo یا شرکت Ketchapp به جرات می توانم بگویم 70% بازی هایشان با build box هست. این را به جرات میتوان گفت. چون در build box خیلی سریع میتوان مدل ها، glue printهایی که در ذهنتان دارید را به محصول و بازی تبدیل کنید. البته اگر به بازی به چشم یک محصول نگاه کنیم. Build box برای شروع خیلی عالی است. برای مخاطبان شما که برنامه نویسی یک مقدار بلد هستند، یعنی C# را کار کردند ولی می خواهند فیلد خود را انتخاب کنند. آیا می خواهند با آن ASP کار کنند.

یا این که نه می خواهند Windows Platform کار کنند و یا این که نه می خواهند فیلد game را انتخاب کنند. که حالا اگر بخواهند فیلد گیم را انتخاب کنند، 100% باید unity رو انتخاب کنند یا این که مثلا cry engine را انتخاب کنند. پس قدم اول این است که شما با محیط بازی سازی آشنا شوید، ببینید که بازی سازی چیست، سبک ها را بشناسید و passion شما از همان ابتدا بازی باشد. چون بازی سازی خیلی دردسر دارد. البته دردسر شیرین اگر علاقه داشته باشید! من خودم روزی 18 ساعت روی بازی های گوشی کار می کنم، روی platform گوشی و می توانم بگویم که اگر چیزی به جز علاقه باشد همه کارها fail میشود.

فقط باید علاقه داشته باشید در این کار. پس قدم اول این است که بازی ها را بشناسید. قدم دوم این است که شروع کنید با یک موتور کوچک مثل build box  به ساخت بازی های کوچک hyper casual، بعد اگر فراتر از این ها بودید، برنامه نویسی بلد بودید، اگر C# بلد بودید، دانش C# داشتید باید موتور unity را انتخاب کنید، یا Cryengine، اگر با C++ کار می کنید میتوانید یک موتور unreal را انتخاب کرده و از ساختش لذت ببرید. در ابتدا خیلی میتواند اذیت کند تا این که به شما یک سری جواب ها را بدهد. ولی این چند تا step قدم های خیلی بنیادی است.

چون کسی که می خواهد یک بازی را بسازد، 100% به یک تیم دو نفره احتیاج دارد، اگر تجربه کار 3D رو بخواهید انجام دهید که باید با نرم افزارهای 3D کار کرده باشید. بخواهید کار 2D انجام دهید تجربه ی کار hand painting و کارهای طراحی دو بعدی هم باید انجام داده باشید اگر بخواهید freelance کار کنید یا اینکه بخواهید انفرادی کار کنید به چنین آپشن و پیش نیازی هم احتیاج دارید که کمی دانش نرم افزارهای طراحی را نیز داشته باشید. 

کارشناسان.نت : بازی هایی که شما می سازید فقط روی گوشی موبایل اجرا می شود یا روی platform های دیگری هم کار می کند؟

برنامه نویس unity : ببینید، خودم به عنوان freelancer، مشغول به کار هستم. بله، پروژه هایی هم انجام دادیم که برای کامپیوتر هم بوده است، دورادور به عنوان lead. ولی می توانید از این موتورهایی که انتخاب می کنید یا بازی انتشار می دهید می توانید خروجی هم بگیرید برای پلتفرم-های گوشی یا پلتفرم کامپیوتر. بخواهیم برای Nintendo Switch، هر پلتفرمی که شما احتیاج دارید، متناسب با موتوری که در حال استفاده  از آن هستید، بله میتوانید چنین کاری نیز انجام بدهید، کاری که خودم انجام داده ام، بازی Falling هست در کافه بازار که جدیدا  lunch شده، soft launch شده. فعلا 2000 کاربر فعال داریم که دارند بازی می کنند و بازی بعدیمان هم اسمش ونومیک است که داریم روی آن هم کار می کنیم که بازی ای است که برای اولین بار به نظرم در ایران playerها میتوانند در آن سرور بسازند و با بقیه سرورها به اشتراک بزارند، یعنی playerهای دیگر در سرور شما بازی کنند و یک اکوسیستم خیلی جالب multiplayer در آن پیاده سازی شده است.

کارشناسان.نت : ولی ما برای اینکه بخواهیم این قضیه را پله پله جلو ببریم. الان فرض کنید که من خودم یک برنامه نویس C#، Visual Studio 2019 هم دارم. برای اینکه بخواهم برای موبایل فرضا اندروید یا حتی IOS بازی بسازم، اولا شدنی است که بازی بسازم با همین visual studio یا نرم افزار دیگری نیاز دارد، این چطور است؟

برنامه نویس unity : شما اگر C# کار کرده باشید، دو گزینه دارید یا همانطور که قبل تر هم گفتم، یا باید Cryengine رو ببرید جلو یا باید unity رو ببرید جلو که unity هم بازار کارش در ایران خوب است و هم در دنیا و هم کارها برای گوشی خیلی optimize شده است و SDKها همگی به هم می خورد. 

کارشناسان.نت :  unity را من می دانم برای خود Microsoft هست، Cryengine که گفتید هم برای مایکروسافت است؟

برنامه نویس unity : Cryengine نه. آن ها مستقل هستند. می توانند دانلود کرده و استفاده کنند. این هم موتور قوی ایست. بازی ای که با این موتور ساختن، اگر حضور ذهنم خوب باشد، می توانم به شما Crisis را معرفی کنم. بازی خیلی شاهکاری در زمان خودش بود ، Far Cry و  Crisis ، این ها بازی های معروفی هستند که با Cryengine ساخته شدند. Unity هم بیشتر روی گوشی ها مانور می دهد. یعنی شما اگر visual Studio داشته باشید، دانش C# داشته باشید، می توانید از دانشتان با موتور unity استفاده کنید. به شما پیشنهاد می کنم همین الان اگر دارید نصب کنید، unity را نصب کنید، هیچ پیش نیازی به نرم افزارها و دانش دیگری ندارد.

کارشناسان.نت : unity همراه با Visual Studio، by default نصب نمیشود درست است؟ یا پکیج هایش؟

برنامه نویس unity : نه نصب می شود. اگر شما unity را داشته باشید، unity hub را داشته باشید که جدیدا کلا فوکوس کرده رو unity hub، موقعی که نصب می کنید، میبینید که می توانید تیک نصب شدن Visual Studio را هم بزنید، برای شما نسخه personal را نصب کند، برای ادامه کار احتیاج داشته باشید به ابزار analyze و ابزار code clone  و چیزایی که در ID ی Visual Studio هست، اگر licenseش را داشته باشید، میتوانید از آن استفاده کنید، ولی به صورت پیش فرض برای شما نصب می کند.

کارشناسان.نت : فقط الان نکته ای که دارد این است که ساخت این اپ مثل Apple نیاز به Apple ID دارد یا نه؟

برنامه نویس unity : ببینید، برای شروع ساخت شما احتیاجی ندارید که از Storeهایی که قرار است در آن ها publish کنید، IDای تهیه کنید یا هزینه ای پرداخت کنید. شما می توانید کارهایتان را بسازید. برای قدم اول محصولتان را تولید کنید. بعد تصمیم بگیرید که برای چه مارکتی میخواهید این را publish کنید. اگر بخواهید در مارکت داخلی publish کنید اگه ورژن برای پلتفرم PC را می خواهید بیرون بدهید به شما پیشنهاد می کنم که در مارکت آریو مشابه استیم هست. در آنجا کارتان را برای PC توسعه بدهید، برای کارهای اندروید مارکت داخلی میتوانید در بازار بزارید، مایکت بزارید، البته برای گذاشتن در بازار شما احتیاج دارید که مبلغی را پرداخت کنید.

ولی سایت های خارجی مثل Google play یا app store بله احتیارج دارید که اکانت developer آن محصول را نیز داشته باشید که نسبت به پول ما یک مقدار هزینه ی بالاتری دارد.  برای کسانی که میخواهند کار کنند و مستقل هستند، یک مقدار هزینه هایش تند است. اگر برای Xbox بخواهید بدهید یا برای Playstation3 بخواهید بدهید یا برای Playstation4. آن ها نیاز به یک سری کیت ها دارند که در ایران نمی توان استفاده کرد. حتی باید فیزیک دستگاهتان نیز در خارج از ایران باشد. ولی بهترین بازده ای که می توانیم داشته باشیم و شما بتوانید از آن امرار معاش داشته باشید، بازی های موبایل و گوشی است.

می توانید آن را توسعه داده و از آن امرار معاش کنید چه به صورت Indi چه به صورتی تیمی و گروهی یا شرکتی. فعلا در حال حاضر هزینه Google developer، 25 دلار است که شما می توانید این را داشته باشید و برای app store هم اگر اشتباه نکنم 99 دلار است که شما می توانید حساب developer را داشته باشید و از آن استفاده کنید.

کارشناسان.نت : مهندس، چیزی که گفید برای زمان publish است یا در زمان develop هم نیاز دارد؟

برنامه نویس unity : خیر. برای develop کردن احتیاجی به داشتن آن ندارید. شما بازی را می-سازید و اگر شما احتیاج داشته باشید که این بازی را به یک publisher می دهید.

کارشناسان.نت : بعد publisher داخلی که باید به بازار بدهند باز هم نیازی هست به google این پول را بدهند یا نه؟

برنامه نویس unity : برای بازارهای داخلی، بازار به عنوان publisher عمل نمی کند. Publisher مانند Voodoo یا  Ketchappو مدل داخلی مانند فن افزار که می توانید محصول خود را به آن ها داده و محصولتان را publish کنند. حالا درصدی نیز بابت این کار از شما می گیرند. چون ساخت محصول یک بخش است که باشه میگیم عالی ساخته شده، ولی اگر بخواهید از آن امرار معاشی داشته باشید و بخواهید آن را توسعه دهید و در این کار بقا داشته باشید، نیاز دارید به یک publisher و یک قلک که بازیتان را در مارکت ها بگذارید. خودتان به تنهایی می توانید انجام دهید ولی متاسفانه چون بازارهای ایران یک مقدار در بعضی جاها مافیا دارد کمی سخت است که بخواهید یک level بالا بیایید و خودتان را مطرح کنید و بگویید سلام من این بازی را ساختم. نه نمی توانید حتی یک سلام هم کنید در بازار. اگر publisher نداشته باشید مانند فن افزار یا Voodoo یا Ketchapp کمی برایتان سخت خواهد شد.

کارشناسان.نت : منظورتان این است که کار تبلیغات را انجام می دهند یا نه فقط مثلا در بازار می-گذارند تا کسی برود آن را دانلود کند.

برنامه نویس unity : خیر. این را که خودتان هم می توانید انجام دهید. 

کارشناسان.نت : پس publisherها چه کاری انجام می دهند؟

برنامه نویس unity : publisherها بحث مارکتینگ را در دست می گیرند و آن ها را انجام می-دهند. برای مثال، اگر شما بخواهید با Voodoo کار کنید و پارتنر شما Voodoo یا Ketchapp باشد، به محض آن که کار را publish می کنید، می توانند آن را پخش کنند. در YouTube برایتان تبلیغ بگذارند و یا در google ، adverse بگذارند.

کارشناسان.نت : شما خودتان با یکی از این شرکت ها کار کرده اید؟

برنامه نویس unity : حقیقتا خیر. ما می خواهیم خودمان کار publish کارهایمان را به دست بگیریم تا اینکه به دست شرکت دیگری دهیم. اگر مستقل هستید، یک مقدار هزینه هایش بالا است.

کارشناسان.نت : ولی مستقل میشود این کار را انجام داد؟

برنامه نویس unity : بله. هیچ منعی از این بابت وجود ندارد که شما خودتان بخواهید کارتان را توسعه دهید، تیم جمع کنید برای ساخت و تولید و publish کردن. خودتان نیز می توانید publisher باشید، ولی یک مقدار هزینه ها بالا است. مخصوصا، تبلیغات. چرا که تبلیغات یک level بالاتر از چیزهای دیگر است تا شناخته شود. شاید organic کم بتوانیم بگیریم، اما به محض اینکه به دست publisher و یا یک holding بیفتد خیلی بالا میرود.

کارشناسان.نت : حال به بحث فنی ای که با هم داشتیم بازگردیم. آن طور که از حرف های شما متوجه شدم، با Visual studio و unityای که کنار آن نصب می کنیم و با همه ی packageهای داخل خودش، ما می توانیم هم برای desktop و هم برای android و حتی برای PS4 و PS3 بازی بسازیم. و گفتید که PS4 و PS3 فقط نیاز دارند که حتما دستگاه هایشان خارج از کشور وجود داشته باشند. به خاطر مشکلاتی که هست.

برنامه نویس unity : بله. Developer kitهایشان هم نیاز است که خارج از کشور باشد. و برای IOS هم که شما باید سیستم عامل Mac هم داشته باشید. و OS خود شرکت Apple را هم داشته باشید ولی برای شروع بخواهید با اندروید و ویندوز کار کنید راحت تر است. زمانی که در کار پیشرفته شوید احتیاج دارید که کیت هایی را برای PS4بگیرید که حالا بعید بدانم.

در بازی های ایرانی شمشیر تاریکی که publisher آن فن افزار است،  در PS4 هم گذاشته شده است. یا publisher بازی مورتال که جدیدا هم آمده از Dead Mage، نیز فن افزار بوده است. حتی برای آن Nintendo Switch هم گذاشته اند که یک کار خیلی باحالی است. میتوانید با چنین شرکت-ها و اشخاصی هم کار کنید برای آن که کارتان خیلی مطرح شود که آن ها درصدهای خودشان را نیز می گیرند. ولی برای شروع، هیچ منعی نیست که شما یک چیزی داشته باشید که بگوییم این باعث می شود که توسعه ندهیم. نه، هر موتوری را که بخواهید، می توانید توسعه دهید، استفاده کرده و publish کنید.

کارشناسان.نت : اگر ما بتوانیم به صورت عملی هم ببینیم و اگر از روی دسکتاپتان بتوانید چیزی به ما نشان دهید، خوب است.

برنامه نویس unity : این محیط unity است.

کارشناسان.نت : یعنی محیط unity جدا از Visual Studio است؟

برنامه نویس unity : بله. شما یک محیط برای تعامل با بازیتان و محصولی که در حال ساخت آن هستید، دارید. در اصل، compile کدهایی که نوشته اید، با unity انجام می شود. Visual Studio بیشتر برای تعریف scriptها، classهایی که در حال انجام آن هستید، است. چون بعضی از کدهایی که مثلا در Windows Platform می نویسید، یا profiler خود Visual Studio، در unity کار نمی کند. این را بگویم که compile آن با خود موتور unity است. بازی ای که در حال مشاهده آن هستید که در حال توسعه آن هستیم بازی Venomic است که دومین بازی ما است.

هم backend و هم frontend کار با خودمان است. این صفحه اصلیش است که شما می-توانید هم محیط unity را ببینید که به چه شکلی است. این قسمت hierarchy کار است و این قسمت ease factor. این نوار ابزارها و نوارابزارهایی که در قسمت بالا است برای دیدنش. البته یک نکته ی خیلی مهمی که unity دارد، قسمت profiler آن است که یک Profiler خیلی قوی دارد. که در اینجا می بینید که چقدر دارد منابع از کاربر، مصرف می کند. زمانی که play می کنیم، تمام ریزه های کار را به ما نشان می دهد. حتی UI کار را به ما نشان می دهد که چقدر دارد استفاده می شود.

چه چیزهایی در کجا در حال رندر شدن است، چقدر نت دارد مصرف می شود. فکر می-کنم، Profiler کار یکی از مهم ترین بخش هایی باشد که در این نرم افزار با آن کار داریم. برای اینکه کارمان خیلی optimize شود. بخش memory کار، حتی صدا، حتی ویدیویی که می خواهد در آن پخش شود، اگر فیزیک در بازی داشته باشیم و بخواهیم فیزیک ها را نگاه کنیم، اگر سه بعدی کار می کنیم، سه بعدی و اگر دوبعدی کار می کنیم، دوبعدی را می توانیم ببینیم. نتورک، جزییات، تمام چیزهایی که ما فکر می کنیم که کاربر با آن در تعامل است، همه را می توانید ریز به ریز در این قسمت نگاه کنید یا اگر احساس کردید جایی از کار مشکلی دارد، می توانید روی آن کلیک کرده و ریزجزییات آن را در این پایین ببینید. Thread هایی که در حال انجام شدن در آن است، سیستم jobای که در آن است، حتی تک متدهایی که توسط شما زده شده کاملا به وضوح قابل مشاهده است.

کارشناسان.نت : برای کسی که بخواهد کار develop انجام دهد، config سیستمش چطور باید باشد؟ مثلا فرض کنیم روی یک لپ تاپ با رم 16G، جواب می دهد یا Config خاصی نیاز دارد؟

برنامه نویس unity : unity، خود یک system request برای انجام کارها دارد، البته این خیلی بستگی دارد به کاری که شما انجام می دهید. اگر بخواهید کار 3D انجام دهید، 100% به یک سیستم قوی نیاز دارید. اگر بخواهید کارهای 4a انجام دهید به یک سیستم قوی و گرافیک و رم و CPU  خیلی سنگین نیاز دارید. ولی برای کار گوشی خیر. یک سیستم با رم 4 و گرافیک 2G و CPU Corei3 فکر می کنم مناسب باشد و جواب می دهد.

کارشناسان.نت : قسمت کدش را می توانید به ما نشان دهید؟

برنامه نویس unity : بله. مثلا این panel سرور است که می توانم در موتور به شما بگویم. در UI بخش server. این scriptای است که برای panel سرور نوشته شده که می توانید ببینید چه چیزهایی در آن import شده است. این کدی است که برای server tab زده شده است. نشان می دهد که سرور چه کارهایی انجام می دهد. قابلیت جالبی که unity دارد، شما می توانید objectهای فیلد public خود را چون همه چیز در unity، game object است، می توانید به script خود نسبتشان بدهید. یعنی هر چیزی که شما بکشید اگر از نوع game object باشد، می-توانید به آن نسبت دهید. یا می توانید اگر یک type خیلی خاصی داشته باشید، در این جا پیاده-سازی کنید. Drag and drop کرده و unity برایتان شناسایی کند که قرار است با چه چیزی کار کنید.

در این جا می بینید که یک tab سرور تقریبا 300 خط کد دارد. ممکن است patternهایی که می-نویسید مقداری در unity نسبت به کارهای دیگر زیاد شود. چون نیاز است که یک سری موارد در آن چک شود، یک سری از بین برود، یک سری پس از از بین رفتن، دوباره ساخته شود. به همین دلیل مقداری حجم کدتان بالا می رود. اگر بخواهم نمونه ای با حجم بیشتر نشان دهم، chat room ما حجم بسیار بیشتری از این ها دارد و 900 خط کد دارد. مورد جالب بعدی ای که در unity وجود دارد، شما می توانید، به تمام اجزای داخل موتورتان دسترسی داشته باشید.

یعنی شما قابلیت generate که خود C# دارد، می توانید دسترسی داشته باشید که یک class بسازید و از آن class استفاده کرده و به آن قابلیت ها دسترسی داشته باشید. در unity، سه مورد خیلی مهم برای اجرا است مانند نوستالژی static void main در C#، در متد start، اولین بار، یک بار کل بازی و تمام startهایی که شما کار کردید همگی یک بار اجرا می شوند. در update نسبت به         scale time شما است که update می شود که هر چند میلی ثانیه یک بار، موقعی که کار شما disable و enable می شود. هر کاری که شما انجام می دهید را می توانید مدیریت خیلی خوبی روی آن داشته باشید.

کارشناسان.نت : گرافیک در داخل خود unity انجام می شود یا قسمت های گرافیکی آن را باید با چیزی مانند 3DMax یا Photoshop و مانند این ها درست کرد و بعد داخل unity وارد کرد؟

برنامه نویس unity : کار بسیار خوبی که unity انجام داده است، این است که از فایل های زیادی پشتیبانی می کند. یعنی اگر شما مستقیم Blender کار کنید، و این فایل blend را راحت روی موتور بیاورید، و با همان پسوند blend استفاده کنید یا حتی فراتر از آن، اگر شما فایل psc یا psb، می توانید import کرده و از آن استفاده کنید. در حال حاضر در موتور برای ویرایش، 100% نیست که بخواهید یک object را بسازید، ولی در آپدیت سوم 2018، پکیجی آمده است که بتواند مش ها را تغییر دهد، کارهای 3D و 2D را تغییر دهد.

چنین ابزار مینیممی برای تغییر موارد جزیی و نه کلی هست. تنها دسترسی ای که می توانید داشته باشید برای یک کار، به عنوان مثال، می توانید یک رنگی را تغییر داده، یک material و یا یک action را به آن اضافه کنید ولی نمی توانید چیزی را در آن خلق کنید. نمی توانید یک آیکونی را خلق کنید. ولی جدیدا میتوانید فایل های 3D خود را مقداری دستکاری کنید. می توانید پکیج های مخصوص کار با 3d را نصب کنید و کارهای 3D خود را انجام دهید، تغییر دهید. اگر جایی cheap و بد شده می توانید آن را تغییر دهید. ولی به صورت کامل خودش ابزار ویرایش ندارد.

کارشناسان.نت : فرض کنید که به عنوان مثال ما در بازیمان یک توپ داریم و به حالت انیمیشن می خواهد از نقطه x به نقطه y برود، باید برایش کد بنویسیم یا انیمیشن آن ساخته شده و وارد unity می شود؟

برنامه نویس unity : خود unity ابزار انیمیشن دارد و شما می توانید در آن انیمیشن کار کنید در تب animator . حتی می توان از جایی capture کرده و فایل capture خود را در آن بریزید. ولی برای sample کاری که شما سوال کردید، برای این که یک توپ جابه جا شود، من سعی می-کنم کد استفاده کنم. اگر بخواهد خیلی بهتر حرکت رفتن آن simulation شود، باید animation بزنید. ولی برای جابه جا شدن یک object برای آن که یک transition رخ دهد، انیمیشن های بین صفحه ای بخواهد رخ دهد، ترجیح می دهم که از کد استفاده کنم. چون انیمیشن کنار کاری که دارد انجام می دهد، مقداری فایل اضافه هم می سازد. اما با کد نویسی به راحتی این کار انجام می شود. تابعی هم که این کار را انجام می دهد، تابع move toward که یک vector3 را تغییر می دهد که باید در متد update هم باشد.

این کار اگر با کد انجام شود، هم سرعت بالاتری دارد، هم شما خیلی راحت ترید. اگر بخواهید انیمیشن همین را انجام دهید، ابتدا باید یک فایل animator بسازید، سپس باید به time line آن رفته time line حرکت آن را بسازید، سپس باید برای آن key گذاشته و مشخص کنید که چه موقع باید حرکت کند و .... ولی من ترجیح می-دهم اگر تصاویر ساده هستند، با کد این موارد را انجام دهم. حالا در حد یک چرخش رندم می توان این موارد را با کد انجام داد. ولی در موارد پیشرفته، برای یک انیمیشن خیلی خاصی بخواهد انجام شود، 100%  باید از time line و animator استفاده کرد.

کارشناسان.نت : ایده ی بازی خودتان را توضیح می دهید یا محرمانه است؟

برنامه نویس unity : شما اگر به عنوان فریلنسر یا indie کار می کنید، یا استخدام شرکتی هستید، 100% از شما NDA (تعهد منع انتشار اطلاعات) می گیرند که هیچ طرحی را نباید در هیچ شرکت و یا تفکری افشا کنید. چون بازی سازی موردی است که باید تا زمان publish شدن 100% نو بماند. چرا که ایده ها را سریعا می توان ساخت. بازی ای که شما مشاهده می کنید بازی Venimic است که تیم خودمان روی آن کار می کند. Game play این بازی این صورت است که دو حالت وجود دارد که یا gamer آفلاین است که می تواند به صورت آفلاین آن را استفاده کند و اگر بخواهد به صورت آنلاین بازی کند، برای شما سرور را run می کنم. اگر به بازی های multiplayer علاقه مند باشید، هم می توان برای unity، sdk نوشت هم اگر دانش JavaScript داشته باشید، با nodjs.

کارشناسان.نت : سرورش را با nodjs نوشتید. درست است؟

برنامه نویس unity : بله

کارشناسان.نت : یعنی سمت سرور nodjs است و سمت client هم با C# کار می کنید، درست است؟

برنامه نویس unity : حال سرور را برایتان بالا میاورم که ببینید. فعلا در حالت local است. البته این serversهایی بود که ما ساختیم که مقداری مرجع است برای کل بازی هایی که ما ساختیم. یعنی هر کسی که این بازی ها را انجام می دهد، سکه هایی که داخل بازی است، داستان هایی که داخل بازی دارد را می توانیم روی بازی بعدی اعمال کنیم و زمانی که ما سرور را run کنیم، اگر سرور را احتیاج داشتند، می توانند API را از ما بگیرند و از API ما در بازی خود استفاده کنند. SDK ما را دانلود کرده و در بازی خود پیاده سازی کنند.

بازی Venomic دو قسمت دارد: قسمت آفلاین کار که به عنوان farm کار است که شما می توانید در بازی خود farm داشته باشید، یک سری سکه ها را به دست بیاورید و بعد با این سکه ها برای خود سرور بسازید. سیستم پروفایل و messenger داریم. حال من gameplay آفلاین را برای شما اجرا می کنم. یک بازی hyper casual کوچک است. البته یک مقدار از hyper casual بیشتر است. شاید بیشتر midcore باشد. برای شما عددی نمایش داده می شود، شما باید به تعداد مقدار نشان داده شده، روی آن کلیک کنید تا به مرحله ی بعد بروید.

سپس مرحله ی بی نهایت است که میتوانید تا مرحله n نیز پیش بروید. هیچ محدودیتی وجود ندارد. Level و coinهایی که از هر مرحله جمع کرده اید در بازی قابل مشاهده است. می توانیم زمان غیب شدن کار را کاهش دهیم. سرعت را کم کنیم. می-توانیم یک گزینه را کلا حذف کنیم. اگر کلیک ها را اشتباه بزنید و شانس نداشته باشید، از لولتان کم می شود. تا جایی کم می شود که ممکن است حتی به منفی هم برسد. یعنی امتیاز شما با لول است. می توانید کار را در هر mission، reset کنید. هر missionای که پاس می شود، به عنوان gift، Bounce بهتون شانس مجدد یا جایزه یا موارد دیگه می دهد. و کنار این ها به صورت رندم سکه هم می دهد.

کارشناسان.نت : با این سکه ها چه کاری می توان انجام داد؟

برنامه نویس unity : با سکه ها می توان در tab سرور، در my server، خودتان سرور بسازید. 

کارشناسان.نت : یعنی خود بازیکن ها سرور بسازند؟

برنامه نویس unity : بله

کارشناسان.نت : با این سرورها چه کار می توان انجام داد؟

برنامه نویس unity : به عنوان یک bet یا شرط بندی می توان روی آن حساب کنیم. میتوان یک اسمی برای آن انتخاب کرد، می توان مشخص کرد که تا چند روز فعال باشد که هر چه تعداد روزها بالاتر برود باید هزینه ی بیشتری بدهید. لول شما از 10 سرور شروع می شود تا بی نهایت. یعنی شما هر چقدر که بخواهید می توانید برایش تعداد level بسازید. بستگی به خودتان دارد، می خواهید مشخص کنید که 10294 مرحله داشته باشد و ما یک cruise control برای آن گذاشته ایم که نتوانند مراحل را خیلی راحت و یا سخت کنند.

یعنی شما در 1389 لول می توانید 417، chance و برای reset، 694، برای minus (کم کردن objectهایی که روی آن کلیک می کنید) یک مقدار خاصی می توانید بگذارید. زمانی هم که شما سرور خود را می سازید، دیگران هم می توانند از سرور شما استفاده کنند، می توانند ببینند چه کسانی در آن سرور هستند، می توانند لیستی از کسانی که در آن سرور نفرات برتر هستند را مشاهده کنند، می توانید دوباره جوین شده و رقابت کنید. یک leaderboard هم داخل هر سرور تعبیه شده است که می توانید از هر سروری که دوست نداشتید لفت دهید.