За последнее время в сторону Unity было очень много хейта из-за экономических решений и многие решили просто отменить движок в наказание. Постараюсь изменить мнение людей с перспективы разработчика игр и рассказать о том, как Unity меняет индустрию к лучшему (пост не о монетизации, а о технологиях).
За геймдев не шарю, но как работать с кодом без ООП?
Вот есть у меня есть интерфейс и две реализации к нему, как мне правильно их сделать в ECS?
Вместо интерфейсов у тебя будут компоненты с данными. Вместо реализаций у тебя будут системы, которые работают на определёнными комбинациями данных.
Тип есть у тебя компоненты: X, Y, Z. Есть сущность с X и Y, а есть сущность с X и Z.
И есть у тебя две системы: одна работает над сущностями с X и Y, а другая над сущностями с X и Z.
А если будет сущность со всеми XYZ, то обе системы будут работать над ней.
Пишешь в функциональном стиле: вот анемик модели-энтити, вот чистые функции их процессят.
Ну по крайней мере я так это понял.
Этот слой индерекции прибьют, зато добавят другой. У тебя будут вполне конкретные компоненты но один обьект будет состоять из произвольного числа произвольных компонент. Такая ооп абстратктность в геймдеве не особо нужна.
Автор просто не в курсе, что такое ООП. Для него это просто ругательное слово.