Free Unity DevФорум

TacBattleAI тестовая сцена на Unity 6.3 URP с библиотеками от Tac (3 стр)

Страницы: 1 2 3
#30
(Правка: 2:48) 2:35, 16 дек 2025

Storm54
> В чем именно заключается оверхэд?
Серьезно? Все еще не понял?

в этом

int entityId = GetNewEntityId();
AddComponent<Health>(entityId);
AddComponent<Collider>(entityId);
AddComponent<AgentMover>(entityId);

на самом деле там будет много больше.

Storm54
> На данный момент ты не смог ни один аргумент
ты так и не смог привести ни один аргумент.

Я понимаю, что на игрушечном примере это сделать сложнее, но все же мог постараться.

Да, я кидаю, ссылки на видосы, так как нас разделяют тысячи часов опыта, и увы, не в твою пользу. Мной все это проговорено не с одним оппонентом. Вот еще (там мы рассматривай реальный пример, а не фантазируем о конях в вакууме):

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

мне на самом деле пофиг, смотришь ты их или нет, просто это удобный способ дать другим читателям треда все связанные вопросы в одном месте.

#31
(Правка: 3:12) 3:09, 16 дек 2025

SaintRQ
> Ну, если опечатка, то ок. А то странности.

Ну так спроси тогда уж про правильный код :)

+ Показать

Ответ дипсика

+ Показать

Нет монолитного класса с тысячами строк даже железяка понимает, но не Storm54, которому уже разжевали , а он не видит

#32
3:31, 16 дек 2025

tac
> Нет монолитного класса с тысячами строк

Это так и не совсем так. Да, у тебя нет одного здорового класса под все - но только "визуально". Компилятор все равно все айтемы с партьялом в один склеит. 


Ответ жпт

+ Показать

Т.е. если разговор про удобность - то да, удобно. Если про оверхеды (т.е. что оптимальнее), тут только тесты сравнения ecs и твоего подхода.

#33
3:33, 16 дек 2025

Видео не смотрел.

#34
5:45, 16 дек 2025

SaintRQ
> Да, у тебя нет одного здорового класса под все - но только "визуально". Компилятор все равно все айтемы с партьялом в один склеит. 

Я уже отвечал

tac
> Storm54
> > общие по логике поля предлагаешь добавлять в общий класс
> Я не просто предлагаю добавлять, я считаю что они изначально там должны были быть. А partial позволяет их разделить на компоненты. (разницу чувствуешь?)

Может это плохо доходит. Попробую по другому.

> Любая часть partial может начать зависеть от другой части напрямую (включая private), и тогда “модули” перестают быть независимыми — просто лежат в разных файлах.
Конечно, только допускать этого не нужно.

> Он убирает монолитный файл, но часто оставляет монолитный тип
Слово монолитный тут используется не по назначению. Это обычный класс, который подчиняется всем правилам ООП. Если бы нам не нужно было бы переносить компоненты между разными проектами, а мы скажем делали бы исключительно одну игру, то никакого partial вообще не нужно. И этот класс был бы и так объединен и более того, находился бы в одной файле. И это было бы лучше. Поэтому исключительно желание повторного использования компонентов в разных проектах (в РАЗНЫХ, а не в ОДНОЙ игре) заставляет нас использовать partial и разделять функциональность по компонентам.
Только не говорите мне, что вы совсем не знаете ООП, и не понимаете, что должно быть в одном классе, а что нет. Хотя думаю, проблема как раз кроется в этом, но тут мне нужно читать курс лекций - нет, серьезно.
Поэтому partial-подход правильнее наоборот критиковать как "стрельбу мелкой дробью" (запах такой есть по Фаулеру), только в случае partial это как раз нивелируется компиляцией в один класс. А в случае ECS - они прямо говорят, что нарушают ООП. И это плохо, хотя они и не понимают.

#35
6:15, 16 дек 2025

Кони в вакууме изрядно надоели. Мы их обсуждать больше не будем. А ECS обсуждать вообще то и не планировалось, это ублюдочная вещь (незаконнорождённый ребенок от ООП), и если не согласны проходите мимо. Разве что мне кто-то покажет работающий проект на ECS выложенный в репозитории. С удовольствием посмотрю какая паршивая эта вещь.

Partial-подход, конечно важен, т.к им будет пронизан все библиотеки от Tac. А со временем количество функционала вырастет и мы воочию увидим как всё прекрасно.

Отсюда и дале, только для уверовавших в partial-подход, и нейтральных наблюдателей, вести споры, как и что лучше больше не будем.

#36
22:30, 18 дек 2025

Не могу понять, почему ты людей потер? Ты же архитектуру презентуешь - очевидно, критики находятся. Если ты не можешь защитить свою архитектуру - то какова ей цена?

#37
0:56, 19 дек 2025

Seneca
Потер исключительно те сообщения, которые токсичны и переходят на личности. Все сколько либо содержательные сообщения без ad hominem остались и я на них подробно ответил. Оскорбления никак не помогают разобраться в теме и им не место здесь.

#38
(Правка: 1:06) 1:04, 19 дек 2025

Не спеша, пишу документацию, это занимает кучу времени и понимаю, почему программисты этого не любят, сам отношусь к ним, но профессия архитектора требует доносить архитектуру людям.

Так вот, при описании partial сущностей решил их собирать на одной странице, чтобы можно было оценить какими свойствами/методами расширяет тот или иной компонент.

Вот что получилось для Item2. То, что можно описать - не является монолитным классом, как тут некоторые утверждали, наоборот partial позволяет выделить (не только синтаксически/визуально, но и в смысле зависимостей) блоки того, что иначе было бы размазано по классу в целом.

А ссылки о том, что не так с SRP я уже давал. Про потерю производительности, так это вообще фейк и фантазии ECSшников.

#39
1:20, 19 дек 2025

tac

Первые сообщения от Шторма гораздо токсичнее тех, что ты потер. Ты рандомно их подтираешь?

#40
1:34, 19 дек 2025

Seneca
> Первые сообщения от Шторма гораздо токсичнее тех, что ты потер. Ты рандомно их подтираешь?
Он пытался кривляться, что я допустил, теперь можешь представить как он перешел грань, что я его потер. В любом случае, рекомендую прочитать С кем нам по пути? и перестать испытывать мое терпение оффтопом.

#41
8:07, 24 дек 2025

Продолжаю пополнять репозиторий и писать документацию, рекомендую прочить О архитектуре библиотеки .

#42
22:14, 13 янв 2026

Написал статью на хабре TacLibrary открытая библиотека для разработки игр на Unity 3d (идея создания)

Страницы: 1 2 3
Free Unity DevФорум