Автор Тема: GoDot (бесплатный кроссплатформенный движок-конструктор 2D и 3D игр)  (Прочитано 18187 раз)

Оффлайн lexpartizan

  • Житель
BGE стар и мёртв. Да и и производительностью никогда не блистал. Единственное его преимущество - он встроен в блендер и на питоне. И это преимущество уже пропало.

Годот - активно развивающийся движок, решающий многие проблемы с архитектурой, благодаря сценам, которые они же классы.
Конечно, есть и другие проблемы с архитектурой, которые он порождает, но я пока не дорос до них.

Лучшей же альтернативой являются стандартные юнити\анреал.
У них нет проблем с производительностью, там реально всё круто. а значит, можно косячить с моделями и тд и тп. А главное, куча книг, видеоуроков, громадное русскоязычное коммьюнити. И куча ассетов для быстрого прототипирования. В Годот ассетов мало и их качество явно не коммерческое.
Если в юнити достаточно спиратить какую-нибудь гайю и получить ландшафт с берёзками из коробки, то тут в лучшем случае будет сырой плагин только для поверхности ландшафта.

Годот же тормозит на сценах времён PS2 (соньки второй). Специально сделанная для него TPS-демо не может удержать 60 FPS на вполне себе крутых видюхах. Другие примеры  квадратно-кубических шутеров тоже фризят не по-детски. И это больно и обидно. Есть риск, что годот останется движком для казуалок. Типа, пинг-понг в 3д, платформер для телефона и тп. А в моде открытый мир и всё такое. Это внушает опасения. Но, надеюсь, что подвезут оптимизации в 4.0. Потому что оптимизаций там сейчас просто почти нет.
Все сказки о том, что у них нет художника\моделлера, дабы нарисовать красивую демку - ЛПП. Потому что куда менее известные движки просто берут какую-нибудь тяжёлую сцену интерьера из того же блендера (есть куча мест, откуда можно скачать шедевры) и гоняют в ней своё детище, хвастаясь ФПС и красотами. Тут похвастаться банально нечем. Хотя мне нравится результат  рендеринга годот с пбр-текстурами. Выглядит в точности, как в сабстенс-пейнтере, то бишь результат предсказуем, а это немаловажно.
Второй причиной тормознутости движка является гдскрипт. Это велосипед имени Хуана Линецкого, который был разработан, чтобы адаптировать питон для геймдева и потешить ЧСВ автора. Не так давно там даже константы не работали. Почему скорость гдскрипта так важна? Потому что следующий кадр не начнёт рисоваться, пока процессор не прожуёт весь ваш код в игровом цикле. А, кроме того, проц занят ещё графикой и многим другим. Так что затык в каком-нибудь скрипте в многочисленных сценах может положить фпс на пол независимо от майнкрафтнутости графики.

Почему это не так важно? Потому что Хуан считает, что в ваших скриптах и игровых циклах не будет сложных вычислений. И вы сами оптимизируете свой код. И это не повлияет на общую производительность игры. Но это может стать бутылочным горлышком, да.
Они намерены ввести статическую типизацию и даже мечтают, что дойдут руки до jit-компиляции, что позволит повысить скорость исполнения кода раз так в 5-10 и догнать c# (уже имеющий такую фичу). Но это будет не скоро.

Опять же, есть сам C#, правда, пока кривоват, но потихоньку пилят.

В общем, годот вещь весьма сомнительная. Но он берёт другим.
Сцены - прекрасная вещь. Решает половину проблем с архитектурой игры.
В нём есть иде, в нём есть оффлайн справка (а я могу что-то делать только когда инет выключен, иначе лезу смотреть всякую дичь), в нём есть профайлер, дебаггер, в нём есть всё, что нужно. В нём просто приятно работать и он дружелюбен. Встроенные узлы весьма богаты на настройки, даже не ожидал, что простой Label так много умеет. И это я ещё не открывал RichLabel. Язык - очень похож на питон и приятен, как питон. А для питона не так уж много игровых движков. Есть даже визуальный нодовый редактор шейдеров. Поидее те, кто любит ковырять материалы с нодами в блендере, должны там чувствовать себя хорошо. К сожалению, язык шейдеров там немного изменён и копипастить шейдеры с shadertoy не получится. А дадптировать их я не способен, ибо для меня язык шейдеров - это какое-то непостижимое колдунство.
И всё это в 50 мегабайтах.
Так что если им удасться получить приемлемую производительность, то это будет великолепнейший движок.
Тон Розендаль в недавнем твитте призвал не оплакивать BGE, а обратить внимание на Godot.


По поводу шейпкеев и их анимации. Юнити тоже так может. Почти любой движок так может. Просто надо знать, где там эти настройки. Это отнюдь не эксклюзивная фича.
Мой проект состоит в том, чтобы сделать модель с шейпкеями, которую можно было бы использовать в игровом движке. Поэтому там бленд-файл. Годот просто для примера, так как хочу его изучать. Но лень))

Оффлайн Samovar

  • Житель
Цитировать
BGE стар и мёртв.
Он не стар, и не мёртв. Если звезданутый по башке Тон, отказался от него, это не значит, что всё сообщество от него отказалось. И ещё, Блендер давно не собственность Тона Розендаля, компании Not a Number, и ни Blender Foundation, и не укуренных легальной коноплёй разработчиков Блендера из столицы королевства Нидерланды Амстердама, а общественная собственность, как и BGE! Это надо знать, и понимать. Ребята из команды UPBGE добавили в движок много вкусного, в том числе и поддержку компонентов. https://github.com/UPBGE/blender/wiki/Release-notes-version-0.2.4

Шаблон от первого лица
https://github.com/UnidayStudio/UPBGE-FirstPersonTemplate



Шаблон контроллера персонажей | Третий / От первого лица и многое другое!
https://github.com/UnidayStudio/UPBGE-CharacterController




Шаблон сверху вниз
https://github.com/UnidayStudio/UPBGE-TopDownTemplate



Шаблоны компонентов
https://github.com/UnidayStudio/UPBGE-UtilsTemplate
Этот шаблон был создан, чтобы помочь пользователям Blender Game Engine (UPBGE) создавать игры или любые другие интерактивные вещи. Легко использовать, легко прикрепить к вашему проекту.

Чтобы использовать, просто загрузите файлы, откройте его на UPBGE (рекомендуется версия 0.2.3), и все готово! Вы можете использовать этот шаблон в своих проектах, даже для коммерческих проектов. Просто поверьте мне. :) Это очень легко использовать в ваших проектах: просто загрузите этот скрипт в ваш .blend файл (или вставьте его в ту же папку, что и ваш .blend), выберите нужный объект и прикрепите скрипт в компоненты объекта.

Компонент звуковой колонки
Этот компонент послужит звуковым динамиком для вашей игры. С этим вы можете легко контролировать 3D звук, громкость. К сожалению, звуки должны быть монофоническими, чтобы 3D-звук работал. Вы можете конвертировать в моно используя Windows CMD, например: '> ffmpeg -i Sound.wav -ac 1 SoundMono.wav' Это очень просто настроить:
  • Звуковой файл: имя файла, например: «Assets / DoorMono.wav».
  • Loop Sound: если вы хотите, чтобы звук зацикливался или просто воспроизводился один раз.
  • Объем: объем.
  • Поле: Поле.
  • 3D-звук: если вы хотите, чтобы звук был 3D.
  • Минимальное расстояние: если включен 3D-звук, звук будет иметь максимальную громкость, если слушатель находится рядом.
  • Максимальное расстояние: если включен 3D-звук, звук будет уменьшаться до нуля, когда слушатель достигнет этого расстояния.
  • Удалить объект после окончания: если этот параметр включен, объект будет удален в конце звука (если Loop Sound равен false).

Компонент миникарты
Этот компонент создаст миникарту в зависимости от вида камеры (которой принадлежит компонент). Добавьте этот компонент в камеру и поместите его поверх вашего персонажа. Для настройки взгляните на значения:
  • Тип камеры: Вы можете выбрать между Перспективной или Ортографической камерой.
  • Высота камеры: определите высоту, которой вы хотите, чтобы ваша мини-карта камеры была. Если вы не хотите, чтобы компонент изменял это, просто установите ноль (0).
  • Положение миникарты: Положение центра миникарты на экране (значения изменяются от 0 до 1).
  • Размер миникарты: размер миникарты (значения варьируются от 0 до 1).
  • Follow Object: Вы можете определить объект для мини-карты, чтобы следовать (как игрок). Оставьте это пустым, если не хотите.
  • Поворот по оси Z. Если вы определили объект Follow, вы также можете заставить миникарту поворачиваться по оси Z в соответствии с вращением объекта следования.

Так что, не надо трындеть брехливо, что BGE мёртв :)
« Последнее редактирование: 24 Июль 2019, 18:29:14 от Samovar »

Оффлайн tomcat

  • Житель
Специально сделанная для него TPS-демо не может удержать 60 FPS на вполне себе крутых видюхах.
таки ты её запустил?!  :o
Цитировать
Лучшей же альтернативой являются стандартные юнити\анреал.

По поводу шейпкеев и их анимации. Юнити тоже так может. Почти любой движок так может. Просто надо знать, где там эти настройки. Это отнюдь не эксклюзивная фича.
А где этот там, как реализовано и как задействовать? Пока (это где-то около полугода) мне на изучение, а там или Godot доработают, или перебираться на другой движок.

Цитировать
Годот просто для примера, так как хочу его изучать. Но лень))
Какие мелочи рулят историей  ;D

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

…а общественная собственность, как и BGE!
Тем и хороши открытые проекты, что любой может ими заняться и развивать, как посчитает необходимым. Будет востребовано — будет развитие… BGE и Armory3D я рассматривал.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн lexpartizan

  • Житель
Цитировать
таки ты её запустил?!  :o
Нет, конечно. Мне хватило отзывов. И то, что официальное демо не работает тоже не есть хорошо.
Цитировать
А где этот там, как реализовано и как задействовать?
https://www.youtube.com/watch?v=lgPSaH4t3PA

Пока ковыряю потихоньку инвентарь, вот проект на годот, если интересно.
https://yadi.sk/d/9_FkmfALGMynxQ

Картинка у UPBGE получше, чем у годота.
А вот с производительностью не уверен. Лаги видны даже на записи во многих случаях.
« Последнее редактирование: 24 Июль 2019, 22:03:18 от lexpartizan »

Оффлайн tomcat

  • Житель
И то, что официальное демо не работает тоже не есть хорошо.
Это точно  :( Не понятно, зачем они так сделали.

Цитировать
https://www.youtube.com/watch?v=lgPSaH4t3PA
Понятно. Ну в общем понятно, что нужно изучить, в каком направлении копать. Надо ещё будет понять, как из игры вызвать изменения шейпкея, что бы персонажа в игре можно было отредактировать. Кстати, он упомянул, что лицевую анимацию можно сделать шейпкеями, а можно через риг (лицевой скелет) — в чём выгодней делать?

Цитировать
Пока ковыряю потихоньку инвентарь, вот проект на годот, если интересно.
https://yadi.sk/d/9_FkmfALGMynxQ
Дык, интересно конечно. Уже скачал. Спасибо, посмотрю.

Цитировать
Второй причиной тормознутости движка является гдскрипт.

Но это может стать бутылочным горлышком, да.
Они и говорят, что критичные вещи должны быть написаны на C++
Цитировать
Этот язык является лучшим выбором для производительности…
Curiosity killed the cat, but satisfaction brought it back

Оффлайн tomcat

  • Житель
Создание низкополигонального ландшафта (как-то так).
HOW TO GODOT: Low Poly Random Terrain Tutorial

Вот нахрена записывать видео, в котором только набирается код?! Когда гораздо проще и логичнее, тупо выложить этот самый код. Ну ещё пару скринов в конце. Но нет, надо всем показать, как автор умеет работать с клавиатурой.

Популярность видеоуроков можно объяснить только через:
Цитировать
Можно бесконечно долго смотреть на три вещи: как горит огонь, как течет вода и как работает другой человек.

Procedural animation and inverse kinematics
Здесь сосем маленький кусок кода и показано, как персонаж ходит по неровной поверхности.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
Это смешно, tomcat :) На этом форуме присутствуют люди (некоторые нас, увы, покинули, в частности bdancer - идейный вдохновитель многих, и первый программёр коннектора рендерера V-ray под Блендер), которым можно уже памятник ставить, за продвижение Блендера, и прочую образовательную фигню в плане 3D, вообще... а ты обращаешь внимание, на каких-то западных недоумков, которые решили чуток срубить бабла, на своих недоуроках по GoDot, на тытрубе :)
Админ, Николай Николаев (Sungreen), Striver, и даже Ланухумыч (LanuHum), точно достойны памятника за продвижение Блендера в рунете, или, банально, просто уважения...  а ты, наверно и не знал :)  То, что никто не занялся переводом справки по GoDot здесь, означает, только одно: что он мало здесь кого интересует... Но ты можешь это "легко" исправить, переведя всю документацию GoDot на русский :)
 Просто прикинь: Я знаком с Блендером десять лет, и учился во многом на переводах от Striver :)
« Последнее редактирование: 25 Июль 2019, 01:58:10 от Samovar »

Оффлайн Samovar

  • Житель
...   У меня даже некоторое на бумаге распечатано. А ты, про недоуроки на видео, да ещё и на английском... да чушь это... забудь и забей.

Оффлайн Samovar

  • Житель
Эта фишка со старением персонажа, на базе которой ты решил пилить свою игру, тебя на самом деле, подведёт...
Это чушь, и глупость... некоторые, конечно, это заметят и скажут "Вау!, но самой игры и играбельности тебе это тебе не добавит. Это просто спецэффект  и дополнительная плюшка  (так это и будет воспринято всеми геймерами), но никак не фишка в игре :) Пойми это, и перестань заниматься ерундой...

Суть игр не в навороченной графике, а в их играбельности (интересности). На этом многие обламываются. Графика любой компьютерной игры, на самом деле, стоит не на первом, а на втором и третьем месте.. она должна сопровождать и подчёркивать геймплей, а не спорить с ним, а затем, звуковое сопровождение,  должно подчинятся графике... Если ты выпендришь, что-то из этого, видео или звук, в ущерб играбельности, то это уже будет не игра, а кыно или клип... а юзер (потребитель) у тебя приобретал игру, а не кыно или музыкальный клип (и наврядли симулятор старения, который ему будет напоминать о том, что он тоже стареет, а у тебя это плюшка в игре, ради которой по-сути, ты всю игру свою затеял) :)  Прикинь себя на его месте, и почувствуй его разочарование.
« Последнее редактирование: 25 Июль 2019, 02:44:20 от Samovar »

Оффлайн tomcat

  • Житель
симулятор старения
О! А я думал, как сформулировать точнее  ;D

Цитировать
который ему будет напоминать о том, что он тоже стареет, а у тебя это плюшка в игре, ради которой по-сути, ты всю игру свою затеял) :)  Прикинь себя на его месте, и почувствуй его разочарование.
"Ты не поверишь" (с) — играют и ещё как.  :) Пережить несколько поколений своих "подопечных" и ощутить себя библейским долгожителем, видимо чего-то стóит.  8)

Цитировать
Эта фишка со старением персонажа, на базе которой ты решил пилить свою игру, тебя на самом деле, подведёт...
Может, вполне. Я это понимаю.
Цитировать
Суть игр не в навороченной графике, а в их играбельности (интересности).
Я не отношу это к графике, это именно фича… хм… гм… это та особенность, которая отражает и подчёркивает процесс игры. Сама графика предполагается отнюдь не на высочайшем уроне, лишь бы от неё не тошнило… ну или не сильно тошнило.

Цитировать
Но ты можешь это "легко" исправить, переведя всю документацию GoDot на русский
Есть команда переводчиков официального руководства и они вроде работают, не без косяков, но в основном вполне приемлемо. А мои знания аглицкого оставляют желать лучшего  :(
Curiosity killed the cat, but satisfaction brought it back

Оффлайн lexpartizan

  • Житель
Кстати, он упомянул, что лицевую анимацию можно сделать шейпкеями, а можно через риг (лицевой скелет) — в чём выгодней делать?

Выгодней через риг. Шейпкеи - это лишняя геометрия. Риг - десяток костей, они роли не играют.
Кроме того именно с ригом процесс можно автоматизировать. Видел видеоуроки, когда чувак с размалёванным лицом корчит рожи в вебкамеру  (поиск по facial mocap makehuman)и у него всё повторяется на заригенном лице. Как раз для мейкхумана. Более того, можно импортировать модель из мейкхумана с таким скелетом, где риг лица уже есть. Но там много лишних костей и куча инверсной кинематики.

Но есть одно но. Риг не так точен и более механичен, по сравнению с тем, как можно заскульптить вручную. Заскульптить можно морщинки при улыбке и кучу других вещей и это перенесётся в шейпкей. Так анимация получается более художественной.
Наш выбор, как далёких от рисования людей, конечно, риг.

Я пока проект забросил по причине того, что так и не смог в годоте применить все шейпкеи и получить маленький меш с результатом. Спрашивал на форумах, дискордах и даже тикет на их гитхабе создал. Мёртвая тишина по этому вопросу.


Суть игр не в навороченной графике, а в их играбельности (интересности)
Суть инди-проектов - реализация своих идей. И если человеку хочется старение - это его дело. Может, он и не собирается покорять топы стима.
Лично я так и собираюсь. Потихоньку что-то своё ковырять без претензий на кассовые сборы или популярность.

Оффлайн Samovar

  • Житель
Цитировать
Суть инди-проектов - реализация своих идей. И если человеку хочется старение - это его дело.
Знакомо это всё многим, до боли:
Чиж & Co - О Любви. https://youtu.be/eDwKSoGrQJ4

Успехов, вам обоим!

Оффлайн Samovar

  • Житель
Если ваши намерения серьёзны, и нет отмазок перед самими собой и людьми, как в вышеприведенном музыкальном клипе, то рекомендую вам начать с диздока ваших игр.
Я специально создал тему по этому делу: http://blender-3d.ru/forum/index.php/topic,1959.msg29581.html#msg29581
« Последнее редактирование: 25 Июль 2019, 15:14:27 от Samovar »

Оффлайн tomcat

  • Житель
Я специально создал тему по этому делу: http://blender-3d.ru/forum/index.php/topic,1959.msg29581.html#msg29581
Кстати, очень полезная вещь. Премного благодарен! Может, наконец-то, наведу порядок в документации.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель

Вперёд, и с песней!

P.S. Если вы не сможете написать даже диздок  вашей игры, то это значит, что вы не сможете её разработать НИКОГДА!

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 100
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12