об играх, разработке на Unity и личном опыте

Buffer icon Проекты
Позднее Ctrl + ↑

Интеграция HMS SDK

Huawei AppGallery

Huawei AppGallery

Huawei AppGallery

Сделали интеграцию одной из наших игр в Huawei AppGallery. Пока большого прироста пользователей там не видим, но мы особо и не надеялись :) Заменили гугловские компоненты на хуавеевские и почти всё заработало как надо.

Заменили три основных: авторизацию через Google Sign-In, встроенные покупки и пуш уведомления. Надо сказать, что Huawei умеет хорошо списывать, получилось почти строчка в строчку. Но некоторые вещи работают только на Huawei девайсах, это надо иметь ввиду.

LeoEcsLite

LeoEcsLite for Unity

LeoEcsLite for Unity

LeoEcsLite for Unity

Leopotam выкатил сверхлегкую компиляцию ECS, обкатанную на многих проектах, зарефакторенную и оптимизированную до невозможности: кодобаза стала в 2 раза меньше, всё работает быстрее, нет ограничений на констрейнты в фильтрах — можно хоть сотню закинуть, кеши в фильтрах больше не нужны и т. п.

https://github.com/Leopotam/ecslite

 Нет комментариев    1759   2021   ecs

Рассылка по Unity #15

Unity shader example

Unity shader example

Unity shader example

Вышел последний выпуск рассылки :( Пока её придётся приостановить. В связи со своей загруженностью не смогу делать полноценные выпуски. Но надеюсь, что это временно.

Читать выпуск №15 ?

? Сезон №2: 1 2 3
? Сезон №1: 1 2 3 4 5 6 7 8 9 10 11 12

А ещё сейчас изучаю как выпускаться в Huawei AppGallery и интегрировать их сервисы в приложение. Вроде ничего суперсложного, на 95% они повторили Google сервисы :)

MoDI

MoDI. Lightweight IoC container for Unity.

MoDI. Lightweight IoC container for Unity.

MoDI. Lightweight IoC container for Unity.

MoDI — простой контейнер для внедрения зависимостей в Unity.

Когда я хочу в чём-то разобраться, я почти сразу перехожу к практической части. Если со старта не получается, тогда начинаю читать мануалы :) После этого, снова повторяю шаг №1 и так по кругу. Иногда это надоедает и я или ищу другие пути решения, или говорю себе, что это «не моё», мне это не надо — сдаюсь короче.

Решил я однажды разобраться как работать с Zenject и Ninject в Unity. Сделал несколько тестовых проектов — вроде работает. Начал копать дальше, понял принцип и решил, что хочу своё такое же, но попроще :) И чтобы было достаточно для всех моих разработческих потребностей. Так появился MoDI.

Не буду расписывать принцип инверсии зависимостей, об этом можно прочитать в более достоверных источниках. Скажу только, что более-менее серьёзный проект без этого сложно поддерживать и развивать. Да и вообще, один раз начав использовать сразу понимаешь все плюсы.

Это можно сказать и про ECS, да Leopotam? :)

MoDI можно подключить к проекту с помощью пакетного менеджера, через него же можно импортировать сцену с примерами. Ну или просто скачать архив и добавить в проект.

Простейший пример выглядит так:

using MoDI;
using UnityEngine;

public class QuickStart : MonoBehaviour {

    public void Start() {
        DI.Get().Bind<Hello>().WithArguments("Hi, I'm MoDI!");
        Hello hello = DI.Get().Resolve<Hello>();
    }
    
}

public class Hello {

    public Hello(string data) {
        Debug.Log(data);
    }

}

После запуска данного скрипта в консоли появится сообщение: «Hi, I’m MoDI!».

В документации можно найти ещё примеры и описание API.

Очередной велосипед для себя, но может кого-то заинтересует. Если хотите разработаться в этом как и я, пишите, помогу чем смогу ?

Unity 2020 LTS

Unity timeline releases

Unity timeline releases

Unity timeline releases

Как и обещали, юнитеки выпустили LTS версию Unity 2020.3. Качаю, буду тестить. Вообще, в 2019.4 LTS всё работает и смысла пока переходить не вижу. Тем более в ближайшие 2-3 недели выйдет фикс, как это обычно бывает. Наверняка одно починили, другое поломали :)

А ещё вышел 14 выпуск рассылки! Читать ?

Рассылка #13

Compression types

Compression types

Compression types

Новый выпуск уже в почте. Что там:

  • введение про разработку плагинов
  • тутор по Unity и Photon
  • лучшие инди-игры 2020
  • типы сжатия картинок
  • от Soft Launch до $1 млн

Читать выпуск ?

Форматирование С# кода в VS Code

До недавних пор, весь код я форматировал с помощью расширения C# FixFormat. Оно старое, не поддерживается, но работает! И вполне себе работает.

Но после недавней переустановки VS Code, я ставил заново расширение для C# (OmniSharp) и погуглил на предмет выше. Как оказалось, OmniSharp уже умеет сам форматировать код, причем использует все необходимые параметры.

Для того чтобы всё это заработало, надо в корне проекта создать файл omnisharp.json и добавить туда параметры форматирования. Например:

{
    "FormattingOptions": {
        "newLine": "\n",
        "useTabs": false,
        "tabSize": 4,
        "indentationSize": 4,
        "NewLinesForBracesInTypes": false,
        "NewLinesForBracesInMethods": false,
        "NewLinesForBracesInProperties": false,
        "NewLinesForBracesInAccessors": false,
        "NewLinesForBracesInAnonymousMethods": false,
        "NewLinesForBracesInControlBlocks": false,
        "NewLinesForBracesInAnonymousTypes": false,
        "NewLinesForBracesInObjectCollectionArrayInitializers": false,
        "NewLinesForBracesInLambdaExpressionBody": false,
        "NewLineForElse": false,
        "NewLineForCatch": false,
        "NewLineForFinally": false,
        "NewLineForMembersInObjectInit": false,
        "NewLineForMembersInAnonymousTypes": false,
        "NewLineForClausesInQuery": false
    }
}

Также, не забудьте поставить в настройках VS Code:

  • Csharp → Format → true
  • Editor → Default formatter → ms-dotnettools.csharp

Для форматирования при вводе и сохранении:

  • Editor → Format On Type → true
  • Editor → Format On Save → true

И как бонус: OmniSharp также научился ставить XML комментарии, так что, минус ещё одно расширение. Просто вводите три слеша над методом и шаблон XML коммента готов.

200 звёзд на Github

Achievement unlocked!

Моё новое скромное достижение. Скрипт с data-driven прокруткой для Unity, получил 200 звёзд на Github. Спасибо S1ROZHA :)

Infinite scroll unity 200 stars

Infinite scroll unity 200 stars

Infinite scroll unity 200 stars

Мне как-то писали, что используют его в MTG Arena и ещё какой-то популярной игре. Приятно что этим пользуюсь не только я.

Статистика по рассылке

Небольшая статистика за год рассылки.

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

Статистика рассылки за год

Статистика рассылки за год

Статистика рассылки за год
Статистика по голосам за каждый выпуск

В среднем, рассылку открывают 40-50% подписчиков, но надеюсь, что веб-версию прочитало больше людей :) Несколько раз ссылки на выпуски попадали в телеграм канал по Unity, там было много просмотров, но ссылку давали сразу на Mailchimp, поэтому в статистике это не видно :(

Переходы по коротким ссылкам

Переходы по коротким ссылкам

Переходы по коротким ссылкам
Статистика по переходам с коротких ссылок

Вообще, оказалось, что это не так уж и просто делать рассылку ? Но интересно. Постараюсь в этом году сделать её интересней и полезней.

? Все выпуски: 1 2 3 4 5 6 7 8 9 10 11 12

Ранее Ctrl + ↓