Golang - прекрасный язык для backend-а с низким порогом входа и простым синтаксисом, основы которого изучаются за неделю экспериментов. Но у него есть один серьезный недостаток - плохое взаимодействие с c/c++ кодом в плане быстродействия или вообще невозможность в случае определенных целевых платформ (web/wasm). Для клиентской части с рендером графики и поддержкой разных платформ придется подыскать что-то другое. Хорошей альтернативой может стать Vlang.

Читать полностью »

Во всей линейке LeoECS (Classic, Lite, Proto) есть одна особенность - сущности автоматически уничтожаются при удалении последнего присоединенного к ним компонента. При этом сущности изначально создаются пустыми с последующим добавлением на них компонентов - это создает ситуацию, когда из-за ошибки в коде мы можем забыть добавить компоненты и сущность останется пустой. В результате сущность выйдет из-под контроля, что приведет к утечке памяти.

Читать полностью »

Иногда бывает нужно организовывать связь сущностей в виде Родитель-Ребенок, когда при удалении Родителя все его Дети автоматически удаляются, либо еще как-то реагируют на это событие. Так же необходимо быстро узнавать Родителя у сущности и наоборот - список всех Детей. Теперь в LeoECS Proto для решения этой задачи есть готовый модуль.

Читать полностью »

ECS данные обычно рассматриваются как “база данных”, записи в которой не имеют четкого порядка. Но что если этот порядок необходим, например, для отрисовки пользовательского интерфейса?
ECS данных может быть очень много, но что если количество сущностей не превышает десятка тысяч, количество компонентов - нескольких тысяч, а надо запускаться в ограниченном по ресурсам окружении типа web-браузера?
Последние доработки LeoECS Proto были направлены на решение этих двух проблем.

Читать полностью »

В свете последних новостей (тут и тут) про будущие блокировки иностранных облачных сервисов для всех пользователей в РФ было решено подготовиться к прозрачной миграции таблиц с GoogleDocs на ЯндексДиск или свой сервер.

Читать полностью »

Часто задают вопрос - а как выключать системы в ECS? Как запускать определенные системы через определенные промежутки времени? Как выполнять список систем только если активирован определенный режим в игре? В качестве ответа на эти вопросы появился пакет EcsProto.ConditionalSystems.

Читать полностью »

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

Читать полностью »

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

Читать полностью »
0%