Комментарии 4
"время тиками" - подразумевается отсутствие в тестируемых функциях побочных эффектов?
не, условно говоря есть логические тики, например 10 раз в секунду. Между этими тиками на уровне данных ничего не меняется, т.е. апдейт данных идет именно в логические тики, а не в MonoBehaviour.Update(). При этом визуал да, интерполируется гладко между этими тиками.
Наверное тогда это ответ - да. Side effects - это как раз термин, который означает модификацию данных вне основного расчёта или расположение части данных вне "тикового слепка".
Хорошо что их нет. Для расчёта логики по тикам, отсутствие сайд эффектов это очень важно для тестируемости, воспроизводимости, и для крутых сетевых фишек в будущем, таких как лаг-компенсация.
Side effects - могут быть полезны, если сделать всё правильно - чтобы расчёт тика никогда не зависел от сайд эффекта. Например, в ECS не очень удобно работать с событиями, которые происходят только 1 раз, и нужны только для визуализации. Например, получение ачивки игроком. В таких случаях мы в проекте делаем каналы связи в одну сторону, вопреки Data-Oriented Design, но никогда расчёт тика от этих данных не зависит, мы даже прочитать назад эти данные из ECS системы не можем, там интерфейсами прикрыто везде.
Другой пример - это логгирование или аналитика, тоже так норм делать.

Как я тестирую NPC, ни разу не запустив игру