آیا مرگ موتور بازیسازی یونیتی در راه است؟
![Unity Engine](https://www.digikala.com/mag/wp-content/uploads/2023/09/Unity.jpg)
یونیتی زمانی بهعنوان ناجی صنعت بازیهای ویدئویی شناخته میشد. استفاده از آن نسبتاً آسان بود و یک موتور بازیسازی/فریمورک برای چندین بازی به جای تنها یک بازی فراهم کرد. حتی تا اوایل دهه ۲۰۰۰، برخی از شرکتهای بازیسازی، بهخصوص در ژاپن، موتورهای بازیسازی مشابهی را حتی در تیمهای خود درون آن شرکت به اشتراک نمیگذاشتند! قبل از محبوبیت موتورهای بازیسازی تجاری معروف، هر بازی با موتورهای سفارشی استودیوها یا تیمهای مختلف ساخته میشد که هرکدام برای آن تیم خاص مزایایی داشت؛ اما ساخت و کار روی آن زمان زیادی میبرد و هر پورت را به یک کار دشوار و طاقتفرسا تبدیل میکرد. یکی از بزرگترین چیزهایی که یونیتی ارائه میداد، یک خط تولید نسبتاً آسان برای انتشار برای کنسولها بود که پورتها را بیشتر از کدنویسی کامل، با استفاده از ویژگیهای برنامه و کدنویسی آن تولید میکرد.
من مصاحبههای بیشماری را که در سال ۲۰۰۵ بهعنوان خبرنگار انجام دادم به یاد میآورم که در آنها مصاحبهشونده میگفت: «حالا که موتورهایی مانند یونیتی وجود دارند، همه چیز آسانتر میشود.» شرکت بازیسازی من یعنی شرکت نکروسافت (Necrosoft) از یونیتی برای هر پروژه تجاری که تا به حال ساخته، استفاده کرده است.
با این حال، من اکنون میتوانم این را با قاطعیت به شما بگویم که اگر پروژه توسعهی بازی جدیدی را شروع میکنید، از یونیتی استفاده نکنید. اگر پروژهای را ۴ ماه پیش شروع کردهاید، ارزشش را دارد که سراغ موتور بازی سازی دیگری بروید. یونیتی شرکتی نیست که بتوان به آن اعتماد کرد.
چه اتفاقی افتاده است؟ در طول چند سال گذشته، با روی کار آمدن جان ریکیتیلو (John Riccitiello)، مدیرعامل و رئیس شرکت یونیتی، این موتور به مدلهای تجاری عجیبوغریبی روی آورد که پیرامون موتوری با ویژگیهای دستنخورده و با پایداری نامنظم کار میکرد.
من ابتدا دربارهی ویژگیهای فرسایشی صحبت خواهم کرد. یونیتی قهرمانان داخلی برای ویژگیهای خود دارد. وقتی آن قهرمانان شرکت را ترک میکنند، این ویژگیها از بین میرود و از هم میپاشد. یونیتی محصولات رقیب را میخرد و سپس اگر صاحب آن محصول شرکت را ترک کند، دیگر پشتیبانی نمیشود. یونیتی یک نسخه «پایدار» از محصول خود به نام نسخه “LTS” دارد. ویژگیهای آزمایشی یا ویژگیهایی که بیشتر حالت تجربی دارند، به نسخهی بتا منتقل خواهند شد که توسعهدهندگان میتوانند در صورت کنجکاوی از آنها استفاده کنند. در حال حاضر ما در نسخه LTS هستیم که از ما میخواهد قبل از انجام هر کار دیگری یک صفحه خالی باز کنیم، در غیر این صورت موتور بهسادگی از کار میافتد و خارج میشود. این به دلیل خطایی است که یونیتی اخیراً معرفی کرده و آن را برطرف نکرده است. هر بار که پروژه را باز میکنیم چند دقیقه به آن اضافه میشود و نام آن را میتوان هر چیزی گذاشت مگر ثبات و پایداری.
آخرین خبر مربوط به این سیاست جدید یونیتی است که احتمالاً این چند روز اخبار مربوط به آن را شنیده و واکنشهای مختلفی را دیدهاید.
در پایین میخواهم به برخی از مهمترین عواملی که در این مطلب به آنها میپردازیم، اشاره کنم:
- نسخه یونیتی Unity Personal که رایگان است، اکنون بهصورت آفلاین نمیتوان از آن استفاده کرد.
- در حال حاضر تمام سطوح یونیتی، توسعهدهندگان را برای هر بازی نصبشده ملزم به پرداخت هزینه ثابت چند سنتی میکند.
- یونیتی پلاس (که در حال ازبینرفتن است) و سطوح Pro و Enterprise همگی هزینه اشتراک دارند و اکثر توسعهدهندگان حرفهای باید از آن استفاده کنند.
- سطوح مختلف تعداد دانلود و میزان درآمد مشخص میکند که شما باید چه میزان هزینه پرداخت کنید.
- یونیتی هیچوقت از حق اشتراک پول درنیاورده، همیشه از پلتفرم تبلیغات خود (که در بازیهای موبایل رایگان برای بازی کردن و غیره میبینید) پول درآورده است.
- اگر از Unity Services استفاده کنید، تخفیفی دریافت خواهید کرد.
- این پول برای کمک به مسائل runtime در زمانی است که آنها حتی نمیتوانند نسخه پایدار پایه خود را بدون مشکل اجرا کنند.
بنابراین مشکل به همینجا ختم میشود: آنها در حال حاضر حق اشتراک دریافت میکنند و حالا هزینه هر نصب روی آن اضافه شده است. اگر قرار است هزینه دیگری هم بابت آن پرداخت کنیم، پس فایده اشتراک چیست؟ چرا در آن لحظه رایگان نباشد؟
همچنین، دستهبندی این دو نوع هزینه بر عهده توسعهدهندگان است، به این معنی که یونیتی یک سری کار مدیریتی برای ما اضافه کرده است، در حالی که برای بازیهایی مانند Vampire Survivor بسیار پرهزینه است که بازی خود را با قیمتی که انجام میدهند، بفروشند. مزیت Vampire Survivor قیمت آنها بود، اکنون انجام چنین کاری کاملاً غیرممکن است. تصور کنید که یک بازی را به قیمت ۹۹ سنت تحت نسخهی Personal منتشر کنید که در آن ۳۰ درصد از هزینه را استیم برای هزینه پلتفرم خود حذف میگیرد و سپس unity برای هر نصب ۲۰ سنت میگیرد، و اکنون در این شرایط شما حداکثر ۴۶ سنت از دلار آن را دریافت میکنید. بهعنوان توسعهدهندهای که یک بازی را تحت نسخهی Personal شروع میکند، چون مطمئن نیست که تا چه حد خوب از آب در میآید، اگر به یک موفقیت بزرگ برسید، به طرز شگفتانگیزی مجازات میشوید. ناگفته نماند که در حال حاضر فروش برای توسعهدهندگان پرهزینهتر خواهد بود زیرا یونیتی خواستار یک درصد نیست، بلکه یک هزینه ثابت است. اگر قیمت بازی خود را کاهش دهیم، واحد قیمت درخواستی یونیتی کاهش نمییابد.
و حالا باندلها را در نظر بگیرید. هر نصب یا فعالسازی شامل این پرداخت خواهد شد. ما باندلهای خاصی را در itch.io برای اوکراین تهیه کردیم. این تقریباً یک میلیون بازی برای هر توسعهدهنده بود. اگر همه آنها نصب میشدند، توسعهدهندگان فقط به خاطر اینکه بازی خود را به خیریه داده بودند، ۲۰۰ هزار دلار بدهکار میشدند. این کار باعث میشود که بستههای خیریه کاملاً غیرقابلاستفاده شوند. (توضیح مترجم: یونیتی در اصلاحیهی اخیر خود توضیح داده است که پروژههایی که برای خیریهها تدارک دیده شدهاند، شامل این هزینه نمیشوند و همچنین نصب دوباره روی یک پلتفرم هم شامل این هزینه نمیشود.)
نکتهی بدتر این است که آنها هر زمان که بخواهند میتوانند این هزینه را افزایش دهند. این یعنی ما در یک مدل قیمتگذاری روبهبالا و بهازای هر نصب قفل شدهایم که هر زمان که یونیتی تصمیم بگیرد که به درآمد بیشتری برای باارزش نگهداشتن سهام خود نیاز دارد، میتواند تغییر کند. اگر این مدل کسبوکار از ابتدا بود، هیچ توسعهدهندهای تصمیم به استفاده از یونیتی نمیگرفت.
این ثابت میکند که آنها تمایل دارند تا هر چیزی را بدون هیچ اطلاعی و ناگهانی تغییر دهند. تا ماه ژانویه تقریباً ۴ ماه فاصله داریم و این تصمیم روی عناوینی که سالها درحالتوسعه بودهاند و این موضوع را در بودجه خود لحاظ نکردهاند، تأثیر خواهد گذاشت. اگر ما این گزینه را داشتیم، اکنون موتور بازیسازی را تغییر میدادیم اما ما بخش زیادی از توسعهی بازی را جلو بردهایم. موتور آنریل، تنها شما را متعهد به EULA (قرارداد مجوز کاربر) که آن را ثبتنام کردهاید، نگه میدارد، نه هر چیزی که آنها اخیراً تصمیم گرفتهاند.
میخواهم روی این نکته تأکید کنم – ما برای چنین قانونی ثبتنام نکردهایم و آن را نپذیرفتهایم. صادقانه بگویم که سطح Unity Plus که ما در حال حاضر از آن استفاده میکنیم و در حال حاضر در حال ازبینرفتن است، حتی در زمان ثبتنام هم وجود نداشت. اوه، و آیا اشاره کردم که اگر اشتراک خود را لغو نکنیم، اشتراک ما به طور خودکار به حالت Pro که گرانتر از Plus است، تبدیل میشود؟ اگر در حین ساخت بازی، توافق زیر پای شما تغییر کند، نمیتوانید برای آن بودجه تعیین کنید و اعتماد کاملاً از دست میرود. ما برای این کار برنامهای نداشتیم و این موضوع ما را بهشدت برای پروژهی بازی Demonschool که هدف ما این است که موفقترین بازی ما باشد، تحتفشار بیشتر قرار میدهد. شاید بگویید بد به حال شما، اما من باز هم میگویم که ما برای این قانون ثبتنام نکردهایم و آن را نپذیرفته بودیم ولی اکنون چارهای نداریم که بگوییم نه؛ چون به انتشار بازی نزدیک شدهایم و این طرح جدید یونیتی فقط در ۴ ماه دیگر به وقوع میپیوندد. وقتی ۴ سال روی اثری کار کرده باشید، نمیتوانید بهسادگی یک بازی کامل را در یک موتور دیگر بازسازی کنید، بهخصوص اگر فاصلهی کمی با انتشار آن داشته باشید.
یک نکتهی مهم دیگر هم در اینجا وجود دارد و آن نکته این است که اگر توسعهدهندگان از Unity Services استفاده کنند، قیمت کمتری به آنها پیشنهاد میشود. این اساساً انحصارطلبانه و ضدرقابتی است و احتمالاً به خاطر آن شکایتهایی انجام خواهد شد. حداقل قطعاً هیچ شرکت فناوری را به ارائه خدمات برای یونیتی تشویق نخواهد کرد. چه فایدهای دارد که یونیتی شما را تحتفشار قرار دهد و همچنان دستگاهها را مجبور به صدور مجوز برای محصول خود کند؟ در آینده منتظر پیشنهادهای بسیار کمتری از شرکتهای شخص ثالث باشید.
در نهایت، این طرح بیش از همه به استودیوهای مستقل و توسعهدهندگان کوچکتر لطمه میزند. اگر بتوانید هزینه سطوح بالاتر یونیتی را پرداخت کنید، هزینهی کمتری را باید برای این طرح پرداخت کنید اما برای استودیوهای مستقل اغلب منطقی نیست یا شاید استطاعت آن وجود نداشته باشد که به آن سطوح دسترسی داشته باشد. این کار نوآوری و بازیهای با محوریت هنری را که به طور خاص برای کسب سود طراحی نشدهاند، در هم میکوبد. این یک معامله پوسیده و ناخوشایند برای هر دو طرف است که تنها در صورتی برای یونیتی منطقی به نظر میرسد که آنها به اعداد نگاه کنند و فرض کنند که همه به استفاده از محصول آنها ادامه خواهند داد. خب، من فکر نمیکنم که مردم به استفاده از محصول آنها (یونیتی) ادامه دهند مگر اینکه مجبور باشند. من یکی از این توسعهدهندگان را میشناسم که گیر افتاده و تخمین میزند که این طرح جدید برای آنها ۱۰۰ هزار دلار در ماه هزینه خواهد داشت، در حالی که درآمد آنها تضمین نشده است.
یونیتی در جستجوی طلا بهشدت در حال کندن قبر خود است. همه اینها تصمیمها فوقالعاده کوتهبینانه است و به رشتهای از تصمیمات عجولانه و تفکر ضعیف از طریق طرحهای یونیتی در چند سال اخیر اضافه میکند. جای تعجب نیست که رایتل هفته گذشته ۲ هزار سهم خود را به فروش رساند. جای تعجب نیست که ریکیتیلو (مدیر یونیتی) هفتهی پیش و قبل از اعلام این خبر ۲۰۰۰ واحد از سهام خود را فروخت.
منبع: این یادداشت توسط برندن شفیلد (Brandon Sheffield) در سایت Game Developer نوشته شده است.
بقول یک استادی بازی سازی در ایران به قبل و بعد یونیتی تقسیم میشه و حالا با این قانون جدید خیلی از بازی ها نابود میشن! از این به بعد برای ایجاد فایل نصبی (ویندوز-موبایل-کنسول) باید یک فایل Unity Runtime از یونیتی دریافت کنیم و اون مشخص میکنه که بازی در چه تعداد نصب و اجرا شده.
البته با توجه به اینکه توی ایران ما کپی رایت نداریم، شاید یونیتی نتونه از محل نصب از طریق اپسنتر های داخلی مثل بازار و مایکت از شرکت های ایرانی پولی دریافت کنه، ولی ممکنه کاری کنه که بازی روی گوشی و سیستم اشخاص نصب نشه !