Чувак, ты крут! В одного такой масштабный проект тянуть это супер-круто!
Всегда мечтал сделать так же, но пока считаю, что не справлюсь в одного, поэтому набираюсь опыта в профессиональном геймдеве.
Я, конечно, в профессиональном геймдеве совсем недавно, но конкретно «Регулярная и в полном объеме оплата труда» там вроде имеется, так же как и «хипстота с дедлайнами, кранчами и без бэкапов» встречается в некотором ынтерпрайзе.
К слову, я не встречал нормальных геймдев-проектов без бэкапов(читай Git'а).
Но вообще мой вопрос был немного иного рода: чем вы зарабатываете на жизнь, чтобы можно было позволить комфортно тратить свое свободное время на геймдев?
Вообще, ответ на этот вопрос можно легко найти, если поискать по запросу «Unreal Engine реализация поддержки модификаций».
При быстрой замене UE на Unity, наспех ничего годного найти не удалось.
Не ту ли у кого-нибудь под рукой годных статеек по созданию поддержки модификаций игр под Unity?
Да, в FSX ФМ очень рельсовая, то ли дело X-Plane.
Еще в Ил-2БЗБ и Ил-2БЗС неплохая ФМ, но оно про поршневую авиацию времен ВМВ и с меньшим уровнем контроля, нежели тру-симы.
Поддержу народ выше.
Не движки кривые, а руки разработчиков игр. Хотя сами движки тоже не без огрехов.
ИМХО, с правильным подходом к разработке и на Unity можно добиться хорошей картинки при хорошей производительности.
ECS никак не ограничивает разработчика. Можно сделать все, что угодно. Единственное, что ECS потребует немного больше времени на построение хорошей архитектуры проекта.
Ну а чтобы не дублировать код, в ECS тоже возможна абстракция, только выстраивается она совсем иначе, нежели в ОО.
Есть несколько вариантов как использовать ECS в UI.
В проекте, которым я сейчас занимаюсь на работе(тут свой закрытый ECS-фреймворк), например каждый UI элемент — сущность. То есть кнопка — сущность с компонентами ButtonComponent и MyMarkComponent, при нажатии она генерирует ивент по самой себе и его можно ловить в любой из систем.
Но я больше склоняюсь к варианту, который предлагает Leopotam, где UI элементы просто-напросто генерируют ивенты внутрь ECS. github.com/Leopotam/ecs-ui
Можешь посмотреть как работает и выглядит ECS на примере простенького PacMan с использованием LeopotamECS и Unity3D github.com/SH42913/pacmanecs
Самый главный плюс ECS — его легкая расширяемость, взаимозаменяемость и слабосвязность систем, в некоторых случаях(LeoECS самый лучший пример такого случая) ECS дает еще и приличный буст к производительности, ибо обработка выходит гораздо легче. Единственная трудность ECS — его освоение на первых парах, очень сложно перестроить восприятие и построение архитектуры с ОО на ECS, у меня на это ушло пол года и весь этот опыт я постарался вложить в примере PacMan.
Быть может когда-нибудь я напишу статью о том как перестроить видение архитектуры с ОО на ECS.
Складывается ощущение, что автор так и не понял ECS, хоть и видит разницу между EC и ECS.
ИМХО, ECS позволяет куда более масштабируемый, простой и удобный подход к архитектуре, нежели ОО. В условиях вечно меняющихся идей у геймдизов и начальства, ECS — подходит куда лучше. Но понять ECS после ОО действительно крайне трудно.
Всегда мечтал сделать так же, но пока считаю, что не справлюсь в одного, поэтому набираюсь опыта в профессиональном геймдеве.
К слову, я не встречал нормальных геймдев-проектов без бэкапов(читай Git'а).
Но вообще мой вопрос был немного иного рода: чем вы зарабатываете на жизнь, чтобы можно было позволить комфортно тратить свое свободное время на геймдев?
Спасибо за ссылку
При быстрой замене UE на Unity, наспех ничего годного найти не удалось.
Не ту ли у кого-нибудь под рукой годных статеек по созданию поддержки модификаций игр под Unity?
Еще в Ил-2БЗБ и Ил-2БЗС неплохая ФМ, но оно про поршневую авиацию времен ВМВ и с меньшим уровнем контроля, нежели тру-симы.
Или уже есть патчи позволяющие такое?
Даже жаль, что при разработке на Unity такое почти не нужно :(
Не движки кривые, а руки разработчиков игр. Хотя сами движки тоже не без огрехов.
ИМХО, с правильным подходом к разработке и на Unity можно добиться хорошей картинки при хорошей производительности.
Тем не менее обязательно попробую как-нибудь на досуге.
Ну а чтобы не дублировать код, в ECS тоже возможна абстракция, только выстраивается она совсем иначе, нежели в ОО.
Да, у плюсов слишком много нюансов :(
В проекте, которым я сейчас занимаюсь на работе(тут свой закрытый ECS-фреймворк), например каждый UI элемент — сущность. То есть кнопка — сущность с компонентами ButtonComponent и MyMarkComponent, при нажатии она генерирует ивент по самой себе и его можно ловить в любой из систем.
Но я больше склоняюсь к варианту, который предлагает Leopotam, где UI элементы просто-напросто генерируют ивенты внутрь ECS.
github.com/Leopotam/ecs-ui
github.com/SH42913/pacmanecs
Самый главный плюс ECS — его легкая расширяемость, взаимозаменяемость и слабосвязность систем, в некоторых случаях(LeoECS самый лучший пример такого случая) ECS дает еще и приличный буст к производительности, ибо обработка выходит гораздо легче. Единственная трудность ECS — его освоение на первых парах, очень сложно перестроить восприятие и построение архитектуры с ОО на ECS, у меня на это ушло пол года и весь этот опыт я постарался вложить в примере PacMan.
Быть может когда-нибудь я напишу статью о том как перестроить видение архитектуры с ОО на ECS.
ИМХО, ECS позволяет куда более масштабируемый, простой и удобный подход к архитектуре, нежели ОО. В условиях вечно меняющихся идей у геймдизов и начальства, ECS — подходит куда лучше. Но понять ECS после ОО действительно крайне трудно.