Еще на тему
Почему говно-движок?
Потому-что так сказали умные дяди в ютубе, хуле тут неясно епта?
Все нынешние игры это набор давно отработанных механик по разному замешанных. Даже всеми любимое инди лишь эксперементирует с чем-то уже существующим.
Unity - самый простой движок для подобной схемы. Плюс можно буквально в 2 клика сделать из пк игры мобильную и наоборот, так же консольную в мобильную и т.д. На Unity пишут на C#, который куда удобнее и понятнее древнего C++, который используют на Unreal Engine. По твоему разработка на анриэле дольше, потому что разработчики явные профи, в отличии от юнити? Хрен там, они с плюсами ебутся. От того разработка дорожает. А на Unity тебе могу сделать клон злых птичек за неделю и потратить на это банку пива, а после сделать клон хс за 2 недели и заработать, закрыть проект за плагиат, и сделать новый. А если ты попытаешься сделать такой же прикол на анриеле, то неизбежно будешь ждать минимум месяц клона тех же злых птичек. А клона хс потерпишь лишь убытки. При том что разработчики на C++ оплачиваются выше, чем на C#, от того и разработка будет дороже не только из-за времени.
Вот и думай. Так ли Unity говно, если на нём держится почти весь рынок мобильных игр. И позволяет юным и старым издателям выйти на рынок со своим хитом с минимумом затрат.
Пишет это разработчик игр на Unity. 2 года стажа
Unity - самый простой движок для подобной схемы. Плюс можно буквально в 2 клика сделать из пк игры мобильную и наоборот, так же консольную в мобильную и т.д. На Unity пишут на C#, который куда удобнее и понятнее древнего C++, который используют на Unreal Engine. По твоему разработка на анриэле дольше, потому что разработчики явные профи, в отличии от юнити? Хрен там, они с плюсами ебутся. От того разработка дорожает. А на Unity тебе могу сделать клон злых птичек за неделю и потратить на это банку пива, а после сделать клон хс за 2 недели и заработать, закрыть проект за плагиат, и сделать новый. А если ты попытаешься сделать такой же прикол на анриеле, то неизбежно будешь ждать минимум месяц клона тех же злых птичек. А клона хс потерпишь лишь убытки. При том что разработчики на C++ оплачиваются выше, чем на C#, от того и разработка будет дороже не только из-за времени.
Вот и думай. Так ли Unity говно, если на нём держится почти весь рынок мобильных игр. И позволяет юным и старым издателям выйти на рынок со своим хитом с минимумом затрат.
Пишет это разработчик игр на Unity. 2 года стажа
Скажи ещё что нибудь на разработническом
Многие разработчики используют git клиент sorcetree, ибо их компания жмотит на gitkraken. Но при этом существует fork, который настолько же платный как и winrar, и при этом крайне неплох. По сути как gitkraken но можно бесплатно юзать. И можно купить один раз и использовать, не по подписке, в отличии от кракена. Ну и в отличии от sorcetree у меня не было проблем с гитлабом при использовании fork. Так что я пока считаю его лучшим бесплатным гит клиентом.
Fork охуенный, да. Рекомендую.
Вопрос - что может такого мне дать GitKraken если у меня уже есть IntelliJ IDEA Ultimate и GitHub Team? Вот прям что бы киллер фича.
Возможно ничего и не даст.
Хотя для меня просмотр истории и 3хстороннего диффа в InteliJ IDEA производных средах - какой-то ад.
Но я очень не исключаю, что просто не потратил достаточно времени, чтобы настроить всё и разобраться.
Потому юзаю Fork / SourceTree + KDiff3
Хотя для меня просмотр истории и 3хстороннего диффа в InteliJ IDEA производных средах - какой-то ад.
Но я очень не исключаю, что просто не потратил достаточно времени, чтобы настроить всё и разобраться.
Потому юзаю Fork / SourceTree + KDiff3
Я так понимаю KDiff3 тебе для конфликтов слияния, и более не за чем. У меня для этого VS Code начинённый соответствующими плагинами.
Но можешь объяснять зачем комбинировать Fork / SourceTree?
Но можешь объяснять зачем комбинировать Fork / SourceTree?
> KDiff3 тебе для конфликтов слияния
Угу. Но можно использовать и то, что встроенно в IDE (я юзаю Rider, иногда и через него всё это и делаю), но к SourceTree + KDiff3 я просто привык.
> зачем комбинировать Fork / SourceTree
незачем) У меня просто переходной период с SourceTree на Fork
Угу. Но можно использовать и то, что встроенно в IDE (я юзаю Rider, иногда и через него всё это и делаю), но к SourceTree + KDiff3 я просто привык.
> зачем комбинировать Fork / SourceTree
незачем) У меня просто переходной период с SourceTree на Fork
Возможно за последние года GitKraken улучшился, но когда я много лет назад поставил его, он просто не вывез размеры проекта и тормозил безбожно (вроде бы и падал, не помню уже). Пришлось дальше сидеть на SourceTree.
Потом появился Fork - збс. Но когда он стал платным компания отказалась покупать его (для энтерпрайза просто нажать "Юзать бесплатно дальше" не прокатит) и при этом сам тоже не мог купить - юзать можно было только софт купленный компанией (пздц).
Сейчас работаю в другом месте - юзаю Fork и SourceTree (по привычке пока) параллельно.
Потом появился Fork - збс. Но когда он стал платным компания отказалась покупать его (для энтерпрайза просто нажать "Юзать бесплатно дальше" не прокатит) и при этом сам тоже не мог купить - юзать можно было только софт купленный компанией (пздц).
Сейчас работаю в другом месте - юзаю Fork и SourceTree (по привычке пока) параллельно.
> юзать можно было только софт купленный компанией
WAT??? А если музыкальный плеер - что на рабочий комп не поставить? ГЕНИАЛЬНО. У админа есть доступ ко всему на машине и мне норм. Но тут уже удар ниже пояса.
WAT??? А если музыкальный плеер - что на рабочий комп не поставить? ГЕНИАЛЬНО. У админа есть доступ ко всему на машине и мне норм. Но тут уже удар ниже пояса.
Вопрос хороший. Я юзал спотифай без проблем. Но видимо речь идёт о софте, который используется для заработка. Вообще это довольно мутная тема корпоративной бюрократии
Ну-ка покажи нам, что ты разработал.
Да, пусть покажет свой git!
И про gud пусть не забудет!
И сделает тестовое!
Ori это расскажи. Gris тоже не существует судя по всему.
да и Homeworld: Deserts of Kharak
Господи , можно мне подобного "говна" , прямо в рот навалить и глаза им натереть , и с двух ног у меня это "говно" внутри утрамбовать. Побольше бы такого "говна" и может я бы не стал покупать кучу железа что бы поиграть в охуенные "новые шедевры" не на Unity
Ой блять...я и не сказал, что на Unity нельзя делать годноту, при желании годноту можно делать хоть на RenPy, но ниша Unity это мобильные дрочильни.
Ну вот, что доказывает, что на юнити было сделано ну скажем 20, а хуй с ним 40 индюшачих шедевров и еще 40(в порядке бреда) ААА шедевров? Да нихуя по сравнению с сотнями, тысячами дрочилен и хорророы из гринлайта.
Вывод следующий: ниша юнити это быстро сделать и релизнуть говно
Ну вот, что доказывает, что на юнити было сделано ну скажем 20, а хуй с ним 40 индюшачих шедевров и еще 40(в порядке бреда) ААА шедевров? Да нихуя по сравнению с сотнями, тысячами дрочилен и хорророы из гринлайта.
Вывод следующий: ниша юнити это быстро сделать и релизнуть говно
Ваши слова можно применить к любому условно-бесплатному инструменту и связано это в первую очередь с массовым использованием инструмента.
В общем если вы глубоко убеждены что оружие убивает людей, молотки вечно криво гвозди забивают а машины врезаются где не попадая, мои полномочия всё.
В общем если вы глубоко убеждены что оружие убивает людей, молотки вечно криво гвозди забивают а машины врезаются где не попадая, мои полномочия всё.
То, что порог вхождения радикально ниже чем у UE не делает юнити плохим движком. Попробуйте тоньше
На самом деле всё проще, юнити для индюков был бесплатным, когда анрыл хотел процент, год назад они поменяли условия, но разрабы переучиваться на плюсы не спешат
В анрыле индюки кодят на блюпринтах и в душе не ебут за плюсы, юнитеки потому и выкупили Болт, чтоб и у них так же было, чтоб художник мог сам накидать логику без поисков программиста. В анрыле ты так же можешь сбилдить под любую платформу
Так что разницы между движками с каждым годом всё меньше, что в техническом плане, что в лицензионном
В анрыле индюки кодят на блюпринтах и в душе не ебут за плюсы, юнитеки потому и выкупили Болт, чтоб и у них так же было, чтоб художник мог сам накидать логику без поисков программиста. В анрыле ты так же можешь сбилдить под любую платформу
Так что разницы между движками с каждым годом всё меньше, что в техническом плане, что в лицензионном
Совсем забыл, в юнити проще 2D делать, это главное преимущество
Ну и мобилки вроде поддерживаются лучше (по крайней мере раньше так было)
Блупринты это просто визуальный С++ тащемта. Переучиться и перейти с одного на другое достаточно просто.
> визуальный С++
то, что это превращается в тоже самое, что и плюсы не делает его "просто визуальный C++". Там с плюсами будет общего не больше чем с любым другим языком
то, что это превращается в тоже самое, что и плюсы не делает его "просто визуальный C++". Там с плюсами будет общего не больше чем с любым другим языком
> Так что разницы между движками с каждым годом всё меньше, что в техническом плане, что в лицензионном
Вот уж нет.
С тех пор как юнитеки забросили развитие старого рендера и "развивают" URP/HDRP, их развитие остановилось на уровне
"ну мы за 4 года добавили тени от точечного источника света, а документацию, шейдера, кастомный постпроцесс не через жопу и т.д. не завезли"
Когда в ue появляются nanite и реалтайм global illumination, юнити тем временем удалили baked GI (даже не реалтайм), потом вернули, так как альтернативы даже такого говна нет и люди начали знатно охуевать на форуме.
Чем больше времени проходит, тем больше юнити закапывают себя в могилу со своими URP/HDRP, потому что это практически два разных, несовместимых между собой движка.
Вот уж нет.
С тех пор как юнитеки забросили развитие старого рендера и "развивают" URP/HDRP, их развитие остановилось на уровне
"ну мы за 4 года добавили тени от точечного источника света, а документацию, шейдера, кастомный постпроцесс не через жопу и т.д. не завезли"
Когда в ue появляются nanite и реалтайм global illumination, юнити тем временем удалили baked GI (даже не реалтайм), потом вернули, так как альтернативы даже такого говна нет и люди начали знатно охуевать на форуме.
Чем больше времени проходит, тем больше юнити закапывают себя в могилу со своими URP/HDRP, потому что это практически два разных, несовместимых между собой движка.
Если подрюземировать, то "юнити сосёт в графон".
RenderPipeline'ы - это жопоболь
RenderPipeline'ы - это жопоболь
2 года стажа это считай ещё джун) Открою тебе страшную тайну, только ты никому об этом не говори) Почти вся 3д графика написана на C++ и Си в том числе и твоя любимая единица. C# у него не более чем обвязка из скриптов по сути те же анриловские БП только кодом. Если твоя не хотеть думать головой, а хотеть по быстрому склепать мобильное говно из готовых инструментов, то тут конечно Unity, кто бы спорил. Один хрен вряд-ли у тебя найдётся 300к зелени чтобы получить доступ к ядру, если вдруг понадобится сделать что-то своё. Если хочешь стать нормальным геймплейным программистом, то это С++ и движок тут отходит на второй план, он не обязан быть Анрилом или Еденицей, у многих студий приоритарный и всегда на С++.
> Почти вся 3д графика написана на C++ и Си в том числе и твоя любимая единица. C# у него не более чем обвязка из скриптов по сути те же анриловские БП только кодом
> Если хочешь стать нормальным геймплейным программистом, то это С++
Ты уже реши для себя, тебе с++ нужен для геймплея или для графики?
> Если хочешь стать нормальным геймплейным программистом, то это С++
Ты уже реши для себя, тебе с++ нужен для геймплея или для графики?
А комментарий мы читаем жопой)
>Если хочешь стать нормальным геймплейным программистом, то это С++
>Если хочешь стать нормальным геймплейным программистом, то это С++
> Если хочешь стать нормальным геймплейным программистом, то это С++
блджад, что это значит?) для игровой логики плюсы нафиг не нужны
блджад, что это значит?) для игровой логики плюсы нафиг не нужны
Ну плюсы, кстати, в UE очень условно. Вся жопоболь-магия плюсов, к счастью, в UE не понадобится в большинстве случаем.
Но шарп, однозначно, более приемлимый для написания какой-либо логики, которую после тебя кто-то будет читать. А код, как известно, чаще читают чем пишут.
А в 99.9% проблем производительности будут не в том, что код написан на шарпе, а либо не в коде вообще, либо в логике/алгоритмах кода, но никак не из-за языка.
Для мест, где нужна убер-оптимизация - в помоьщь unsafe-код, где уже будет магия с указателями (например, если ты захочешь напилить JSON-сериализатор).
Но шарп, однозначно, более приемлимый для написания какой-либо логики, которую после тебя кто-то будет читать. А код, как известно, чаще читают чем пишут.
А в 99.9% проблем производительности будут не в том, что код написан на шарпе, а либо не в коде вообще, либо в логике/алгоритмах кода, но никак не из-за языка.
Для мест, где нужна убер-оптимизация - в помоьщь unsafe-код, где уже будет магия с указателями (например, если ты захочешь напилить JSON-сериализатор).
А ещё на Юнити больше туториалов, на анриал я заебался искать, когда пытался разработать платформер.
Он 14 минут обозревает заголовок статьи с какого-то вебсайта. И четверть видео - реклама его собственной конторки.
Всегда так делает. Остальные видео еще хуже, в них в основном он говорит какое все вокруг говнокодеры, ну и рекламирует свою конторку. Но и что он неправ тоже не скажешь, хотя контент конечно сомнительного удовольствия.
Если ты хочешь сказать что что-то является говном, ты хотя бы вид сделай что ты сам не говно, иначе любые твои слова выглядят как правда жизни от пьяного бомжа на помойке
А что не так с правдой жизни от пьяного бомжа на помойке? Бомжи разные попадаются.
Попадаются разные, но от тех что выглядят как обосраные синяки я ничего полезного ни разу не слышал
Hollow knight на unity сделан, тоже говно игра?
Это из-за говеной оптимизации, потому что юнити движок для новичков, которые плохи с этим. Ну а ещё он просто клеит свое лого в играх, которое отключается за деньги. Т.е. в хорошем продукте его не будет.
Лагают они не потому, что движок плохой, а потому что порог вхождения низкий и напилить хоть что-то проще
Потому что есть unreal 5
Cuphead
Pillars of Eternity, Hollow Knight, Bad Piggies, The Stanley Parable, Shadowrun Returns, их много вообщем-то
мхе-хе-хе
Парабола Стенли разве не на Source от Valve?
Ultra Deluxe (Новая версия игры) уже на Юнити
Иерархия чего?
Иерархия говна в природе
при всей моей любви к Обсидианам вообще и к Столпам вечности в частности, игра (особенно на релизе) была пиздец каким тормознутым говном. Я как та сраная мышь плакал и кололся, но продолжал ебать кактус, когда первый раз проходил, не желая патчей ждать.
"игра (особенно на релизе) была пиздец каким тормознутым говном" - как практически любая игра от Обсидианов? Тот же Нью вегас был нкиграбелен на релизе
Он был забагованным (в принципе, так и осталось), но не тормозил.
Ну так и движок в нем был не юнити, а геймбрио. Вот и не тормозило.
Нью Вегас на релизе имел парочку квестовых багов. Которые возникали не у всех и не всегда. Забагованность НВ на релизе - это что-то на уровне городской легенды. НВ, к тому же, выходил во времена, когда у любого крупного проекта есть патч первого дня. Но, как уже заметили, он хотя бы не тормозил и не вис.
Outer Worlds вышел в релиз сразу полностью рабочим. Пару квестовых багов потом правили патчами, но ничего критичного. Хотя выпускали его в дикой спешке из-за продажи МС. в Grounded не играл, но об игре слышал много и ничего про тормоза.
Outer Worlds вышел в релиз сразу полностью рабочим. Пару квестовых багов потом правили патчами, но ничего критичного. Хотя выпускали его в дикой спешке из-за продажи МС. в Grounded не играл, но об игре слышал много и ничего про тормоза.
Хех, в Pillars of Eternity (в обоих частях) настолько длинные загрузки были, что можно было успеть кучу дел переделать, пока игра загружается.
Причём такие загрузки при любой смене локации: заходишь в район города - загрузка, идешь в таверну - загрузка, идешь на второй этаж - загрузка, выходишь на балкон - загрузка. А с балкона не спрыгнуть. Так что теперь выполняешь все предыдущие действия в обратном порядке.
Причём такие загрузки при любой смене локации: заходишь в район города - загрузка, идешь в таверну - загрузка, идешь на второй этаж - загрузка, выходишь на балкон - загрузка. А с балкона не спрыгнуть. Так что теперь выполняешь все предыдущие действия в обратном порядке.
балконы, блять. как же они бесили. у меня японский кроссворд лежал, когда я в РоЕ играл. я 30х50 успевал разгадать штук за 20 загрузок (т.е. не полное исследование города).
Homeworld: Deserts of Kharak. Hardspace: Shipbreaker.
>>какие-нибудь крупные игры
Крупные в плане чего? Просто можно взять всем известные кросс-гача игры, в которых и мир, и проработка, и тормоза только на калькуляторах, но в плане графики -- они примитивные.
И мне лично в таких спорах всегда вспоминается поделка от ncsoft на вроде прикольном движке Unreal Engine 3, которая нагибала топовые ПК. Но как только выкидываешь из игры файл с локализированым текстом -- привет 120 фпс в максимальных настройках.
Ну или, да простит меня мудрейшая, WarCraft 3 Reforged...
Крупные в плане чего? Просто можно взять всем известные кросс-гача игры, в которых и мир, и проработка, и тормоза только на калькуляторах, но в плане графики -- они примитивные.
И мне лично в таких спорах всегда вспоминается поделка от ncsoft на вроде прикольном движке Unreal Engine 3, которая нагибала топовые ПК. Но как только выкидываешь из игры файл с локализированым текстом -- привет 120 фпс в максимальных настройках.
Ну или, да простит меня мудрейшая, WarCraft 3 Reforged...
Hearthstone
Тарков
Life is strange Before The Storm, Subnautica
неловко ты обосрался, да?
Очевидно потому, что эти ваши ААА игры имеют табун тестировщиков и опытных разработчиков, а игры на юнити делают без сотен миллионов бюджета.
Рогалик потому и тормозно, что его делают ламеры всякие, которые срут на оптимизацию кода. А люди которые делают ААА не срут, а делают нормально. Движок по сути (конкретно юнити) это графическая оболочка с улучшенным интерфейсом для кода, где код у тебя не только тупо лежит в папках, а висит прям на спрайтах и модельках для лучшего ориентирования. А уж как ты в этом коде наладишь связи и как эти связи будут работать, это уже твои проблемы программиста. Проблема юнити именно в своей хорошести и низком пороге вхождения, что каждый хрен лезет там что-нибудь наваять. Как такой ответственный хрен и заявляю.
Да, большой соблазн запихнуть все проверки на Update/FixedUpdate, делают if-else архитектуру, не знают что такое prefab и тупо копипастят объекты ручками, не умеют в асинхронное/реактивное программирование, и т.д. Я, как человек заглянувший в game-dev из web-dev-а вообще в первое время был поражен тому беспорядку и отсутствию best-practive, что творится в стане unity-разработчиков.
Удивительное дело, при всем говнокодерстве js с его нетипизированностью, веб-разработка последнее оставшееся место, где ты часто действительно вынужден экономить ресурсы, потому что мощи компа прожуют кривое поделие на юнити, а браузер быстро скажет ой всё я устала.
Под веб-разработкой понимаю не только фронтентд, но и бекенд. Но и в случае фронта, не согласен, современный фронт давно ушел от говноскриптов на jQuery/Bootstrap, типизированный TypeScript правит баллом, используются все те же инструменты, что и при бекенд-разработке: линтеры, профайлеры, юнит и e2e тесты, CI, логирование пользовательских ошибок и пр.
TS где-то кроме ангуляра разве используется из популярных фреймворков? Если просто пройтись по ХХ, то на 1 вакансию с разработкой на ангуляре будет 30 на реакте, и не без причин.
TS просто транспайлер над js, поэтому можно смело использоват его с чем угодно, с любым фреймворком, хоть с Vue (https://vuejs.org/guide/typescript/overview.html), хоть с реактом (https://www.typescriptlang.org/docs/handbook/react.html), хоть для Node.js скриптов.
И много ты в энтерпрайзе видел примеров, где фронт написан на реакте с тс? Про вью даже не спрашиваю. Что-то мне подсказывает, что твои слова про "правит баллом" сильно преувеличены.
Да, много. По-крайней мере насколько могу судить по общению с знакомыми из других компаний в Берлине. Например, крупнейшие - Lieferando, Babbel, Omio, Zalando - имеют в стеке React+TypeScript. Ну и по вакансиям, которые мне приходят от HR-ов.
10 лет в геймдеве. Рендер программист. Пилим свое инхаус двихло для нашей компании. Сука 70% рабочего времени отдела посвящено оптимизациям. Экономим каждый возможный байт и тик cpu/gpu. В профайлерах провожу больше времени чем за кодингом. А юзеры все равно скажут что движок не оптимизированное говно, так как не держит 120 фпс в 4к на ультрах на их 1050 ti
Зажрались граждане юзеры, зажрались.
Иногда, кстати, это просто невозможно из-за физики - пропускного канала (Мб/с) многих HDMI-кабелей не хватает для передачи такого большого потока данных. К сожалению, далеко не все юзеры это понимают.
Ладно, раз уж все равно заминусили без аргументов почему, вот вам иллюстрация из жизни. 2019 год, мой хороший знакомый решил влиться в мобильный геймдев с очередной вариацей на тему "три в ряд". Так как программировать он сам умел плохо, купил готовый ассет для подобных игр в официальном сторе, баксов 80-90 отдал. Настроил, запустил, на компе вроде все более менее норм, а вот на телефонах все тормозит и сам телефон ощутимо начинает нагреваться. Пошел он искать совета, кинул и мне пример, "тыжпрограммист, посмотри". А там в коде в секции Update() {} каждого шарика вызывалась проверка "проверить, нет ли вокруг меня шариков того же цвета". Каждый кадр, 60 раз в секунду. Причем, чем больше поле - тем значительно больше шариков, и каждый постоянно проверяет поле вокруг себя. Естественно, это работает, но это абсолютно ненормально, проверять надо только один раз при создании или перемещении каждого отдельного шарика. Не помню уже, чем все тогда закончилось, то ли он нашел того, кто переписал ему этот участок, то ли вернул деньги и купил другой ассет, но сам факт, что подобные решения попадают в продажу и приводят к мифам, что Юнити - движок тормозной.
Это точно. Но у меня жопа лопнула от юнити при разбирательстве с мультиплеер, когда старый вариант плагина мы уже видите ли не поддерживаем и скоро вообще отруби а новый адски сырой, по нему нет толком мануалов и видосов и тоже непойми какая поддержка.
> А там в коде в секции Update() {} каждого шарика вызывалась проверка "проверить, нет ли вокруг меня шариков того же цвета". Каждый кадр, 60 раз в секунду.
Ужас какой.
А с чего ты решил что это бутылочное горлышко? Проверка цвета шарика, хоть тысяч шариков, может занимать дай бог 1% производительности CPU, а тем временем всю производительность может убить какой-нибудь grabpass с копированием буфера.
Ужас какой.
А с чего ты решил что это бутылочное горлышко? Проверка цвета шарика, хоть тысяч шариков, может занимать дай бог 1% производительности CPU, а тем временем всю производительность может убить какой-нибудь grabpass с копированием буфера.
Просто я часто вижу эти упоминания "кешировать трансформы, не делать проверок в update", и прочую экономию на спичках, на которую у меня аллергия, а тем временем реальная проблема и узкое место может быть совершенно в другом месте.
Нельзя слепо следовать правилам, не зная как это работает внутри и что ты выиграешь из этого. Тем более что все эти оптимизации для CPU, которое практически в 95% случаев не является узким местом, когда проблема всегда в GPU.
Нельзя слепо следовать правилам, не зная как это работает внутри и что ты выиграешь из этого. Тем более что все эти оптимизации для CPU, которое практически в 95% случаев не является узким местом, когда проблема всегда в GPU.
В итоге, видел много проектов, как разработчики слепо оптимизируют CPU код (потому что их так учили), а потом ставят пару проекторов unity на террейн (например декаль от пульки) и получают +десятки миллионов треугольников в кадре от пары декалей на террейне.
Ты конечно тоже прав, но просто я нихера не разбираюсь в разработке трехмерных игр, сосредоточен на мобильном 2д, и там проблемы возникают как раз там, где я написал.
Чтобы не быть пиздаболом, сейчас накидал сцену, где создается 1000 копий одного prefab-а, каждый из которых в Update занимается какой-то херней, типа, проверяет соседей пробегом по List-у, вызывает GetComponent и т.п. Производительность сцены на стационарном i7-10700F падает при запуске с 700 фпс (пустая сцена) до 70, то есть в 10 раз, на мобильном железе ситуация была бы еще драматичнее, даже при заметно меньшем кол-ве объектов.
Чтобы не быть пиздаболом, сейчас накидал сцену, где создается 1000 копий одного prefab-а, каждый из которых в Update занимается какой-то херней, типа, проверяет соседей пробегом по List-у, вызывает GetComponent и т.п. Производительность сцены на стационарном i7-10700F падает при запуске с 700 фпс (пустая сцена) до 70, то есть в 10 раз, на мобильном железе ситуация была бы еще драматичнее, даже при заметно меньшем кол-ве объектов.
Ну вообще-то это не совсем корректный тест. Если хочешь оценить чистую просадку, то выруби рендеринг мешей, оставь голые скрипты. Как минимум формирование drawcalls + динамический батчинг так же отъедают cpu.
Плюс у тебя, можно сказать, комбинаторный взрыв происходит, когда ты по листу проходишь.
То есть если пробегать по 50 шарикам, а не по 1000 шарикам, то разница будет не в 20 раз, а в 400(!) раз. Потому что 50x50 = 2500 сравнений в листе. 1000x1000 = 1 миллион сравнений.
Так что нет, у тебя не корректные сравнения. Собственно о чём я и говорил, что до какого-то количества шариков на экране, такой код вообще практически не будет вносить вклад в ФПС, и запариваться об оптимизации это рано.
Плюс у тебя, можно сказать, комбинаторный взрыв происходит, когда ты по листу проходишь.
То есть если пробегать по 50 шарикам, а не по 1000 шарикам, то разница будет не в 20 раз, а в 400(!) раз. Потому что 50x50 = 2500 сравнений в листе. 1000x1000 = 1 миллион сравнений.
Так что нет, у тебя не корректные сравнения. Собственно о чём я и говорил, что до какого-то количества шариков на экране, такой код вообще практически не будет вносить вклад в ФПС, и запариваться об оптимизации это рано.
Это как раз из-за оптимизации. Рогалики - это зависимости на зависимостях, чуть что не уследишь и у тебя мигом сжираются такты и оперативка. А так как юнити - самый популярный движок, большинство начинающих первые проекты идут клепать на него, из-за чего и получается перекос в производительности.
Потому что блять относительно недавно в нем только появилась возможность сделать... Текстовую надпись.
Юнити - пережиток оперсорса 2010-х. Сейчас есть прекрасный анрил 5.
Юнити - пережиток оперсорса 2010-х. Сейчас есть прекрасный анрил 5.
Не он, но вот пример проблем с Юнити для долгостроев.
Шаг ноль - уметь не только кодить но и геймдизайнить.
Не согласен, если руки не из зада и есть талант, все выйдет нормально.
За годную идею и желание именно создать игру, а не срубить бабла с лохов, даже кривые руки иногда прощаются.
Я не в курсе, дальше хамер едита не лез, неужели настолько проще в освоении чем (ну наверное самый популярный аналог) анриал 4?
Любым инструментом можна научиться пользоваться. Просто Юнити сейчас популярен вот и обновляют его чаще, шоб новые пользователи последовательно учились им пользоваться, а не обосрались от ужасного интерфейса. Плюс сишарп (Юнити, не с++, как у анриал), как язык немного проще в краткой перспективе обучение, дальше уж как пойдет.
"Юнити сейчас популярен вот и обновляют его чаще"
Не верно. Популярен сейчас Анриал, особенно пятый, на фоне массовых переходов крупных разработчиков на этот движок.
А обновляться юнити стал потому что из-за стагнации он и начал утрачивать свою популярность. Но теперь уже поздновато. Как говорится : "пока ты спал, твой враг качался". Угнаться за таким врагом уже сложновато.
Не верно. Популярен сейчас Анриал, особенно пятый, на фоне массовых переходов крупных разработчиков на этот движок.
А обновляться юнити стал потому что из-за стагнации он и начал утрачивать свою популярность. Но теперь уже поздновато. Как говорится : "пока ты спал, твой враг качался". Угнаться за таким врагом уже сложновато.
Многих пугают анриловские плюсы (C++) в сравнении с шарпом у юнити (хотя что там, что там - не совсем чистые языки)
Шарп в юнити вполне себе чистый. Компилятор свой (форк моно), но язык вполне соответствует стандарту
Глядя на то, что вытворяют модеры через всякие редакторы уровней, мне кажется, что на полноценном движке написать свою игру с нуля было бы проще.
Про то что юнити проще анриала - это не актуально уже лет 10. У анриала есть язык визуального программирования, который позволяет строить скрипты через блок-схемы, не касаясь С++.
Про то что юнити проще анриала - это не актуально уже лет 10. У анриала есть язык визуального программирования, который позволяет строить скрипты через блок-схемы, не касаясь С++.
Визуальное программирование пытаются пропихнуть лет сорок минимум, и оно не заходит, потому что визуально не значит проще, наоборот, с увеличением кодовой базы работать становится радикально сложнее, потому что ВП по своей сути спагетти, которое не может нормально в тулинг который остальные языки нарабатывали десятилетия (см системы контроля версий например) Так что разработка на это как выбор между гигантской клизмой и сэндвичем с дерьмом
А прблема юнити, что в него вкатываются не люди, которые любят разработку, а любят игры. Я когда начинал собесить юнитистов потерял веру в человечество
Кто тебе доверил собесить кого-то в 13 лет?
В Скретче есть визуальное программирование! Все переходим на Скретч, движок будущего!
Нет, почти тоже самое.
«Может и кал, зато ты про неё знаешь»
Даже пару раз обмазался.
Разраб
Сделать игру, которая говно, лучше чем не сделать. Сколько было амбициозных постов о начале разработки на дтф, и все авторы в итоге спились и ушли из инфополя. Даже полный треш имеет культурную ценность, если он разрабатывался с душой, а не в целях коммерческой выгоды.
*из тени миллиардных доходов выходит улыбаясь очередная FIFA*
Как пользователь Unity со стажем - основная причина количества говна на юнити не в простоте движка, есть ещё более простые движки для нишевых вещей (текстовое приключение в Twine можно за пилить зная только if, Godot куда приятнее Unity для чистого инди 2D). Частично в нулевом проценте до N продаж, но это тоже не решающий фактор, имхо. Ключевое преимущество - asset store на котором либо за маленькую денюжку, либо вообще бесплатно можно найти полноценную игру: меняй спрайты и называй своей. Это покрывает все нужды ассет-свапперов, делающих полное говно чисто чтобы случайно кто-то купил. "Честные" же разработчики-новички порой обманывают себя, что они мастера геймдева, потому что собрали нечто функциональное 1в1 по гайдам (которых дофига что в ютубе, что на офф. сайте юнити). В итоге половина даже не слышала про, например, профайлер, чтобы отследить производительность своей игры, а натыкаться на это случайно в интернете не было причины, потому что все уже разжевано до тебя до состояния каши и вообще ты делаешь проект тупо по темплейту. Сам знаю, сам такой был (и сейчас немного остался).
Есть даже забавная байка - показывал свой первый платформе в институте в качестве проекта по ООП. К тому времени уже больше года над ним работали с командой, проект был с хорошими артами, анимациями, музыкой, саунддизайном, игрался тоже неплохо. В коде не было использовано не одного принципа ООП не считая наследования от базовых классов, которое Юнити делает по умолчанию. Поставили "хор" в итоге, с комментарием "передай художнику, что он очень постарался".
Есть даже забавная байка - показывал свой первый платформе в институте в качестве проекта по ООП. К тому времени уже больше года над ним работали с командой, проект был с хорошими артами, анимациями, музыкой, саунддизайном, игрался тоже неплохо. В коде не было использовано не одного принципа ООП не считая наследования от базовых классов, которое Юнити делает по умолчанию. Поставили "хор" в итоге, с комментарием "передай художнику, что он очень постарался".
Почему большие пальцы с внутренней стороны?
Отличный комментарий!