Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 399 70 132
Godot #21.03 Аноним # OP 21/03/21 Вск 16:01:01 734420 1
ОП-пикча 521Кб, 2000x2034
2000x2034
Добро пожаловать в тред любви, взаимопомощи, лобызаний и цветения!

Краткий гайд по вкату в движок:
1. Читать документацию.
2. Качать примеры.
3. ПРОФИТ!

Ньюсач
https://godotengine.org/news/

Ссылки
Скачать движок: https://godotengine.org/download/ или http://store.steampowered.com/app/404790/Godot_Engine/
Теперь прямо онлайн - можно и с дивана: https://godotengine.org/online/godot.tools.html
FAQ: https://docs.godotengine.org/ru/latest/about/faq.html
Документация: https://docs.godotengine.org/ru/latest/ https://docs.godotengine.org/en/stable/
Примеры качаются прямо в движке через свой магазин в отдельной вкладке AssetLib. Там есть всё - от платформера до чата.
Игры, созданные глобальными кириллами: https://steamcommunity.com/app/404790/discussions/0/412448792354265655/
Изумительный Годот: https://github.com/Calinou/awesome-godot - подборка дополнений, модулей и минишоукейс от одного из авторов.
Аддон для диалоговой системы: https://github.com/coppolaemilio/dialogic

Для любителей пощекотать конпеляцию
Бинды LUA: https://github.com/perbone/luascript
Бинды JS: https://github.com/GodotExplorer/ECMAScript

Годнота от анона
- Для приверженцев опенсорца существует возможность распространять проекты в незапакованном формате. Просто скачай темплейт с оф.сайта и положи экзешник/эльфешник в папку с проектом, этого достаточно. Имя файлу можно задать любое. Дополнительно можешь вшить свою иконку в экзешник. После этого, запустившийся файл темплейта обнаружит рядом с собой файл project.godot и начнет грузить проект из него и из файлов, лежащих в распакованном виде в той же директории. Для запущенного таким образом проекта папка res:// становится доступна для записи (если это не ограничено правами доступа в системе).
- В версии 3.2 появилась возможность прикреплять pck к бинарнику. Бриллиант для любителей однофайлового продукта!
- Редактор персонажей на основе makehuman: https://github.com/Lexpartizan/Go_MakeHuman_dot
- Тест-бенчмарк:
- - Веб-версия - https://govdot.herokuapp.com
- - Вишмастер для винды - https://govdot.herokuapp.com/4Anon.rar

Предыдущий: >>719977 (OP)

Архивный: https://arhivach.net/thread/641529/
Аноним 21/03/21 Вск 16:07:15 734425 2
image.png 30Кб, 1290x684
1290x684
>>734420 (OP)
И первый платиновый вопрос треда.
Когда я добавляю объект в сцену, то он появляется в нулевой отметки xy. И, когда я пытаюсь его перетащить, то либо цепляю другие объекты, либо куски моего объекта, например только спрайт или только коллижншейп. Как мне удобно и нормально перетаскивать сразу весь объект не цепляя при этом другие вокруг?
Аноним 21/03/21 Вск 16:14:09 734427 3
>>734420 (OP)
Ньюсач слабый, я надеялся на топ выборку как в блоке "годнота".
Аноним 21/03/21 Вск 16:21:00 734428 4
1616263914519.jpg 41Кб, 918x719
918x719
>>734420 (OP)
> В версии 3.2 появилась возможность прикреплять pck
не появилась, а вернулась - 2.х умел
Аноним 21/03/21 Вск 16:51:26 734436 5
Есть что на тему неевклидовых пространств?
Аноним 21/03/21 Вск 16:54:39 734437 6
Аноним 21/03/21 Вск 17:01:23 734440 7
Аноним 21/03/21 Вск 19:09:12 734457 8
image.png 3Кб, 227x56
227x56
image.png 67Кб, 1333x637
1333x637
Продолжаем платиновые вопросы.
Сделал я animationPlayer, запихнул туда анимацию ходьбы в разные стороны, настроил скорость и прочие параметры. Запустил - отлично работает, скорость настроена.
Затем сделал animationTree, там blendSpace2D, запихнул туда анимацию для удобства. А эта хуевина проигрывает скорость анимации по своим стандартным параметрам, не учитывая настройки скорости в animationPlayer. Как фиксить?
Аноним 21/03/21 Вск 19:20:43 734459 9
>>734457
Алсо, в инете тоже не вижу решения пиздец нахуй элементарная же вещь. Если решения нет, то как реализовать тогда в коде смену направлений от градусов?
Аноним 21/03/21 Вск 19:27:21 734463 10
>>734457
Уточню, мне нужна покадровая настройка, так как некоторые кадры у меня проигрываются с разной скоростью
Аноним 22/03/21 Пнд 07:33:09 734557 11
Привет годаны, у меня опять вопрос. Скачал пример игры, написанной на С# скрипта в примере все работает отлично, но когда я пытаюсь повторить у меня получаются проблемы с нажатием клавишь, например не работает только нажатие клавиши или сигнал на опускание клавиши, пример - прыжок, нажимаю пробел и он работает через раз, нажемаю бежать и пробел и он срабатывает только через некоторое время. Та же беда с мышью, она вообще не работает, ни правый ни левый клик. Я назначал клавиши через внутренние методы Шарпа(принудительное нажатие клавишь и прямое нажатие указанных клавишь) и нет я не забыл назначить клавиши в своём редакторе, все указал, но они работают через раз.
Я прочитал посты из предыдущего треда о подобной проблеме и нет с кодом все нормально он почти одинаковый немного переработанный, возможно опять, что в движке не нажал. Насчёт контролов я не совсем понял, что там перекрывает?
И да я заметил в некоторых примерах управления персонажей задают годов скриптом, а процедурные вещи, например уровни или объекты пишут на шарпе.
Аноним 22/03/21 Пнд 10:27:56 734564 12
>>734557
Напомни, зачем тебе вообще шарп? Почему нельзя реализовать силами движка то, что ты хочешь?
Аноним 22/03/21 Пнд 13:14:11 734595 13
>>734564
Он мне понятен и прятен. Я правда пытался освоить гд скрипт, но постоянный контроль отступов и пробелов вымораживают
>>734570
Спасибо, попробую
>>734571
Понял, но пока это не возможно. Пишу на работе, дома до конца месяца проблемы с инетом, только офлайн.

На самом деле даже того, что я уже достиг в этом движке значительно перекрывает все то что я делал раньше, надеюсь хотя бы эту игру довести до запланированного конца и вправду душевный двиг, надо было изначально на годот вкатываться столько времени потерял.
Аноним 22/03/21 Пнд 19:39:15 734664 14
>>734557
У меня через kinematicbody2d, IsActionJustPressed() и MoveAndCollide() все норм на 3.2.4 RC5 так-что это ты наговнакодил скорее всего.
Аноним 23/03/21 Втр 01:40:00 734727 15
Аноним 23/03/21 Втр 07:39:27 734737 16
>>734664
Возможно. Попробую.
>>734727
Спасибо, я его смотрел.
Аноним 25/03/21 Чтв 05:51:03 735092 17
AaF7I726N-8.jpg 71Кб, 960x720
960x720
Появляется ошибка после срабатывания queue_free()
Invalid get index 'position' (on base: 'Nil').
при попытке вычислить свою position на следующей итерации. Разве queue_free() не удаляет весь узел? Почему после queue_free() Годот пытается вызвать позицию удаленного узла?
Аноним 25/03/21 Чтв 06:18:46 735095 18
Аноним 25/03/21 Чтв 06:22:15 735096 19
>>735095
Или он на closest_enemy.position ругается?
Но там же стоит body != null.
Не понимаю, миленькие.
Аноним 25/03/21 Чтв 06:41:08 735098 20
>>735097
Согласен. Спасибо
XOXO
Аноним 26/03/21 Птн 11:39:18 735351 21

Решил проблему с несрабатыванием прыжка, нужно было в редакторе поднять коллайдер коллизий у персонажа (если я правильно назвал) выше, у меня он был наполовину опущен в плоскость пола.
Начала работать мышь, но по прежнему игрок или берет предмет, но не кидает его, или не берет предмет, но может пнуть его. Думаю проблема в состоянии персонажа, когда срабатывает булевое условие в руках или на земле плюс подозреваю что опять что то неправильно в редакторе настроил для персонажа.
Аноним 26/03/21 Птн 23:42:18 735480 22
>>734420 (OP)
Так, ну AnimationTree меня нахуй послало с тонкой настройкой анимации. И тогда вопрос: Как мне сделать так, что бы в топ даун игре с четырьмя направлениями враг смотрел в сторону героя?
У меня есть четыре анимации ходьбы в четыре стороны соответственно. Но передвижение свободное, то есть, спрайт врага должен меняться от угла по направлению гг
Аноним 27/03/21 Суб 00:25:26 735483 23
>>735480
алсо, пробовал (direction.global_position.x - global_position.x) > (direction.global_position.y - global_position.y), но персонажа чет ебобить начинает в разные стороны
Аноним 27/03/21 Суб 04:40:36 735496 24
>>735480
Сравнивать позицию врага с позицией персонажа и менять анимацию? Помоему самый очевидный вариант.
Аноним 27/03/21 Суб 10:03:48 735504 25
>>735496
Спасибо, а теперь код в студию
Аноним 27/03/21 Суб 14:53:36 735541 26
>>735523
>abs
Точно... Спасибо, анон
Аноним 27/03/21 Суб 16:39:56 735565 27
>>735504
За полкосаря напишу
Аноним 29/03/21 Пнд 07:29:52 735790 28
>>735351
Решил проблему с броском и поднием предметов. Короче все дело в райкасте, у меня в сцене он был направлен в землю, а не в направлении взгляда модели, как и думал накосячил в редакторе, а не в коде. Кстати зря я на шарп гнал, он корректно работает.
Сейчас планируют разобраться с поворотом модели, пока по клавишам и добавить анимации, в будущем планируют поворот модели с помощью мыши.
Аноним 29/03/21 Пнд 14:36:38 735872 29
Нахуя в годо писать на шарпе? Это специальная олимпиада?
Аноним 29/03/21 Пнд 15:15:02 735883 30
>>735881
Можно и на дуде звук жопой сыграть, только зачем если есть рот? По отдельности рот, жопа и дуда отлично справляются со своими задачами. Так же как годо и шарп, но вот совмещать - это специальная олимпиада.
Аноним 29/03/21 Пнд 19:41:04 735932 31
Аноним 29/03/21 Пнд 21:45:15 735946 32
Мой некроноут 2009 года потянет разработку 2D-игр?
Аноним 29/03/21 Пнд 22:21:56 735949 33
>>735948
Ну я уже, в демку поиграл, запускалась минут 5, проект создался за несколько минут. В принципе ничего не лагает и всё работает.
Вкатываюсь через вот этого челика https://www.youtube.com/watch?v=Mc13Z2gboEk , всё правильно делаю?
Аноним 29/03/21 Пнд 22:56:37 735958 34
>>735883
Какая охуенная аналогия. Ну тогда скажи же нам какие у GDs есть функциональные преимущества перед C#?
Аноним 30/03/21 Втр 03:00:14 736006 35
ExrR33JXIAAOI8J.png 63Кб, 839x222
839x222
Аноним 31/03/21 Срд 17:15:03 736366 36
>>736170
Возвращайся в свой движкосрачь и используйте что хочешь, нечего здесь срач разводить.
Аноним 31/03/21 Срд 20:56:39 736429 37
Привет, годаны! Как вы тут? С осени не заходил, так как игори не пилю нынче. Что нового? Трёшка всё продолжает вариться в RC, я смотрю.
Кто-нибудь из треда зарелизил игру мечты?
Аноним # OP 31/03/21 Срд 21:13:01 736434 38
>>736429
> Как вы тут?
Картоху сажаем на даче. Вот заглянул в тред перед сном. А тут срутся. Зарепортил всех.
Аноним 02/04/21 Птн 22:29:24 737032 39
>>734420 (OP)
Как мне получить доступ к последнему кадру анимации?
Типа код такой по смыслу:

если происходит последний кадр анимаци, то делается что-то
Аноним 02/04/21 Птн 22:35:44 737038 40
Аноним 02/04/21 Птн 23:23:34 737052 41
Попробовал Godot. GScript медленный, поэтому пробовать его не стал. Попробовал godot-nim, он работает, но без лайв кодинга и документации и туториалов почти нет. gdnim не получилось запустить. Какие другие языки программирования попробовать, желательно с лайв кодингом? C/C++ знаю, но несколько страшно их из-за нестабильности использовать. Rust сложнее C/C++ во многих случаях и компилится часами. Java мне не очень нравится синтаксисом. C# зачем в Godot, eсли есть Unity!? Nim был бы киллер-фичей Godot по сравнению с Unity.
Аноним 02/04/21 Птн 23:46:35 737072 42
>>737052
Действительно, нахуй они шарп имплементировали, а не на никому неизвестном говне? Бля, да надо было Lisp или D хуячить, а может бреинфак? С такими киллер-фичами прям завтра в мейнстрим вырвемся.
Аноним 02/04/21 Птн 23:47:31 737075 43
>>737052
Не выёбывайся и изучи лайв кодинг на гдскрипте. Потом как постигнешь объектную модель движка, сможешь с лёгкостью хоть на ним, хоть на раст перекатиться. Как раз поддержку этого твоего ним к тому времени допилят.
Аноним 03/04/21 Суб 00:23:01 737089 44
>>737088
> Какой жанр игры?
У меня есть большие сомнения насчёт реальности его игры. Ящитаю это позавчерашний залетух-движкосрачер от бана откис и теперь зашёл более тонко срач устраивать.
Аноним 03/04/21 Суб 11:29:01 737116 45
Аноним 03/04/21 Суб 12:40:21 737120 46
>>737088
Жанр игры клон Sims.
Аноним 04/04/21 Вск 09:20:05 737231 47
>>734420 (OP)
Гей-ендевур выходит на кикстартер.
https://www.youtube.com/watch?v=yIJrfvTv8XI
Поддержим, годаны? Что ж мы, кодерки-плагинцы штоле? Нееет, я вижу, среди вас фэпеэсных нет! Поддержим!
Аноним 04/04/21 Вск 09:21:22 737232 48
>>737231
> Поддержим! Скопипастим и в продакшон набьём.
Быстрофикс.
Аноним 05/04/21 Пнд 00:03:44 737342 49
Аноним 05/04/21 Пнд 08:07:50 737362 50
Всем годотерам привет. Вкатился в движок пару месяцев назад, пытаюсь сделать что-то простенькое, но есть вопрос по мультиплееру, я не понимаю как его реализовать. Попробовал через веб сокеты, серверную часть написал на python, и пытаюсь от Годо подключиться. Вроде через .connect_to_url() подключение проходит (появляется сообщение о подключении на сервере), но при этом данные не отправляются ни с сервера, ни из подключенного устройства.
Аноним 05/04/21 Пнд 08:10:59 737363 51
>>737362
Кстати, когда пишу код клиента на том же python, то сервер с ним взаимодействует нормально. Может ли быть проблема в том, что клиент должен быть написан на том же языке, что и сервер?
Аноним 05/04/21 Пнд 13:19:28 737396 52
>>737363
> Может ли быть проблема в том, что клиент должен быть написан на том же языке, что и сервер?
Нет, не может. Клиент-серверная технология и создавалась для того чтобы не ограничивать клиент и сервер в выборе языков. Внимательнее разбирайся. Неплохо бы код твой глянуть.
Аноним 05/04/21 Пнд 15:31:03 737418 53
>>737400
>>737403
Спасибо тебе, анон.
Я, идиот, пытался вытащить ответ из сервера, не прослушивая подключение.
Аноним 07/04/21 Срд 14:21:20 737708 54
1617794478720.png 114Кб, 190x266
190x266
Аноним 08/04/21 Чтв 13:55:52 737845 55
image.png 8Кб, 418x71
418x71
image.png 9Кб, 874x73
874x73
>>734420 (OP)
Мне нужно сделать действие, когда наступает определенный кадр анимации. Но код почему-то не срабатывает. Делаю через curren_animation_positionю. Что не так?
Аноним 08/04/21 Чтв 14:42:45 737850 56
>>737845
Проще всего в саму анимацию запихнуть трек вызова метода.
Но если хочешь именно кодом, то скорее всего переменная никогда не достигает значения ровно 0.6. Тогла тебе поможет апроксимация к коэффициенту точности:
var phi = 0.55 # naprimer
if abs(current - 0.6) < phi: print("tvoia kiska v zone puska")
Аноним 08/04/21 Чтв 22:10:25 737906 57
>>737850
>abs
А это зачем добавлять?
Аноним 08/04/21 Чтв 22:59:05 737914 58
>>737850
А еще call method track ведет себя странно и показывает не все мои скрипты, странно...
Аноним 08/04/21 Чтв 23:33:04 737918 59
>>737914
ну функции вернее
Аноним 08/04/21 Чтв 23:35:43 737919 60
Аноним 09/04/21 Птн 13:59:06 737992 61
image.png 16Кб, 417x661
417x661
>>734420 (OP)
Сап годач.
Есть одна проблемка. Предположим у меня есть враг с анимацией атаки в три кадра в четыре разные стороны. Атакаует он в сторону игрока. Но, если игрок начинает кружить вокруг врага, то враг естественно запускает анимацию атаки по новой в каждую сторону. И так его можно закрутить не доводя атаку врага до конца. И мне нужно, чтобы при изменении позиции игрока менялась анимация но с того кадра, который был у предыдущей анимации. Например два кадра в одну, а в другую сторону атака уже с тертьего кадра. Проблема в том, что я не врубаюсь как мне правильно запихнуть переменную, которая сохраняет текущий фрейм, чтобы она фиксировала позицию до изменения, а потом сбрасывалась, а еще какой именно командой запустить анимацию с определенного кадра
Аноним 09/04/21 Птн 14:16:14 737995 62
>>737992
Просто сделай атаку в развороте. Вариант слева-направо и второй вариант наоборот. Соответственно, если враг разворачивается в атаке, у него стейтмашина переключает анимацию в разворот (с блендингом) и в дальнейшем стало быть спрайт уже развернут в новое положение. И не надо никакие фреймы запоминать. Искури матчасть по блендспейсам.
Аноним 09/04/21 Птн 14:47:06 738007 63
>>737995
Я не пользуюсь стейтмашиной, потому что она не дает тонко настроить скорость анимации для разных фреймов, как это делает animationplayer (как же это тупо пиздец). Так что я делаю через код все.
Аноним 09/04/21 Птн 14:58:53 738011 64
>>738007
> не дает тонко настроить скорость анимации для разных фреймов
Там есть ноды для управления скоростью. Я ж грю, матчасть воскури.
Аноним 09/04/21 Птн 16:07:56 738026 65
image.png 3Кб, 913x30
913x30
>>738011
ну давай, покажи, как я могу настроить playback speed в animationtree
Аноним 10/04/21 Суб 06:26:07 738109 66
image.png 2061Кб, 799x1280
799x1280
Вопрос на миллиард. Где взять фоновую ненавязчивую музыку для игоря? С эффектами разобрался, а с музыкой хз. Могу указать автора взятой музыки, но доход с продаж лол хочу грести себе, ни с кем не делясь. Значит нужна музыка с максимально пермиссивной лицензией, позволяющей продавать-перепродавать и всю хуйню.
Аноним 10/04/21 Суб 07:22:14 738114 67
Аноним 10/04/21 Суб 08:02:40 738115 68
Аноним 10/04/21 Суб 10:51:15 738122 69
Аноним 10/04/21 Суб 20:26:16 738190 70
Вот все ресурсы вшиваются в exe, а наоборот как сделать, чтобы они были отдельно?
Аноним 10/04/21 Суб 21:26:44 738201 71
>>738190
Это общий вопрос? Потому что чтобы в экспорте годот-игры "вшить" ресурсы (методом ражпега, то есть приписыванием в конец) - это ещё поебаться надо. И движок опенсорсный, а это значит, там в экспорте не только шиндовое ехе.

Чтобы ресурсы были отдельно - описано в оп-посте:
>>734420 (OP)
> Для приверженцев опенсорца существует возможность распространять проекты в незапакованном формате. Просто скачай темплейт с оф.сайта и положи экзешник/эльфешник в папку с проектом, этого достаточно. Имя файлу можно задать любое. Дополнительно можешь вшить свою иконку в экзешник. После этого, запустившийся файл темплейта обнаружит рядом с собой файл project.godot и начнет грузить проект из него и из файлов, лежащих в распакованном виде в той же директории. Для запущенного таким образом проекта папка res:// становится доступна для записи (если это не ограничено правами доступа в системе).
Аноним 11/04/21 Вск 01:04:02 738225 72
058d7202bce10f7[...].jpg 85Кб, 1600x900
1600x900
Аноним 11/04/21 Вск 11:20:01 738246 73
>>738190
В godot ресурсы не "вшиваются в exe," а упаковываются в .pck и кладутся рядом с экзешником при экспорте, поэтому делать ничего не нужно.

Емнип ты даже можешь сделать так, чтобы ресурсы не паковались, но это уже нужно доки читать.
Аноним 15/04/21 Чтв 08:09:16 738769 74
изображение.png 647Кб, 1024x512
1024x512
ЭЫХ поскорее бы компуть шейдеры хотя бы на уровне C++ реализовали.
А то там RenderingDevice голый и полумёртвый лежит не работает.
Аноним # OP 15/04/21 Чтв 15:32:52 738823 75
>>738225
Зделойти Наначи в стиле Годот. Я вам за это пол треда отдам.
Аноним 15/04/21 Чтв 17:07:51 738844 76
Начал в годот вкатываться с этого видосика
Чел оче круто за все поясняет
https://www.youtube.com/watch?v=yRHN_WEulLc
Есть еще подобное с упором на архитектуру?
Аноним 15/04/21 Чтв 19:27:16 738862 77
>>738844
> Есть еще подобное с упором на архитектуру?
Может даже и нет. Потому что известные на слуху каналы, типа KidsCanCode, GDQuest, GameEndeavour у них без упора на архитектуру, как я заметил.
Аноним 15/04/21 Чтв 19:30:32 738863 78
>>738862
Это сарказм? Или все таки троллинг тупостью?
Аноним 15/04/21 Чтв 21:51:34 738881 79
>>738863
У них более комплексный подход, КМК.
Аноним 17/04/21 Суб 18:35:59 739149 80
T0d7Cv.gif 39Кб, 450x360
450x360
Как законнектить сигнал к узлу, которого пока нет?
У меня две сцены: типа лобби и арена.
В лобби ты выбираешь бойца, на арене он дерется другими бойцами. Имя победителя сохраняется в синглтоне, в процессе скрипта арены боец с именем победителя коннектится к функции с change_scene.
На второй или третий запуск сцены арены появляется ошибка
>Attempt to call function 'disconnect' in base 'null instance' on a null instance.
Аноним 17/04/21 Суб 18:38:49 739150 81
>>739149
в _ready() сделать connect я не могу, потому что узла еще нет.

func _process(_delta):
if Global.winners_name != "":
ySort.get_node(Global.winners_name).connect("winner", self, "_on_winner_defined")

func _on_winner_defined(_name):
Global.winners_name = ""
ySort.get_node(Global.winners_name).disconnect("winner", self, "_on_winner_defined")
get_tree().change_scene(first_scene)
Аноним 17/04/21 Суб 18:39:36 739151 82
>>739150
E 0:00:03.166 emit_signal: Error calling method from signal 'no_bodies': 'Node2D(Arena.gd)::_on_no_bodies': Method not found..
<Исходный код C++>core/object.cpp:1260 @ emit_signal()
<Трассировка стека>BodyDetector.gd:12 @ _process()

Аноним 17/04/21 Суб 18:41:09 739152 83
>>739151
E 0:00:08.596 get_node: Node not found: .
<Ошибка C++> Condition "!node" is true. Returned: __null
<Исходный код C++>scene/main/node.cpp:1381 @ get_node()
<Трассировка стека>Arena.gd:42 @ _on_winner_defined()
Hero.gd:54 @ _physics_process()
Аноним 17/04/21 Суб 18:43:57 739154 84
И как в Годо продолжить до точки останова? Он ее почему-то игнорирует.
Аноним 17/04/21 Суб 18:51:25 739155 85
>>739150
У тебя ошибка в disconnect.
Потому что ты сначала обнуляешь имя.
Потом по пустому имени ищешь ноду, а это всегда вернет null
Потом у null вызыаешь disconnect.
Переставь первые две сточки в on winner defined
Аноним 17/04/21 Суб 19:34:46 739164 86
Аноним 17/04/21 Суб 19:46:48 739166 87
>>739149
> Как законнектить сигнал к узлу, которого пока нет?
> У меня две сцены: типа лобби и арена.
Коннекти сигналы в динамическом узле.
Допустим узел арена динамически создаётся. Вот в нём и коннектись. При создании арены все сигналы законнектятся, при уничтожении расконнектятся.
Аноним 17/04/21 Суб 19:49:02 739167 88
>>739150
И не нужны будут вот эти пляски с бубном.
Аноним 17/04/21 Суб 20:02:55 739168 89
>>739150
А ещё можно вот так.
> var registrator = ySort # Vasche!
> var sender = registrator.get_node(Global.winners_name)
> var receiver = registrator.get_node(Global.utils)
> if sender and receiver: receiver.connect("winner", receiver, "_on_winner_defined", [sender])
Ну що? Порвало шаблон?

Сендер в скобачках ещё и прилетит в колбэк аргументом (по ссылке, разумеется), благодаря чему, если сендеров несколько, ресивер, выполняя колбэк будет иметь доступ к конкретному сендеру.

Аноним 17/04/21 Суб 20:16:07 739169 90
>>739168
>Ну що? Порвало шаблон?
Надо обдумоть

Всем вам благодарности
Аноним 17/04/21 Суб 20:47:03 739171 91
>>739168
А как это называется?
Аноним 17/04/21 Суб 22:30:28 739190 92
>>739171
Обсервер.
Ивент дизайн.
Аноним 18/04/21 Вск 00:42:20 739201 93
>>739149
Почему бы не сделать сцену-родителя, которая будет держать лобби и арену, управлять их переходами и хранить общие для них данные (то же имя победителя)?
Аноним 18/04/21 Вск 01:26:26 739208 94
>>739201
Да ну, эт придется диз-док писать, проектировать приложение, блок-схемы там всякие рисовать, что откуда выходит и куда заходит. Нет времени! Надо игоры делать!
Аноним 21/04/21 Срд 22:54:58 739560 95
2021-04-21 22-5[...].mp4 7236Кб, 1280x720, 00:00:22
1280x720
Анончики, поясните за прозрачность в годоте. Хочу сделать стекла, они они очень сильно дропают кадры. Еще видны артефакты в виде ребер. Можно ли это как то оптимизировать\исправить?
В материале в флагах выставил tranparent и установил альфу в альбедо.
Аноним 22/04/21 Чтв 00:05:06 739564 96
>>739560
Бро, моё мнение таково: надо делать игру, а не кинцо. У тебя заморочки уровня "почему кинцо не фотореалистичное?". Без обид, бро, но у тебя там геймплей будет вообще? Или игроку будет предложено на полупрозрачные стёкла смотреть ходить?

Ждём, когда Хуан рейтрейсинг завезёт.
Аноним 22/04/21 Чтв 00:19:30 739565 97
>>739564
Блять, я про прозрачность спросил и как сделать так, чтобы она не выдавала 20 кадров на 1060, а не про реализацию интересного геймплея в годоте.
Как же вы заебали со своей необходимостью делать только аркадную 2д парашу на этом движке. Дайте поэксперементировать с графикой и поклепать демо-сцены.
Без обид, бро, сорвался.
Аноним 22/04/21 Чтв 00:52:17 739567 98
Screenshot20210[...].png 182Кб, 1032x1149
1032x1149
Аноним 22/04/21 Чтв 00:57:17 739568 99
>>739560
Вдогонку: я предполагаю, что стекла у тебя сделаны отдельными объектами. Если же это часть меша - не помешает проверть в первую очередь, будет ли фреймрейт дропаться так же сильно, если сделаешь стекла как тупо плоскости + отдельный материал(ы) с собственными текстурами.
Аноним 23/04/21 Птн 07:05:00 739662 100
>>734420 (OP)
Сап, годаны. Хочу попробовать годот. Вчера скачал билд под винду, скачал Third-Person Shooter Demo, запустил. Оно начало кушать 90% видюхи (2060), это из-за отсутствия всинка? И начало лагать при запуске прожектайлов. Это проблемы с графоном или питону настолько тяжело аллоцировать объекты? Или это просто кривая демка? Подскажите, а то как-то мотивации поубавилось к изучению.
Аноним 23/04/21 Птн 08:07:11 739666 101
>>739662
Делаем ставки, через сколько скриншот этого поста появится в движкосрач-треде.
Аноним 23/04/21 Птн 08:15:16 739668 102
>>739666
Я прошу прощения, не срача ради. Просто уже кучу всего перепробовал, немного подустал от монструозности старших братьев, а писать всё с нуля на каком-нибудь Haxe, конечно, интересно, но очень долго.
Аноним 23/04/21 Птн 08:16:56 739669 103
>>739668
Я тебя не виню, тут просто один до ужаса предсказуемый шизик на этом треде паразитирует, вот я и вангую.
Аноним 24/04/21 Суб 01:20:29 739781 104
>>739778
Зависит от прямоты рук. Убить фреймрейт ты на любом движке можешь, расценивай >>739750 как иронию.

>>739727
>ноль в программировании
Тогда будет трудно, как и везде. Без кода ты игру - полноценную игру - не напишешь. Синтаксис у gdscript несложный доки написаны хорошо понятно (на английском, по крайней мере, вроде на русский переведены, но я не чииал) -- освоение языка и особенностей движка не должно составить таких уж больших проблем.

А вообще, не верь на слово и посмотри сам где лично тебе работать приятнее: попробуй создать схожие проекты-прототипы на всех трех движках и сделай выводы самостоятельно. Если потом вернешься и рассксжешь что как - плюс тебе в карму.
Аноним 24/04/21 Суб 13:08:46 739812 105
01.gif 450Кб, 600x349
600x349
image.png 23Кб, 543x327
543x327
>>739781
Спасибо за комментарий! Вчера ночью решил идти от самого легкого, и посмотреть кто создавал уже похожие проекты на этом движке. Может плохо искал, но найти аналог того что я ищу, так и не смог. Кроме первого пика в 2d
По задумке мне нужно 3d поле, на котором будут анимированные 2d персонажи.

Странно что мои 2 поста на которых ты ответил удалили, хотя я не пытался развести срач, а просто задать интересующий меня вопрос.
Аноним 24/04/21 Суб 14:50:41 739824 106
>>739812
>По задумке мне нужно 3d поле, на котором будут анимированные 2d персонажи.
Почему не отредерить 3д поле в 2д картинку и просто подставить раз персонажи 2д уже?
Аноним 24/04/21 Суб 15:26:11 739830 107
f274339675c2dc9[...].gif 2288Кб, 420x225
420x225
ObeseConfusedCa[...].gif 2236Кб, 500x281
500x281
33186787.gif 160Кб, 500x438
500x438
>>739824
Можно и так. Моё решение руководствовалось работой спрайтов из дума, и мыслями как можно сделать в игре тени мячика, персонажей, и тд.
Аноним 24/04/21 Суб 15:27:21 739831 108
>>739830
>руководствовалось работой спрайтов из дума
*3d фон, 2d персонажи
Аноним 24/04/21 Суб 16:59:11 739840 109
>>739830
Гугли, как делать биллборд в годоте, хуле.
Аноним 24/04/21 Суб 17:20:26 739843 110
>>739840
Но имеет ли это смысл, если в игре статичная камера? Мне кажется я тут обосрался.
Аноним 24/04/21 Суб 20:45:01 739868 111
>>739727
Аркадный теннис без программирования я б сделал так - нарисовал пару 2d path кривых, одна для вертикального профиля полета и 1 для закрутки мяча. И затюнить для разных видов ударов. Сила удара будет влиять на масштаб кривых. Минимум кодинга понадобится для проверки столкновений и переноса точки откуда начинается кривая.
Для мультяшных игроков проще взять 3д модельки и кинуть им toon shader
Аноним 24/04/21 Суб 22:06:53 739885 112
>>739868
>нарисовал пару 2d path кривых, одна для вертикального профиля полета и 1 для закрутки мяча. И затюнить для разных видов ударов. Сила удара будет влиять на масштаб кривых.
Ничего не понял. Но идея интересная.
>проще взять 3д модельки
Но не проще сделать. С 3d я не особо, а 2d спрайты осилю.
Аноним 24/04/21 Суб 22:25:51 739886 113
1619292323424.webm 794Кб, 1920x1080, 00:00:12
1920x1080
Аноним 24/04/21 Суб 22:42:43 739893 114
>>739886
Ооо, спасибо за наглядность. Завтра попытаюсь повторить.
Аноним 24/04/21 Суб 23:13:31 739896 115
image.png 19Кб, 251x172
251x172
>>734420 (OP)
Почему не отображаются коллижн шейпы у тайлмапы? Работают при этом корректно. У всех остальных объектов отображаются.
Аноним 24/04/21 Суб 23:38:18 739898 116
Блять, у меня возникла ебанутая проблема. Почему-то при столкновении collision shape героя с collision shape тайлмапы, у меня сдвигаются на пиксель-два спрайты других объектов. При чем в зависимости от какой стороны столкновение (справа, сдева, внизу, сверху - это топдаун) двигаются разные спрайты. Раньше такого не было. Я вообще не врубаюсь что происходит
Аноним 24/04/21 Суб 23:41:05 739900 117
Если мне нужен поцфайндинг по клеточкам, там есть какие-то встроенные функции для этого, или проще астар с нуля написать? Я знаю, что есть Navigation2D, но это для произвольных прогулок по навмешу, как я понял.
Аноним 24/04/21 Суб 23:42:27 739901 118
>>739898
Хотя не, двигаются не только спрайты, а вообще все объекты. И не зависимо с тем, с чем я сталкиваюсь. Пиздец
Аноним 25/04/21 Вск 00:42:45 739910 119
>>739898
Может быть ты забыл сделать форму коллайдера уникальной и отредактировав скажем игроку отредактировал всем у кого стоит она же
Аноним 25/04/21 Вск 00:49:35 739911 120
>>739910
Не, там двигаются даже те объекты, к оторых нет формы. Пробовал играться с формами самого игрока. Выяснил, что сдвиг более виден, когда форма более округлая. Пытался загуглить, но нашел лишь отдаленно похожие проблемы
Аноним 25/04/21 Вск 00:54:33 739912 121
16105993828733.jpg 21Кб, 578x490
578x490
>>739910
>>739898
>>739911
Еще заметил, что если сталкивается округлая форма с округлой, то норм. В принципе, я мог бы всем сделать округлые формы, но я не могу сделать круглые формы тайлмапе
Аноним 25/04/21 Вск 01:19:27 739915 122
>>739911
Ничего не понятно из твоего описания. Камера у тебя двигается что ли? Запиши видео или выложи проект.
Аноним 25/04/21 Вск 12:43:49 739941 123
Вот допустим у меня есть BitmapFont который я хочу применить ко всем наследникам Control на сцене, чтобы для каждого не создавать скрипт с add_font_override. Как этого добиться?
Аноним 25/04/21 Вск 12:57:46 739942 124
1619344648331.png 7Кб, 258x181
258x181
>>739941
Шрифт или тема, назначенная любому контролу, распространяется и на все дерево контролов под ним. На пике шрифт ноды control будет распространяться и на label
Аноним 25/04/21 Вск 13:16:05 739944 125
234231542342343.mp4 1355Кб, 1280x720, 00:00:18
1280x720
>>739915
Обратите внимание, как дергаются вещи. Уточню, я не просто зажимаю кнопку движения, а часто ее жму, чтобы было более видно подергивание. Если просто зажать, то это произойдет два раза - при столкновении и когда я отпущу кнопку движения
Аноним 25/04/21 Вск 13:18:13 739945 126
>>739942
Не уверен что это работает когда заменяешь шрифт в рантайме, с помощью функции add_font_override(). У меня по крайней мере не получилось, если что в _ready() засовывал.
Аноним 25/04/21 Вск 13:28:16 739948 127
>>739945
А, все, разобрался. Нахуй рантайм, BitmapFont-объект можно в .tres сохранить с помощью ResourceSaver и потом просто как нормальный шрифт вставить в редакторе.
Аноним 25/04/21 Вск 14:18:35 739953 128
1619349490668.webm 772Кб, 1920x1080, 00:00:12
1920x1080
>>739944
Я не 100% уверен, но возможно это из за того, что у тебя объекты стоят не в целых пиксельных координатах.
Вот например на этом видео стенки слева стоят по snap, т.е. 100, 200, 300, а справа стоят как попало, 599.056, 398.112, и при движении камеры левые двигаются в ногу, а правые не в ногу.
Если это оно, то надо или расставить объекты с включенным snap в редакторе, или погуглить как делается сабпиксельная камера, чет там через вьюпорты и скейлинг (2д мало занимаюсь так что не помню, но где то читал)
Аноним 25/04/21 Вск 14:46:47 739960 129
>>739953
Бля, действительно помогло! Спасибо большое, анон за это специфичное знание, чаю
Аноним 25/04/21 Вск 15:56:40 739967 130
^
Аноним 25/04/21 Вск 17:05:52 739977 131
>>739960
>>739953
Бля не, помогло, но не до конца. Если игрок сталкивается сразу с двумя рядом стоящими формами, то объекты все равно смещаются.
Надо будет пробовать делать сабпиксельную камеру
Аноним 25/04/21 Вск 18:03:41 739981 132
>>739977
А каким кодом ты персонажа двигаешь?
Аноним 25/04/21 Вск 19:07:11 739988 133
image.png 20Кб, 776x133
776x133
image.png 26Кб, 847x490
847x490
>>739981
Супер простым. Это пока просто болванка, чтобы тестить.
Алсо, у меня почему-то не все объекты встают в пиксельную сетку... Начал гуглить, нашел похожие случаи, но пока не пофиксил. Проблема судя по всему распространенная ну и говно как
же у меня горит
Аноним 25/04/21 Вск 20:29:46 740001 134
>>739988
Так, позицию удалось настроить с помощью smart snap, но проблема с "jittering"-ом не решена
Аноним 25/04/21 Вск 21:21:55 740004 135
Лол
Аноним 26/04/21 Пнд 00:56:01 740014 136
untitled.png 2735Кб, 1920x1080
1920x1080
image.png 84Кб, 347x184
347x184
Замоделил поле по туториалу, и возник ещё вопрос. Мне нужно будет кроме игры в теннис создать vn вставки, для чего я установил аддон Rakugo VN. Проблем особых не возникнет?
Аноним 26/04/21 Пнд 01:41:41 740015 137
>>740014
Когда его щупал последний раз, он сильно глючил и сыпал ошибками. Могу завтра глянуть что там как
Аноним 26/04/21 Пнд 08:54:47 740023 138
Аноним 26/04/21 Пнд 13:52:00 740052 139
>>740014
> Мне нужно будет кроме игры в теннис создать vn вставки, для чего я установил аддон Rakugo VN
Там ещё в прошлом треде презентовали аддон Dialogic который весьма полноценно реализует диалоги в ВН-стиле (иконка персонажа с вариантами эмоций, текстовое поле с кнопкой скипа, отдельные кнопки вариантов при вопросе, эффекты, стили, шрифты, всё фкаропке), без всего остального ВН-функционала (типа кучи ренпаевских кнопок внизу, сохранений, загрузок, отматываний-проматываний). Если твои "VN вставки" - это по факту диалоги, то может быть лучше его задействовать?
Аноним 26/04/21 Пнд 21:47:43 740152 140
image.png 17Кб, 575x165
575x165
>>740052
>Dialogic
Посмотрел, с первого взгляда выглядит как хорошая альтернатива.
>Если твои "VN вставки" - это по факту диалоги, то может быть лучше его задействовать?
По сути нет. VN-сцены будут лакомкой, а теннис как мини-игра.
Аноним 28/04/21 Срд 14:46:15 740326 141
Есть некроноут с Хрюшей. Версия 3.2.3 - все норм работает, новая 3.3 помирает при компиляции шейдеров на этапе запуска редактора. Кто-то еще пробовал запускать на некро железе/ОС новую версию?
Аноним 28/04/21 Срд 20:50:02 740351 142
Господи, как-же я ненавижу делать UI, вся эта верстка, состояния, позиции. Боже, блять, мой.
Аноним 28/04/21 Срд 21:04:28 740352 143
>>740351
А представь себя на месте пользователя и вспомнишь как это удобно)
Аноним 28/04/21 Срд 22:42:22 740357 144
>>740352
Никогда не имел дело с фронтендом, но если это хоть немного похоже на программирование UI здесь, то теперь мне понятно почему фронт все ненавидят.
Аноним 29/04/21 Чтв 00:28:34 740363 145
Аноним 29/04/21 Чтв 10:17:33 740384 146
bump
Аноним # OP 29/04/21 Чтв 18:57:39 740434 147
>>740326
У меня крошилась 3.0.9. Решения так и не нашёл. Как 3.1. вышла этот кошмар закончился.
Аноним # OP 29/04/21 Чтв 19:00:05 740435 148
>>740357
Программирование UI здесь - это смесь Delphi и веб-вёрстки (от веба тут отступы (margin)
Аноним 29/04/21 Чтв 19:43:05 740438 149
>>740363
Да дело даже не в том как их раставить, а в том что потом логику к ним писать - полный пиздец.
Аноним 29/04/21 Чтв 19:47:29 740439 150
>>740438
> логику к ним писать - полный пиздец
В смысле? В чём конкретно пиздец? У меня проблем не вызывает. Просто вызываешь обработчики событий (сигналов) как везде.
Аноним 29/04/21 Чтв 20:02:28 740440 151
>>740438
Кстати, наверно у меня не возникает проблем опять же из-за опыта кодинга оконных приложений (фронтенда по современному). Сразу могу дать совет, который работал ещё в нулевых с различными IDE: Обработчик сигнала не должен содержать в себе сложного длинного кода. Обработчик сигнала должен вызывать метод из игровой логики.

Простой пример. Есть пункт "сохранить" в меню, а есть клавиша F5 на клавиатуре. У пункта меню (кнопки) обработчик сигнала "нажато", у кнопки F5 привязано действие в меню действий. Которое обрабатывается колбэком _input, в обоих случаях тебе нужно сослаться на один общий метод сохранения игры (Например, save_game в каком-нибудь Global). Не будешь же ты два раза копипастить логику сохранений?
И вот в обработчике кнопки ты пишешь
> func on_save_game_pressed(): Global.save_game()
а в кейсе F5, в инпуте, ты пишешь
> func _input(e):
> if Input.is_action_pressed("quick_save"): Global.save_game("quick.save")
Ну а в самом методе save_game параметр по умолчанию пустая строка, и если вызвать без параметров, он вызывает меню ручного сохранения, если же указать параметр, то сразу без вызова меню сохранит с указанным именем файл.

То есть, как видишь, обработчик сигнала элемента интерфейса записан в одну строку, ты пишешь его один раз и больше туда не лезешь. Если вдруг у тебя возник соблазн добавить вторую строку - значит ты ду ит вронг. Поразмысли над архитектурой проекта ещё раз. Добавь аргумент в вызываемый метод из игровой логики.
Аноним 29/04/21 Чтв 20:50:40 740446 152
>>740438
Обобщай, делай свои контролы.
Например если у тебя однотипные кнопки, например хотбар абилок или инвентарь, нет нужды писать обработчик доя каждой кнопки, можно передавать номер кнопки параметром в сигнал button.connect("pressed", self, "on_pressed", [btn_name])
Многоуровневые меню и навигация по экранам кстати неплохо описываются конечным автоматом (fsm)
Аноним 29/04/21 Чтв 20:51:03 740447 153
>>740440
У меня не то чтобы есть проблемы его сделать. Просто его надо дико заранее планировать перед реализацией и все должно иметь очень-очень четкую структуру иначе баги полезут изо всех щелей, приходится 10 раз все перепроверять.
Ну и тут еще перфекционизм не помогает, все эти обновления интерфейса хочется максимально оптимизировать, потому что они происходят при малейшем движении, но тогда код становится менее читаемым.
За лайфхак с общими методами спасибо, хоть я и так уже это делаю.
Бамп Аноним 01/05/21 Суб 20:34:11 740633 154
В общем, я долгое время хотел создать RPG про роботов, пингвинов, чертей, обувь, шляпы и мяту, и сегодня пожалуй не начну этого делать. В этом треде буду отписываться о результатах. Сразу скажу, что я нихрена не умею, кроме как созывать анончиков собраться вместе и запилить мне игру, поэтому не буду учиться большинству необходимых вещей с нуля. В качестве языка для разработки выбрал ГДСкрипт + Сишарп. Посмотрим, как у меня выйдет собрать вас, анончиков, в команду.
Аноним 02/05/21 Вск 10:45:43 740667 155
>>740633
ТЗ есть? Какой бюджет?
Аноним 02/05/21 Вск 11:46:54 740675 156
>>740671
Понятно. Старею, с копипастой общаться начал
Аноним 03/05/21 Пнд 17:54:22 740912 157
>>740675
Бывает. Не переживай старик!
Аноним 03/05/21 Пнд 20:11:08 740949 158
В гд скрипте можно юзать свичи?
Аноним 03/05/21 Пнд 21:48:05 740959 159
Аноним 05/05/21 Срд 07:41:49 741077 160
Что лучше - GDScript или C#? Из всех языков лучше всего знаю плюсы, на C# немного кодил, GDScript пробовал, когда первый раз годот палочкой тыкал.
Аноним 05/05/21 Срд 16:49:23 741135 161
Что будет быстрее вектор или раст?
Официальная точка зрения Аноним # OP 06/05/21 Чтв 01:04:15 741226 162
>>741077
Если знаешь си - лучше си.
Это правило работает во всех сферах айти.
Аноним 06/05/21 Чтв 02:23:41 741230 163
>>741077
gdscript поначалу (после решетки) непривычен, но довольно удобен, да и заточен под движок; плюс все примеры и большинство вопросов-ответов гуглится на нем. Решетку прикрутили не так давно, поэтому думать и адаптироваться придется больше. Я бы посоветовал для всякой мелочевки (нажатия кнопок, обработка ввода, триггеры на сцене) использовать gdscript, а если потребуется класс с большой и сложной логикой - взять решетку.

>>741226
С# - это не си, ало.
Аноним 06/05/21 Чтв 05:52:22 741238 164
Поддерживаю!
Аноним 06/05/21 Чтв 09:37:12 741272 165
>>741230
>>741236
На двух языках я в принципе не хочу кодить. Нужно что-то одно выбрать.
Аноним 06/05/21 Чтв 10:06:17 741289 166
2021-05-06 13-5[...].webm 1512Кб, 720x720, 00:00:31
720x720
Эх, блин, нашел танчики, которые делал еще на версии 2.1.4. Коллизия снарядов как-то через жопу работала, почему-то при попадании в угол кирпича они его не ломали, так и не нашел тогда, почему.
Аноним 06/05/21 Чтв 10:35:04 741291 167
>>741289
> не нашел тогда, почему
Коллиженшейпы какие были?
> делал еще на версии 2.1.4.
На трёшке видимо пришлось бы много переделывать.
Аноним 06/05/21 Чтв 10:37:55 741292 168
Снимок.PNG 27Кб, 780x549
780x549
>>741291
Два квадрата, почему-то.
Аноним 06/05/21 Чтв 10:40:16 741293 169
>>741292
Видимо в тот момент у тебя задумка была насчёт второго квадрата.
Аноним 07/05/21 Птн 02:46:52 741396 170
Ну чё, есть кто колупал SteamAPI в годоте?
У меня чёт не прикручивается лидерборд, гугл выдаёт 6 ссылок по теме, да и те копии 2,5 тредов на гитхабе.
Аноним 07/05/21 Птн 14:19:25 741426 171
сначала в блендере делаются моделки,те вид.
а годот управляет модельками,так?
Аноним 07/05/21 Птн 18:32:11 741438 172
>>741426
Так. Ты при импорте модели получаешь ту же структуру, как в блендере. То есть, если у тебя модель домика деревянного с отдельно замоделированными и заанимированными курьими ножками, то у тебя и в годоте будет импортирована сцена с отдельными мешами домика, ножек, крыши, окон. И анимации блендера сконвертируются в анимационный плеер годота.
>>741396
Сорян, не подскажу по данному вопросу.
Аноним 07/05/21 Птн 19:41:04 741442 173
>>735946
Если поддерживает нужный opengl то да, у меня вот не завелся на древнем ноуте, хотя древний unity заводится
Аноним 07/05/21 Птн 19:42:02 741443 174
>>735946
>>741442
И тем более летает GameMaker: Studio 1, но увы он уже не поддерживается да и велосипедить на нем заебало, слишком мало там всего из коробки.
Аноним 07/05/21 Птн 19:48:45 741446 175
>>740351
Ад был когда я решил писать свой UI с нуля, как сделал и все заработало, выгорел нахуй.
Аноним 08/05/21 Суб 00:51:42 741499 176
>>741396
Если что, просто забыл дописать в _process строчку
Steam.run_callbacks()
Тогда Steam.uploadLeaderboardScore зафурычил
Аноним 09/05/21 Вск 00:39:54 741736 177
Есть где-нибудь актуальный гайд - как сделать гиганский ландшафт в несколько км? Ну то есть опенворлд
Аноним 09/05/21 Вск 17:12:01 741937 178
>>741746
А швы между мелкими как зашивать? А редактировать все это как?
Аноним 09/05/21 Вск 19:11:25 741988 179
изображение.png 7Кб, 1062x382
1062x382
>>741940
>>переносишь редактированные пиксели из правого края левой карты высот в левый край правой
Будут слишком резкие перепады высот. К примеру если на левом чанке крайняя вершина на 100 высоте, а на правом так получилось на глазок что крайняя вершина на 40 высоте - то их никак нормально не состыковать... Ну можно сгладить - искажая при этом половину чанка из-за чего все тоже попортится. Пикча.
Тут даже дело не в том как состыковать - я надеялся что есть что-то нормальное чтобы вообще таких проблем не было (как в других движках) - оказалось что нет

И в блендере нельзя нормально оценить как на этом ландшафте будет стоять декор. А ведь ландшафт подстраивается под декор - тут ямка, тут площадка под дом, там насыпь, там дорога, там русло реки и т.д.

Или всю локацию вообще в блендере собирать?
Официальный ответ Службы Поддержки Аноним # OP 09/05/21 Вск 22:02:02 742018 180
>>741736
> как сделать гиганский ландшафт в несколько км?
Путём фултаймовой работы команды 20-50 профессионалов. Самый короткий гайд, но это правда. Пройди через все стадии принятия неизбежного и прими это: опенворлд в соло (да на чистом, быстро перегорающем энтузиазме) не запилишь. Ты давай смотри на вещи реально. В соло ты можешь сделать несколько камерных сцен и телепортировать персонажа игрока между ними по мере продвижения сюжета. Сюжета. Хоспаде, пишу об играх, как о кинце. Геймплей не забудь тоже. Игра должна играться. Ходить по пустому опенворлду - это не игра. А в соло у тебя будет пустой опенворлд. Прими. Это. Ах да, чанки, чанки будут у тебя быстро и технично грузиться. Пустые чанки пустого террейна.
Аноним 09/05/21 Вск 22:39:18 742038 181
>>742032
Мои слова три года назад. А с тех пор уже 6 полгодиков утекло.
Аноним 10/05/21 Пнд 00:44:02 742056 182
>>742032
Про процедурные генераторы кто-то сказал (а я запомнил): "хоть карта и бесконечна, строящий ее алгоритм вполне себе конечный, а потому легко распознается человеком через небольшое время". Глянь тот же майнкрафт: если ты видел биом равнин один раз -- ты, считай, видел все его вариации; от того, что генератор выдаст тебе десять-сто-тысячу этих "различных" равнин, интереснее игра не станет.

Очевидно, помимо генератора местности еще понадобятся ассеты -- модельки, текстуры, шаблонные структуры для генератора (см. постройки в майне), готовые неписи, шаблоны скриптов/событий на локациях и прочее, прочее, прочее. А это огромные времязатраты, если делать качественно.
Аноним 10/05/21 Пнд 00:56:54 742061 183
>>742056
Ну. Если посмотреть на всякие фракталы, то иногда простые правила могут давать довольно сложные результаты. Тот же набор мандельброта. Если настроить процедурность для ассетов и отсеять все неинтересное нейросеточками, то можно чет и сделать имхо.
Аноним 10/05/21 Пнд 05:07:16 742078 184
>>742018
>Путём фултаймовой работы команды 20-50 профессионалов.
Террейн в 1км можно в одиночку сделать и многие делают.

Я раньше думал что в годоте есть хоть какие-то инструменты для террейна. Оказалось что ничего нет. Даже для простой минимальной локации


>>742018
>ними по мере продвижения сюжета. Сюжета
Есть много разных жанров. Не будь ограничен. Есть игры, в которых нет никакого сюжета. Даже есть игры с минимальным геймплеем. Есть игры просто на исследование местности.

Аноним 10/05/21 Пнд 05:16:27 742079 185
>>742018
>Путём фултаймовой работы команды 20-50 профессионало
Вон The First Tree делал один разработчик
>>Созданием игры занимался Дэвид Вейл, будучи не имея какого либо опыта программирования и разработки видео-игр

Так и весь вопрос - как сделать такой же ландшафт как там. Ведь его там делала не команда в 50 профи. А всео лишь один человек.
Аноним 10/05/21 Пнд 10:36:04 742093 186
>>742061
>процедурность для ассетов
>>742062
>Генерируй
Чтобы генерировать - нужно написать, проверить и исправить код. Процедурность ассетов - это не модельки из воздуха, а результат работы. Возможно, даже большей работы, чем создание тех же условных моделек в блендере. Да, легко можно написать генератор, который будет выдавать 10^n уникальных однообразных моделек, а толку? Ты потратишь меньше времени на создание пяти (десяти) в редакторе, а результат будет тот же.

Я не говорю, что процедурность - херня, вовсе нет. Однако создание хорошего пула карт на рандоме -- это очень дорогая в плане времени/усилий штука

>>742078
>Террейн в 1км можно в одиночку сделать и многие делают.
Террейн - да. А локацию? Непустой уровень, на котором есть чем заняться десять-пятнадцать часов?

>инструменты для террейна
Что ты имеешь в виду? Какие инструменты тебе нужны?

>Есть много разных жанров. Не будь ограничен
Я походу ограниченный человек. Я предпочитаю игры, которые предлагают игроку какие-то занятия, дают возможность интересно провести время. Да, захватывающий сюжет необязателен. Да, геймплей может быть минимален. Но игру на исследование однообразной рандомной местности без сюжета и геймплея я бы дропнул менее чем за час, потому что удовольствия никакого.
Аноним 10/05/21 Пнд 10:44:16 742096 187
Вдогонку: мне кажется, неправильно поставлен сам вопрос. Оригинальный "как сделать гиганский ландшафт в несколько км?" предполагает, что опу нечем развлечь игрока кроме рандома уровня.

Правильнее было бы или ставить общий вопрос "как мне разнообразить геймплей [вот такого прототипа моей игры] рандомом?", или частный "какие есть способы генерации/отрисовки под нужды [моей игры с такими-то условиями]?", и рассматривать террейн и рандом как средство достижения каких-л. целей или как возможное решение конуретных проблем при разработке.
Аноним 10/05/21 Пнд 10:45:13 742097 188
>>742096
*генерации/отрисовки террейна, разумеется
Аноним 10/05/21 Пнд 13:21:20 742112 189
>>742096
>Оригинальный
Оригинальный вопрос был - как вообще сделать ландшафт в годоте, без лишней кодовозни с максимумом визуальной работы (то есть без вот этих вот сшиваний чанков кодом).

>>742093
>Что ты имеешь в виду? Какие инструменты тебе нужны?
Инструменты которые позволяют визуально редактировать весь ландшафт, чтобы я сразу видел результат с учетом не только ландшафта, травы, деревьев, но и со всем декором.
Вариант делать ландшафт где-то в другом месте (блендер, вурдмашина и т.д.), и резать на карты высот - фигня, потому что я не могу там учесть окружающий декор
....
Короче, я думал что в годоте есть такие же инструменты визуального редактирования ландшафта как во всех остальных движках. Но нет.

Аноним 10/05/21 Пнд 16:10:48 742152 190
>>742123
Чел, мне просто нужен был редактор ландшафта. Мне насрать как оно там называется, но этого нет.

Поэтому вывод один - для моей игры годот не подошел, поэтому я уже взял другой движок, где все это есть
Аноним 10/05/21 Пнд 16:42:16 742162 191
>>742152
Интереса ради, не холивара для -- какой движок?
Аноним 10/05/21 Пнд 18:26:17 742217 192
>>742079
> The First Tree
У. А я гадал, какое из копипастных безыдейных говен вбросят на вентилятор. Вбросили это. Ясно.
> как сделать такой же ландшафт как там
В первом попавшемся генераторе ландшафтов из гугла.

Покормил.
Аноним 10/05/21 Пнд 18:45:56 742220 193
image.png 78Кб, 1261x701
1261x701
кул.png 11Кб, 410x282
410x282
Это будет в 3x сложнее, чем я думал. Уже возникли трудности с созданием персонажа, и его управлением. Но нет ухо без добра! Сделать эффект 2d спрайта смотрящего онли в камеру получилось за пару секунд. Если кому нужно будет https://www.youtube.com/watch?v=N0Laa7XLeS4&ab_channel=Garbaj
Аноним 11/05/21 Втр 02:24:42 742268 194
image.png 55Кб, 539x579
539x579
>>742220
Он научился ходить, и не перелезать за сетку. Держу в курсе.

Подскажите, как переназначить передвижение на WASD?
Аноним 11/05/21 Втр 03:13:31 742274 195
>>742162
>Интереса ради, не холивара для -- какой движок?
чтобы не агридь мода - такие инструменты есть минимум в ue/unity/unigine. Странно что в годоте их нет


На самом деле в самом редакторе годота вообще нет никакого редактора ландшафта и даже такого понятия - я использовал модуль Height Terrain от стороннего разработчика, но:
- автор им больше не занимается (последние апдейты в январе) и он сам говорил.
- модуль недоделан, нет например вот этой работы с чанками - то есть например возможности рисовать на стыке двух чанков. В других движках рисовать можно сразу на всех чанках. Тут же предлагается каждый чанк рисовать отдельно, а потом руками пытаться зарисовать все дыры на стыке


>>742217
>В первом попавшемся генераторе ландшафтов из гугла.
Только в годоте нет ничего чтобы этот ландшафт показать. Надо самому велосипедить.
Аноним 11/05/21 Втр 03:19:28 742276 196
>>742275
>карту 16 на 16
хм, не знал про мапскейл - сейчас еще раз проверю

Аноним 11/05/21 Втр 10:51:12 742304 197
>>742271
Благодарю, теперь управлять персонажем куда приятнее.

Хотел с утра добавить ему рывок, для разнообразия передвижения, нашёл гайд, но пока для меня это очень трудная задача. Ничего не понял что пацан показал в видио, и по этому сегодня постараюсь сделать черновое меню. Если хватит сил, разберусь как добавить в начало vn сцену, сменяясь после на сам геймплей.
Аноним 11/05/21 Втр 12:26:10 742339 198
>>742275
Ох ебать! Я кончил.
Аноним 11/05/21 Втр 16:58:41 742457 199
будет ли в 4 версии революция?
Аноним 11/05/21 Втр 17:28:12 742461 200
>>742457
Через год после выхода.
Аноним 11/05/21 Втр 17:57:17 742467 201
Аноним 11/05/21 Втр 18:30:27 742477 202
Реально ли прикрутить бекенд(джава напр)?
Аноним 11/05/21 Втр 18:42:00 742479 203
>>742478
spring+websoket для игры на godote
Аноним 11/05/21 Втр 18:43:07 742480 204
>>742479
те есть ли там место прописать код для сокетов и прицепить объекты
Аноним 11/05/21 Втр 18:51:10 742482 205
>>737403
Нужны сокеты(когда 2 приложения слушают друг друга,а не вебсокет(который завязан на жс))
это для уточнения
Аноним 11/05/21 Втр 22:46:10 742529 206
>>742268
Небольшой совет по коду. Помимо is_action_pressed есть get_action_strength, возвращающая значение от 0 до 1, где 0 не нажато, 1 нажато. Таким образом, ты можешь всего двумя строчками получить свой инпут:
> dir.x = ( get_action_strength(right) - get_action_strength(left) ) 3
> dir.z = ( get_action_strength(down) - get_action_strength(up) )
3
Обрати внимание, минус где надо появится автоматически.
Аноним 11/05/21 Втр 22:48:11 742531 207
>>742529
> * 3
Абу, заебал, удоли вакабамарк! Ублять! Там значок умножения. Или введи тег кода. Хватит уже мучать анонов!
Аноним 11/05/21 Втр 23:34:14 742543 208
image.png 2144Кб, 1942x1218
1942x1218
>>742529
Благодарю за совет, но из меня так себе так что абсолютно весь код для меня как дремучий лес. Двач ещё знаки умножения сожрал, из за чего я даже понять не могу как эти две строчки моими заменить. Но меня такое управление устраивает, хотя бы как-то дает представление что за что отвечает. Почти целый день делал меню, так и не смог осилить эти гребенные контейнеры. На бумаге нарисовать задумку легко, а вот понять логику программы уже трудно. Ну ладно, оставлю это на завтра, а пока часик помучаюсь с рывком для персонажа.
Аноним 12/05/21 Срд 00:53:24 742549 209
2021-05-12 00-5[...].mp4 10287Кб, 1280x720, 00:00:22
1280x720
Аноним 12/05/21 Срд 00:58:17 742550 210
Аноним 12/05/21 Срд 01:02:19 742551 211
Аноним 12/05/21 Срд 01:11:30 742552 212
>>742549
Весь свет запеченый?
Аноним 12/05/21 Срд 01:12:39 742553 213
>>742549
SSAO не хватать, очень сильно бросается в глаза отсутствие затенения в углах
Аноним 12/05/21 Срд 02:26:02 742558 214
>>742543
> так и не смог осилить эти гребенные контейнеры
Да чего там осиливать-то?
<- Как-то так как на пикче.
> Двач ещё знаки умножения сожрал, из за чего я даже понять не могу как эти две строчки моими заменить.
Вот так:
> dir.x = ( get_action_strength(right) - get_action_strength(left) ) ж 3
> dir.z = ( get_action_strength(down) - get_action_strength(up) ) ж 3
Аноним 12/05/21 Срд 02:27:07 742559 215
1620775616579.png 1129Кб, 1942x1218
1942x1218
>>742558
> <- Как-то так как на пикче.
Блять!
Аноним 12/05/21 Срд 05:12:12 742562 216
Аноним 12/05/21 Срд 05:45:35 742563 217
Аноним 12/05/21 Срд 17:35:20 742592 218
image.png 1367Кб, 1270x885
1270x885
>>742553
Версия с САСАО
>>742552
Не знаю запекает ли его GIProbe. Игрался с BakeLightmap, но он всегда дает неадекватный результат.
Аноним 12/05/21 Срд 17:39:10 742594 219
>>742593
А вот в 3.3 как раз не игрался, кстати! Надо поковыряться с ним
Аноним 12/05/21 Срд 18:24:18 742597 220
траблы ао.png 1538Кб, 1270x885
1270x885
>>742592
Вот в этих отмеченных маркером местах должно быть затемнение.
Аноним 12/05/21 Срд 18:30:25 742598 221
>>742595
> Нужно ли делать пул для audio 3d нод?
Не нужно, звук пуллируется аудиосервером на уровне аудиошин (bus). Просто размещай аудиоплеер чайлдом в ассете и управляй им из инстансов. Например, сам ассет врага пусть решает, воспроизводить ему звук или нет. В тридэ там ЕМНИП даже настройка дальности искаропки есть.
> Может кто проверял и знает
Я проверял. Основные проблемы там, когда ты на фоне играющего ogg запускаешь много сэмплов wav начинается кряхтение в колонках. Я пытался забороть, но хуй забил на игору вообще, поэтому решения не знаю. И кстати, это кряхтение ещё на версии 3.0.6 было, так что может и оптимизировали уже.
Аноним 12/05/21 Срд 18:32:31 742599 222
lol
Аноним 12/05/21 Срд 19:08:34 742603 223
Аноним 12/05/21 Срд 19:12:26 742604 224
>>742603
Эмм... Щас короче ты аргументированно возражаешь, почему это я дебил, иначе я пишу репорт господину модератору.
Аноним 12/05/21 Срд 19:18:49 742605 225
>>742604

Там свет потому-что
Аноним 12/05/21 Срд 19:26:03 742606 226
1620836762444.png 70Кб, 562x213
562x213
>>742605
Просто гугли матчасть.
И да, извинись.
Аноним 12/05/21 Срд 19:31:07 742609 227
>>742606

> пачиму прямо под источником света не тимно а?а?
Аноним 12/05/21 Срд 19:37:32 742611 228
1620837450438.png 189Кб, 600x400
600x400
>>742608
> Ирл никакого АО не существует
Да ты штоо???
>>742609
Ты автор? Покажи с другого ракурса, что это источник света, а не блик. А если не автор, так не пизди. Я там вижу только блик с засветкой (мы же о поверхности над заложенной дверью говорим, да?) а у отраженного света тоже полутень будет. Везде будет.
Аноним 12/05/21 Срд 19:40:34 742613 229
>>742612
Глаза разуй, там есть тени на первой и затенение на второй, в довесок к теням. Вот это затенение в узких местах и углах - и есть АО. Отражает распространение света в реальном мире.
Аноним 12/05/21 Срд 19:53:48 742616 230
у кого есть уже рабочий проэкт?
Аноним 12/05/21 Срд 20:14:11 742620 231
>>742619
что можно поиграть в игру
Аноним 12/05/21 Срд 21:25:17 742637 232
Игроделы, поясните, почему вы выбрали годот для своих игр? Интересует лично ваше субъективное мнение, почему он, а не любой другой. Ну только не говорите мне про бесплатность. Они сейчас все в том или ином виде бесплатные.
Аноним 12/05/21 Срд 21:40:19 742643 233
>>742637
Ты открой анрил, потом юнити, а в конце годот и сам всё поймёшь.
Аноним 12/05/21 Срд 21:43:07 742644 234
>>742637
Я пробовал юнити и он мне не нра, а годот пробовал и он мне нра.
Аноним 12/05/21 Срд 21:55:21 742647 235
Аноним 12/05/21 Срд 22:07:13 742650 236
>>742643
Открыл только в обратном порядке ну и из анриала и не захотелось выходить впринцапе, хотя и юнити неплох, а годот мне повесил компьютер намертво когда запустил тест игры хотя комп не зависал уже лет 5.
Аноним 12/05/21 Срд 22:09:01 742651 237
>>742647
Юнити какой-то всратый, а годот ок норм.
Аноним 12/05/21 Срд 22:11:50 742652 238
>>742643
анрил мне вообще не понравился
у юнети чувствуется, что они тупо больше, как компания и продукт стабильный
годот я помню запускал вроде вторую версию и у меня были проблемы с установкой, импортом примеров и т.д. работала только стим версия и то через раз
Аноним 12/05/21 Срд 22:26:50 742655 239
>>742652
> работала только стим версия и то через раз
Сейчас уже 3.3 версия вышла, очень стабильная и лично мне нравится.
Аноним 12/05/21 Срд 22:44:07 742659 240
годот больше для 3д?
Аноним 12/05/21 Срд 23:02:47 742660 241
>>742658
>опенсорс
Зачем конкретно тебе это? Без негатива спрашиваю. Ты правишь сорсы?
Аноним 12/05/21 Срд 23:04:19 742661 242
image.png 79Кб, 825x853
825x853
>>742558
>>742559
>Да чего там осиливать-то?
Сама логика мне не очень понятна. В школе кое-как меня научили кодить на html. На ремпае было легко брать кусочки кода, и тупо вставлять в свой проект. А где нужно побольше знаний тут же ступор, и не понимания что от меня хотят. За скрин ниже мне уже пиздец стыдно.

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

>>742562
Да.
Аноним 12/05/21 Срд 23:06:40 742662 243
>>742661
>и пойду дальше
следующая остановка - гей-шлюха на бонге, задумайся, сына
Аноним 12/05/21 Срд 23:35:14 742664 244
>>742660
Нет, и что? Может когда-то пригодится, может нет. Факт что возможность есть
Аноним 12/05/21 Срд 23:41:39 742666 245
Аноним 12/05/21 Срд 23:46:34 742668 246
>>742665
>Это странно.
Нет, странно не пользоваться чем-то только потому что там нет функций, которыми ты не пользуешься и не будешь никогда пользоваться. Вот это действительно странно.
Аноним 12/05/21 Срд 23:48:44 742671 247
Аноним 13/05/21 Чтв 00:01:24 742675 248
>>742663
Благодарю, теперь работает!
>>742662
Ахах, нет. Я отрисую сцены и соберу онли вн через ремпай.
Аноним 13/05/21 Чтв 00:03:03 742676 249
>>742672
>в ГК надо чтобы тысячи кубов бессмысленно разлетались по физике
годо не тянет, хочешь сказать?
Аноним 13/05/21 Чтв 00:25:34 742678 250
>>742677
чел, в гк если и есть "тысячи объектов", то они супер-простые и их явно не тысячи, а максимум сотни и они все супер-простые и если годотя не тянет сотню простых объектов с физоном, то ШТОШ МДАУШ
Аноним 13/05/21 Чтв 18:45:28 742974 251
Для андроида возможна разработка?
Аноним 14/05/21 Птн 03:28:05 743104 252
>>742637
У юнити очень сложный неинтуитивный интерфейс. Сраная студия вешает мне комп. Запуск отладки очень долгий. Очень много весит.
Аноним 14/05/21 Птн 05:14:49 743106 253
изображение.png 12Кб, 1278x126
1278x126
>>743104
>много весит
как и годот)
Аноним 14/05/21 Птн 12:03:41 743158 254
>>743106
А чем годот справа отличается, почему он столько весит?
Аноним 14/05/21 Птн 12:30:56 743161 255
>>743158
Скомпилен на дебаге?
Аноним 14/05/21 Птн 13:44:32 743175 256
>>743161
да, наверное так. точнее сказать сейчас не могу, ибо винда неделю назад переустановилась и MSVC в данный момент отсутствует
Аноним 14/05/21 Птн 20:58:39 743237 257
>>743003
с танцами и бубном?
Аноним 14/05/21 Птн 22:05:57 743253 258
>>734420 (OP)
Пойду сюда что ль побомблю. Ёбаный ты нахуй, какого ж хуя до сих пор нельзя НОРМАЛЬНО сделать интеграцию с гуглоплеем. Ёбаный же стыд PGSGP уже давно мёртв, разработчикам плагина на него похуй и на 3.3 обновы не видать (кроме костыля, который, сука, без пердолинга, один хуй не работает). Надеюсь, блять, в ёбаной четвёртой версии вся хуйня будет работать нормально
Аноним 14/05/21 Птн 22:06:44 743254 259
>>742637
Я кроме петухона нихуя не знаю, потому и выбрал годо вместо изучения шарпов (ведь я тупой)
Аноним 15/05/21 Суб 08:02:43 743284 260
>>743161
Ты хочешь сказать, что юнити компилят в дебаг моде?
Аноним 15/05/21 Суб 08:05:40 743285 261
>>743253
добро пожаловать в опен сорс
Аноним 15/05/21 Суб 12:04:13 743303 262
>>743284
Я предполагаю, что годо на пикрил справа скомпилен на дебаге, а слева - на релизе, откуда и разница в объеме файлов
Аноним 15/05/21 Суб 12:45:33 743305 263
>>743303
слева официальный бинарник, да. а справа конпеляция, только уже хз, как оно было собрано) но скорее всего в дебаге, да
Аноним 15/05/21 Суб 18:28:54 743351 264
>>743285
Да хули там, понятное дело, что опенсорс, я вот только и могу по этой причине беспомощно бугуртеть
Аноним 15/05/21 Суб 18:35:15 743352 265
>>743285
Ну, я тем не менее пропозал запилил. У кого тоже болит - можете пойти залайкать это говно
щитхаб.ком/godotengine/godot-proposals/issues/2724
Аноним 15/05/21 Суб 18:56:46 743353 266
Безымянный.png 38Кб, 1442x900
1442x900
Безымянный1.png 37Кб, 1442x900
1442x900
Пытаюсь заспавнить случайное количество кнопок-сцен, чтобы они были всегда по середине, но почему-то получается, как на первой картинке. Если в "Удаленный" вручную выставить для HboxContainer margin_right в ноль, тогда все как надо, как на второй картинке. В коде почему-то эти команды не воспринимаются. Для HboxContainer стоит параметр grow_direction - horizontal - Both.

>func _ready():
>>var hbox = $Control/CenterContainer/HBoxContainer
>>var r = 3
>>for _i in range(r):
>>>var f = fighter.instance()
>>>f.set_custom_minimum_size(Vector2(77, 87))
>>>hbox.add_child(f)

>>hbox.set_margin(MARGIN_BOTTOM, 0)
>>hbox.set_margin(MARGIN_LEFT, 0)
>>hbox.set_margin(MARGIN_RIGHT, 0)
>>hbox.set_margin(MARGIN_TOP, 0)
Аноним 15/05/21 Суб 19:16:06 743355 267
>>743353
хотя в print(hbox.margin_right) пишет, что устанавливается
Аноним 15/05/21 Суб 19:18:19 743356 268
>>743355
и если задавать в _процессе, то работает хмммммм
Аноним 15/05/21 Суб 19:24:58 743357 269
>>743356
в реади и через
>hbox.set_deferred("margin_right", 0)
не получается хммммммммммммм
Официальный ответ Галактической Администрации Аноним # OP 16/05/21 Вск 22:24:31 743489 270
Аноним 16/05/21 Вск 22:29:51 743490 271
>>743357
Нужен принудительный апдейт канвы.
Аноним 16/05/21 Вск 22:54:53 743493 272
>>743490
Это как? Разве я не принудительно?
Аноним 16/05/21 Вск 23:07:51 743496 273
1621195670915.png 13Кб, 351x295
351x295
Аноним 16/05/21 Вск 23:10:42 743497 274
>>743494
> его через FindNode не находят
Безумие.
Если у тебя автолоад синглтон, тебе не нужно никакое финдноде. У тебя твоё имя сразу регистрируется в редакторе глобально. И ты просто пишешь
> MightyAutoLoad.MightyMethod()
Аноним 16/05/21 Вск 23:29:52 743502 275
>>743496
а вот это?
>hbox.set_margin(MARGIN_RIGHT, 0)
Аноним 17/05/21 Пнд 18:22:51 743605 276
Есть ли способ сымитировать нажатие кнопки на паузе? В "Удаленный" ставлю кнопке Pressed, но сигнал не эмитится. В обычном режиме эмитится.
Аноним 18/05/21 Втр 12:22:17 743698 277
>>743605
Снимай с паузы кнопку. На то пауза и нужна, чтоб даже сигналы не излучались.
>>743502
hbox.update()
Аноним 18/05/21 Втр 23:48:13 743784 278
>>743698
>Снимай с паузы кнопку
Не знаю, поменял в pause_mod на process, stop, все равно кнопка не нажимается не знаю.
>hbox.update()
Не, че-то не помогает. Ну буду через процесс что уж.
Аноним 19/05/21 Срд 19:49:09 743906 279
Антуан-платформеропогромист, ты жив?
Аноним 20/05/21 Чтв 18:59:05 744074 280
Как в 3д можно заставить перса поворачиваться в сторону курсора и двигаться в этом направлении?
Аноним 20/05/21 Чтв 22:01:42 744115 281
888.jpg 156Кб, 1399x916
1399x916
>>744081
Спасибо. Я нашёл что искал.
Прошу сразу простить мою наглость, но вы сможете перевести это на С#?
Мне не понятно откуда он взял строка 35/36 project_ray_origin()....
и строка 10/11 gett_world().direct_space_satate/space_state.intersect_ray
Аноним 21/05/21 Птн 03:43:14 744134 282
А есть ли способ из CollisionPolygon2D создать область, например, белого цвета?
Аноним 21/05/21 Птн 04:02:07 744137 283
Не могу найти ни одного туториала по гранд стратегиям
Аноним 21/05/21 Птн 13:04:32 744175 284
Подскажите, какие есть наработки по balancing active ragdoll? Если такого нет, то с чего начать?
Хочу сделать симулятор с реалистичной ходьбой.
Аноним 21/05/21 Птн 13:06:20 744177 285
>>744134
> extends CollisionPolygon2D
> func _draw():
> > draw_circle(bla, bla, bla)
Аноним 21/05/21 Птн 14:41:03 744186 286
>>744184
Оооооооооааа
палец вверх
Аноним 21/05/21 Птн 20:12:07 744220 287
Аноним 22/05/21 Суб 19:46:24 744374 288
>>744341
Нее... Я ещё минимум до июля буду занят. Ваще не до джемов.
мимо автор игор, постов, охуительных историй, беспонтовых начинаний
Аноним 23/05/21 Вск 02:31:05 744419 289
image.png 46Кб, 792x599
792x599
А может кто объяснить, как разделить сигнал/почему так происходит?
Есть сигнал для KinematicBody, срабатывающий по mouse_entered(). Есть 11 мешей (скопированных из одного, в котором как раз дочерний KinematicBody и CollisionShape). По нажатию кнопки я получаю стену срабатываний (предположительно, по количеству мешей), хотя жму один раз всего над мешем с установленным аутлайном, если это пикрил _input(event). При этом func _on_KinematicBody_mouse_entered(): показывается, что срабатывает всего один раз.
Аноним 23/05/21 Вск 02:46:55 744420 290
>>744341
Ага, сейчас подготовимся, а они через сутки выкатят тему "LGBTQ+ representation BLM ACAB".
Аноним 23/05/21 Вск 03:32:51 744422 291
>>744421
Или игра, где ты Абрам Ганнибал и пиздишь жену.
Аноним 23/05/21 Вск 03:53:22 744424 292
>>744419
ээээ_прессед по-моему не один раз срабатывает, а пока не отпустишь. is_just_pressed один раз срабатывает.
Аноним 23/05/21 Вск 03:54:53 744425 293
>>744419
а _mouse_entered() срабатывает, когда в область курсор наводишь, без нажатия кнопки
Аноним 23/05/21 Вск 09:25:05 744441 294
>>744419
> почему так происходит?
Потому что по умолчанию все элементы_канвы прозрачны для событий мыши/тача. То есть, получив событие, они не препятствуют получению его же остальным слоям канвы.
> как разделить сигнал
Есть два стула:
1. Сделать canvas_item "непрозрачным", там есть свойство в инспекторе ищи, accept_event().
2. Обрабатывать события в _unhandled_input и первый кто обработал устанавливает флаг SceneTree.set_input_as_handled(), тобой, в коде, вручную, при соблюдении твоих условий, и если он посылает, то _unhandled_input больше не вызывается для этого события нигде
Аноним 23/05/21 Вск 11:17:22 744449 295
Аноним 23/05/21 Вск 16:47:25 744492 296
image.png 2Кб, 268x180
268x180
Вопрос из разряда архитектурно-частных.
Дошёл до генерации игрового поля на старте уровня.
https://docs.godotengine.org/en/stable/getting_started/step_by_step/instancing.html
Если я инстанцирую повторяющиеся меши, это же снизит нагрузку и увеличит скорость работы сцены?
Дополнительный вопрос. Скрипты же и сигналы тоже в инстанцирование попадают нормально?
Аноним 23/05/21 Вск 17:25:58 744497 297
>>744492
Дополнительный вопрос. Видел неоднократно, когда на даже небольшую ноду создают отдельную сцену. В чём смысл?
Аноним 23/05/21 Вск 17:27:38 744498 298
>>744492
>Дополнительный вопрос
Дык ты попробуй. Сингалы надо коннектить в скрипте. Скрпиты инстанцируются нормально.
>>744497
Чтоб реюзабельно было.
Аноним 23/05/21 Вск 18:59:23 744510 299
>>744498
Другой вопрос. А генерация. Это что, для тайловой карты 10 на 10 надо цикл в сотню, что ли, загонять? Или у движка есть какие-то инструменты для такого?
Аноним 23/05/21 Вск 19:29:43 744520 300
>>744510
Не понял вопроса. Какие инструменты тебе конкретно нужны?
Аноним 23/05/21 Вск 20:08:45 744526 301
image.png 40Кб, 486x330
486x330
image.png 32Кб, 763x718
763x718
>>744520
Ну я имею в виду, что для заполнения гексагонального поля 10 на 10 клеток, мне надо будет сделать цикл х от 1 до 10 с вложенным в него циклом у от 1 до 10. Либо считать, исходя из квадрата числа (карта квадратная-то). Двойные-тройные и т.д. циклы это же плохо и медленно в общем случае? Есть ли инструмент оптимизации этого процесса? Иначе придётся ждать инстанцирование 6400 раз для того же поля 80 на 80 (у меня это занимает уже секунд 5 против моментального запуска карты 20 на 20), что уже не выглядит так просто как 10 на 10.
Аноним 23/05/21 Вск 20:12:37 744527 302
>>744526
Начинай учить многопоточность. В один поток ты такое не затащишь. Вообще, сам подумай, кто в 2к21 будет делать игру без многопоточности?
Аноним 23/05/21 Вск 20:20:47 744528 303
>>744526
Хотел тебе гридмап посоветовать (увидел, что ты гексы в тридэ делаешь), но оказалось, что у гридмапа гексагональной сетки нет, в отличие от двадэшного тайлмапа. Даже не знаю, что теперь и предложить. Получается, что ты правильно велосипедишь велосипед.
Аноним 23/05/21 Вск 20:35:34 744529 304
1621791332245.png 184Кб, 1646x922
1646x922
>>744528
>>744526
Вот например вариант. Если у тебя не предполагается карта высот, но хочется красиво наклонять камеру вокруг мапы, то можно сделать отрисованную через вьюпорттекстуру на тридэспрайте двадэшную тайлмапу.

Но скорость её заполнения всё равно смотреть надо, и я уверен, в один поток всё равно будет медленно, поэтому >>744527
Аноним 23/05/21 Вск 20:42:57 744532 305
>>744527
Ну в общем и целом для пошаговой игры я в этом вижу, скорее,
плюс. Не надо усложнять логикой управления многопоточности.
Просто вот такие телодвижения, когда у меня простые модель шестиугольника, сваянные на коленке в блендере, а оно на пекарне конца 20 г.в. грузит по 5 секунд, вызывают подозрения, что когда это будет заполненная карта, то это уже будет ощутимо. Хотя, может, занимаюсь преждевременной оптимизацией. Хз. Пока пилю как есть, хотя бы до уровня mvp. А то так вообще никогда ничего не закончить.
>>744528
>что у гридмапа гексагональной сетки нет, в отличие от двадэшного тайлмапа
Я в гридмап почти неделю проебался, чтобы понят, что он даже с велосипедами не подходит. Точнее можно, но велосипед становится ещё сложнее.
Аноним 23/05/21 Вск 20:46:43 744533 306
>>744529
>можно сделать отрисованную через вьюпорттекстуру на тридэспрайте двадэшную тайлмапу.
Я этот же совет видел на форуме годота раза два.
Но что-то мне показалось сложнее, чем в чистом 3д, когда дошёл до взаимодействия с тайлами. Уж и не помню, что в итоге мне не понравилось. С получением координат, что ли, была беда какая-то.
В итоге, https://www.redblobgames.com/grids/hexagons/ + 3д взял за основу.
Аноним 23/05/21 Вск 21:03:02 744537 307
>>744532
>>744533
Тогда вот тебе ответ на твой вопрос. Если тебе нужно заполнить одним циклом некое двумерное поле, определи для поля фиксированную ширину (количество столбцов, C). И тогда:
X = i mod C (остаток от деления)
Y = i div C (деление нацело)
Лол, посмотрел сейчас твой скрин с кодом, а у тебя так и делается. Только каким-то переусложнённым черезжопным образом. Тебе нужно вдовесок к вышеуказанным вычислениям выбрать сдвиг наполовину для каждой, скажем, нечётной строки. И вуаля, готово. Но это по отрисовке. Для заполнения тебе сдвиги уже не нужны. У тебя есть одномерный массив со всеми тайлами и ты получаешь координаты каждого тайла через эти нехитрые вычисления икса и игрека.

Могу геометрический смысл наглядно нарисовать в пейнте, если не уловил.
Аноним 23/05/21 Вск 21:03:03 744538 308
Аноним 23/05/21 Вск 21:04:09 744540 309
>>744536
Блин, увидел. Спасибо. Это да, большой факап, перекочевавший из первого кода без цикла.
Аноним 23/05/21 Вск 21:04:17 744541 310
Аноним 23/05/21 Вск 21:12:16 744546 311
>>744537
> Только каким-то переусложнённым черезжопным образом.
Ровно таким же, если сократить те же i в выражении. Это колдовство осталось из криво созданных изначально моделей и подгонки на глаз, отчего вариант i mod mapSize выдавал не те координаты, что я ожидал.

Короче, пробежаться надо по коду завтра незамыленным глазом в поисках глупостей.
Аноним 23/05/21 Вск 21:21:29 744547 312
1621794088783.jpg 16Кб, 400x388
400x388
>>744546
Утро вечера мудренее!
Аноним 24/05/21 Пнд 19:07:31 744691 313
Аноним 24/05/21 Пнд 19:41:31 744694 314
rUSc7i.gif 1035Кб, 2400x1350
2400x1350
Вот и тему объявили. Змейку им запузырить, что ли?
Аноним 24/05/21 Пнд 19:53:14 744695 315
Аноним 24/05/21 Пнд 20:00:46 744697 316
>>744696
У меня была охуенная идея игры - менеджер дачи, где нужно играть за бабку и заставлять всю семью как можно больше вкалывать в огороде за лето и как можно дольше не давать им превратить дачу в место отдыха.
Аноним 24/05/21 Пнд 20:03:44 744699 317
>>744697
Спасибо, спиздил
Аноним 24/05/21 Пнд 20:04:56 744701 318
>>744699
Раз спиздил, так воплощай.
Аноним 24/05/21 Пнд 20:11:23 744703 319
Аноним 24/05/21 Пнд 20:15:12 744705 320
Аноним 24/05/21 Пнд 20:18:29 744708 321
>>744703
Рост помидоров и огурцов.
Аноним 24/05/21 Пнд 20:23:24 744709 322
>>744697
а еще возможность вырастить овощи до чересчур больших размеров и количества. А еще красить домик в неприлично-яркие цвета и клеить много слоев обоев.
Аноним 24/05/21 Пнд 20:24:01 744710 323
>>744709
Типа как Крыжовник Чехова вы ж читали все
Аноним 25/05/21 Втр 00:44:08 744727 324
>>744710
Надо перечитать. Совсем забыл уже. Только Вишнёвый сад и Бабы всё ещё поммню.
Аноним 25/05/21 Втр 02:11:50 744730 325
Вот построил я CollisisonPolygon2D, хочу в его середину поместить надпись. Как найти середину? Я нашел как найти центр масс, но точки у меня не однородно расположены, надпись съезжает далеко от центра.
Аноним 25/05/21 Втр 07:37:37 744735 326
Аноним 26/05/21 Срд 13:42:00 744898 327
>>744697
Кинь полную пасту.
Аноним 27/05/21 Чтв 03:18:44 745023 328
Вот я хочу, перемещать камеру по экрану, но GUI оставался на месте. Поместил интерфейс в узел CanvasLayer, который специально для этого, но теперь я не могу кликать сквозь этот CanvasLayer. А как?
Аноним 27/05/21 Чтв 03:20:03 745024 329
>>745023
> но GUI оставался на месте
но хочу, чтобы GUI оставался на месте
Аноним 27/05/21 Чтв 19:21:25 745136 330
А можно ли как-то при инстанцировании задавать значение своего кастомного аргумента, чтобы потом в скрипте этой инстанцированной ноды можно было использовать это значение? Пробовал с export var и с созданием функции внутри скрипта инстанцирумой ноды или меша. Не получилось. Говорит, что нет такого метода в мешинстанс, например.
Аноним 27/05/21 Чтв 21:10:34 745149 331
>>745145
>>745136
А вот объясните, когда надо взывать методы мешинстанса, а когда ноды? и что лучше использовать в общем случае? ноды?
Аноним 27/05/21 Чтв 21:13:29 745150 332
>>745136
> А можно ли как-то при инстанцировании задавать значение своего кастомного аргумента
В гдскрипте на данный момент нет приватных переменных, то есть, создавая инстанс, ты можешь получить доступ к любой его переменной. Итак. У нас есть bullet.tscn, в которой есть переменная speed = 0.
> var bullets = load("bullet.tscn")
> var current_bullet = bullets.instance()
Инстанс создался и у него выполнилась функция _init()
> current_bullet.speed = 1500
Нужная переменная в инстансе поменяла значение.
> world.add_child(current_bullet)
Вот теперь у инстанса выполнились _enter_tree, _ready и начали раз в кадр вызываться _process/.../
Аноним 27/05/21 Чтв 21:21:04 745151 333
>>745150
Ага, так и делал. И как я увидел, я делал для мешинстанса. И так, похоже, делать не надо.
Аноним 27/05/21 Чтв 21:28:13 745153 334
>>745151
> И так, похоже, делать не надо.
Мешинстанс причём тут?
Код показывай, чо ты там нахуевертил? Так надо делать и так делали 30 лет до годота и так будут делать 330 лет после годота. Это классика ООП.
Аноним 27/05/21 Чтв 22:18:02 745171 335
>>745165
Ну допустим, есть гипотетическая структура Node - MeshInstance - MeshInstance2.
Причём первый - родительский для второго, а второй показывается при том же клике мышью на первый. Вод здесь всю эту ситуацию логично обрабатывать методами, вызываемыми у родительского мешинстанса, или у ноды?
Аноним 27/05/21 Чтв 23:54:54 745186 336
изображение.png 57Кб, 892x1253
892x1253
>>745150
>нет приватных переменных
обмазывал ли кто-нибудь годот подобными модулями?
Аноним 28/05/21 Птн 02:20:25 745187 337
Пацаны, я не понимаю. Вот у меня есть сигнлтон, в нем раз в секунду меняется флаг
>extends Node2D
>var flag = false
>func _process(delta):
>>...
>>flag = !flag
В другом скрипте я пытаюсь вызвать сеттер, когда меняется флаг. В логе он меняется.
>extends Control
>var a = global.flag setget setter
>func setter():
>>print("Yay")
Почему сеттер не срабатывает? Он же меняется в извне и в другом классе.
Аноним 28/05/21 Птн 02:21:17 745188 338
>>745187
>extends Node2D
extends Node на самом деле, ну да ладно
Аноним 28/05/21 Птн 02:41:27 745190 339
u
Аноним 28/05/21 Птн 03:42:39 745193 340
>>745191
>var variable = value setget setterfunc, getterfunc
Нет
Аноним 28/05/21 Птн 03:43:10 745194 341
>>745193
А, то есть да, стоит у меня там валью
Аноним 28/05/21 Птн 14:09:18 745247 342
Как кошерно работать с глобальными переменными, где хранятся всякие уникальные состояния?
Из мыслей - отдельная нода, где все переменные выгнаны типа
export(bool) bar unitSelected
Или можно как-то красивей?
Аноним 28/05/21 Птн 14:10:16 745248 343
var unitSelected
Быстрофикс.
Аноним 28/05/21 Птн 14:27:32 745254 344
>>745194
Ну так
> func setter(value):
Же.
Аноним 28/05/21 Птн 14:27:43 745255 345
>>745253
Эээээээх.
А как можно реагировать на изменение переменной в синглтоне?
Аноним 28/05/21 Птн 14:28:00 745256 346
>>745253
> вряд ли можно
Можно.
Аноним 28/05/21 Птн 14:28:07 745257 347
>>745255
только через _процесс?
Аноним 28/05/21 Птн 14:29:40 745258 348
Аноним 28/05/21 Птн 14:30:53 745259 349
>>745247
> как-то красивей?
В стиле годоскрипта.
GlobalData.set_my_parameter_as(new_value)
где
set_my_parameter_as - это функция, опционально чей-то сеттер.
Аноним 28/05/21 Птн 14:31:29 745260 350
>>745258
Скрины отладчика показывай.
Аноним 28/05/21 Птн 14:37:00 745261 351
>>745255
> А как можно реагировать на изменение переменной в синглтоне?
Сигналы. Сигналы родимые. Они же события в ентерпрайз-кодинге. Изучи их. Пойми их. И пользуйся их силой.
В синглтоне:
> signal my_new_state(new_state)
...
> emit_signal("my_new_state", moya_peremennaya)
В левой ноде:
> Singleton.connect("my_new_state", self, "singleton_state_callback")
> func singleton_state_callback(new_state):
> > print("nakanetcta ya vizhu, chto v singletone peremennaya stala", new_state)
Аноним 28/05/21 Птн 14:39:13 745263 352
1622201952254.jpg 139Кб, 800x800
800x800
Аноним 28/05/21 Птн 15:14:07 745265 353
image.png 203Кб, 1920x1080
1920x1080
image.png 210Кб, 1920x1080
1920x1080
image.png 214Кб, 1920x1080
1920x1080
image.png 211Кб, 1920x1080
1920x1080
Аноним 28/05/21 Птн 15:16:08 745266 354
>>745262
>>745261
Хорошо, но сетгет почему-то не работает, согласны?
Аноним 28/05/21 Птн 15:19:52 745267 355
>>745262
>Кошерно вообще не иметь глобальных переменных.
А как тогда работать со значениями, идущими от инстанцированных элементов? Напримример, в каждом инстанцированном объекте есть переменная. Для каждого инстанса там своё значением, но вот на глобальной сцене надо учитывать значение из последнего инстанса, с которым ты повзаимодействовал.
Тут либо каждый раз выяснять, с кем в последний раз взаимодействовал, после чего тянуть значение, либо в процессе взаимодействия положить значение из инстанцированного элемента в глобальную переменную, а после уже не вспоминать, с каким же инстансом ты взаимодействовал.
Аноним 28/05/21 Птн 16:09:04 745269 356
>global.connect
>Singleton.connect
Вот до этого я бы никогда не додумался без вас пацаны
Аноним 29/05/21 Суб 00:43:12 745332 357
>>734420 (OP)
Я ебанат и скачал движок в стиме. Теперь он обновляется сам-по-себе и без обновлений не хочет запускаться. Есть проверенный способ отвязать его от стима?
Аноним 29/05/21 Суб 00:59:17 745336 358
Вопрос по использованию поиска пути https://docs.godotengine.org/en/stable/classes/class_astar2d.html
Чтобы получить весь путь от точки 1,1 до точки 5,5 через get_id_path, я должен соединить точки черезх connect_points, причём все 25 точек со всеми 24, кроме той, что соединяю?
>>745332
А чем не вариант забрать прокт, снести стимовскую версию, скачать на https://godotengine.org/download/windows и использовать его для своего проекта?

Аноним 29/05/21 Суб 01:37:57 745344 359
image.png 13Кб, 491x90
491x90
image.png 4Кб, 348x52
348x52
>>745340
Да, я уже к этому пришёл, только что.
Потому что, в противном случае, получается телепортация из 42 в 48 для примера пикрил.
Аноним 29/05/21 Суб 13:05:06 745400 360
>>745336
>снести
А, логично, я додик, спасибо
Аноним 29/05/21 Суб 13:06:31 745401 361
>>743253-кун репортинг ин

Короче, оставил им фича-реквест, позже накатал тикет в PGSGP и решил забить хуй на тот функционал что хотел. Выпустил так :с
https://lowbudgethomebrew.itch.io/go-froggit-godot

Первый опыт, разъебите меня
Аноним 29/05/21 Суб 19:04:55 745464 362
>>745401
У тебя в игре нет полоски, показывающей насколько сильно будет прыгать (а в "Как играть" полоска есть). И да, шрифт размазанный какой-то.
Аноним 29/05/21 Суб 23:37:54 745579 363
>>742637
1) Тяга к опенсоурсу.
2) Году в 12 игрался с юнити. но юнити начал обрастать и тяжелеть, что пиздец. Особенно стало, когда понадобилась студия - до того хорошо жил во встроенном иде с моно.
3) Есть приличное 3д
40 Не такой брошенный во времени, как огре3д и урхо3д.
Аноним 30/05/21 Вск 18:03:10 745712 364
>>745687
Да, типичный автоматический ландшафтный материал. На ютубах полно примеров для UE.
Аноним 31/05/21 Пнд 12:15:54 745836 365
>>745412
Он всё-равно работает через очко
Аноним 31/05/21 Пнд 12:18:09 745837 366
>>745413
Промежуточный допрыг? Я думаю, речь идёт про бонус неуязвимости, который даётся на каждом новом старте. Надо бы описать их, да.
>>745464
>>745472

Спасибо за фидбек, анонасы! Пофикшу в скором времени
Аноним 31/05/21 Пнд 15:17:43 745912 367
Блять, пол часа сидел искал баг и оказалось что match по какой-то причине не мог сравнить нормально два int-а. Переписал на if-elif и все магически заработало. Какого хуя Хуан?
Аноним 31/05/21 Пнд 18:06:37 745940 368
>>745915
Извиняй, но я уже все пофиксил и ломать обратно не хочется.
Аноним 31/05/21 Пнд 20:32:21 745964 369
>>745912
А там точно два инта? Я так объёбывался.
Аноним 31/05/21 Пнд 20:33:53 745965 370
>>745943
if settings[option] == 0:
pass
elif settings[option] == 1:
pass
elif settings[option] == 2:
pass

Да вот такая обычная конструкция, не знаю на что тут смотреть. В settings[option] валялся интегер от 0 до 2, что я перепроверил консолькой еще.
Но по какой-то причине тригерились не 0, 1, 2 ветки, а местный дефолт, то есть _: , причем это происходило не всегда. Не знаю уж баг это или нет, но после переписи - все стало нормально.

Вот на что стоит действительно написать issue, так это на AudioStreamPlayer2D. Мой .ogg стрим (не знаю проблема ли это только .ogg или .wav тоже) зацикливается, даже если в самом годоте галочку убрать с Loop у стрима. Приходится через код отрубать и это 100% баг, причем он и в прошлом релизе был.
Аноним 31/05/21 Пнд 20:45:38 745966 371
>>745964
Если годот по какой-то причине не решил их во флоат где-то сконвертить и потом округлить до целого числа при выводе в консольку - да. Но тогда бы и if нормально не работал, я так думаю.
Аноним 31/05/21 Пнд 21:11:40 745973 372
eyjej.jpg 87Кб, 757x748
757x748
>>744115
Парни ну помогите, Я тот который переделывал гд-скрипт разворота 3д объекта на C#
Я почти допёр, как сделать управление, топдайн шутера в 3д, единственно мне не хватает малости, чтобы поворот модели следовала за курсором мыши, а так модель крутится волчком влево и вправо при движении мыши по Х и по У

Аноним 31/05/21 Пнд 22:21:33 745980 373
>>745965
А, блять. Не только у стрима есть параметр loop оказывается. У самого файла в меню импорта тоже есть параметр loop и он зачем-то по умолчанию включен, интересное открытие.
Аноним 31/05/21 Пнд 22:52:51 745986 374
>>745860
Я вот прям щас занимаюсь описанием бонусов, будут в апдейте :)
Аноним 02/06/21 Срд 23:25:30 746328 375
>>745412
Только в окне выбора проекта тикает, к сожалению
Аноним 02/06/21 Срд 23:30:07 746329 376
Аноним 03/06/21 Чтв 01:02:22 746343 377
Глобал шлет сигнал раз в секунду. Хочу, чтобы узел брал значение, сравнивал с предыдущем и показывал изменение, то есть их разность, и рисовать стрелочку. Узел у меня создается каждый раз новый и как только он создается, value у меня всегда равно нулю, почему-то. А в следующие секунды все показывается нормально. Значение new_value мне присылает родительский узел, он тоже это делает раз в секунду по сигналу от глобала.

>var new_value : int
>var value : int = new_value

>func _ready():
>>value = new_value
>>hide_arrow()
>>global.connect("flag_changed", self, "every_second")

>func every_second():
>>if value > new_value:
>>>arrow_down()
>>>num.set_text(str(abs(new_value - value)))
>>if value < new_value:
>>>arrow_up()
>>>print(new_value, " ", value)
>>>num.set_text(str(abs(new_value - value)))
>>if value == new_value:
>>>hide_arrow()
>>value = new_value
Аноним 03/06/21 Чтв 01:05:45 746344 378
>>746343
А еще я вот так пробовал, не помогло

>func _ready():
>>...
>>global.connect("flag_changed", self, "ass")

>func ass():
>>call_deferred("every_second")

>func every_second():
>>...
Аноним 03/06/21 Чтв 01:20:16 746349 379
>>746344
Ладно, я в реади проверил, там тоже нули
Аноним 03/06/21 Чтв 01:36:05 746350 380
>>746349
Ладно, я разобрался, ребята
Аноним # OP 03/06/21 Чтв 12:49:52 746403 381
>>746344
>>746343
Пастебин поддерживает разметку ГДскрипта. Это так, к слову.
Аноним 03/06/21 Чтв 14:59:35 746415 382
Есть у меня мыслишка. Неделю уже развиваю или около того. Сделать опенсорсный репозиторий с мини-играми в виде готовых сцен годота. Все мини-игры должны обладать унифицированными интерфейсами для последующего встраивания в более крупные проекты.
Что я хочу собрать?
Змейки, тривряды, тетрисы, пятнашки, пакманы, взломы замков, механических, электронных, свои авторские пазлы, и многое-многое другое. Для заполнения ими игровых миров анона. Берёшь сцену из репа, встраиваешь в свою игору, юзая стандартизированный АПИ.
Как вам идея? Кто хотел бы поучаствовать?
АПИ должен включать в себя функции отображения мини-игры, скрытия, опционального запоминания состояния, позволяющие организовать включение и выключение виртуальных устройств с мини-играми в "макро"-игре, при скрытии осуществляется возврат значения (через сигнал), позволяющий организовать собственно взлом доступа куда-либо через мини-игру, или получения чего-либо, или продвижения по квесту.
Аноним 03/06/21 Чтв 15:30:05 746418 383
>>746415
Поздравляю, ты украл мою идею, где персонаж должен ходит по комнатам и решать рандомные случайно выпадающие миниигры. Сука, а я даже анимацию персонажу не могу настроить.
Аноним 03/06/21 Чтв 19:23:40 746475 384
>>746448
> пиши АПИ
Предлагаю продумать АПИ вместе, чтобы всем было удобно и чтобы обойти подводные камни, которые не увидишь в одиночку.
>>746418
Сорян. Зато ты теперь можешь не писать кучу миниигор, а подсоединить нашу (пока ещё не существующую) базу миниигор прамо в свой проект и сконцентрировать усилия на стиле.
Аноним 04/06/21 Птн 02:01:13 746519 385
Я импортировал JSON файл в синглтон, присвоил его словарю dict1. В другом скрипте создал еще словарь dict2 = singlton.dict1. Беру из dict2 данные, обновляю их и сохраняю в dict2 новые данные. Но оказывается обновляются и данные в синглтоне. Так и должно быть? И dict2 = Dictionary.new() не работает, функции нет в Dictionary. Короче, чтобы хранить начальные неизменные данные, надо в синглтоне еще один dict3 создать и распаковывать в него? Или можно во втором скрипте все-таки сделать независимый словарь?
Аноним 04/06/21 Птн 02:51:34 746523 386
Аноним 04/06/21 Птн 14:31:58 746617 387
>>746523
duplicate(true), без deep=true все равно будут референсы, а не копии
Аноним 04/06/21 Птн 22:52:14 746651 388
Как лучше закладывать поведение ИИ в игру, и где его обрабатывать для пошаговой игры? Есть идея гонять принятие решений в многопотоке, пока игрок ходит свой ход, чтобы потом ИИ имел заданный набор шаблонов для поведения к своему ходу. Из идей только в синглтоне крутить в цикле принятие решений.
Аноним 05/06/21 Суб 12:07:18 746707 389
>>746695
Ну я тоже ориентируюсь на utility ai, но вот если конечная цель не так легко достижима и состоит, по сути, из набора более мелких целей, то всё равно придётся перебрать, какая же из целей лучше здесь и сейчас.
Аноним 05/06/21 Суб 21:15:13 746758 390
Как получить доступ к ключу в словаре? Мне надо в цикле сравнить, равно ли название первого ключа названию ключа в подподсловаре, например, второго ключа.
>for entry in data:
>>for i in data[entry]["relations"]:
>>>for entry1 in data:
>>>>if entry != entry1:
>>>>>for j in data[entry1]["relations"]:
>>>>>>if entry == data[entry1]["relations"].key() - вот тут не получается
Аноним 05/06/21 Суб 21:18:28 746759 391
>>746758
>>>>>>if entry == data[entry1]["relations"][j].key()
Аноним 05/06/21 Суб 21:41:01 746763 392
>>746760
>>746761
У меня есть провинции.

>{
>"Province1" : {
>>"name":"Ass",
>>"pops" : "3500",
>>"relations" : {
>>>Province2:FRIENDLY,
>>>Province3:BAD
>>>}
>>},
>"Province2" : {
>...

Хочу, чтоб каждая сравнивала свое отношение к другой провинции и отношение другой к себе. Если у обиех плохое, то ВОЙНА.
Аноним 05/06/21 Суб 23:28:09 746771 393
>>746769
ййооооо вау спасибо
Аноним 06/06/21 Вск 17:51:42 746876 394
Аноним 07/06/21 Пнд 02:35:41 746949 395
Привет. Есть нода2д на которой лежит layout на котором лежит контрол. Как взять глобальные координаты мира под контролом? Походу лайаут создал ещё один вьюпорт. И я совсем не понимаю как с одного вьюпорта влезть в другой.
Аноним 07/06/21 Пнд 04:01:04 746953 396
>>746952
У меня возвращает какие то левые координаты относительно экрана. А мне надо относительно world2d.
Естественно камера сместилась в ворлд 2д.
Аноним 07/06/21 Пнд 22:53:58 747113 397
Безымянный.png 76Кб, 888x712
888x712
>>747040
Вот. Нода Effect должна начать спамить монетки, которые через слой канваса должны получить глобал позишн в мире лейбла score и полететь туда.
Аноним 08/06/21 Втр 09:35:07 747171 398
ОП в треде.
Перекачу ближе к вечеру.
Про оп-пикчу анона помню, поставлю. Предлагайте дополнения в шапку. Позже перечитаю и скомпоную.
Всем цемки! Обнял! Убегаю! На связи!
ПЕРЕКАТ Аноним # OP 08/06/21 Втр 13:10:50 747203 399
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов