Наша с девушкой первая видеоигра. Разработка на Unity. Часть 1

Ну как первая… Если не считать релизы только под Android и с десяток заброшенных проектов у финиша, то да, это первая наша игра с замахом больше чем на одну платформу. Как же всё начиналось? А всё просто, работали мы значит над другим проектом, назовем его «проект А», работали уже долгое время и решили, а не сделать ли нам за пару месяцев игру…

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 1
3.9K3.9K открытий

"и стандартный набор любого уважающего себя Unityразработчика", а остальные разработчики значит себя не уважают?

Посмотрел плагины которые вы использовали, напишите как нибудь статью что каким плагином вы делали, просто трудно представить зачем в таком простом проекте понадобилось столько плагинов?

Возможно я ошибаюсь и они действительно облегчают жизнь.

Ответить

Здравствуйте! С радостью отвечу на этот вопрос:
Скорее не уважают свое время. Большая часть вещей может быть реализована самостоятельно, но нужно ли?

Давайте по порядку:
Newtonsoft.json - сохранения. Можно было бы изобретать велосипед, но этот плагин - золотой стандарт.

Zenject - если речь заходит о проекте который будет работать в разных условиях и на разных платформах, то DI как явление, вещь незаменимая. Возьмем к примеру достижения. Если вы, например, как мы релизитесь на steam и на мобильные платформы, вам нужно каким то образом выдавать игроку достижение через некое API которое в общем случае не совместимо с другими. Тут приходит на помощь zenject. Есть интерфейс назовем его IAchievementAPI, имплементируем от него SteamAchievementAPI и MobileAchievementAPI и в зависимости от платформы инжектим нужный. Это лишь одна маленькая и простая часть где можно было бы обойтись без того же Zenject, но было бы не так красиво и удобно.

Cinemachine - возможно без него можно было бы обойтись, но мы его добавили и в целом он несколько помог упростив жизнь. Но он не оказался критичным.

Про Dotween смысла много расказывать думаю нет. Он делает в целом жизнь гораздо проще, а интеракцию с UI и подобными вещами более красивой (и вцелом не слабо очищает код view).

Тот же EasyMobile тоже очень сильно упрощает жизнь. Как пример, у нас есть сундуки с наградой. Когда сундук готов к открытию, мы оповещаем игрока об этом нотификацией. Если делать это самому, нужно писать нативные плагины. Но зачем если это уже есть? Так же мы просим игрока оценить нас через пару дней игры. Выбор тот же, или используем плагин и забываем про то что такая проблема вообще была, или корячась пишем свое убер-решение, которое скорее всего будет хуже и костыльней чем то над которым работали как над плагином - конечным продуктом.

Есть еще много вещей которые я не пишу тут, чтобы не сделать этот коментарий нечитаемым.
Краткое резюме моего сообщения: не делаем то, что уже сделано другими.

Надеюсь ответил на ваш вопрос :)

Ответить