1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
1

O3DE или Godot Engine?

15.08.2022, 01:41. Показов 3280. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне предстоит разрабатывать систему 3D-визуализации, отображающую мир (открытое пространство с рельефом, зданиями и растительностью), населенный людьми, животными и транспортными средствами. Объекты перемещаются в соответствии с данными, приходящими по UDP в локальной сети. Должны быть представлены видимые погодные эффекты и различная освещенность по времени суток. Отображение будет осуществляться на различные экраны, в том числе несколько, в разных конфигурациях. Сборка будет под Linux.

По нетехническим соображениям рассматриваются в качестве движка только O3DE и Godot. Буду признателен за содержательные аргументы в пользу одного или другого.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2022, 01:41
Ответы с готовыми решениями:

Godot Engine | Build Error "установите пакет разработчика (пакет SDK или пакет нацеливания)"
Здравствуйте, :senor: У меня проблема когда я пытаюсь нажать на то мне выдает кто...

o3de
Добрый день Заинтересовался движком o3de, "ищу единомышленников" :) У кого есть опыт (хоть...

Ogre3D, Unity3D, CryEngine или Unreal Engine
Всем привет! У меня есть вопрос.. Может быть Вы скажете, что это очень глупо, но я всё же его...

Cocos2d-x или Godot
Не могу определиться с игровым движком. Сначала cocos заинтересовал но у меня с ним много вопросов,...

Вставка данных в Microsoft Access: Database Engine: Update или CancelUpdate без AddNew или Edit
Добрый день! Сразу оговорюсь, что я совсем чайник. Вопрос такой: При импорте из XML файла в Access...

15
2587 / 847 / 73
Регистрация: 21.04.2013
Сообщений: 6,729
15.08.2022, 02:25 2
Евгений_12, с учетом общих требований - O3DE. Исходя из того, что он поддерживает все передовые API (DX12, Valcan, Metal) для графики, а также мультипоточный рендеринг. Тогда, как у Godot вот только появляется поддержка Vulcan. У
Godot сообщество поболее, информации больше.

Оба такие себе варианты для старта...
1
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
15.08.2022, 02:41  [ТС] 3
Спасибо за ответ! Да, Vulkan в 4-м Godot будет, которого бета ожидается в сентябре. Если начать на текущей версии, потом переехать на стабильную четвертую по мере ее выхода, бредовая идея? DX12 для Linux ведь неактуален? Или я ошибаюсь?
Насчет "информации побольше"... Я бы сказал, что по O3DE ее почти что нет. Исходный код и рекламные проспекты, это настораживает. Понятно, что совсем мало времени, но могли ведь какие-то проекты на нем появиться и за несколько месяцев, простенькие туториалы по ключевым направлениям. Интересно, кто-нибудь вообще пробовал на нем что-то сделать?
0
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
15.08.2022, 11:10 4
Цитата Сообщение от Евгений_12 Посмотреть сообщение
O3DE ее почти что нет
Ну по сути это реинкарнация/ребрендинг Amazon Lumberyard, который в свою очередь был форком Cry Engine. И имхо движок недалеко ушел от своего "исходника" под названием Cry.
Годот все же более популярен среди инди разработчиков, на нем встречал проекты в стиме. А о3де все же более крупный. Надо учитывать что у него гуи написан на qt (как и гуи у всего коммерческого 3д софта а они чаще всего неповоротливые и требовательные).
Все же используя готовый движок не самый первый аргумент это те апи которые он использует.
1
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
15.08.2022, 19:24  [ТС] 5
Цитата Сообщение от alecss131 Посмотреть сообщение
а они чаще всего неповоротлив­ые и требовательн­ые
Могу подтвердить, что O3DE довольно требовательный, в сравнении с Godot уж точно. Заявленные системные требования довольно приличные, в реальности если машина чуть хуже, то и не запускается. Хотя возможно не запускается и не из-за характеристик компа.

Цитата Сообщение от alecss131 Посмотреть сообщение
Все же используя готовый движок не самый первый аргумент это те апи которые он использует.
Эту фразу не совсем понял. То есть, не столь важно, есть ли вулкан или DX12? Или что-то другое имелось ввиду?

На Godot действительно ведь много проектов, в том числе 3D. Другое дело, что из них >90% с мультяшным дизайном и без малейшей претензии на реализм. Хотя попадалась мне пара примеров: один - демка на itch.io, могу и ссылку привести, красивая статичная сцена с интерьером квартиры и девушкой, второй - демонстратор разных интересных материалов в разных внешних обстановках из годотовского ассетстора. Выглядит симпатично, но мне не хватает компетентности понять, насколько много или мало ресурсов эти вещи отнимают в Godot в сравнении с каким-нибудь Unity (конечно, сравнить бы надо именно c O3DE, но тогда совсем не найти каких-то работающих образцов для сравнения). Одно дело, если упомянутый выше мультипоточный рендеринг дает рост фреймрэйта в 20 раз при прочих равных, а другое - если в 2 раза. Во втором случае явно ведь не стоит овчинка работы без инструкций? Кстати, действительно, еще поищу что-то по Ламберьярду и Краю, спасибо за идею.

В общем, пока неубиенных аргументов ни за один из двух не вижу.
0
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
15.08.2022, 21:16 6
Цитата Сообщение от Евгений_12 Посмотреть сообщение
То есть, не столь важно, есть ли вулкан или DX12?
Оно самое. Добавлю что не стоит особо гнаться за современными апи, особенно если нужна максимальная совместимость в плане железа и минимальные системные требования. Можно и постарее апи использовать. И имхо не стоит все же сбрасывать со счетов opengl, но только 4+ версии, в плане кроссплатформы альтернатив кроме вулкана нету. Вообще по уровню графики лучшим многие считают UE5, хотя по сути можно добиться похожего уровня графики на разных движках.
1
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,316
Записей в блоге: 147
18.08.2022, 08:07 7
Лучший ответ Сообщение было отмечено Евгений_12 как решение

Решение

По поводу сравнения производительности Godot, UE5 и Qt. Я думаю, что по производительности O3DE и Unreal примерно одинаковые. Напишу свой опыт на примере использования ноутбука K53SV. Я пробовал UE4. На ноутбуке невозможно работать. Он сильно шумит и перегревается. Нужен либо мощный и дорогой ноутбук, либо стационарный компьютер. Qt + OpenGL очень тихо работает, не лагает, я его использую как Desktop/Mobile клиента для браузерных игр. Godot на среднем уровне напрягает ноутбук, то есть шумит на среднем уровне. Godot весит во много раз меньше, чем Unreal. На Godot вы скачиваете EXE размером 76 МБайт, который сразу запускаете и его не нужно устанавливать. В Godot встроен редактор кода. Godot использует специальный язык для разработки игр - GDScript (сильно похож на Python). Это очень простой в освоении язык. Недостаток Godot - очень мало популярен в РФ. Но по сравнению с Unity и Unreal намного менее популярен, чем Unity по вакансия в конторах городов РФ. Может вы потом будете планировать арендовать офис в бизнес-центре и собирать команду 10-20 человек, то на Unity будет гораздо проще это сделать, чем на Unreal, Godot, а тем более O3DE. По описанию один человек будет долго делать. Мне после Unity и разных других движков пока очень нравится Godot в плане его архитектуры, то есть построения игровых объектов, сцен/узлов. Наверняка, вы потом в геймдев уйдете.

Поводу кроссплатформенности. Надо иметь ввиду, что на многих ноутбуках нет Vulkan. Если у вас инди-игра, то я не думаю, что вы нацелены именно на графическую часть. В Godot используется OpenGL 2.1, OpenGL ES 2.0 и OpenGL 3.0. Для инди-игры этой версии OpenGL в Godot вполне может быть достаточно. Надо иметь ввиду, что на macOS максимально доступная версия OpenGL - это 4.1. Почти на всех ноутбуках есть две видеокарты и ноутбуки для экономии энергии запускают менее мощную, на которой, как правило максимум: OpenGL 3.0 - 3.1. Я думаю, что вам лучше начать с Godot, а когда с ним хорошо освоитесь, то перейти на другой будет не проблема. Главное, что на нём вы научитесь писать код, поймёте, как устроена база движков со стороны программиста. Изучайте подряд тот материал, что предлагают на официальном сайте в разделе Learn (листайте вниз к содержанию).

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Надо иметь ввиду, что на многих ноутбуках нет Vulkan
У меня Vulkan нет ни на ноутбуке, ни на компьютере, ни на смартфоне.

Цитата Сообщение от Евгений_12 Посмотреть сообщение
Мне предстоит разрабатывать систему 3D-визуализации, отображающую мир (открытое пространство с рельефом, зданиями и растительностью), населенный людьми, животными и транспортными средствами. Объекты перемещаются в соответствии с данными, приходящими по UDP в локальной сети.
Мне тоже предстоит подобные системы делать. Только у меня должно быть по глобальной сети на веб-сокетах. Человек должен управлять своим персонажем и все в мире видят друг друга и взаимодействуют с предметами. У меня должна быть сборка под браузер (WebGL + TypeScript) и Desktop/Mobile. Я выбрал Qt6, C++, OpenGL 2.1. Qt легко собирает под Android. Имеет удобные классы обёртки над OpenGL. Здесь главное не закапываться в графику и физику. Использую готовый физический движок Bullet Physics и его порт Ammo.js на JavaScript и TypeScript. Для графики достаточно уметь загрузить модель и анимации из DAE, созданные в Blender. Анимация - это два массива: массив моментов времени и массив матриц. Для матриц нужно создать стек. Накапливаешь deltaTime в переменной и по массиву смотришь в каком промежутке находишься и интерполируешь позицию и поворот патриц по иерархии матриц. Лучше делать скелетную анимацию без скиннинга, где каждая часть человека - это отдельный объект. Без скиннинга намного более оптимизированнее работает. От ОpenGL нужно только уметь объект отображать. Физический движок используется для: движения объекта по рельефу, для непрохождения сквозь препятствия, для заходы в триггеры (невидимые области для срабатывания каких-то событий). Мне лично лично интересно использовать компьютерную графику напрямую. Только начанать надо в этом случает с загрузки объекта и сразу с физического движка.

На всякий случай ставлю материалы:

Tutorial by Blue Magnificent
- Часть 1: Intro to JavaScript 3D Physics using Ammo.js and Three.js
- Часть 2: Moving Objects In JavaScript 3D Physics using Ammo.js and Three.js
- Часть 3: Collision Detection In Javascript 3D Physics using Ammo.js and Three.js

Book by Chris ****inson: Learning Game Physics with Bullet Physics and OpenGL

Я по этим ресурсам сделал эту демку на WebGL, Ammo.js (порт физического движка Bullet Physics), TypeScript и glMatrix (библиотека для линейной алгебры):

1
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
18.08.2022, 10:37 8
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я думаю, что по производительности O3DE и Unreal примерно одинаковые.
Не надо делать выводов не опробовав движки.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,316
Записей в блоге: 147
18.08.2022, 13:01 9
Цитата Сообщение от alecss131 Посмотреть сообщение
Не надо делать выводов не опробовав движки.
Я никогда не буду советовать, например, Panda3D если я его не пробовал. Конечно, я делаю выводы по поводу производительности UE4 на моём ноутбуке, потому что я его пытался изучать несколько месяцев. А так же я сейчас в свободное время изучаю Godot 3.4 и могу сравнивать производительность Godot и UE4 на своём ноутбуке. Я сравнивал их между собой по лёгкости скриптинга, сравнивал по вакансиям в контрах в Саратове (у обоих тухло с этим по сравнению с Unity). Я работал в нескольких конторах на Unity, сам уходил, потому что офис - не моё. UE4 нагревал мой ноут до такой степени, что он перезагружался. В собранную демку на UE4 невозможно долго играть, даже не то что долго, а сразу ноут начинает греться и шуметь. Занимает UE4 огромное количество места по сравнению с Godot, минимум: примерно 76 МБайт против 20 ГБайт. Собранные демки на Unreal весят много и не умещаются в архив для прикрепления на форум. Говорят про Blueprint, но попробуйте написать змейку на них - моё мнение, что кодом намного проще и интереснее, чем сделать за кучей связей. Да, я не пробовал O3DE, поэтому про него ничего не писал, но мне кажется, он тоже не подходит для средних ноутбуков.
0
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
18.08.2022, 21:43  [ТС] 10
8Observer8, спасибо за развернутые комментарии. Самому мне тоже по душе выбор в пользу Godot. Не нашел каких-то приличных тестов производительности Godot, есть одно нашумевшее видео с падающими кубиками, где на разных платформах Godot проигрывает примерно раз в 5-7, кажется Unrealу. Но там смысл и чистота эксперимента вызывают ряд вопросов. Задача получилась сразу и на физику и на графику, плюс манипуляцией настроек физики (прыгучесть, и трение материала, наличие сопротивления, при каком затухании движения начинается "покой" и т. д.) можно этот эксперимент провести с очень разными результатами.

А вот сравнения Вулкана с OpenGL существуют в большом количестве, и у меня сложилось впечатление, что нет от Вулкана такого уж серьезного преимущества. Видимо примерно об этом alecss131 говорил выше, "не стоит гнаться".

Продолжением первого будет следующий вопрос: на каком Godot (3 или 4) рационально начинать сейчас работу?
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,316
Записей в блоге: 147
18.08.2022, 22:11 11
Цитата Сообщение от Евгений_12 Посмотреть сообщение
на каком Godot (3 или 4) рационально начинать сейчас работу?
Третья версия, потому что официальное руководство в документации использует третью версию: https://docs.godotengine.org/en/stable/ Знакомьтесь с движком последовательно, как написано на той странице: About > Introduction > Step by step> Your first 2D game > Your first 3D game и т.д. Даже если вы не планируете писать игры, то всё равно пройдите "Your first 2D game" и "Your first 3D game", потому что там вся базовая концепция использования движка, знакомство с движком через простую игру. Вряд ли они в 4-й всё сильно изменят.

Я проходил "Your first 2D game". У меня меня получилась следующая игровая демка. Собрал для браузера и для трёх основных OC кроме Android и iOS:
1
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
18.08.2022, 22:27  [ТС] 12
В плане полноты документации и обилия туториалов 3-я, понятное дело, круче. И в 4-й, судя по обзорам, меняется действительно не все кардинально. Хотя, к примеру, есть прикольный плагин для третьей версии по редактированию террейнов. Для 4 его нет, пока. В 4-й другие новые возможности, все это перечислять долго, в целом мне кажется, что 4 более перспективная и если не сейчас, то в обозримом будущем проект начнет сильно проигрывать от того, что сделан на 3, а не на 4. Есть такое дело, как Вы думаете?

Прикольная демка. Много мороки под разные платформы собирать в Godot?
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,316
Записей в блоге: 147
18.08.2022, 22:43 13
Цитата Сообщение от Евгений_12 Посмотреть сообщение
обилия туториалов 3-я
Про обилие туториалов я пока ничего не знаю. Я читал только ведение. Дошёл до "Your first 3D game" и пока не начинал. Я решил заново пройти официальный туториал по знакомству с самого начала, потому что выполнял в ноябре-декабре прошлого года и с тех пор ни разу не запускал Godot и всё почти всё забыл. Недавно решил, что надо регулярно им заниматься. Пройти вводные туториалы это обязательно, если не проходили. Я для себя отметил, что нужно эти основы хорошенько проработать раз за разом, чтобы эти две мини игры делать с нуля из головы на скорость.

Цитата Сообщение от Евгений_12 Посмотреть сообщение
Много мороки под разные платформы собирать в Godot?
Вообще никакой мороки. Просто нажал кнопки: собрать под WebGL, собрать под Windows, собрать под Linux и т.д. И всё это собрано из под Windows. Нужно только поставить пакет для сборки под разные ОС. Я не помню, как я его устанавливаю, но это несложно нагуглить, или прямо в настройках там это есть - да, вроде прямо в настройках Godot есть кнопка для установки пакетов для сборок под разные платформы.
1
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
18.08.2022, 23:09  [ТС] 14
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Про обилие туториалов я пока ничего не знаю.
Куча видеотуториалов, статей и даже учебников. Всерьез не проходил пока ничего, так, по диагонали посмотрел. Конечно, не как для Unity, где каждую твою проблему уже сто человек решили, но и с O3DE, по которому ноль внятных инструкций (несколько коротких видео со скриптами - графами и без кода вообще - это ведь ноль), не сравнить.

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Вообще никакой мороки. Просто нажал кнопки: собрать под WebGL, собрать под Windows, собрать под Linux и т.д. И всё это собрано из под Windows. Нужно только поставить пакет для сборки под разные ОС. Я не помню, как я его устанавливаю, но это несложно нагуглить, или прямо в настройках там это есть - да, вроде прямо в настройках Godot есть кнопка для установки пакетов для сборок под разные платформы.
Вот это прям приятно читать)))
1
70 / 47 / 5
Регистрация: 10.01.2017
Сообщений: 1,848
27.03.2023, 12:49 15
Здравствуйте,

Позвольте немного реанимировать тему и задать такой вопрос:

Наткнулся на вот такое видео, где человек скомпилирует в Годоте свою игру пинг-понг в исполняемый файл Windows и после компиляции - этот файл занимает 35 Мб!!
Не много ли это для ср**го пинг-понга ??

Вот:


На 2:27 видно.
Или я что то не понимаю ?
0
1 / 1 / 0
Регистрация: 15.08.2022
Сообщений: 12
27.03.2023, 17:52  [ТС] 16
Не готов ответить, сколько места занимает минимальная сборка под Windows. Мои сборки весят в разы больше. Возможно, здесь дело в том, что на видео от этого пинг понга верхушка айсберга показана. Может быть у него в этом же учебном проекте можно игру AAA запустить, мы этого просто не видим. А экспериментально можно самому собрать пустой проект с 2D сценой - будет ясно, сколько это займет места.
0
27.03.2023, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2023, 17:52
Помогаю со студенческими работами здесь

Что лучше unity или unreal engine?
Почему на unity вакансий больше намного? Где результат меньше будет меньше жрать ресурсы компа?

Написание сканера памяти наподобие Cheat Engine или ArtMoney
помогите написать сканер памяти на подобии Cheat Engine или ArtMoney. Все сорсы, что нашел не...

Godot - звуки перемещения
Доброго времени суток всем участникам форума! Хочу узнать ваше мнение. Во время разработки игры на...

GODOT AudioStreamPlayer html5
Добрый день! Возникла проблема с проигрыванием звука в экспортированном экземпляре игры. Звук...

Godot. Движение игрока
Добрый вечер всем. Пытаюсь сейчас делать движение персонажа. Передвижение вправо срабатывает как...

Вращение объекта мышью в Godot
Привет всем! Чтобы было короче: представьте себе Google Earth с максимально отдаленной планетой. Вы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru