Почему все работают на Unity если он хуже Unreal Engine?
Почему все работают на Unity если он хуже Unreal Engine?
3434

В чем делать игру это как раз оооочень важно !!!
Именно так, с тремя восклицательными!

И на самом деле ни анрил ни юнити давно "не торты", это странно, но причина проста и объективна - базовый ЯП и накладываемые им архитектурные ограничения.
И Юнька и Анрил это до мозга костей ООПные, Сишные динозавры!

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

И тут классический ООП со статикой образца нулевых буквально хоронит под собой любые намеки на легковесность и дизайн-ориентированность.

Все остальные сегменты айти уже переварили веб- стек а в системной разработке пришествие Rust и Zig и т.п.

А вот с геймдевом все слишком специфично.

Но я бы советовал обратить внимание на веб-стек и в частности на WebGpu.

Тут надо сделать отступление в тему "свой движок":

Почему при таких офигительных и взаимо-дополняющих друг-друга unreal-unity, кастомные движки не думают умирать?

Да потому, что универсальный движок это запредельная пере-типизация, поддержка всего и вся "на всякий случай", обратная совместимость, и стопицот смежных технологий технологий и отраслевых стандартов которые обязательно необходимо впихнуть и желательно в ядро.

Это перегруженная система "дружественного интерфейса" которая нужна только мамкиным хэлловордщикам и то в первые полгода.

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

И тут внезапно опять всплывает веб-стек со своей лучшей во вселенной и отточенной за годы на передовой идеологией зависимостей и импорта.

Плюс недосягаемая процедурная гибкость жаваскриптовой архитектуры!

Да пока с редакторами и ассетсторами не так няшно как у старичков , но это проблема только для школьника - стартапера с нулевым бюджетом и то уже не совсем.

Так что сегодня шецмдев в кризисе на всех уровнях!

Технически - морально устаревшая архитектура на объектной модели и статических типах, и такие же внутренние языки скриптинга: или си или два/боа.

Недозрелая пока альтернатива - убийца в виде веб-стека на легковесном js и web-gpu.

И как следствие - стагнация во всем кроме собственно картинки и ФПС на стороне железа.

Забыта физика, культура моделирования и анимации (все отсканируем, ротоскопируем и замокапим) а RTX сделает нам "реализм".

Как итог юнити рожает Геншин, в котором прелести только сильнее проявляют недостатки и ограничения движка на контрасте.

Шейдерт водички вроде даже крутой, но нырнуть в неё нельзя (Фонтейн не в счёт).

Кораблики вроде есть но прибиты ко дну, никуда не то что не плывут а даже на волнах не кочнуться.

Анимация вроде не деревянная, но физики нет от слова совсем, и покачивающейся и "развевающиеся" тряпочки в одежде не далеко ушли от первого Макса Пейна с его курткой.

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

Они будут долго и дорого делать очередной "киберпунк 2077" с "полным погружением" но попытка отладить все эти изыски и красоты в контексте повествования и сюжета затянется на остаток из жизни и выйдет из всех бюджетов и графиков, в итоге все либо просто умрет либо выйдет в том виде, в котором можно посмотреть как шаг персонажа расплескивает лужу на грудь спутницы но совершенно невозможно собственно играть!

Ибо отладка игромеханик и отладка геймплея это сильно разные вещи а добавление необходимых фич или настроек в угловатый мир статического ООПа анрила или юньки это одинаково больно и непредсказуемо чревато для проекта в целом.

И требует присутствия вообще всех на своих местах и полной концентрации и так в течении лет!

Так что пока геймдев - такое себе, учись не учись.

Ну а каменты про годот - улыбнули 😁

6
Ответить

Вообще то статическая типизация, это лучшее, что придумано человечеством, ever!

12
Ответить

Что за статика типов, бесконечно упоминаемая?
Какие архитектурные ограничения? Давай на конкретных примерах - в UE/U нельзя реализовать %механика% из-за следующих архитектурных ограничений.
Зачем веб приплел, вообще не пон.
Где там физика забыта, не пон. При чем тут моделирование и анимация, если это дело пакетов для моделирования и анимации, соответственно.
О примере геншина молчу. "Кораблики на волнах не касаются" - технические ограничения. Мега пон.
Нет деформации террейна, процедурных скелетов? А они везде нужны? Особенно скелеты процедурные. Под процедурные скелеты ещё и анимация процедурная, получается, а зачем? Физика воды очень нужна везде?
Я раза 3 перечитал, тут без пол литра никак, походу

4
Ответить

Все остальные сегменты айти уже переварили веб- стек а в системной разработке пришествие Rust и Zig и т.п. :

Какой-то бред, никто ещё не перешёл на rust и zig, немножко нишево rust появилось, где долго писать на Си или СПП, но нужна скорость пишут, но там проблем у яп ещё кучи, про zig это вообще мем. Напиши игру без наследования, я посмотрю как твои шарниры заскрепят. Я бы сказал больше стали писать на go, а java, Python, c++, c, php, c#, никуда не ушли их очень много на рынке, они только мутируют под мульти парадигму и растят производительность за счёт jit и прочих хитростей, вы либо никогда не работали в вебе или вообще в разработке, либо насмотревшись на всё блестящее в интернете это написали.

3
Ответить

Все в кучу и ничего конкретного
Такое ощущение, что нахватались где-то, но с геймдевом никак не связаны.
Движок - это консоль. Вот только над современными играми работают далеко не одни программисты. А если посмотреть на срез команды, так программистов там может оказаться меньше, чем всех остальных. Геймдизайнеры сейчас очень слабыми стали и ни то что программировать, они часто не могут какие-то сущности настроить в проекте. Кроме геймдизов куча работы со стороны арта выполняется в движке. Окружение, эффекты и т.д.
Или по вашему игры делаются программистами? Так давно уже не 80ые.
Свой движек - это архаизм (как правило) и удел инди (я так хочу, я так делаю). Большие студии все больше обращают внимание на сторонние продукты. Из самых свежих примеров - cd project. Wargaming кстати тоже работает над не анонсированным проектом на UE. И у обоих этих компаний были большие собственные движки. Но поддержка и прокачка их оказалось дороже, чем использование стороннего софта.
Интересно, где вы набрались опыта с "настоящим, боевым движком?". Например у того-же Wg, с его танками, нормальный интерфейс, чем-то напоминающий UE. Никаких консольных ужасов)
Про геншин и кораблики очень интересно. Вы не думали, что там это просто не нужно? Я не играл, но сдается мне это не самое главное в этой игре. Сам разрабатываю сейчас игру про пиратов и кораблики. И нет никаких проблем нагенерить волн гестнера и заставить кораблик реагировать на них. Ну вот вообще нет проблем. А значит что? А значит, что не все, что можно сделать, нужно делать.
Хороший коммент ниже, где вас просят на конкретных примерах разобрать проблемы движков, а не пальцами водить по "динозавры, веб, физика" и другой набор слов.

2
Ответить

А где энвилоуп?

1
Ответить

Чел...

Ответить

Полностью солидарен!

Ответить

Начал хорошо но на половине потек, сам на ue разрабатываю после веба

- да было бы балдежно типизацию более гибкую иметь как в typescript'е

- package manager удобный это то чего писос как не хватает в unreal'е, есть только плагины, плагины на 2 вида делятся - устанавливаемые в движок и устанавливаемые в проект. Часть плагинов уже интегрирована в движок и их можно просто включить, часть можно как submodule'и установить и переодически обновлять, но в основном чтобы апгрейднуть версию нужно пездовать на сайт разработчика(пример DLSS - nvidia). Отсутствие нормального package management'а это самый большой рак повышающий порог входа. Unity несколько лет назад свой package manager создали, но почему то забили болт на инфру и условного npm.js'а на который можно выложить свой плагин не было(хз как сейчас)

- ООП сейчас сильно разбавляют блюпринтами + ability системами + системами тегов. К примеру epic'и когда создавали paragon решили завести network ready абстрагированную систему абилок - GameplayAbilitySystem(GAS) и оказалось что она супер удобна для написания подавляющего большинства игор и теперь кандовый ООП разбавляется абилками, любое действие которое может использовать персонаж это абилка, ее можно запустить, а можно отменить это кор концепт + система описания тегами состояния персонажа к примеру `Ability.Character.Jump`, `Ability.Character.Attack` и вот уже можно довольно гибко писать часть игровых механик, они довольно хорошо все абстрагировали - есть аттрибуты(статы), эффекты, абилки, cue(визуальные эффекты). Офк это не поможет в написании какой-то сложной системы - погоды, сейвов, точек телепорта, оружия, там понадобится ООП. Крч кмк epic'и хотят создать что-то вроде nextjs'а для геймдева все технологии что создают пытаются взаимноинтегрировать, адаптировать и снизить порог входа, в будущем GAS + CommonUI + EnhancedInputSystem + всякие маленькие тулы по типу доступа к MVVM'у для art'истов + всякие сервисы по типу FAB'а(маркетплейс с экспортом в любой движок/3d пакет) сложатся в крепко сбитый стекич на котором комфортно писать игры "без ебли" как на nextjs, но до этого на реалистычах лет 5. Конешн многое зависит от того что epic games покажут на GDC 23 марта, должны ue5.4 показать у меня много надежд что они это как-то все активнее начали делать и сейчас покажут прогресс

Ответить