Поговорим о Godot

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

Moderator: exooman

Post #1by Neofit » 12.11.2016, 00:55

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


Post #2by СамСуCам » 12.11.2016, 01:16

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



Post #3by exooman » 12.11.2016, 01:47

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


Post #4by grayich » 12.11.2016, 01:53

Neofit, хотел одно время его тыкать, но потом глянул реальное состояние... нет смысла, он не намного шустрее BGE, разве что для 2d пользовать.
godot v3 вроде ожидается более вкусный
Linux
grayich M
Avatar
Location: Харьков
Posts: 5821

Post #5by Neofit » 12.11.2016, 08:23

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


Post #6by Bibo » 12.11.2016, 09:41

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

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

  • 1

Post #7by 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д ?
Linux
grayich M
Avatar
Location: Харьков
Posts: 5821

Post #8by stark » 31.01.2018, 18:42

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

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


Post #9by stark » 18.03.2018, 22:57

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

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

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

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


Post #10by Neofit » 18.03.2018, 23:53

stark, Ноды щупал? Прогать приходится много? На сколько актуальны старые уроки?
Neofit
Avatar
Posts: 897


Post #11by Дмитрий » 19.03.2018, 10:35

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

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

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

Post #12by Bibo » 19.03.2018, 12:08

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

Post #13by Neofit » 19.03.2018, 14:59

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


Post #14by Levitanus » 19.03.2018, 15:43

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



Post #15by Дмитрий » 19.03.2018, 15:48

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

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

  • 1

Post #16by dron » 19.03.2018, 16:09

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

  • 3

Post #17by exooman » 19.03.2018, 16:17

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

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

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

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

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

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

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

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

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


Post #18by Levitanus » 19.03.2018, 16:44

dron wrote:IronPython для трансляции в C#.
лучше уж, наверное, сразу net учить))
пишу музыку, примеры тут
Levitanus M
Avatar
Location: Новосибирск
Posts: 859



  • 2

Post #19by Дмитрий » 19.03.2018, 17:14

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

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

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

Post #20by stark » 19.03.2018, 21:44

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

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

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


Next

Return to Общие вопросы по игровой тематике

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest

cron