Поговорим о Godot

Список разделов Геймдев в Blender Общие вопросы по игровой тематике

Модератор: exooman

Сообщение #1 Neofit » 12.11.2016, 00:55

У меня есть интерес к этому движку, но не знаю с какой стороны подступиться, нет нормальных манов на отечественном, да и прогать я не горазд.
Однако, есть ли интерес у форумчан к Godot-технологиям, может кто то уже пробовал что то сделать?
Кто хочет поковыряться с ним?
Я бы сделал ремейк игрушки которую развивал лет десять назад на game maker.
maleficmax » 12.11.2016, 15:34 Замечание
Ну каким образом эта тема подходит для раздела "уроки и чаво"?! Перенес.
Neofit
Аватара
Сообщения: 900


Сообщение #2 СамСуCам » 12.11.2016, 01:16

Neofit, Дима Кива на этом движке игру сделал, он может что знает.
В любой непонятной ситуации спи, кушай и улыбайся. SATtva
Моя галерея Ежедневный конкурс моделирования в Blender
СамСуCам M
то добрый, то злой админ
Аватара
Откуда: Русь, Китеж
Сообщения: 3205



Сообщение #3 exooman » 12.11.2016, 01:47

начни с БГЕ, разберись с синтаксисом питона, научись ориентироваться в API. Затем изучай годот - там принцип тот же самый, но API более широкий. Ну и интерфейс ближе к юньке.
exooman M
Аватара
Сообщения: 1449


Сообщение #4 grayich » 12.11.2016, 01:53

Neofit, хотел одно время его тыкать, но потом глянул реальное состояние... нет смысла, он не намного шустрее BGE, разве что для 2d пользовать.
godot v3 вроде ожидается более вкусный
x64 Linux
grayich M
Аватара
Откуда: Харьков
Сообщения: 4503

Сообщение #5 Neofit » 12.11.2016, 08:23

СамСуCам, А годот один человек разрабатывает?
Neofit
Аватара
Сообщения: 900


Сообщение #6 Bibo » 12.11.2016, 09:41

http://cgex.ru/viewforum.php?f=28
Частичный перевод официальной вики.
На сайте движка так же есть FAQ и достаточно полезной информации.

Сравнение с BGE натянуто. Принцип тоже несложен, но сильно отличается от упомянутого. В том числе, скриптинг ориентируется на расширение встроенных классов, в то время как Python дает практически полную свободу.
Bibo
Аватара
Сообщения: 468

  • 1

Сообщение #7 grayich » 30.01.2018, 14:29

выпустился godot 3.0 https://godotengine.org/article/godot-3-0-released
rus -- http://www.opennet.ru/opennews/art.shtml?num=47990

ктось 3-тью версию уже тыкал? как оно в 3д ?
x64 Linux
grayich M
Аватара
Откуда: Харьков
Сообщения: 4503

Сообщение #8 stark » 31.01.2018, 18:42

Клёво. Но если 29-го выпустился, то рано спрашивать. Только если до релиза можно было пощупать и кто-то щупал.

Агитируют использовать glTF 2.0, хотя Collada никуда не делась. Вроде есть экспортёр из Blender от Kronos на GitHub и ещё один от некоего Kupoman. Интересно, это вообще актуально и работает?
stark M
Сообщения: 1787


Сообщение #9 stark » 18.03.2018, 22:57

Посмотрел Godot 3 по части скелетной анимации. Пишут что ограничения есть вроде того что висящие кости некорректно обрабатываются и что вообще скелет должен быть деревом из connected элементов чтобы сейчас обрабатываться корректно.

Видно что хранятся внутри матрицы преобразований по штуке на кость. Но больше удивило как реализована скелетная анимация сама по себе. Хотя наверное это и есть современный подход. Текущее положение скелета из оперативной памяти пишется в "текстуру" 4xfloat32 в каждой ячейке а на видеокарте вершинный шейдер делает по 3 текстурных выборки чтобы получить матрицу преобразования 4x3 от одной кости (до 4x4 расширяется константной строкою) и делает это ровно для 4-х костей на вершину.

Т.е. деформируется меш уже на видеокарте в вершинном шейдере. И есть ограничение что максимум 4 кости влияют на вершину. Объём передаваемых на каждом кадре в видеопамять данных зависит от количества костей а не вершин заскиненного меша. Вообще "текстура" в видеопамяти с матрицами от арматуры забиндена на область оперативной памяти и как там внутри работает видимо уже от OpenGL зависит. Сами же вершины перемещаются параллельно на видеокарте, правда это стоит 12 текстурных выборок на вершину. Интересно, есть ли такое что эти данные накапливаются в кэше у потоковых процессоров/блоков потоковых процессоров чтобы оптимизировать и делать меньше 12 текстурных выборок на применение скелетной анимации для каждой вершины.

Добавлено спустя 2 минуты:
Документация по Godot 3 пока, увы, оставляет желать лучшего, как по мне. Но урок по созданию игры Dodge The Creeps я прошёл полностью :)
stark M
Сообщения: 1787


Сообщение #10 Neofit » 18.03.2018, 23:53

stark, Ноды щупал? Прогать приходится много? На сколько актуальны старые уроки?
Neofit
Аватара
Сообщения: 900


Сообщение #11 Дмитрий » 19.03.2018, 10:35

>> Ноды щупал?
А что интересует то?

>> Прогать приходится много?
Да как и в любом другом.

>>На сколько актуальны старые уроки?
А я честно сказать по нему особо уроков то не встречал, были вольные переводы официальной документации на русский, а оригинальных уроков не встречал. Документация под третий может и не в идеале но она есть, и я бы не сказал что сильно плохая.
Дмитрий M
Сообщения: 12

Сообщение #12 Bibo » 19.03.2018, 12:08

Neofit писал(а):На сколько актуальны старые уроки?
Зависит от версий. Общая концепция неизменна, но много различий в интерфейсе. Импорт теперь автоматический, настройка частиц отличается самую малость, неплохо видоизменился редактор анимаций.
Если разбирался в старом, в новом особых проблем не возникнет. Но новая версия пока сыровата.
Neofit писал(а):Ноды щупал? Прогать приходится много?
Почти обычное программирование, но вместо рукописного кода выбираешь функции/переменные мышкой.
Bibo
Аватара
Сообщения: 468

Сообщение #13 Neofit » 19.03.2018, 14:59

Дмитрий, Так, ноды то в чем то заменяют писательское проганье?
Я так понимаю что создание игры очень далеко от визуального программирования а ля Game Maker..
Немного учу питон, и хотелось бы понять в какую сторону его учить для применения в Blender и Godot
Neofit
Аватара
Сообщения: 900


Сообщение #14 Levitanus » 19.03.2018, 15:43

Neofit писал(а):в какую сторону его учить
да в принципе, без разницы. Я вот месяца три назад с питоном столкнулся - и очень полюбил. Можно для "введения в курс дела" пройти http://adventofcode.com
А все, что кроме общиего программирования - уже только курение API и понимание матчасти движка.
Я вот не помню точно, но в unity, кажется, один из трех языков - boo, который является форком питона 2,5 что в принципе ставит под вопрос необходимость курения API blendera или фреймворка godot, если уж речь идет о кодинге.
А в самом кодинге ничо плохого нет, на этапе построения функционала не сложнее врубиться, чем в то же 3D. Вот когда грянут оптимизации и масштабирование архитектуры - то дилетантизм полезет, но к этому моменту, дай бог, будет уже реализован функционал, встанет на место голова, и будет хороший список статей и мануалов для покурить ;)
пишу музыку, примеры тут
Levitanus M
Аватара
Откуда: Новосибирск
Сообщения: 863



Сообщение #15 Дмитрий » 19.03.2018, 15:48

А... про эти ноды, простите в формате ИМХО, изврат. Если вы хоть на чём ни будь писали раньше, освоить GDScript ничего не стоит. И да, к слову, в годот не питон, GDScript, сейчас ещё прикрутили моно.

Типы данных, простые структуры данных (массивы, диктонарии), методы над стандартными данными, конструкции языка - шаг в лево, шаг в право во всех языках одинаковые, специфика языка осваивается в процессе, просто начните и всё пойдёт. Документация по GDScript весьма хорошая - классы, методы всё описано не плохо, есть вводный курс с примерами. если что вот сдесь: https://godotengine.org/qa/ обычно довольно быстро помогают.
Дмитрий M
Сообщения: 12

  • 1

Сообщение #16 dron » 19.03.2018, 16:09

Levitanus писал(а):но в unity, кажется, один из трех языков - boo, который является форком питона 2,5
Они от него давно отказались, так что в юнити можно использовать только IronPython для трансляции в C#.
Neofit писал(а):Дмитрий, Так, ноды то в чем то заменяют писательское проганье?
Имхо есть UML для которого давно есть генераторы кода для любого языка остается только дописать нужные конструкции в код если из генератора их получить затруднительно (с ходу назвать генераторы не могу так как пользовался только 1 раз для поиграть и уже не помню названия)
Данный контент распространяется под лицензией "Creative Commons BY-SA" если не указанно иного.
http://creativecommons.org/licenses/?lang=ru
dron M
Аватара
Сообщения: 109

  • 2

Сообщение #17 exooman » 19.03.2018, 16:17

Neofit писал(а):Немного учу питон, и хотелось бы понять в какую сторону его учить для применения в Blender и Godot

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

А по сути, нужно понять лишь одну суть: весь код - это лишь указание путей до некого функционала, ну и сам функционал.
Вот например, на неком сайте есть картинка - это функционал. Чтобы открыть её, нужно вбить адрес в некое поле - это уже путь до функционала. А если до этого нужно было указать путь до адресного поля? А перед этим указать регистр? И всё это нужно сделать, используя лишь блокнот? Вот это и есть погромирование. Естественно с сугубо художественной точки зрения.

Что нужно учить первым делом? Синтаксис языка. То есть правила, по которым регулируются все взаимоотношения в коде.

Далее изучаем фундамент любого языка:

- основные типы переменных (bool, string, int, float),
- математические операции и работу с форматированием строк,
- массивы и списки,
- принцип работы методов(функций)
- классы

Когда разберешься, что вся эта ерундистика означает и как она работает - начинай изучать API движка. По сути, это библиотека всего функционала, реализованного в движке. В API описаны все классы и все методы, а так же способы и правила их вызова.

И к слову, стоит строго разделять в представлении саму суть изучения языка: выучить общие синтаксис и правила - это одно, а выучить API конкретного движка - совершенно другое, зачастую имеющее к самому языку лишь косвенное отношение. Например, API того же годота качественно иное, нежели у BGE (пусть и схожее). И выучив API одного, навряд ли оно пригодится во втором.

Но вот когда хорошенько изучишь и API, вот тогда поймёшь, что от визуального погромирования, обычное, рукописное, ничем не отличается. Последнее просто в разы гибче, удобнее и читабельнее нежели нагромождение из нодов и прочего непотребства.
exooman M
Аватара
Сообщения: 1449


Сообщение #18 Levitanus » 19.03.2018, 16:44

dron писал(а):IronPython для трансляции в C#.
лучше уж, наверное, сразу net учить))
пишу музыку, примеры тут
Levitanus M
Аватара
Откуда: Новосибирск
Сообщения: 863



  • 1

Сообщение #19 Дмитрий » 19.03.2018, 17:14

Автор куда то делся..., а мы на правах офтопа обсуждаем предпочтения по средам разработки и языкам ;)

Levitanus писал(а):лучше уж, наверное, сразу net учить))
А я вот к нему очень плохо отношусь, и дело даже не в языке (тут как раз всё пучком), а в том, что это сугубо приблуда интерпретатора дерьмодоту нет... да и по большому счёту платформенноориентированного интерпретатора.

Впрочем язык тут вообще не главное, упираться в него як краеугольный камень не надо. Если человек (топикстартер) действительно имеет намерения разработать некую игру (идею) или вообще попробовать/освоить это дело... гамедев очень полигранная штука и абсолютно прикладная, не надо упираться рогом в одну из составляющих и надо не репетировать где то там "с питоном" не зная в какую степь его поизучать... надо сесть, для начала как минимум описать (сформулировать и зафиксировать) свою идею, написать долгосрочный план (план проекта) и краткосрочный план (текущих задач) и поступательно работать по всем направлениям.
Дмитрий M
Сообщения: 12

Сообщение #20 stark » 19.03.2018, 21:44

Neofit писал(а):stark, Ноды щупал? Прогать приходится много? На сколько актуальны старые уроки?
Если имеется ввиду ноды как визуальное программирование, то нет, не щупал. Я вполне себе программист и не избегаю кодить. Наоборот считаю что код - это лучшая организация решения сложной задачи. Например недавно радовался тому что можно починить отвалившиеся драйвера в blender просто редактируя связанную строчку dna, по сути код, а не удаляя и создавая вновь.

А так думаю на вопросы тут уже ответили. Я тоже считаю что не стоит "бегать" от написания кода. Я, например, не учил Python почти и не прочитал всю эту целую страницу с описанием GDScript в Godot. Понимание как оно работает обычно появляется в процессе, если например урок проходить. Чуствуешь что путаешься в синтаксисе языка и базовых конструкциях - подтягиваешь язык. Нет - учишь API пытаясь решить свою задачу.

Уроки смотрю только по новой версии. Сейчас вроде в процессе написание урока по созданию First Person Shooter в Godot 3, что-то уже выложено если не всё.
stark M
Сообщения: 1787


След.

Вернуться в Общие вопросы по игровой тематике

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость

cron