варианты оптимизации поиска ближайшей цели при большом количестве таргетов
1. алгоритмы (как вариант K-d-дерево)
2. чанки
3. "растянутый" на несколько кадров таргетинг
еще одной ECS прибыло : Ecstasy
Sparse-set based ECS for Unity. Simple, flexible and fast.
Core part of architecture that I'm developing for all our future games, of any scale.
Features:
- Burst + Jobs direct support
- Stupendously simple architecture
- As simple as for-loop iteration
- Data is tightly packed, contiguously per-type
- No Sync-Points, No Events, No Bitmasks, Barebones!
- Total control and freedom
Can be used outside of Unity, with a slight modification.
CppCon 2014 Mike Acton Data Oriented Design and C++
чумовое видео и интерeсные выводы:
1. Знание и адатпация кода под платформу (железо) крайне важна для оптимизации.
2. Дизайн (архитектура кода) разрабатывается с учетом данных а не идеализированного мира (Data oriented design vs OOP)
3. Главная задача программиста - решение задачи по преобразование данных при помощи кода.
4. Шаблоны проектирования это питательный материал для безмозглых программистов :)
Я уж думал ты игру делать опять стал)
emptiness_rain
> Я уж думал ты игру делать опять стал)
игра в разработчика игры - это также увлекательный и затягивающий процесс :)
patsanchik3
а чё стало с битвой роботов?
patsanchik3
Это Гульдфиер?
Ren
Нееее, ты что, у автора игра, как минимум одна, была сделана, мультплеер, битва на ходячих роботах. У меня вот, к примеру, до сих пор такой нету... -_-
StepEver
А говорит тоже самое
StepEver
> а чё стало с битвой роботов?
они в итоге трансформировались в другой проект, он дошел до публикации на гугл плей и на этом история увы закончилась (хотя метрики были не самые плохие) - сделать игру и сделать успешную с финансовой точки зрения игру - это две большие разницы :)
BatchRendererGroup sample: Achieve high frame rate even on budget devices
In this post, we describe a small shooter game sample that animates and renders several interactive objects. Many demos are made for high-end PCs only, but the goal here is to achieve a high frame rate on a budget phone using GLES 3.0. This sample uses BatchRendererGroup, Burst compiler, and the C# Job System. It runs in Unity 2022.3 and doesn't require entities or entities.graphics DOTS packages.
How Many Animated Units Can Unity ECS Handle? [Perf Test]
Когда-то тоже с одним спорили про анимацию на Юнити.
Он думал 20 000 персонажей Юнити 2015 года вывизит, но нет.
Упала :)
Я 40 000 без оптимизации вывел, не на Юнити.
https://www.youtube.com/watch?v=KeuiZH5Dk34
ronniko
> Я 40 000 без оптимизации вывел, не на Юнити.
- хорошь, молодца.
тут еще проблема в том что масс замес должен работать на большинстве мобильных платформ, да еще с учетом прочей логики типа поиска пути и работы чего то управляющего типа fsm или дерева поведений, но "попытки понять пределы наших возможностей могут нам открыть новые перспективы ну или закрыть их" :)