Спасибо за видео, интересную и полезную подборку информации, её подачу.
Хочу добавить немного.
Есть паттерн-фреймворк называемый "Entity Component System" (кратко ECS) из индустрии видеоигр. Применим в области _моделирования_ игровых миров.
Коротко, ECS про раздление данных и логики.
Все данные о мире абстрагируются до хранища данных (в статьях изредка проскакивает упоминание реляционной модели).
У каждой сущности мира (Entity) есть уникальный идентификатор. Сущности агрегируют набор компонент (Component). Компоненты это части описания сущности (уровень HP, маны, скорость, направление, размер, урон и т.д. до бесконечности ограниченой воображением гейм дизайнеров).
Ответственность за преобразование состояния мира возлогается на "классы-модули со статическими методами" (так называемые Systems).
Игровой движек, утрированно, это while (true) {} цикл в котором на каждый тик игры все Entity "проходят" по цепочке Systems каждая из которых по сути функция изменяющая Entity.
—
Это я так намекаю
@tshemsedinov на то, что в списке "Хорошо подходит ООП" пункт "моделирование игровых миров" можно смело убрать со слайда на 57-ой минуте видео. Потому что ECS как раз был создан чтобы решить проблеммы которые вносит в индустрию видео игр ООП со своим наследованием и смешиванием данных и логики.
—
Ссылок на AAA PC игры где бы использовался ECS не нашел. Но, внезапно, Mozilla напилила ECS на JS:
https://blog.mozvr.com/introducing-ecsy/