Привет, друзья!
Сразу к делу. Есть такой движок Unity3d. Хотелось бы узнать о его принципиальных ограничениях - есть ли что-то, чего на unity сделать нельзя, или
теперь вообще нет смысла кодить под чистый DirectX или OpenGL, т.к. двиги типа Unity прикрывают полностью все аспекты создания игр?
Я с Юнити близко не знаком. Поэтому могу лишь попробовать угадать слабости.
1. Scene-based. Мне кажется, что Unity плохо подходит (совсем не подходит?) для огромных, бесшовных миров, т.к. в редакторе Unity их не создашь.
Так ли это?
2. Процедурная генерация чего бы то ни было. Опять таки, мне кажется, что Юнити приспособлен для загрузки объектов извне и установки ручками
на сцену.
3. Многопоточность. Я могу дико ошибаться, но у меня создалось ощущение, что в Unity3d c# не настоящий =) Иными словами, он не обладает полной мощью
C#, а используется лишь как скриптовый язык для манипуляции объектами движка. Откуда может следовать, что нельзя делать такие обычные вещи, как, например,
создание потока, сокета и т.п.
4. Сетевая часть. Ну наверняка же есть какие-то ограничения, связанные с сетевой частью. Например, наверняка нельзя создать встроенный сервер, который
принимает подключения от других копий данной игры.
Больше ничего не приходит в голову, потому обращаюсь за помощью к великому и ужасному коллективному разуму. Пожалуйста, если у кого есть какие идеи, поделитесь!
когда кажется - креститься надо.
К чему весь этот набор домыслов?
1)Для больших миров она подходит так же. как любой другой двиг. Кроме подземелий.
Один фиг никто никогда сразу весь мир не загружает, в этом просто нет смысла.
2)Вообще из пальца высосано
3)Потоки - да, но есть короунтины. Причем тут сокеты? нормально пашут
4)Тоже мимо :-)
IIyxMASTER
это просто разогреть беседу.
Основной вопрос - теперь вообще нет смысла кодить под чистый DirectX или OpenGL, т.к. двиги типа Unity прикрывают полностью все аспекты создания игр?
создание конкурентноспособного движка сейчас - дорого, долго, и в 99% случаев неоправданно.
Только для неординарных проектов типа майнкрафта можно углядеть смысл для этого.
С каждым годом пропасть между самодельными подделками и двигателями вроде юнити, UE и CE увеличивается, дальше будет только хуже :-)
IIyxMASTER
> 2)Вообще из пальца высосано
Например, насколько я знаю, механизм NavMesh не работает с уровнями генерируемыми на ходу. Хотя, конечно, никто не мешает сделать свой поиск пути.
ну никто не говорит о создании движке, тем более о "конкурентоспособном" движке на продажу =) Сейчас под движком,
если судить по Unity и UE (CE не смотрел), вообще понимается некая среда, где можно игру собрать вообще не будучи программистом,
просто как в фотошопе накидать ассетов - и готово. Мне, например, больше импонируют фреймворки, просто-напросто упрощающие
некоторые базовые действия - загрузка моделей, материалов, камера, шейдеры, коллизии и т.п. А казуальный редактор мира мне
не нравится вовсе.
Вообще, данный вопрос из разряда теоретических скорее. Не хотелось бы, скажем, ввязаться в проект на Unity3D, а потом обнаружить
что на нём в принципе нельзя создать некоторые вещи.
kipar
темболее что уже существуют готовые варианты :-)
Mephisto std
Ну любишь велосипеды изобретать - твое дело :-)
Некоторым больше нравится делать игры, а не инструменты для создания игр. Каждому свое
Работа на юнити в больших проектах, это борьба с юнити. Закрытая система. Можно сделать много чего, но иногда очень большой ценой.
А как же поддержка расширения? Ведь в совсем больших проектах тот же Unreal каждый точит под себя. Смотрите, какую красоту сделали в DmC)
my.name
ох пожалуйста поподробней, с красочными примерами из жизни!!!
Naykin
Так... хгм... в Unity она есть?
Да вроде ко многим конструкторам можно плагины писать.
my.name
> Работа на юнити в больших проектах, это борьба с юнити.
Это есть во всех движках, у которых сорсы закрыты.
Mephisto std
> нельзя делать такие обычные вещи, как, например,
> создание потока
Можно. Нельзя обращаться к структурам Юнити из своего потока. Можно в поток вынести сложные расчеты. А результат отдавать Юнити.
Mephisto std
> Так... хгм... в Unity она есть?
Расширение? Очень и очень широкое (увы не безграничное). Особенно приятно, что можно расширять редактор.
my.name
> Работа на юнити в больших проектах, это борьба с юнити.
Это когда вместо втыкания костыля в движок приходиться думать?)
в другой тред писал немного батхерта:
http://www.gamedev.ru/code/forum/?id=174088#m8
Mr F
хуже всего юнити для шейдерописателей - дофига ограничений: нельзя передавать массивы в шейдер, нельзя ставить дефайны (нельзя сделать убершейдер), нельзя импортировать текстуры 16/32 битные, 3д текстуры слышал только недавно приклеили, кубмапы префильтрованные из ддс нельзя добавлять, CG компилер много чего отказывается компилить там где обычный MS HLSL компилер прекрасно справляется, для передачи параметров в шейдер необходимо создавать новый материал (например если сам юнити умеет в один материал сувать на рендере разные лайтмапы - то самому так не сделаешь, копируй 100 копий материала, потом если какой общий параметр поменять надо у них - приёдтся скрипты писать), в общем ужасно огорчило всё это говно.
в остальном юнити весьма приятен, если не ожидать от него ААА движка, а ожидать что-то находящееся в вечной бета версии) система гуи неюзабельна, недавно сломали паковку атласов лайтмапов... но для того чтобы быстро прототипировать геймплей, лучше средства я не видел.
это я так, на всякий случай скопировал, чтобы в одном треде было
Если с шейдерами и правда так, то это не очень хорошо.
Тема в архиве.