В начале разработки игры иногда встаёт вопрос выбора технологии, иногда находятся люди, которые настойчиво агитируют за использование unity 3d. Оно и понятно - красивый сайт с рекламными лозунгами, примеры выпущенных продуктов. Но на практике я встречаю не очень лестные отзывы о разработке на юнити. Рассмотрим преимущества и недостатки юнити относительно нативной разработки.
Преимущества:
- Кроссплатформенность - юнити поддерживает широкий спектр платформ из коробки
- Полный набор инструментария в одной среде
- Быстрая разработка, быстрое изучение
Все преимущества хорошо расписаны на официальном сайте
юнити. Теперь рассмотрим недостатки на примере моего личного опыта
использования и по отзывам других пользователей.
Недостатки:
- Закрытый исходный код и проприетарная модель - это означает что вы зависите от разработчиков юнити и можете пользоваться только тем, что они успели реализовать. Ну скажем использовать свою физику, свой звук, синтез речи, работу с железом будет не так просто и связано со сложностями.
- Каждую новую игру вы начинаете писать по сути с нуля, переиспользовать наработки проблематично. При апдейте графики в вашей игре, вы будете вставлять каждую текстурку ручками ( если посмотреть вакансии по юнити, половина из них - написание системы интеграции контента или ресурсной системы).
Теперь немного отзывов из сети:
- Unity tends to be somewhat of a memory hog. It takes more memory than you think it should; probably due to caching things like textures. This can cause problems debugging and even OOM errors on mobile devices
- Performance problems can be hard to locate, address, and fix since you are dealing with a black box (no source code)
- Unity's own Asset Server costs a pretty penny. And it sucks, really, really hard. It doesn't even have branching. While Unity3D theoretically supports 3rd-party SCM systems, using them is wrought with peril too. I've seen import settings "magically" change after SVN commit, or all objects' parameters disappear after using Perforce. All these can be worked around, but anyway, Unity3D + Source control = pain.
Ещё из личного опыта:
- Пришлось отказаться от юнити на одном проекте, когда начались проблемы с памятью. Сейчас это не так актуально, т.к. слабые девайсы вытесняются с рынка.
- Ребята (студенты) писали сравнительно маленькую игру на юнити, в целом они успешно её сделали. Но их впечатления свелись к тому, что они больше не хотят использовать юнити.
Комментарии