Игорь Данилевский(Историк, источниковед), считает что Русь это род занятий или объедение людей типа отряда(вероятно это команда корабля). Собирались в русь чтоб на кораблях поторговать и пограбить.
Используя готовый фремворк вы, как минимум, сэкономите кучу времени(и денег) на разработку архитектуры и своих инструментов. А также время на адаптацию и введение в курс дела, нового члена команды разработки. Также, фреймворк задаёт рамки использования компонентнов и.т.д.
Но если цель, эксперементировать с архитектурой в целях обучения и расширения кругозора. И поиска новых решений. То. Норм подход.
Я хочу сказать, что оптимизировать рефлексию в проекте, это тоже самое, что экономить на спичках. Нормально оптимизированные графические ассеты дадут прироста больше, чем отказ от рефлексии.
Так указали бы в статье, что вы применили эти шаблоны. И людям которые пытаются их понять будет польза, в виде примера. И новичкам будет понятно, куда копать если захотят расширить эту систему. А то выглядит, как изобретение шаблона заново.
Связь между рефлексией и просадкой производительности не очевидна. Вложенные циклы, тоже просаживают производительность, может откажемся от их использования?
«Современный язык программирования Haxe хорошо известен в определенных кругах, но многие из читающих данный материал возможно никогда о нем и не слышали.»
Благодаря дружелюбному хакс комьюнити, которое всегда скажет, — «зачем тебе понятные уроки и статьи по хакс? Мозгов, что ли у тебя нет?». Или на худой вопрос «Ну ладно, задавай вопрос чётки и конкретный». И толкнёт разработчика в тысячи и один видеоурок на ютубе по юнити. И в чатики месенджеров по юнити, где народ в 10000й раз терпеливо объясняет новичкам как заставить вращать 3д объект по клику.
«прежде чем кто-то спохватится и отправит своих работников учиться на Запад, оплачивая им стипендии» Скорее на Восток в Китай и Корею. Рекомендую обратить внимание на их игры(я про мобилы). К сожалению мобильные игры «Запада» убоги по сравнению с восточными.
Причём, убоги как по ГД, так по сюжету и монетизации.
"— Когда можно будет взять себе ECS и разрабатывать?"
В своё время не нашёл как добавить компонент к сущности или сущность в рантайме. Добавить получилось, но вот фильтры не видели изменений(в системах достучаться не получилось). Так как всё кешировалось до запуска ECS. Эту проблему исправили? Или, же, я что то недопонял и не дочитал?
Второй момент, из коробки есть рендер 3д объектов, но нет спрайт рендера. На форуме можно найти решение, но нужно порыться в инете.
Третий момент, физика которую нужно реализовывать самостоятельно.
Т.е. не хватает примеров использования ECS в открытом доступе.
Я тут согласен, для подобных дискуссий нужно(мне) запилить проект и говорить по существу.
И поймите меня правильно, что я вовсе не противник усов, я даже за, но не оголтело, как сейчас народ кинулся, а с умом, там где это уместно.
Я тоже за продуманное использование. Оголтело их советуют, те кто с ними не особо работал. Налепить неоптимального говнокода можно в рамках любой архитектуры, в этой архитектуре наказание за говнокод может прийти моментально.
«Попробуйте повозится не с псевдособытийной, а с реально событийной моделью архитектуры.» Я использовал разные архитектуры(8лет на флеше), а там событийный подход из коробки.
ECS мне нравиться тем, что это, по сути, конвейерная лента по которой перемещаются сущности, а система это, типа обрабатывающий станок. Это даёт огромную гибкость в расширении и написании кода. И, да кодогенерация, которая позволяет переложить часть работы на геймдизов.
Второй момент, легко отлаживать, так как визуализатор контейнера сущностей с состояними компонентов в редакторе юнити, даёт хорошее представлени о том, что происходит с данными в рантайме.
Т.е. легко локализовать ошибку.
Вы вместо прочтения пространных статей, лучше попробуйте заюзать юнитёвскую ECS в реальном проекте(Хотя бы флапибёрдс или ранер какой запилите на ней).
Как архитектурное решение для всей игры оно не подходит, а подходит только для управления и визуализации однотипных 3д объектов(здесь огромный приток производительности), при попытке заюзать её для спрайтовых объектов, вас ждёт конфуз, и гугление решений использования спрайтов
Как говорил дедушка Ленин, — «Практика критерий истины»
Что скажут эксперты по безопасности по поводу судьбы Apple и его устройств? Как скоро смерть? Сколько людей выкинули устройства на IOS, также как они сносят флеш?
Представители Google отреагировали на заявления компании Perception Point, два дня назад рассказавшей о критической уязвимости (CVE-2016-0728) в подсистеме keyring ярда Linux. Эксперты утверждали, что данная проблема представляет опасность не только для компьютеров, но и для 66% всех устройств на базе Android https://xakep.ru/2016/01/22/google-denies-keyring-reference-leak/
тот же вопрос владельцам Android`ов и пользователям linux.
Но если цель, эксперементировать с архитектурой в целях обучения и расширения кругозора. И поиска новых решений. То. Норм подход.
И тут я пояснил, как ещё одним способом можно решать проблему высокой свзяности кода в проекте
Если проектировать полностью гибкую систему. То мы можем построить всю систему на сигналах Zenject`a.
Тогда у нас будет связь между компонентами исключительно через его SignalBus.
А Менеджеры и Контроллеры будут обрабатывать эти сигналы.
Неразумное использование рефлексии ведёт к просадке перфоманса. Как и неразумное использование вложенных циклов ведёт туда же.
Тема настолько обширно, что непонятно, что вы хотите услышать?
Благодаря дружелюбному хакс комьюнити, которое всегда скажет, — «зачем тебе понятные уроки и статьи по хакс? Мозгов, что ли у тебя нет?». Или на худой вопрос «Ну ладно, задавай вопрос чётки и конкретный». И толкнёт разработчика в тысячи и один видеоурок на ютубе по юнити. И в чатики месенджеров по юнити, где народ в 10000й раз терпеливо объясняет новичкам как заставить вращать 3д объект по клику.
Причём, убоги как по ГД, так по сюжету и монетизации.
В своё время не нашёл как добавить компонент к сущности или сущность в рантайме. Добавить получилось, но вот фильтры не видели изменений(в системах достучаться не получилось). Так как всё кешировалось до запуска ECS. Эту проблему исправили? Или, же, я что то недопонял и не дочитал?
Второй момент, из коробки есть рендер 3д объектов, но нет спрайт рендера. На форуме можно найти решение, но нужно порыться в инете.
Третий момент, физика которую нужно реализовывать самостоятельно.
Т.е. не хватает примеров использования ECS в открытом доступе.
Аналогично.
Поэтому и советую попробовать.
Я тут согласен, для подобных дискуссий нужно(мне) запилить проект и говорить по существу.
Я тоже за продуманное использование. Оголтело их советуют, те кто с ними не особо работал. Налепить неоптимального говнокода можно в рамках любой архитектуры, в этой архитектуре наказание за говнокод может прийти моментально.
«Попробуйте повозится не с псевдособытийной, а с реально событийной моделью архитектуры.» Я использовал разные архитектуры(8лет на флеше), а там событийный подход из коробки.
ECS мне нравиться тем, что это, по сути, конвейерная лента по которой перемещаются сущности, а система это, типа обрабатывающий станок. Это даёт огромную гибкость в расширении и написании кода. И, да кодогенерация, которая позволяет переложить часть работы на геймдизов.
Второй момент, легко отлаживать, так как визуализатор контейнера сущностей с состояними компонентов в редакторе юнити, даёт хорошее представлени о том, что происходит с данными в рантайме.
Т.е. легко локализовать ошибку.
Как минус, холостой ход и выборки.
Юзал LeoECS для три в ряд — получил меньше кода чем в обычной реализации, что я сделал не так?
Как архитектурное решение для всей игры оно не подходит, а подходит только для управления и визуализации однотипных 3д объектов(здесь огромный приток производительности), при попытке заюзать её для спрайтовых объектов, вас ждёт конфуз, и гугление решений использования спрайтов
Как говорил дедушка Ленин, — «Практика критерий истины»
http://www.securitylab.ru/news/479954.php
Что скажут эксперты по безопасности по поводу судьбы Apple и его устройств? Как скоро смерть? Сколько людей выкинули устройства на IOS, также как они сносят флеш?
Представители Google отреагировали на заявления компании Perception Point, два дня назад рассказавшей о критической уязвимости (CVE-2016-0728) в подсистеме keyring ярда Linux. Эксперты утверждали, что данная проблема представляет опасность не только для компьютеров, но и для 66% всех устройств на базе Android
https://xakep.ru/2016/01/22/google-denies-keyring-reference-leak/
тот же вопрос владельцам Android`ов и пользователям linux.
угу, который будет целиком на Webassembly.
Это уже нативная технология для браузера, не плагин.