Copy
View this email in your browser
🎮

Ежемесячная рассылка от Mopsicus
Выпуск #1 

«Самое трудное — это сделать первый шаг из положения лёжа.»
Приветствую первых читателей! 

Делать первый выпуск всегда сложно: ещё не определился с количеством материала, структурой и рубриками, а может оно и не надо и, надо делать, как делается... 

Пока решил, что выпуски будут в режиме ультракоротких заметок с комментариями. Многое что будет в рассылке, никогда не появится в блоге, ну или появится позже, в составе какой-нибудь статьи. В этом выпуске 
получилось около 20 небольших заметок.

В самом низу есть две ссылки: 👍 и 👎. Если выпуск получился годным то палец вверх, если не очень вниз. Так я буду знать, в каком направлении корректировать выпуски. Все вопросы и предложения присылайте на mail@mopsicus.ru с темой Рассылка.

Пока вроде всё. Поехали!
В последних версиях Unity, установщик сам ставит Android SDK, NDK и JDK. Юнитеки таким образом решили помочь пользователям, не делать это вручную, или с помощью Android Studio. 

Это конечно радует, если бы не досадные косяки. Если вы встречали такое окошко у себя, то поймёте о чём я говорю:




Настройки Unity ведут странно, нажатие и отжатие чекбоксов, изменение пути к NDK, многие пишут что, им помогает и то и/или другое :) Я решил проблему просто: вытащил содержимое подпапки android-ndk-r16b в папку NDK и всё заработало.



В последних обновлениях это было исправлено.
Если вы занимаетесь Android разработкой, то о следующей полезной опции вы наверняка знаете. Я же пользуюсь Android Studio только для сборки AAR плагинов для Unity и до недавнего момента не обращал внимания на некоторые сообщения компилятора.

Иногда компилятор может выдать:
Note: Some_class.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Вы используете устаревший API и вас об этом предупреждают. Но не показывают, что конкретно не так. Чтобы узнать, на что именно обратить внимание, необходимо в gradle файл добавить: 

allprojects { 
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.encoding = 'UTF-8'
            options.compilerArgs  "-Xlint:unchecked"  "-Xlint:deprecation"
        }
    }
}

Теперь при компиляции будет выводиться конкретное место в коде и не нужно гадать, где и что устарело и требует внимания.
Если вы читаете мой блог, то наверняка видели заметку про скрипт который получился в результате небольшой автоматизации сборки Unity проектов. Такой свой CI/CD.



Полную статью я опубликовал на Хабре, там подробно описано какие команды что делают и с какими параметрами вызываются.

Один запуск скрипта и:
  • скачиваются последние изменения с GIT
  • запускаются тесты
  • собирается APK для Android, в develop или release
  • собирается для iOS Xcode проект, в develop или release
  • компилируется
  • архивируется и экспортируется в IPA
  • генерируется манифест для него
  • генерируются HTML страницы для установки
  • всё это загружается на сервер с помощью sshpass
  • все логи записываются в отдельную папку
  • отсылается уведомление в Телеграмм, что всё готово

Исходники и пример доступны на Github, можно пользоваться улучшать, переделывать под свои нужды. 
Красивый эффект появления и исчезновения объектов. Вообще, на Patreon не часто выкладывают бесплатные интересные штуки, он собственно и придуман был, чтобы донатили :)

Но тут автор видимо для затравки, показал что-то интересное.



Статья и исходный код
И снова про оптимизацию UI в Unity :) Каждый к этому приходит, особенно разработчики для мобильных платформ.



Хорошая статья от BanzaiGames, странно что там упомянуты довольно старые вещи типа BestFit и использование атласов, подозреваю, об этому уже известно всем.

Ну и как не вспомнить про свою обновляемую статью про оптимизацию 2D игр, когда нахожу что-то интересное и полезное всегда дополняю её.
Ещё про UI.

Когда вы работает с UI в Unity и используете Canvas, то сложности прикрепить какой-либо объект к краю или в угол экрана
нет. Есть RectTransform у него есть Anchors, Pivot и т.д.

Но что если требуется установить какой-либо объект у края экрана, например, на экране игры? И чтобы при разных разрешениях, он оставался на том же месте?

Для этого у меня есть небольшой скрипт, который позволяет это делать. 


Если вы ещё не подписаны на ютуб-канал, то сделайте это сейчас. Действительно, кладезь полезных уроков для начинающих и не очень.
Каждый раз, смотря какую-нибудь конференцию, типа DevGAMM или WhiteNights, я думаю, что надо будет потом по-выбирать интересные доклады и посмотреть и, каждый раз забываю :(

По арту не очень интересуют, а вот по разработке и маркетингу иногда попадаются интересные доклады:
Отчет от AppsFlyer за 2019 год по мобильной рекламе

Итог: гипер-казуальные игры «рулили» в прошлом году и будут ещё какое-то время. Неорганического трафика больше половины. Оно и понятно, все эти однодневные тапалки без рекламы никогда бы сами не вылезли в топ. Не в обиду любителям этого жанра.

В казуальных играх и социальном казино выручка растёт, в хардкорных и мидкорных играх всё печально  совокупное число платящих пользователей сократилось на 46%. Но зато с рекламы они стали зарабатывать больше.

Как выпустить свою игру на Nintendo Switch.

Хорошая статья где описаны интересные моменты выпуска игры на свитч, а также как получить девкит.

В плане платформы, мне свитч более привлекателен, чем стим. Это всё-таки мобильная консоль и портировать игру, например, с андроид на свитч будет полегче, будут свои костыли конечно, но Unity позволяет.
Я надеюсь, что в 2020 году вы используете системы контроля версий, а не складируете zip-архивы :)

Если вы не хотите, чтобы ваши драгоценные исходники хранились на заморских серверах, типа Github или Gitlab, то пора поднимать свой сервер! Есть конечно же старичок Redmine, но у Gitlab есть self-hosted версия, которую можно установить на свой сервер с практически любой ОС. И там есть всё необходимое, правда он довольно требователен к ресурсам.

В качестве альтернативы Redmine, можно рассмотреть OpenProject.



У него тоже есть онлайн и self-hosted версия, плагины, agile, kanban доски, вики и т.п. Выглядит современно и развивается, последнее обновление было 15 января.
Одно из лучших объяснений и примеров как сделать красивый и правильный прыжок в платформере.

Перевод серии статей про MVC в Unity с помощью SO (Scriptable Objects), от Plarium.



MVC как паттерн, давно известен и есть куча его реализаций для Unity. Тут автор предлагает использовать SO в качестве модели, что в общем-то даёт свои плюсы.

Часть 1
Часть 2
Часть 3
Ну что, снова по гипер-казуалочкам? :) 



Статья про монетизацию в ГК играх. Понятно, что там про рекламу, но и её надо уметь правильно показать.

Рекомендую данный блог для чтения, есть много интересного.
Недавно, после обновления на MacOS Catalina, программы запускаемые через терминал тоже стали проверяться Gatekeeper'ом и это привело к интересным последствиям.



Unity просто перестал билдить, ссылаясь на то, что файлы clang и clang++ не могут быть использованы и т.д. Видимо ОС подумала, что это какой-то вирус хочет сделать что-то нехорошее и заблокировала их :_) Хотя это системные файлы.

В общем, после поисков была найдена причина проблемы и инструкция, как её исправить.
Коллекция гейм-дизайн документов разных компаний и игр. Вроде как пополняемая. Можно использовать, как шаблоны для своих проектов.

Ну и чтобы два раза не вставать бесплатные курсы по ГД от RiotGames. На английском, да, но куда ж без него.
Как сделать хороший in-app магазин. У devtodev в 2019 были годные статьи и вебинары. Собственно, это статья сделана после проведённого вебинара на данную тему.



Смотреть вебинар
Читать статью
Клёвая статья про баланс экономики в игре.



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

Этот список уже не раз светился на разных ресурсах, но продублировать стоит. И если вы решили делать игру с издателем, то почитайте про опыт других разработчиков и команд, есть как положительный, так и не очень.

Как правильно работать с издателями — советы от ZeptoLab

Как издать мобильную игру, и не совершить моих ошибок

Список
TabNine

Про эту штуку я узнал недавно и решил попробовать, как оно в паре с C# и Unity. Если коротко, это такая прокачанная версия автодополнения. Плагин сканирует весь проект, обрабатывает его, как пишут, с использованием нейросети и потом, когда вы начинаете вводить код, дописывает буквально частями его или предлагает выбрать нужный фрагмент.

Вообще штука интересная и вроде даже работает, как заявлено, но ещё в бете. Если доведут до ума будет классно. Для VSCode, как и для многих других редакторов есть плагины.

Демонстрация
Вакансии

Тут я хотел разместить несколько вакансий по Unity, но потом решил, что они быстро устаревают и за месяц скорее всего будут не актуальны.

Если рассылку читают работодатели и решат, что и месяц норм, то пишите на mail@mopsicus.ru.
⚠️ Это пока всё. Как я и просил в начале, отметьте пожалуйста, понравился ли вам выпуск, это важно для меня.

Ну и приглашайте свои друзей, чем больше будет читателей, тем больше у меня будет мотивации делать качественную рассылку :)
Как вам этот выпуск?


👍      👎
Новый выпуск каждый месяц
Copyright © 2020 Mopsicus, All rights reserved.
Вы получили это письмо, потому подписались на рассылку на сайте https://mopsicus.ru

Хотите изменить настройки получения рассылки?
Вы можете обновить варианты получения или отказаться от рассылки.

Email Marketing Powered by Mailchimp