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

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Samovar

  • Житель
Цитировать
Насколько я понял, Godot ещё не подходит для больших проектов (как минимум отсутствует "окклюзия", которая ожидается в версии 3.2 по одним данным и в 4 по другим).
Что значит отсутствует "окклюзия"? Эффект постоброботки, что ли? Сам намути, там вершинные и фрагментные шедеры GLSL можно мутить даже узлами... Но весь этот графический выпендрёж будет жутко тормозить на многих компах, а тем более на мобильных устройствах.
З.Ы. Недавно слушал старое интервью одного русского дезигнера в Valve (2014 года). Так он говорит, что все серьёзные конторы игростроя ориентируются на компы и видюхи 5-7 летней давности, иначе никто в их игры играть не сможет.

З.Ы. и серьёзный проект с крутой графикой и прочими технологически навороченными плюшками, ты вряд ли создашь только на конструкторе. Для такого дела нужно много программировать и отлаживать игрулю на компилируемых ЯП (и не один год), чтоб твой проект не лагал и не глюковал.
« Последнее редактирование: 24 Июль 2019, 03:00:46 от Samovar »

Оффлайн Samovar

  • Житель
Можешь поковырять GLSL шейдеры отсюда:  http://blender-3d.ru/forum/index.php/topic,1967.0.html
Там есть SSAO.txt

Оффлайн tomcat

  • Житель
Что значит отсутствует "окклюзия"? Эффект постоброботки, что ли? Сам намути, там вершинные и фрагментные шедеры GLSL можно мутить даже узлами... Но весь этот графический выпендрёж будет жутко тормозить на многих компах, а тем более на мобильных устройствах.
Всё с точность до наоборот:
Цитировать
It seems the whole level is loaded whatever the player position and there is no occlusion culling.

Цитировать
Окклюзия (англ. occlusion от лат. occlusio «сокрытие») — термин, который указывает на какое-либо состояние, которое обычно открыто, а в определённый момент времени полностью закрыто.

В компьютерной графике этот термин относится к двум понятиям:

Ситуация, в которой два объекта расположены приблизительно на одной линии и один объект, расположенный ближе к виртуальной камере или порту просмотра (англ. viewport), частично или полностью закрывает видимость другого объекта. В графическом конвейере (англ. Graphics pipeline) используется «окклюзивное обрезание» (англ. occlusion culling) для удаления скрытых поверхностей прежде, чем к ним начнут применяться растеризация и шейдеры.
https://ru.wikipedia.org/wiki/Окклюзия

То есть, это как раз облегчение нагрузки на комп. "Серьёзный проект" — понятие довольно растяжимое, в данном случае, может я не совсем корректно выразился, но имел ввиду, что большие открытые пространства пока Godot не под силу, будут сильно тормозить игру.

Цитировать
З.Ы. и серьёзный проект с крутой графикой и прочими технологически навороченными плюшками, ты вряд ли создашь только на конструкторе. Для такого дела нужно много программировать и отлаживать игрулю на компилируемых ЯП (и не один год), чтоб твой проект не лагал и не глюковал.
А то, что более-менее серьёзный проект, требует хорошего программирования… ну я с очевидными вещами не спорю.

За ссылку спасибо, посмотрю. Графика предполагается на "среднем" уровне, за фотореалистичностью не гонюсь. Всяких эффектов постараюсь поменьше, только самые необходимые.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
Цитировать
Окклюзия (англ. occlusion от лат. occlusio «сокрытие») — термин, который указывает на какое-либо состояние, которое обычно открыто, а в определённый момент времени полностью закрыто.

Во дурь... Даже в BGE, который все почему-то ругают, можно объекты сделать типом Occluder... а "древний" Irrlicht ваще воспринимает BSP из Quake (https://ru.wikipedia.org/wiki/Двоичное_разбиение_пространства) http://masters.donntu.org/2015/frt/yablokov/library/article6.htm ... а тут лажа :)
Успехов в проекте!

Оффлайн tomcat

  • Житель
Во дурь... Даже в BGE, который все почему-то ругают, можно объекты сделать типом Occluder... а "древний" Irrlicht ваще воспринимает BSP из Quake (https://ru.wikipedia.org/wiki/Двоичное_разбиение_пространства) http://masters.donntu.org/2015/frt/yablokov/library/article6.htm ... а тут лажа :)
Движок относительно новый, стал свободным не так дано, развивается активно. Много настроек импорта, из того же Блендера, сцену можно целиком перегнать… Заявленные фичи вводят (3.0 –> 3.1 — значительные изменения). Короче, для очень сдержанного оптимизма основания есть.

Цитировать
Успехов в проекте!
Спасибо! Пока только замыслы, пытаюсь оценить необходимые затраты и соотнести со своими скромными силами.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
Цитировать
Пока только замыслы, пытаюсь оценить необходимые затраты и соотнести со своими скромными силами.
Делал простые законченные 2D-игры (хотя бы с одним полноценным уровнем) когда нибудь, типа логических, Lines, Арканойд, Cокобан, Boulder Dash, платформер или адвенчуру-кликер? Если нет, то рекомендую вначале на 2D попрактиковаться... 2D - казуалки, кстати, даже более играбельны, чем 3D. И часто  перенос таких игр на 3D, их портит...

Оффлайн tomcat

  • Житель
Если нет, то рекомендую вначале на 2D попрактиковаться...
Это первый совет из руководства по Godot  :D
Цитировать
Почему 2D? 3D-игры намного сложнее, чем 2D. Вы должны придерживаться 2D, пока не получите хорошее представление о процессе разработки игр.
Так и собираюсь.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
Что ж, успехов! Я б конечно тебе советовал юзать иные конструкторы 2D-игр (Game Editor, Construct Classic, Enigma, Clickteam Fusion, Stencyl, ЯП Freebasic, накройняк), но вижу, ты залип на GoDot :)
Там много тебе придётся программировать, на не вполне понятном и нестандартном языке программирования (это моё субъективное мнение) :)  Возможно, это даже хорошо... хоть справка по 2D там на русский не переведена... может быть ты этим даже займёшься походу :)

Оффлайн lexpartizan

  • Житель
Хороший движок или плохой будет видно с версией Годот 4.0.
Пока что производительность в 3д заставляет сильно сомневаться в выборе. Версия 4.0 будет с оптимизациями и покажет, так ли он безнадёжен. Ещё полгода подождать.

Но очень удобен, язык питонообразный, оффлайн-справка, встроенное ide, средства профилирования, удобная работа со сценами. В общем, мне показалось, что он намерен мне помочь, когда я его ковыряю)) Конечно, некоторые вещи непонятны, а некоторые неудобны.

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

Оффлайн tomcat

  • Житель
Что ж, успехов! Я б конечно тебе советовал юзать иные конструкторы 2D-игр (Game Editor, Construct Classic, Enigma, Clickteam Fusion, Stencyl, ЯП Freebasic, накройняк)
А смысл в изучении конструктора 2D-игр? Игра в результате должна быть на 3D, к сожалению  :(

Цитировать
но вижу, ты залип на GoDot
не то что бы залип, но тут возможен плавный переход от обучения с 2D на 3D. Рассматривался NeoAxis Engine, но он не дышал какое-то время и я решил что умер. Но они удалили русскую ветку с форума (хотя разработчики вроде местные), а знание английского у меня не настолько, что бы мог задать на англоязычном форуме сложный вопрос. А Godot прозрачно реализует необходимые мне фичи в игре.

В общем, мне показалось, что он намерен мне помочь, когда я его ковыряю))
Когда понадобилось подключить поддержку русского языка, я не нашёл инструкций, но смог сделать просто по логике — всё достаточно понятно.
Цитировать
Была бы шикарной возможность сохранять состояние сцены, но её нет. А при выгрузке сцены все изменения теряются.
вот да — это очень напрягает. Сохранять сцены отдельно и восстанавливать их конечно можно, но какое-то кривое решение.

Цитировать
Ещё полгода подождать.
Нормальный срок. Вполне терпимо.

Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
Цитировать
А смысл в изучении конструктора 2D-игр? Игра в результате должна быть на 3D, к сожалению.

Изучишь самые распространнные в игрострое игровые механики, во всяком случае. Если разрабатывать на Game Editor или Еnigma, то научишься языку Си, что несомненно будет полезно и ты автоматом врубишься во все Си-подобные  языки, такие как Java Script. Если на Construct Classic, то там встроен Python 26. Если вообще на Freebasic писать, то научишься и Freebasic и Си + там ты вообще ничем не ограничен в своём творчестве. А Stencyl - это вообще самое простое. Там реализовано блочное программирование для школьников.
« Последнее редактирование: 24 Июль 2019, 15:00:54 от Samovar »

Оффлайн tomcat

  • Житель
Изучишь самые распространнные в игрострое игровые механики, во всяком случае.
Это всё доступно и в Godot, прямо копипаста их советов  :) Собственно, вещи достаточно ясные для тех, кто сначала изучает текущую обстановку ("проводит рекогносцировку"), а не лезет оголтело прямиком в болото игростроя. Так же как и совет ориентироваться на "устаревшие" компы — очевиден, если хоть чуть задуматься. Хотя подобны советы безусловно очень полезны, часто можно пропустить вполне простые вещи и потом гадать, как можно было не предусмотреть такой примитив.

Цитировать
Если вам нужна помощь, просто зайдите на форум GE или сюда, и спросите.
Дык, что я и сделал  8)

Цитировать
Если разрабатывать на Game Editor или Еnigma, то научишься языку Си, что несомненно будет полезно и ты автоматом врубишься во все Си-подобные  языки, такие как Java Script.
Время на изучение уже нет. И там нужен очень мощный математический аппарат, на это время тем более нет. Идея проще: сделать прототип и выложить. Там будут только самые основные фичи, реализованные в очень примитивном варианте, такое я потянуть, надеюсь, смогу. А дальше или наберётся команда, уже включающая серьёзных программистов, или… ну понятно.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
tomcat, прототипировать 3D-игру можно и на BGE или UPBGE, и это будет гораздо быстрей и проще, чем заморачиваться для этого с GoDot. Что касается шустрой математики, то Python поддерживает обращение к функциям DLL (Striver мне пару лет назад объяснял здесь на форуме как это сделать), которую можно намутить в том же Freebasic , на Си или Паскале (а если не шаришь, то в HiAsm узлами).

Оффлайн tomcat

  • Житель
tomcat, прототипировать 3D-игру можно и на BGE или UPBGE, и это будет гораздо быстрей и проще, чем заморачиваться для этого с GoDot.
Увы. Самая основная фича, которая требует реализации: плавное взросление персонажей. Рост от ребёнка до старика. В Godot я вижу принципиальную возможность этого Одежда для персонажа с shapekeys (кстати, именно этот пост и сподвиг меня здесь зарегистрироваться). Человек реализовал то, о чём я только задумывался:
MakeHuman –> Blender –> Godot
дальше всё достаточно понятно: вешается таймер (стандартная функция Godot) на шейпкей старения. Вопросы в оптимизации, насколько это будет тормозить игру, но это техническая, не принципиальная сторона. Тут взял и использовал, а реализация этого в прочих движках? Насколько я понимаю, раньше и возможности такой не было, то есть старение отнимало такую прорву ресурсов, что не задумывались, что бы её воплотить в игре (в Симсах старение идёт "рывками"). Возможно ли это теперь… не уверен… но попробовать, на мой взгляд, стóит.
Curiosity killed the cat, but satisfaction brought it back

Оффлайн Samovar

  • Житель
А, это ты мне писал, что поляки впереди планеты всей в игрострое? :)
Стоп. А разве BGE и UPBGE не поддерживают анимацию ключевых форм? :)  Они, вроде даже, Point Caсhe анимацию поддерживают. Давно не ковырял BGE. Надо проверить...
Единственный плюс GoDot перед BGE, в том, что он умеет нативное 2D и экспорт на Android и в HTML5. Но 3D там всегда будет тормозное. В остальном, я плюсов не вижу.

 

* По форуму

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

Blender 1.6.jpg
Скачано: 6
Автор: Наталия
Blender 1.5.jpg
Скачано: 1
Автор: Наталия
Blender 1.4.jpg
Скачано: 2
Автор: Наталия

Скачано: 3
Автор: Mihanik
Blender 1.2.jpg
Скачано: 1
Автор: Наталия