Blackberry Witch. Почему Unity?
В прошлых постах мы упоминали скриншот из редактора.
Да. Как верно подметили некоторые пользователи: мы используем Unity.
К Unity мы пришли рассматривая множество вариантов движков, фреймворков и библиотек.
Нам было необходимо:
1. Возможность кроссплатформенной сборки для iOS, Android, Mac, Windows.
2. Наличие готовых инструментов для работы со спрайтами, импорта и преобразования текстур и сборка атласов.
3. Наличие системы сцен и пользовательского интерфейса
4. Наличие готовых инструментов для работы со звуком
5. Наличие поддержки системы частиц и шейдеров
6. Хорошая документация по api
7. Большое сообщество, повышающее вероятность того, что кто-то уже сталкивался с той или иной нашей проблемой
На втором плане, но не менее важно
8. Готовые инструменты для работы со скелетной анимации
9. Наличие сносного менеджера сцен
10. Система предметов, системы квестов, сохранения состояний при переключений сцен
В нашей команде один программист и так же он занят в разработке анимации и пользовательских интерфейсов, мини игр, загадок и паззлов, это приводит к значимым ограничениям в вопросе разработки.
Наша художница ранее работала с dragon bones. Тот поддерживает Unity, Egret и Cocos2d.
Собственно Unity
Плюсы:
1. Широкий набор инструментов работы с графикой
2. Поддержка как direct x для windows билдов, так и opengl es 3 для android
3. Система сцен и объектов сцены
4. Обфускатор
5. Набор инструментов для работы со звуком
6. Сборщики и упаковщики с разными вариантами сжатия
7. Достаточно хорошая симуляция прямо из редактора, уменьшающая необходимость различного железа в процессе разработки.
И многое другое
Значительные недостатки:
1. Отсутствие адекватного менеджера сцен для их переключения
2. Отсутствие адекватного способа хранения данных между сценами
3. Отсутствие определенной главной сцены, сцены \ экрана загрузки
4. Отсутствие адекватной системы единого пользовательского интерфейса для всех сцен
5. Отсутствие инструментов для простой организации многоязычного перевода
6. Значительное потребление ресурсов на целевых для нас платформах
И ряд других менее значительных, как например некоторые баги.
И благодаря тому, что мы смогли решить значимые для нас недостатки, мы решили его в дальнейшем использовать.
Значимую часть из этого нам очень сильно помогло реализовать сообщество за счёт множества готовых примеров решения тех или иных вопросов, что в значимой степени ускорило разработку.