2.2Kпросмотров
33.7%от подписчиков
18 марта 2026 г.
question📷 ФотоScore: 2.4K
ООП или ECS? 🧐 Последние года data oriented подход и, в частности, разные ECS фреймворки набирают популярность в геймдеве, и у многих встает вопрос, насколько нужно учить этот ECS, с чего начать, нужен ли ООП и тд. Хочется немного обсудить эту тему) Почему все обычно начинают с ООП? Движок Unity это, в принципе, ООПшно направленный движок - в его основе лежит разделение по объектам и компонентам. Архитектуру проекта ты будешь выстраивать, скорее всего, также в виде некоторых объектов-сервисов, которые решают свои отдельные задачи, UI – тоже часто строится на ООПшных подходах MVP/MVVM и далее по списку, да и геймплей в целом пилить можно без сильных проблем на ООП Что дает ECS? В первую очередь он про гибкость и вариабельность, т.е. там, где есть всякие эффекты, способности и так далее, очень неплохо ложится эта парадигма + мы пассивно, скажем так, можем получать буст в производительности за счет того, как обрабатываем данные (но, ремарка, это далеко не на каждом кейсе). Т.е. ECS очень хорошо может подходить для некоторых видов геймплея, действительно, но это не ультимативная штука, которая решит все ваши проблемы - это надо понимать У нас есть опыт разработки проектов как полностью реализованных чисто на ООП, так и на ООП + ECS, даже был опыт скрещивания этих подходов в один. В прицнипе, что там, что там полет нормальный) И, беря все вышесказанное в расчет, можно сделать вывод такой, что с ООП ты сможешь делать игры от и до, а чисто на ECS скорее всего будет выстрел себе в ногу, так что в любом случае придется дружить ECS с движком и остальной архитектурой игры (почти всегда проекты с ECS - это гибриды с ООП подходом). Поэтому я всегда советую сначала браться за ООП (там и гайдов и всего подобного больше), потом уже при необходимости дойдете до ECS Кстати про ECS с ООП более подробно мы поговорим сегодня на вебинаре, где я расскажу про то, из каких частей состоят реальные проекты и какие инструменты стоит изучать для нормальной разработки. Так что не забывайте подключиться в 19:00: ЮТУБ - https://youtube.com/live/WCesSbTKdU4?feature=share ТВИЧ - https://www.twitch.tv/yakovlev_gamedev сможем обсудить и поспорить в том числе на эту тему) Ну и войну в комментариях к этому посту никто не отменял😄