Разработка, оптимизация и релиз на Unity игры Synthety

image

Всем доброго времени суток. Наконец то состоялся релиз моей мобильной игры Synthety. Хабр часто спасал советами и помощью и я решил поделиться своим опытом разработки с нуля, подытожив проделанный путь.

Немного коротко обо всем.

Игра Synthety в жанре квест — приключение. Цель игры найти выход с текущей локации на следующую. Для этого необходимо общаться с персонажами, взаимодействовать с окружающими предметами, решать головоломки и прочее. От начала разработки и до релиза игры пролетели около полугода. Игра разрабатывалась на движке Unity на языке C#. В данном посте хотелось бы поделиться советами и подсказками в разработке и релизе игры.

Содержание


  1. Разработка и оптимизация.
  2. Релиз и получение дохода Google.
  3. Дальнейшие действия.

1. Разработка и оптимизация


Я разделяю мобильные игры на 4 категории. Игры тайм-киллеры, социалки, мморпг(ну во всяком случае они себя так называют) и атмосферные игры. Я выбрал жанр атмосферных игр, который ближе всех к искусству, а игры я считаю именно частью искусства. Можно делать игры данного жанра по разному, я лично для себя выбрал следующие основные условия создания игры: ощущение живого мира, персонажей и сюжета. Для этого необходима атмосферная графика, проработанный левел дизайн и интерактив с обьектами мира, а это все сказывается на оптимизации игры.

1.1 Оптимизация игры


В отличие от гиперказуалок с простым визуалом и небольшим количеством обьектов на сцене, но огромным количеством уровней(порядком 200-400), в моей игре акцент сделан не на количестве уровней, а на качестве. Но качество требует оптимизации. Основные инструменты оптимизации, которые я использовал в Unity:

  • Lightmapping;
  • Occlusion Culling;
  • Mesh Baker;
  • Прочее по оптимизации.

1.1.1 Lightmapping

Про запекание освещения в интернете много постов, но я не встречал конкретных значений параметров запечки, которые хотя бы были бы отправной точкой настройки. Поэтому прикрепляю скрин моих параметров, которые были проверены на трех машинах(MacBook pro, Dell G17, и стационарный компьютер).

image

Результат запечки везде приблизительно одинаков. Как пример запечки по данным настройкам:

image

По сути от сюда вы можете настроить запечку вашей сцены, меняя лишь три параметра для достижения ваших целей:

  • Lightmap Resolution(лучше качество- но больше размер текстур запечки);
  • Direct и Indirect contribution(от каких источников освещений будет больше влияния от Directional или всех не прямых источников освещения таких как PointLight или SpotLight);
  • Indirect intensity (интенсивность Environment Light в частности даже если у вас стоит Gradient, то все равно берет в расчет только Sky Color он же Ambient color, если выставлен параметр Color)

1.1.2 Occlusion Culling

Тут достаточно все просто. Основное назначение данного инструмента- уменьшить количество трисов в экране, достаточно и стандартных параметров Unity. Уменьшение Smallest Ocluder и Smallest Hole приведет к увеличению размера данных, но существенных сокращений трисов не наблюдалось. Совет: если используете ортографическую камеру, то настройте Clipping Planes так, чтобы в камеру попадали те обьекты, которые должны быть отображены, а не те которые даже не видны.

1.1.3 MeshBaker

Запекает модели пачками в одну, отлично сокращая Drawcalls. Есть хороший бесплатный инструмент. .

Можно запекать модели пачками по 64к трисов(статический батчинг ломается свыше 64к трисов ) Однако лично я сторонник использовать сугубо нативные инструменты Unity, чтобы уменьшить риск поломки приложения на определенных моделях телефона.

1.1.4 Прочее по оптимизации

Не рекомендую использовать для мобильных устройств Standard шейдер. В частности рекомендую использовать на объектах вторичной видимости материал именно с дифуз шейдером. В целом считаю довольно дешевым, но приемлимым по визуалу шейдер ToonyShader.

Не используйте вертикальную синхронизацию(Vsync), вместо этого используйте

Application.targetFrameRate=300;

Запекание работает только на статические объекты(Static), а все динамические объекты рекомендую освещать Directional источником освещения(или несколькими, но разделяя Culling Mask на каждую группу объектов так, чтобы на каждый объект был свой один источник освещения). А также использовать фэйковые тени Projector. Не использовать Spot и Point light в реалтайме. Для изменения освещения на динамическом объекте в области запеченных объектов использовать Light Probes.(запекать вместе с освещением).

image

image

2. Релиз


Как опубликовать приложение в Google Play уже много где написано, в частности
habr.com/ru/company/livetyping/blog/326874

Ничего страшного и сложного в этом нет и каждый шаг контролируется и, если что-то сделано не верно, то выдается ошибка с пояснением, что сделано не так(и более того на каждом пункте есть ссылка на справку).

Я разработчик из Беларуси города Минск. В Беларуси единственный способ получать выплаты от Google Play это банковский перевод. Необходимо съездить в местный горисполком с заявлением на регистрацию ИП(найти бланк можно на сайте горисполкома, так как они не обязаны выдавать их у себя, заполните их сами перед поездкой ). Там же в тот же день Вам выдадут свидетельство c УНП. Этот учетный номер плательщика вам необходим для открытия счета в банке на ИП(в течение 20 дней советую приехать в налоговую и подать заявление на упрощенную систему налогообложения). Соответственно затем необходимо позвонить в банк(самые дешевые в обслуживании это БПС Сбербанк и Белгазпромбанк), заявить, что хотите открыть расчетный счет в валюте и нац валюте на ИП. Менеджер скажет Вам дату, когда необходимо приехать и расписаться, и в тот же день Вам выдадут реквизиты счета. Эти реквизиты и заполняются в Google в аккаунте разработчика в разделе «Настройки»/Настройки оплаты/ Способ получения дохода.

3. Дальнейшие действия


После релиза ваша игра или приложение окажется в огромном списке таких же приложений на Google. А также в таком же большом списке на AppStore(куда в ближайшее время я собираюсь релизнуть Synthety). Необходима раскрутка и реклама. Для этого лично я использую и планирую в частности для этой игры использовать Facebook трафик. Но это уже совсем другая история, если будут люди, которым это интересно, сделаю отдельный пост.

Буду рад помочь в личке и комментариях, если у кого то будут вопросы, так как в данном посте процентов 10 из всего того, с чем приходится сталкиваться разработчику. Рад буду помочь хотя бы даже одному человеку.

Спасибо за внимание. Поиграть в игру, если интересно можно уже сейчас в Google Play по запросу Synthety.

Похожие публикации

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 13

    –2
    «уменьшить количество трисов»
    Это какой-то локальный сленг? Никогда не слышал чтобы русскоязычные разработчики так сокращали слово «треугольников». Сокращают, к примеру, Quad — «квад(ов)», но никак не Quads — «квадсов» (по аналогии с вашими «трисами»).
      0
      Вероятно это калька с английского сокращения «tris», которое достаточно широко используется в англоязычной среде.
        –1
        Именно что в англоязычной, но не в русскоязычной.
        А ещё «широко используется» хtors. Предлагаете называть транзисторы ксторами или ещё хуже — ксторсами?
          0
          К сожалению, слово «три» в русском уже занято, а «треугольник» слишком длинно. Если множественное число образовывать жёстко по аналогии с «квады» — получится «триы»? Или какую-то другую согласную вставить перед окончанием? В целом-то в язык попадают слова, которые работают. Иногда видоизменяются для адаптации.
        0
        Это очень распространенный термин. Что трисы, что квады.
          0
          tris это множественное число, а quad единственное.
          Когда вы говорите «трисов», вы делаете множественное число из слова уже обозначающего множество треугольников. Это звучит на редкость коряво.
          В единственном числе будет «tri».

          Я поискал «количество трисов» и нашёл целых 256 упоминаний в гугле, включая эту статью. Появляется это слово лишь в любительских форумах и ресурсах типа pikabu.
            0
            в чатах по геймдеву, личном общении, на работе «трисы, квады, полики» используется часто.
            в статьях такие разговорные англицизмы моветон, потому их встретить можно редко.
              –1
              В каких? Квады и полики — образованы согласно правилам русского языка. Трисы — неправильно. Я 20 лет в геймдеве, если что. Не слышал чтобы так кто-то говорит.
                0
                20 лет, но явно не на Unity. Данный пост все же технически предназначен для пользователей Unity.
                image
                image
                Юнитисты постоянно используют данный термин в качестве сокращенного от triangles. Но если говорить глобально, то да это моветон. Но повторюсь. Статья по технической части предназначена сугубо для движка Unity.
                  –1
                  Юнитисты постоянно используют данный термин в качестве сокращенного от triangles

                  Спасибо, Кэп. Я прекрасно знаю что означает слово tris. Разве это не видно прямо из моего первого сообщения? Я его сам использую (в английском варианте).
                  Какое отношение эти скрины имеют отношение к теме разговора?
                  Где тут надписи на русском языке?

                  Моветон это скорее писать «полики» в статьях. «Трисы» же вообще не нужно использовать.
                  Кажется, я уже несколько раз написал, почему это слово кривое и не буду повторяться.

                  Меня заботит то, что популяризация такого «термина» через популярные ресурсы типа Хабра это «медвежья услуга».
                    +1
                    Медвежья услуга кому? Мы здесь на статье «филология и культура»? Обсуждаем склонения кальки с английского на котором написан датско-американский движок Unity? Если да, то даже не знаю как так сказать, но я не вижу этот диалог по существу. Если обсудить, то обсудите уж лучше какие то детали, которые могут помочь в геймдеве, а не в размышлениях над подобием Эсперанто.
              0
              Сторисы, нюдсы…
                –2
                Вот уж не знаю как у вас, а в моём окружении говорят либо «сторис» либо «историю/и».

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое