Войти
Игровая индустрияФорумСобытия

Godot Engine получил $250K Epic Megagrant! (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
20:13, 4 фев. 2020

Danilw
> GDScript не плох
Объясните для тех кто в танке - в чем смысл скриптов? Я понимаю, можно написать логику движения моба и не надо пересобирать движок.

Но если геймдизайнер или человек который ни разу не программировал, и ему дать такой низкоуровневый код,и сказать - "твори, работай", он же у виска покрутит?

+ Показать

Я так понимаю такие люди могли бы справиться с высокоуровневым языком, и то потребовалось бы время на обучение что то типа такого:

+ Показать

#31
20:41, 4 фев. 2020

forwhile
в том примере что ты показал-гд скрипт ужасен
я с этим тоже столкнулся
там очень плохо/неправильно сделана работа с камерой(зачем таскать умножение матриц в скрипте я тоже без понятия), физический движок проброшен в GDScript просто худшим образом
код обработки столкновений в 3Д с инерцией, вторая часть этой логики и других объектах и еще работа с камерой
это полна фигня делать такую логику в скриптах, синусы асинусы матрицы через строку по всему коду, когда логика хоть на шаг выходит за ХелоВорд

в GDScript не хватает кучи мелких удобств, которые и делалиб скриптовый язык удобным, где 90% можно мышкокликаньем сделать(в редакторе, который использует все простые фичи скриптового языка)
но в GDScript этого не сделано, и тех самых сотен и тысяч шаблонов нет, в отличии от тогоже Юнити где в их АПИ очень много полезный функций наделали, и их скрипты удобно писать

GDScript удобен для тех самых "ютуб туториалов" как сделать 2д игру за 5 минут.... не более

#32
21:18, 4 фев. 2020

forwhile
> IF EVENT(player_die)
>
> CAMERA_TARGET(big_rock);
> BLAST(big_rock)
> PLAY_SOUND(big_rock.blast)
>
> ENDIF
Такое и через кликание мышкой по иконкам. 21 век на дворе. Больше творчества, код- это средство, от него пора избавляться.

#33
21:25, 4 фев. 2020

Кстати, а как у UE с поддержкой мобилок? Последнее что слышал, это как самсунги им оптимизировали рендер.
А тем временем COD под мобилки на юнити сделан...

#34
21:58, 4 фев. 2020

mim2002
> Такое и через кликание мышкой по иконкам.
то есть?

#35
22:04, 4 фев. 2020

/A\
> Кстати, а как у UE с поддержкой мобилок?
закапывайте
тоесть он стабильный и все такое, но там возможности движка из 2004 года, зачем таскать такого монстра как UE4 когда выход простой
для мобилок уж точно чтото типа Godot больше подходящее, преимуществ UE в таких проектах не чувствуется

(я участвовал в разработке одной небольшой игры под веб на UE4 за последний год, так мучения и превозмогания присутствуют, и сделав пару своих проектов/демок в Годот, я на 100% уверен что Godot лучше и для веба и для мобилок, лучше чем Юнити и UE4)

#36
22:35, 4 фев. 2020

Danilw
Вариант из твоего кода.
(я не вникал, но попытался _правильно_ оформить)
(угу - иногда мне делать нечего)

#var p = gen_shoot_new( tmp_shoot_r, elemb):
# получить указатель на новый elem_x, порожденый внутри holder.
func gen_shoot_new( holder, elem_x):
  holder.append( elem_x.instance())
  return holder[ holder.size() - 1]
# ------


# Вместо gen_shoot_l() вызываем процу с кучей аргументов..
#gen_shoot( tmp_shoot_l, elema, tl - shoot_timeout_l, shoot_mov_l, self_dmg_l)
#gen_shoot( tmp_shoot_r, elemb, tr - shoot_timeout_r, shoot_mov_r, self_dmg_r)

func gen_shoot( elem_holder, elem_x, shoot_time, shoot_mov, an_dmg):
  var p = gen_shoot_new( elem_holder, elem_x)
  var n = p.get_node( "b1")

  n.angle = deg2rad( -(self.rotation_degrees.y))
  n.start_pos = self.translation
  n.aim_point_pos = global_v.iMouse_3d
  n.extra_speed = max( -local_speed, 0)
  n.aie_e = global_v.mouse_aim_e
  n.no_parts = global_v.no_parts

  n.min_mov += 0.25 * clamp( shoot_time, 0, 1) * shoot_mov

  n.shoot_mov = 0.05 * clamp( shoot_time, 0, 1) * shoot_mov + shoot_mov
  n.self_dmg = an_dmg

  global_v.call_deferred( "add_child", p)
# ------
#37
22:38, 4 фев. 2020

slatazan
> Вариант из твоего кода.
я посмотрел скрипты. и это какой то адище
не в плане что товарищ Danilw  как то криво написал
а в плане - сложно! у меня глаза вытекли, и я типа даже программирую немного и в ужасе

для кого скрипты то? кто должен их писать, и если такой ад в скриптах, можно и на плюсах херачить

#38
22:46, 4 фев. 2020

forwhile
// можно и на плюсах херачить
Я не пробывал, но в Годоте можно на си-шарпе кодировать, кажись.

#39
(Правка: 22:52) 22:50, 4 фев. 2020

slatazan
Ну писать "правильный код" в GDScript у меня выдержки не хватило, по ходу этого проекта я более десятка багов в годот отправил
просто доделал чтоб работало, в качестве практики пойдет

forwhile
> для кого скрипты то? кто должен их писать, и если такой ад в скриптах, можно и
> на плюсах херачить
часть кода в той демке это копипаста функций, мне лень было бороться с багами и фичами глобальных классов с шаблонными функциями поэтому много кода просто копипастится из файла в файл

не спорю код ужасен, но так выглядят и офф-примеры игр на Годот, но в офф примерах функционала нет, в офф демках даже не показано как делать динамическое столкновение физических объектов в 2d и 3d
по умолчанию в Godot у персонажа(KinematicBody) бесконечная инерция и он пробивает все RigidBody
и на этом все, дальше разбирайтесь сами
ну и написать нормальное отталкивание с инерцией, и поворот камеры ботов к игроку, без кучи тригонометрии и перемножения матриц просто невозможно

П.С. статья об этой демке на хабре есть https://habr.com/ru/post/467779/ там немного комментариев

#40
22:56, 4 фев. 2020

Danilw
Там, в годоте, текстовой редактор не совсем хорош.
Возможно, его можно настроить, но я не пробывал. гы-гы

// ---
Недавно натыкался на возможность херачить с++ для годота
вот
Там DLL или пере-компил, кажись, но я не вникал, как всегда.

#41
23:04, 4 фев. 2020

да Godot поддерживает бинарные(C/C++) модули которые можно вставлять без перекомпиляции движка, прямо в редкаторе подключать и использовать

можно свои модули делать встроенные в движок и напрямую без скриптов со всей логикой работать

одно но С/С++ интерфейсы очень слабо документированы, и без ковыряния всего кода Godot банально чтоб знать имена функций классов типов, в Си/С++ не обойтись без этого

темнеменее скриптовая часть, и сам движок довольно стабильные
по сравнению с Рендерингом, там просто яма багов, и это только в OpenGL рендере
а они еще Vulkan делают, тамже может быть вообще АД, учитывая что у них в альфе утечки памяти в GPU (ну типо альфа че)... очень надеюсь что эти деньги помогут хоть немного улучшить графический рендер по части багов

#42
23:14, 4 фев. 2020

Danilw
> очень надеюсь что эти деньги помогут хоть немного улучшить графический рендер по части багов
Ну так деньги уже есть, зачем теперь напрягаться то?

#43
23:15, 4 фев. 2020

forwhile
> то есть?
Ну такое -"детское", типа kodu от майков или Scratch, только полнофункциональные.
Удобно- выбираем иконки "Идти" "спрайт" "точка клика"
Не удобно-

+ Показать
#44
(Правка: 6:47) 1:59, 5 фев. 2020

эко навалили :))

Godot очень хорош и удобен для 2D в частности если в проекте много UI тут он очень крут, сам Godot редактор написан на движке что уж говорить. Для 3D у него еще конечно долгий путь чтобы достойно конкурировать как по удобству API так и по рендеру, однако в зависимости от игры может без проблем подойти, вот чувак какой проект запилил в 3Д на Годоте еще на второй версии RPG in a Box и земля не налетела на небесную ось.

GDScript - прекрасный легкий для чтения и написания язык, особенно если нравится Python like языки. С добавлением в последних версиях движка опциональной статической типизации - в следующих версиях обещают очень мощную оптимизацию производительности для его компилятора. Для подавляющего числа 2Д игр текущей производительности GDScript выше крышы, но как заметили выше есть официальная поддержка C# спонсорством которой занимается Microsoft и конечно все можно писать на родном С++ но лично я, несмотря на то что много лет писал на C# и неплохо знаю C++, в Godot всегда выбираю GDScript - кода писать меньше, читать проще, а в последней версии 3.2 (что вышла пару дней назад)  так и редактор кода с auto-complete вообще стал прям очень хорош.

Напоследок есть прекрасный курс по Godot на Udemy Discovering Godot: Make Video Games in Python-like GDScript покрывает последние версии 3.1/3.2 много там годноты раскатывают того что трудно найти в доке порой (и часто бывают распродажи по 10$).

Еще годный курс по 3Д в Godot Godot Getaway: The Godot Course покрывает в том числе multiplayer.

И вот хороший ресурс GDQuest там особо уделяют внимание как писать идиоматический не костыльный код под Godot архитектуру.

P.S. Одна из популярных на Стиме игр сделаных на Godot как показатель что не только Hello World ы можно пилить City Game Studio

Страницы: 1 2 3 4 Следующая »
Игровая индустрияФорумСобытия