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

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 507 112 99
Godot #43 Аноним # OP 30/11/23 Чтв 23:01:52 919752 1
1701374513506.png 9Кб, 920x920
920x920
Аноним 30/11/23 Чтв 23:06:13 919756 2
>>919752 (OP)
>SSE
Что такое ССЕ? Сириус Соло Ентерпрайз?
Аноним 30/11/23 Чтв 23:15:13 919759 3
>>919756
Оп пытался смешно выбнуться своими знаниями, а оказалось что немного опозорился. Ну простим ему.
Аноним 30/11/23 Чтв 23:19:46 919762 4
Дано: импортируется моделька из блендера с материалом.

Она превращается в отдельную сцену. Я хочу скопировать эту модельку и просто изменить цвет с помощью изменения материала, чтобы у меня потом была гридмап с двумя разноцветными одинаковыми модельками. Но просто так мне не дает это сделать, поэтому логично нажать на первую коробку make unique, так? И меня вторую потом. Но если сделать make unique почему-то вес проекта возрастает ебейшим образом. Просто чудовищным, вплоть до того что все начинает тормозить.

Как без уникальности перекрасить модельку? Вроде как можно сохранить их как две разные модельки, но тогда они все равно хранятся раздельно и занимают место.

Как не занимать лишнее место и нормально перекрасить модельку чтобы потом промышленно добавлять модельки разных цветов с помощью гридмапа?
Аноним 30/11/23 Чтв 23:22:04 919763 5
1572292448484.png 18Кб, 1018x45
1018x45
1569565571605.png 36Кб, 712x315
712x315
Вот эта ошибка, ткнул в первую попавшуюся игру на 4.1+
А причина этого вот в чем.
Аноним 30/11/23 Чтв 23:24:25 919764 6
>>919762
При импорте есть вкладка где можно указать чтобы именно материалы сохранились в отдельные файлы.
Аноним 30/11/23 Чтв 23:40:35 919767 7
>>919762
Тяжелый проект же становится скорее всего потому что вершины мешей становятся из бинарных текстовыми массивами в tscn. Это как то можно решить, либо сохранять scn в бинарном виде, либо выносить меши в отдельные ресурсы.
Аноним 01/12/23 Птн 00:00:40 919770 8
>>919762
Сколько же у тебя там вертексов, что все тормозить начинает?
Аноним 01/12/23 Птн 00:03:11 919772 9
>>919759
Простим, конечно. Но каково было намерение? А то я не понял.
Аноним 01/12/23 Птн 00:17:39 919775 10
image.png 2397Кб, 1024x1024
1024x1024
Освятил и налил всем кто игры делает чаю.
Аноним # OP 01/12/23 Птн 07:59:53 919802 11
>>919772
>>919759
Сёма, не пытайся аппелировать к невежеству. Не та порода. Здесь закал столетний, опенсорсный. Тут байтовыми сдвигами фонит по низам!
Аноним 01/12/23 Птн 10:05:03 919805 12
image.png 607Кб, 512x512
512x512
Хочу бумажными книгами полезными для геймдева обмазываться в свободное время. Порекомендуйте что годное.
Аноним 01/12/23 Птн 10:39:38 919807 13
>>919805
лучше создавай игры, лентай
Аноним 01/12/23 Птн 10:45:05 919809 14
image.png 3356Кб, 1280x1280
1280x1280
>>919807
Я хочу читать бумажные книги когда отдыхаю от компа.
Аноним 01/12/23 Птн 10:49:00 919810 15
Godot 4.2 arrives in style!
Аноним 01/12/23 Птн 12:40:36 919821 16
image.png 1836Кб, 4132x2956
4132x2956
Делойте игры
Аноним 01/12/23 Птн 13:03:04 919830 17
image.png 20Кб, 596x397
596x397
image.png 31Кб, 598x635
598x635
Аноним 01/12/23 Птн 13:19:47 919831 18
>>919830
>Youtube
>Male 95
Конечно, туториалы на ютубе смотрю я, а потом все подготавливаю и объясняю жене, она уже там уровни рисует. А по блендеру наоборот.
Аноним 01/12/23 Птн 13:21:16 919832 19
image.png 178Кб, 597x1055
597x1055
>>919809
>>919805
Обмажусь наверное книгами по сценаристике.
Аноним 01/12/23 Птн 13:25:18 919833 20
>>919832
Ты планируешь делать сюжетные игры и визуальные новеллы?
Аноним 01/12/23 Птн 13:27:59 919834 21
>>919833
Сюжетные, да. Очень глубокие сюжетные игры в которых чем меньше сюжета и диалогов, тем лучше.
Аноним 01/12/23 Птн 13:29:47 919835 22
>>919832
Зачем вайпаешь? Обсуждай это в соответствующих тредах.
Аноним 01/12/23 Птн 13:39:37 919836 23
Аноним 01/12/23 Птн 13:46:11 919839 24
>>919835
Вайпать это другое.
мимо не он
Аноним 01/12/23 Птн 14:14:54 919843 25
>>919821
Вот это реально полезная пикча. Схоронил!
Аноним 01/12/23 Птн 16:03:48 919857 26
Только сейчас раздуплился и заметил выход 4,2. Ещё и блендер недавно обновился до 4. Теперь вообще нет отговорок не делать свои игры. Пиздец.
Аноним 01/12/23 Птн 16:47:26 919865 27
>>919857
Есть.Бесмысленость занятия
Аноним 01/12/23 Птн 19:12:46 919906 28
>>919857
> нет отговорок не делать свои игры
Для настоящего прокрастинатора всегда найдётся отговорка.
Ты только погляди, какие крутые фичи нам готовят в 4.3 https://www.youtube.com/watch?v=R-oJzCGFnak
Надо только подождать.
Кирилл 01/12/23 Птн 20:36:42 919921 29
Screenshot2023-[...].png 846Кб, 1920x1080
1920x1080
Screenshot2023-[...].png 548Кб, 1920x1080
1920x1080
Screenshot2023-[...].png 321Кб, 1920x1080
1920x1080
basetexture.png 170Кб, 1024x1024
1024x1024
Может кто то сможет подсказать в чём проблема и как поправить.
Суть: Немного кирильствую, пилю игру мечты и т.д. Делал модельки и для каждой запекал текстуры отдельно. И понял, что как то дохрена килобайтов получается и надо оптимизировать.
Стал переделывать на текстурный атлас.
Есть модель бочки, для неё сделано 2 UV-карты. Одна натянута на область с цветом, вторая натянута на область с ржавчиной + альфой. И сделан шейдер, где это всё миксуется. В блендере вроде получается результат, но когда импортирую в Годо - получаю только ржавчину.

Годо 4.1 и 4.2 пробовал, Блендер 3.6 и 4.0 - результат одинаков. Импорт через GLTF.
Такое вообще реально в Годо импортировать ? Делал кто то так?
Аноним 01/12/23 Птн 20:47:35 919925 30
>>919921
> В блендере вроде получается результат, но когда импортирую в Годо - получаю только ржавчину.
У тебя в блендере применены все трансформы и скейлы?
Аноним 01/12/23 Птн 20:49:35 919927 31
>>919921
ааа....
Разглядел ьаки скрины.
У тебя в блендере шейлер смешивает два куска текстуры. Ты стало быть наваяй в годоте аналогичный шейдер на нодах.
Аноним 01/12/23 Птн 20:53:53 919929 32
1701453232783.png 182Кб, 1024x1024
1024x1024
>>919921
Либо в атласе своём заготавливай "запечённые" куски текстуры:
Аноним 01/12/23 Птн 21:25:08 919931 33
>>919929
>>919927

Спасибо за ответ!
Ну в общем Годо не умеет такое импортировать ?
Придётся почитать про шейдеры в годо, сходу тяжело, что то - не вышло сейчас собрать.
А "Запекать" атлас не хочется - ну есть синяя бочка, есть ржавая синяя бочка, сильно ржавая синяя бочка, есть грязная синяя бочка, есть синяя бочка, которую снегом припорошило ..... а теперь ещё хочется красную, зелёную и чёрную добавить ... А ещё та же история с ящиками, машинами, домиками .... атлас разрастётся сильно очень.

Ещё нашёл на ютубе пример с Vertex Color и поверх этого текстуру ржавчины накладывать и UV только 1 нужна (но там только про блендер)... Попробую ещё так завтра, может Годо переварит.
Аноним 01/12/23 Птн 22:23:38 919935 34
Я могу как-нибудь "раскрыть" вектор3 в 3 позиционных аргумента? В питоне есть , которое делает именно это. Например если функция принимает аргументы a,b,c я мог бы передать ей func_name(Vector3(1,2,3))
Аноним 01/12/23 Птн 22:28:06 919936 35
>>919935
>В питоне есть ,
ЗВЕЗДОЧКА. Бля, макаба все съела.
Аноним 01/12/23 Птн 22:36:49 919937 36
>>919935
Vec3 MyVector.x /MyVector.y/ MyVector.z
Аноним 01/12/23 Птн 22:42:40 919938 37
Аноним 02/12/23 Суб 00:34:33 919958 38
>>919931
Запекать удобнее.
Но миксовый шейдер тоже можно.

А так годот туповатый, да, нельзя один шейдер сделать и теребить параметры и униформы уникально (в 4 можно инстанс униформы задать)
Аноним 02/12/23 Суб 00:39:23 919959 39
>>919958
Ты опяьь путаешь шейдер и материал.
Ты можешь создать несколько материалов с одним шейдером.
Материал это и есть "переменная", структура в которой хранятся настройки для инстанса.
(Если подумать, то где то же должна быть переменная для каждого инстанса)
Шейдер при этом может быть один (его можно получить из встроенного материала нажав кнопку в инспекторе)
Аноним 02/12/23 Суб 00:57:07 919960 40
Использовал кто джолт в полноценном проекте? Технодемки не в счет. Как оно там?
Аноним 02/12/23 Суб 04:15:18 919984 41
>>919959
Ну, я профайлер и дебаг смотрел, на каждый материал генерируется и компилируется индивидуальный шейдер. Т.е. в рамках годота два независимых материала, даже если в него подцеплен код одного и того же шейдера, порождают две шейдерных программы. Увы, но это так.

Кроме того, материал хранит параметры не инстанса, а всей группы инстансов, т.е. целиком батч. Если будешь, например, вызывать дровколы инстансов раздельно друг за другом, меняя между ними некоторые параметры, то оно будет все дружно игнорить это и в итоге отрисует все инстансы с последним изменением параметров материала. Дров колы в годоте это всего лишь некое отложенное задание, оно не рисует инстанс прямо сейчас, а ждёт, пока там весь твой код исполнится, а потом берет последние параметры материала и бахает с ними все отложенные дровколы инстансов. Это довольно сильно напрягает, ведь ситуация такая, что даже нельзя какой нибудь индекс в конкретный инстанс через униформу отправить, чтобы хоть в шейдере самом что нибудь поменять. Хочешь тыщу цветов - придется ебать видеокарту тыщей материалов и тыщей шейдерных программ (не смотря на то что скрипт шейдера ты прицепил один м тот же, повторяю).

Ну, в 4 можно годоте появились инстанс униформы, и то с лимитами типа до 16 униформ, и нельзя текстуру отправить конкретному инстансу, только простые униформы типа fp и т.п. Но его же вроде как до сих пор под мобилки не поиспользовать нормально...
Аноним 02/12/23 Суб 08:51:03 920000 42
>>919931
> не умеет такое импортировать ?
Меня тоже это огорчило много лет назад, что оказывается, нельзя экспортировать внутреннюю кухню приложения. Только результат. (Но есть и исключения, но не в этом случае)
Аноним 02/12/23 Суб 10:30:01 920005 43
1701502201576.png 62Кб, 937x157
937x157
Годаны, а что происходит? Сворачиваю окно редактора, разворачиваю. Переключаюсь в браузер, потом обратно в редактор. Вижу пикрелейтед. Это только у меня или у всех?
Аноним 02/12/23 Суб 10:38:53 920006 44
1.png 154Кб, 1351x871
1351x871
2.png 390Кб, 1348x955
1348x955
3.png 936Кб, 1373x816
1373x816
4.png 123Кб, 1194x729
1194x729
>>919927
>>919931
>>919958
>>920000

Вместо того, чтобы миксовать два куска одной текстуры - использовал Vertex Color + текстуру, Работает вроде.
Что ж попробовал собрать шейдер из нод - вроде получилось.
Только выглядит, как то .... более "пластмассово" - это надо с освещением играть или что то в шейдере пробовать менять ?
Аноним 02/12/23 Суб 10:38:56 920007 45
>>920005
Это в твоем проекте или в пустом тоже? Версия, аддоны, тулскипты есть? Так то написано в чем ошибка и что надо делать. Есть моменты когда add child неаозможно сделать и его надо откладывать deferred на следующий кадр
Аноним 02/12/23 Суб 12:13:42 920014 46
1701508421469.png 2Кб, 252x73
252x73
1701508421484.png 8Кб, 264x174
264x174
1701508421493.png 26Кб, 495x310
495x310
1701508421494.png 50Кб, 937x125
937x125
>>920007
> в пустом тоже
Создаю пустой проект.
Создаю сцену (Node)
Назначаю скрипт.
Сохраняю.
Запускаю.
Проверьте все. У кого ещё так?
Аноним 02/12/23 Суб 12:14:19 920015 47
>>920006
> это надо с освещением играть
Зыс.
Аноним 02/12/23 Суб 12:16:59 920017 48
>>920006
>>920015
Обрати внимание, у тебя в блендере по дефолту есть освещение, в годоте по умолчанию освещения вообще нет, базовый енвайронмент без настройки, и то, только во вьюпорте редактора. Без глобального освещения, которое следует добавлять в сцену отдельно.
Аноним 02/12/23 Суб 12:20:29 920018 49
1638866496850.png 9Кб, 269x120
269x120
>>920017
Есть, это 4-ка же. Без освещения там были бы черные силуэты.
Аноним 02/12/23 Суб 12:26:05 920019 50
>>920018
>>920017
> и то, только во вьюпорте редактора
Запусти сцену. Просто нажми Ф6
Аноним 02/12/23 Суб 12:28:28 920021 51
1701509306928.png 320Кб, 984x899
984x899
>>920019
Запустил вместо тебя. Ну что? Где свет?
Аноним 02/12/23 Суб 12:33:22 920023 52
Как же бесит этот адд чайлд в консольке. Ну что вы молчите? Неужели у всех всё работает?
Аноним 02/12/23 Суб 12:54:18 920025 53
>>920023
В 3.5 все работает.
Аноним 02/12/23 Суб 13:32:37 920036 54
Аноним 02/12/23 Суб 13:59:23 920042 55
>>920036
Это походу пришло время переустанавливать шиндовс, раз у других не репродюсе.
Аноним 02/12/23 Суб 15:20:47 920051 56
>>920042
Баги разные бывают, не значит что шиндошс пора переустанавливать

Самый странный баг, или даже не баг а хуй знает что, что я встретил в своих проектах - мой системник скрипел, когда в моей игре закрывались/открывались StaticBody двери. Рили. Дверь открывается 0.25 секунды, и скрип 0.25 секунды. Всегда. Каждый раз. При желании я мог бы этим морзянку выбить. И нет, я не шиз. И нет, я на тот момент еще не добавил звуки. И да, это похоже на кратковременное завывание кулера видюхи.
Аноним 02/12/23 Суб 15:32:48 920053 57
>>920051
В этот момент происходит какой-нибудь рассчет коллижнов, и допустим сложный полигон оказывается внутри другого и обсчитывается какая-нибудь глубокая рекурсия.
Аноним 02/12/23 Суб 16:23:04 920061 58
>>919821
Вообще-то не совсем так. В верхней половине углы отрицательные, в нижней положительные. По крайней мере, функции типа Vector2.angle, Vector2.angle_to_point так работают.
Надо взять деления с картинки и проделать:
wrapf(value, -PI, PI) для радианной шкалы,
wrapf(value, -180, 180) для градусной шкалы.
Тогда будет верно.
Аноним 02/12/23 Суб 17:35:08 920070 59
>>920051
Если системник потрогать, он не перезагружается?
Аноним 02/12/23 Суб 19:56:56 920096 60
>>920070
Не хочу трогать, он зимой от сухого воздуха статикой стреляет.
Аноним 02/12/23 Суб 21:01:42 920098 61
5.png 265Кб, 1164x685
1164x685
>>920017

Добавил как есть в игру, расставил источники цвета, покрутил туда-сюда, как то смотрится всё равно хуже блендера. Придётся ещё пояндексить ...
Аноним 02/12/23 Суб 22:40:08 920112 62
>>920098
Ого, круто, реальный скрин реального аноньего проекта.
Аноним 03/12/23 Вск 10:46:16 920161 63
6.png 277Кб, 1224x955
1224x955
>>920006
>>920098

В последний раз вкачусь сюда с этой бочкой, проблема со светом - оказалась проблемой с нормалями.
В шейдере, нормали, вместо Normal, я в Normal Map засунул.
И проблемы с тенями оттуда же. Мало ли пригодится кому.
В общем поправил стало похоже на Blender по картинке. Можно теперь нормальные текстуры делать.
Аноним 03/12/23 Вск 13:06:04 920174 64
>>920161
Теперь ты умеешь делать бочку.
Аноним 03/12/23 Вск 13:42:29 920179 65
Сообщу вам что банально добавив тайпхинты в самый интенсивный кусок кода я выжал десяток дополнительных фпс. Реддит меня не наебал. Переписать на плюсах было бы лучше, но у меня лапки.
Аноним 03/12/23 Вск 13:50:06 920181 66
o51ZxKE7kIKjQgSr.mp4 1240Кб, 544x846, 00:00:24
544x846
А что, когда они сырую 4.3 выкатят? Не терпится ощутить новые суперфичи!
Аноним 03/12/23 Вск 14:01:21 920182 67
>>920181
Из нее получился бы хороший персональный раб.

4.3 по идее в первом квартале 2024, если они выдержат новый ускоренный график.
Аноним 03/12/23 Вск 15:04:11 920202 68
>>920161
учитесь, сынки, чел не сдался при трудностях и сделал бочку(литерали), ещё и решение в тред запостил
Аноним 03/12/23 Вск 15:07:14 920204 69
>>920182
Ну да, а у нас тут ещё и праздники, правда у них там в основном рождество только, но всё равно, команда-то разноплановая. Могут чисто затащить и первую-две альфа-бетки выпустить ещё в этом году. Минимум одну должны по идее.
Аноним 04/12/23 Пнд 00:26:39 920335 70
image.png 556Кб, 797x583
797x583
Как же ахуенно получается, всё таки смог родить годное, хотя там ему всем миром помогали
Аноним 04/12/23 Пнд 00:50:00 920341 71
>>920335
Лучше бы физон починили уже.
Аноним 04/12/23 Пнд 04:14:11 920354 72
>>920335
Какое-то дилдо серое на подставке, или что это?
Аноним 04/12/23 Пнд 11:22:58 920395 73
>>920341
Jolt бери и не выёбывайся.
Аноним 04/12/23 Пнд 12:56:27 920413 74
Делойте игры.
Аноним 04/12/23 Пнд 13:00:54 920416 75
>>920413
Покажи на своём примере. Заряди нас мотивацией.
Аноним 04/12/23 Пнд 13:05:04 920417 76
>>920416
Вжух и ты заряжен.
Аноним 04/12/23 Пнд 13:05:10 920418 77
>>920395
Поддерживаю. Делал управление от первого лица, персонаж дергался. Долго не мог понять в чем дело. Перешел на Jolt и прошло
Аноним 04/12/23 Пнд 13:09:59 920420 78
image.png 2535Кб, 1920x1080
1920x1080
image.png 4522Кб, 1920x1080
1920x1080
image.png 4686Кб, 1920x1080
1920x1080
Это Годот.
Аноним 04/12/23 Пнд 17:54:56 920474 79
>>919832
А Роберт Маки то где? Остальное не так важно.
Яндекс.бабки Аноним 04/12/23 Пнд 18:20:52 920475 80
Не знаю куда обратиться с вопросиком, но хотел бы поинтересоваться у ребят в теме:
Сколько получает разраб с одного бокового баннера, видеоролика с наградой и всплывающей рекламы на Яндекс играх? Я это выясню в ближайшую неделю на практике, но хотелось бы почитать спойлер мнение бывалых игроделов, чтобы сопоставить свой и Ваш результат. По моим расчётам-догадкам за баннер сбоку платят от 0.02Руб за ячейку до 0.5Руб.
Аноним 04/12/23 Пнд 18:55:35 920479 81
>>920475
Понятия не имею, владею цифрами только на западный трафик от нескольких лет назад. В РФ сейчас наверное плоховат с CPM. Погугли. Или пояндекси. А потом еще свое в тред отрепорть.
Аноним 04/12/23 Пнд 19:02:30 920482 82
>>920475
> Не знаю куда обратиться с вопросиком
>>644645 (OP)
> Ньюфаготред. Если вы не знаете куда вам - вам сюда.
Аноним 04/12/23 Пнд 20:02:10 920499 83
>>920474
Если ты про "Историю на миллион долларов" то она у меня уже есть.
Аноним 04/12/23 Пнд 20:08:31 920502 84
>>920420
Выглядит как типикал шутер нулевых
Аноним 04/12/23 Пнд 22:40:37 920518 85
Кто-нибудь понимает как на телефоне разблокировать фпс? В настройках все выставил, всинк выключил, на пк 400, на телефоне все еще залочено под 60.
Аноним 04/12/23 Пнд 23:30:10 920519 86
>>920518
Навскидку варианты.
1. Это какой нибудь сяоми который режет фепесы оптимизаторами. Как их отключать надо гуглить, не факт что это можно сделать из игры.
2. Может быть ты не все выставил? Там где-то есть то ли target_fps, то ли frame_delay. То ли force_fps. Force_fps = 0 подразумевает максимально возможный.
3. Нативная или браузерка? Браузеры любят лочить всинк.
4. Ты тестишь release или debug версию?
5. Возможно это реальная производительность данной игры на телефоне. 400 это не такой большой запас, всего то раз в 6
Это пустая сцена или там уже с эффектами, поотключай всякие. Или наоборот добавь раза в 2 моделей пока не начнет снижаться.
6. В одном месте прочитал что у чувака в 3-ке gles2 не лочит, а gles3 лочит, звучит странно конечно, может быть связано с дровами и п.1
Аноним 04/12/23 Пнд 23:39:12 920522 87
>>920519
Дебаг версию. Бинарный билд, загруженный в телефон напрямую из годота. Я тоже начитался странных репортов. На юнити-форумах пишут что андроид не позволяет всинк выключить, но иногда позволяет если включишь обновление экрана в 120гц (мой телефон в него умеет, включил - все еще 60 фпс). Игровой режим включил - все еще 60. Глесы тоже перещелкал - без эффекта. Нашел варианты с рутованием телефона и выключением всинка в системных настройках - с этим заморачиваться влом.

В целом я уже получил нужное через мониторинговые функции годота и как ты сказал сцены с разной нагрузкой. Просто странно что андроид такой ебучий.
Аноним 04/12/23 Пнд 23:58:51 920523 88
FE0fjzXMAcR1CE.jpg 258Кб, 1702x2048
1702x2048
Аноним 05/12/23 Втр 00:07:10 920524 89
image.png 1678Кб, 1702x2033
1702x2033
>>920523
Кривыми руками добавил на картинку квадратно-гнездовое мышление. Не благодари.
Аноним 05/12/23 Втр 00:07:19 920525 90
>>920523
Слышь не ломай. Делой.
Аноним 05/12/23 Втр 00:25:45 920527 91
А стандартная физика в Godot 3 считается нормальной, с ней можно просто из коробки делать какие-нибудь игры, завязанные на физике? Или лучше не надо? Вопрос и про 2д и про 3д.
Аноним 05/12/23 Втр 00:29:05 920528 92
>>920527
В тройке в 3д по дефолту буллет. В 2д - годот физикс. Буллет более взрослый и стабильный, но на самом деле оба они говно, и если ты хочешь завязать основной геймплей на физику, аля портал, - лучше не стоит. А для пинания бочек/собачек подойдет.

В 4 джолт говорят норм.
Аноним 05/12/23 Втр 00:35:49 920531 93
AALn232lnXSEUmA.mp4 5402Кб, 1468x720, 00:00:09
1468x720
>>920523
Годетта хочет новое лого
Аноним 05/12/23 Втр 00:37:59 920532 94
>>920531
Так вот что называется ноги от ушей.
Аноним 05/12/23 Втр 00:38:55 920533 95
>>920528
Нормальная физика, просто чтобы строить вокруг нее игру, надо добавить своих костылей, которых к любой физике стоит добавить. Например лимит скоростей линейной и вращения, два слоя статик боди в стенах для выталкивания, свои импульсы в интегрейт форс и тд
Аноним 05/12/23 Втр 00:45:33 920535 96
>>920533
Не нормальная. Открой гитхаб и пробегись по тегу физикс, там банальный стек из 10 ригидбоди друг в друга как говно проваливается. Половина из подобных багов с бородатых годов висит, а чел, который пытался это разгрести, был украден Рокстарами. Танцевать с костылями можно, но это не для нюфага развлечение, да и не для каждого не-ньюфага. Так что я просто жду джолт в дефолтной сборке.
Аноним 05/12/23 Втр 00:58:11 920537 97
>>920535
Не для нюфага, да. Ну так игры на физике и не для нюфагов.
Про стек помню, там написано что для стека надо настройки подбирать отличаюшиеся от дефолтных
Аноним 05/12/23 Втр 04:56:03 920544 98
Почему тайлмап в годот 3 такой странный? Он просто какой-то непонятный, перегруженный, надо по одному добавлять тайлы... хз бля
Аноним 05/12/23 Втр 05:51:17 920547 99
пиксельный лазер.png 4Кб, 735x740
735x740
Делюсь рецептиком, вдруг кому пригодится.

Понадобилось мне тут для своей пиксельной игрули сделать линию (line2d) так, чтобы она шла строго под 45 градусов, но при этом выглядела так же пиксельно, как и вся игра. Ну то есть, как путь слона на шахматной доске. Её нельзя было нарисовать в виде спрайта, потому что она должна была динамически изменять свою длину, типа это лазер.

Для начала я нарисовал текстуру 2x2, где верхний правый и нижний левый пиксели закрашены, а верхний левый и нижний правый - прозрачные. Задал эту текстуру линии. А дальше стал вертеть шейдер так и эдак. В итоге получилось вот что.
>const float cos_45 = 0.707107;
>const vec2 sqrt2 = vec2(1.41421);
Это предварительно подсчитанные косинус 45 градусов (он же у этого угла синус) и корень из двух.
Дальше в void fragment:
>vec2 uv = vec2(cos_45 UV.x - cos_45 UV.y, cos_45 UV.x + cos_45 UV.y);
Это школьная формула поворота вектора на определённый угол, легко гуглится.
>uv = uv / sqrt2;
Без этого на линии в ширину будет помещаться полтора пикселя. А надо ровно один, чтоб уголки точно на краях линии.
>uv = uv + vec2(0.25);
А без этого линия будет начинаться не с уголка пикселя, а с середины.
>COLOR = texture(TEXTURE, uv);
Ну и окрашиваем итоговую картинку согласно полученным координатам.
А, и ещё ширину линии надо выставить 1.41421 - корень из двух.
Результат - пикрилейтед. Идеально совпадает со всеми прочими пикселями во всей остальной игре. Ну, то есть, почти идеально, всё-таки у шейдеров есть некоторая погрешность при работе с отдельными пикселями, но это практически не заметно, если не приглядываться. Например, на пикриле есть небольшой косяк.
Аноним 05/12/23 Втр 05:52:33 920548 100
>>920547
сцуко, в который раз уже забываю про съедающиеся макабой звёздочки.
Аноним 05/12/23 Втр 06:48:08 920558 101
>>920544
Не трогай тайлмапы в годоте, сразу переходи на LDTK.
Аноним 05/12/23 Втр 09:10:04 920564 102
Реально ли сделать какой нибудь аналог ravenfield/battlefield 2 на годоте, при этом с лучшей производительностью?

У меня двухьядерный ноут и тот же равенфилд лагает, хочу сделать шутер для таких же нищуков как я + поддержку модов
Аноним 05/12/23 Втр 09:14:04 920565 103
И часто вижу игры с хуевой графикой но на них накручены всякие спецэфекты типа теней и AO, и проц грузят как ебанутые
Куча 2д игр которые лагают, фризят в отличие от какой нибудь мафии 2, гта са
Аноним 05/12/23 Втр 09:15:02 920566 104
>>920564
Учитывая что ты можешь в любой момент подправить движок под твои нужды - реально всё, вопрос в трудозатратах
Аноним 05/12/23 Втр 11:30:12 920575 105
>>920573
>> с лучшей производительностью?
>Нет, такого не получится, это же годот.

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

Что там в том движке будет жрать производительность если я сделаю мегаоцталый графон?
Аноним 05/12/23 Втр 12:27:03 920586 106
>>920585
Пиздец, а какой двигун тогда взять чтобы свою батлу сделать для некропеки? Голдсорс какойнибудь?
Аноним 05/12/23 Втр 12:35:43 920587 107
>>920586
Никакой. У тебя хотелки оторванные от реальности. Флаппи берд лучше сделай.

>>920547
А почему обычная лайн2д не подошла? Она же тоже пикселизируется в соответствии с твоим разрешением. Или пиксели в этом лайне должны быть больше игровых пикселей?
Аноним 05/12/23 Втр 12:40:22 920588 108
>>920586
Конечно же используй ECS! Используй Flecs или EnTT, это будет основной движок игры и с ним придётся попердолится с си или с си++ и примитивными технологиями. На этот движок ты будешь подключать какую-то свою либу рендера, например bgfx или голый opengl/вулкан. Можно даже годот четвёртый взять на место рендера, если будешь проводить соответствующие низкоуровневые оптимизации и использовать только низкоуровневые функции.
Аноним 05/12/23 Втр 12:41:59 920589 109
>>920533
> два слоя статик боди в стенах для выталкивания
Где об этом почитать?
Я тут на днях размышлял, как сделать гарантированное выталкивание из стен при глитчах.
Аноним 05/12/23 Втр 12:56:56 920590 110
170176949416097[...].mp4 216Кб, 442x360, 00:00:04
442x360
>>920588
>Конечно же используй ECS! Используй Flecs или EnTT, это будет основной движок игры и с ним придётся попердолится с си или с си++ и примитивными технологиями. На этот движок ты будешь подключать какую-то свою либу рендера, например bgfx или голый opengl/вулкан. Можно даже годот четвёртый взять на место рендера, если будешь проводить соответствующие низкоуровневые оптимизации и использовать только низкоуровневые функции.
Аноним 05/12/23 Втр 13:49:18 920594 111
>>920590
Какие запросы такие и ответы. Ты хочешь улучшить производительность батлы второй, а она не самая требовательная игра так-то. Чтобы улучшить нужно быть лучше EA, иметь меньше абстракций чем у ЕА, иметь больше низкоуровневого кода чем у ЕА. Не уверен что даже используя Flecs и EnTT сможешь этого добиться значительного прироста производительности, максимум 20-30. Улучшить производительность на 40 и более процентов понадобится свой ECS движок, переписывания множества функций на ASM, очень тщательная проработка каждой геометрий и материала на локациях, множество уловок и хаков.

Но это всё не так страшно как кажется. Особенно использование сторонник ECS движков и рендеров, это уж точно не страшнее использования таких движков как юнити и годот. Добиться своими силами увеличения производительности минимум на 20-30% ты точно сможешь без написания своего движка. Заодно интеллект себе забустишь, пока будешь в этом во всём разбираться.
Аноним 05/12/23 Втр 14:10:27 920596 112
image.png 119Кб, 893x724
893x724
image.png 98Кб, 893x662
893x662
Неплохо так в андроиде вулкан забустился. И опенгл 3 тоже. На что переходить с gles2, если пилишь под мобилки? Вулкан или опенгл 3?
Аноним 05/12/23 Втр 14:19:49 920598 113
>>920587
>Она же тоже пикселизируется в соответствии с твоим разрешением
Нет. Она при любом увеличении выглядит гладкой, так как представляет собой (внутри движка) 3Д объект. Если графон типа Селесты, где пиксель игры занимает 8 реальных пикселей экрана, линия будет визуально выбиваться.
Аноним 05/12/23 Втр 14:30:03 920599 114
>>920594
А ты сколько уже геймдевом занимаешься?
Аноним 05/12/23 Втр 14:30:58 920600 115
Screenshot from[...].png 101Кб, 1338x696
1338x696
Screenshot from[...].png 106Кб, 1338x696
1338x696
>>920598
У меня не выбивается. Размер игрового поля - 128х64, размер окна (test width/height) - 512х256. Получается 1 пиксель игры занимает 4 реальных.
Аноним 05/12/23 Втр 14:35:00 920603 116
>>920558
Собирать уровень в другой программе и импортировать в годот? Жуть какая
Аноним 05/12/23 Втр 15:15:33 920613 117
>>920586
Не будет там вдвое медленнее, лол. Тебя посетил ецс-шизик, просто репорти его за движкосрач.
Аноним 06/12/23 Срд 00:32:02 920700 118
Аноним 06/12/23 Срд 01:42:04 920709 119
>>920700
Так а сколько не хватает-то?
Аноним 06/12/23 Срд 02:13:24 920710 120
>>920709
А сколько у тебя есть?
Аноним 06/12/23 Срд 09:42:25 920729 121
>>920613
Как сделать чтобы за игроком следовали боты, типо как в "overlord" ? При этом была возможность менять построения

2д игра с видом сверху
Аноним 06/12/23 Срд 09:42:52 920730 122
Упс, случайно ответил
Аноним 06/12/23 Срд 11:42:36 920754 123
>>920729
> возможность менять построения
Построения - это массив точек. К игроку/(или к любому другому нужному тебе пивоту) крепится само построение. В смысле, логически крепится, тебе не надо наследоваться от ноды, если чо. Просто высчитываешь: var bot[1].destination = formation[1] + destination_pos
Далее, как ты заметил из кода выше, боты организуются в пул (массив) равный по размеру формации. Лишние переключаются на другие задачи. У ботов свой собственный расчёт траектории движения по навмешу. И у этой траектории есть назначение. Если бот включён в построение, он должен получить сообщение об этом и свой индекс в построении. И дальше уже он сам всё сделает.
В общем ничего сложного. Просто садишься и делаешь.
Аноним 06/12/23 Срд 14:12:14 920811 124
Аноним 06/12/23 Срд 18:17:27 920914 125
Делайте игры.
Аноним 06/12/23 Срд 18:26:06 920916 126
>>920914
На новогодних каникулах постараюсь довести до играбельного прототипа!
Аноним 06/12/23 Срд 20:40:54 920937 127
>>920914
Я хочу делать игры, но анончики отказываются мне бесплатно арт в тред выкладывать. А сам я в арт не умею. А анончики не умеют в код. Так и сидим.
Аноним 06/12/23 Срд 21:28:17 920941 128
>>920599
Лет 7 уже, но у меня специфические задачи всегда были, навроде твоих, всякий рендер делал для лоу-энд устройств. получается очень хуёво
Аноним 06/12/23 Срд 21:28:56 920942 129
>>920937
С чего ты решил что программировать умеешь? Умел бы программировать сумел бы и арт найти.
Аноним 06/12/23 Срд 21:35:56 920945 130
1701887685171.jpg 229Кб, 1024x1024
1024x1024
1701887685265.jpg 241Кб, 1024x1024
1024x1024
1701887685316.jpg 257Кб, 1024x1024
1024x1024
1701887685354.jpg 222Кб, 1024x1024
1024x1024
>>920937
Я иногда выкладываю нейроарт, правда если много его могут потереть. Можешь еще в этом треде поискать >>917100 (OP)
Что то конкретное трудно получить, это скорее лутбокс где может выпасть брильянт
Аноним 06/12/23 Срд 21:36:47 920946 131
>>920937
Запрограммируй процедурную генерацию арта.
Аноним 06/12/23 Срд 22:34:34 920953 132
Да ну, минималистичный арт делается легко. Не охуевайте главное, не пилите сложные анимации, лучше вообще не делайте анимаций. Никаких ног-рук - это самый геморрой. Посмотрите, например, на римворлд или на battle brothers - всем похуй что там конечностей нет. Лучше прокачайте стиль, формы и возьмите готовую цветовую палитру.
Аноним 07/12/23 Чтв 13:50:54 920982 133
>>920942
> С чего ты решил что программировать умеешь?
Мама так сказала.
Аноним 07/12/23 Чтв 16:53:53 920992 134
>>920953
Можно просто на кубах сделать, все равно для людей главное геймплей...
Аноним 07/12/23 Чтв 17:26:10 920995 135
Аноним 07/12/23 Чтв 18:08:00 920999 136
>>920992
Неиронично все так. Но и один шаг от кубов - уже вин, причем не трудный. Но почему-то все сразу уровень хотят фуллрига с анимацией, потом жопу себе рвут и дропают геймдев.
Аноним 07/12/23 Чтв 18:52:20 921004 137
>>920999
Базовый фуллриг с анимацией это не сложно, скачать модельку и миксамо анимации и вставить в animtree занимает день, ну допстим неделю-две разобраться если совсем с нуля.
Аноним 07/12/23 Чтв 19:06:25 921006 138
>>921004
Вот только у тебя вся игра должна соответствовать такому уровню, а не один лишь ГГ.
Аноним 07/12/23 Чтв 23:43:17 921055 139
>>921006
>>921004
>>920999
Вы все неправильно подходите к созданию игры. Не с того вы начинаете. Поэтому у вам и игр нет до конца доделанных!

А тем временем в 4 версии появилась подсказка, с чего следует начинать делать игру: если добавить скрипт чарактербоди, то там будет одна интересная строка: var gravity = ProjectSettings("gravity")
Вот это оно. Это намёк на то, с чего должен начинаться предпродакшен игоры мечты.

Пока ты не открыл спойлер с ответом, можешь проверить себя и предположить сам, что я имею ввиду?

Итак.
Ответ на обороте:
Этой строкой в шаблоне чарактербоди показывает нам, что до того как мы начнём писать основную логику игры, нам следует позаботиться об организации хранилища данных будущей игры, сделать его настолько удобным для себя, как вот этот вызов ProjectSettings() для Хуана. И в дальнейшем это хранилище прекрасно заменит собой все магические числа в будущих скриптах. Ты машинально будешь писать, например, var bullets_amount = MyDB.get("default_bullets_amount", 10) вместо var bullets_amount = 10
Аноним 08/12/23 Птн 01:11:52 921067 140
Пока вы тут рассказываете друг другу как игры делать, а сами нихуя не делаете, Хуан 15 лямов получил:

W4 Games raises $15M to drive video game development inflection with Godot Engine
https://w4games.com/2023/12/07/w4-games-raises-15m-to-drive-video-game-development-inflection-with-godot-engine/

Как я понял бабло пойдет на фуллтайм девелоперов Годота и на коммерческую инфраструктуру вокруг, типа сонсолей. И нет, W4 Games это не Godot Foundation.
Аноним 08/12/23 Птн 02:22:47 921070 141
>>921067
И че это значит для нас, работников завода? Годот будут быстрее и лучше допиливать?
Аноним 08/12/23 Птн 03:13:49 921072 142
Не понимаю в чем разница _init() и _ready() в ситуации, когда у тебя рожается новая вещь и ей выставляются параметры через скрипт.

типа чем отличается:

var id
var name

func _ready():
id = 1
name = "pivo"

и
var id
var name

func _init():
id = 1
name = "pivo"

?
Аноним 08/12/23 Птн 03:21:00 921073 143
>>921072
Читай документацию
init вызываются в прямом порядке по дереву, ready в обратном.
NodeParent
-NodeChild

Parent.init()
Child.init()
Child.ready()
Parent.ready()

К моменту ready его дети уже гарантировано тоже ready
Аноним 08/12/23 Птн 03:51:20 921074 144
>>921070
И на консоли портировать. Интересно кстати что там с санкциями
Аноним 08/12/23 Птн 08:02:01 921079 145
изображение2023[...].png 327Кб, 1200x1200
1200x1200
Есть два стулпа сцена уровня игры, и, к примеру, 30 сцен мобов. Если в ready скрипта уровня я буду грузить все 30 сцен:

Scene1 = GD.Load<PackedScene>("res://Scene1.tscn");
...
Scene30 = GD.Load<PackedScene>("res://Scene30.tscn");

дабы потом их использовать, это сильно повлияет на производительность\длительность загрузки уровня? Или стоит заморочиться и написать такую логику, чтобы грузить сцены только по необходимости, а не все сразу?
Аноним 08/12/23 Птн 12:37:53 921096 146
Аноним 08/12/23 Птн 13:14:59 921102 147
>>921079
Хз что такое GD.Load. Делай прелоад как все нормальные люди - оно загрузится так рано, как возможно. Вероятно еще на этапе запуска игры.
Аноним 08/12/23 Птн 13:32:02 921103 148
>>921079
Возьми и сам проверь, ёпта. У тебя уже весь код на руках просто загрузи 100500 инстансов в лоад и замерь время, а потом 100500 инстансов в прилоад и тоже замерь время.
>>921102
Это шарп же.
Аноним 08/12/23 Птн 16:51:16 921138 149
170204308008321[...].jpg 565Кб, 1440x1920
1440x1920
Какие вообще есть мастхев уроки/курсы по годоту? Желательно на русском

Сейчас смотрю на ютубе mr.D и он прямо дохуя моментов не объясняет а пропускает и кладет хуй
Приходится дрочить нейронку вопросами
Аноним 08/12/23 Птн 17:09:45 921141 150
>>921138
Нет толкового на русском, зумеры одни тупые. Смотри на инглише. Вот >>921096
Аноним 08/12/23 Птн 17:24:18 921145 151
170204445551483[...].webm 3164Кб, 360x640, 00:00:30
360x640
>>921141
Что это на превьюшке? Женщина? В пизду, не могу бабтй голос терпеть пиздец, и чуство такое блять отвратительное когда тебе что то баба расказывает
Аноним 08/12/23 Птн 17:42:14 921147 152
>>921145
Подрочи и сможешь полчаса слушать даже бабу. Такой тебе лайфхак.
Аноним 08/12/23 Птн 18:21:17 921151 153
>>921138
Оф документация текстом, кроме шуток. Прям начинаешь и все по порядку читаешь начиная с вводных и туториалов. Доки к нодам тоже, там не все конечно обязательно, но в корневых типа node, node2d/node3d canvasitem, physicalbody и тд много ценной инфы.
Аноним 08/12/23 Птн 19:16:19 921164 154
>>921006
Так статические пропсы проще чем ригнутые анимации делать.
Аноним 08/12/23 Птн 21:43:59 921208 155
170206005812319[...].jpg 2180Кб, 4608x3456
4608x3456
Сделал такой вот код для рандомного спавна деревьев (координаты рандомные в скрипте сцены дерева)
Все работает, но я вот нихуя не пойму что делает "instantiate()" ? И почему это не появляется в подсказке окошка автозаполнения? Я сначала подумал у меня такой функции вообще нет, хотя годот свежий
Аноним 08/12/23 Птн 21:54:12 921212 156
Вроде нейронка обьяснила так:
Instantiate просто создает экземпляр сцены а вот его уже надо крепить корнями как вековой дуб к другим нодам функцией add_child
Аноним 08/12/23 Птн 22:27:09 921220 157
>>921208
Да это хорошо но может научишься такой функцией как ножницы?
Аноним 08/12/23 Птн 22:27:59 921221 158
Аноним 08/12/23 Птн 22:55:15 921225 159
Аноним 08/12/23 Птн 23:59:52 921228 160
>>921220
Я с пеки на двачаэ не сижу, а тред искать лень
Намного проще так
Аноним 09/12/23 Суб 07:54:59 921263 161
>>921228
Вангую, что ты просто боишься оставить двач в истории браузера, потому что комп не твой. Ничего страшного. Просто юзай приватные вкладки! Я на работке так капчую. В случае чего - хуяк и комп чист.
Аноним 09/12/23 Суб 07:55:31 921264 162
Аноним 09/12/23 Суб 07:58:51 921265 163
>>921225
> Годоти
У меня бабушка в деревне так разговаривала.
> Идити картоплю копати
Ты бабушка?
Аноним 09/12/23 Суб 08:17:18 921269 164
>>921263
Чел, если ты стыдишься тут сидеть это не значит что и все стыдятся
Я тебе написал как есть, нехуй выдумывать
Аноним 09/12/23 Суб 08:19:49 921270 165
Есть много Area 2D на экране, они двигаются по экрану и иногда совпадают.

Как мне сделать так, чтобы клик регистрировался только по одной ("верхней?") Area 2D, когда они накладываются друг на друга?
Аноним 09/12/23 Суб 08:37:11 921273 166
>>921270
Пусть все арии записывают регистрацию клика по себе в один общий массив, тогда ты из массива берёшь первый элемент. Первым пришёл - первым ушёл.
Аноним 09/12/23 Суб 09:18:19 921287 167
>>921273
Первый элемент не обязательно будет самым верхним, он просто будет самым первым в дереве нод.
Аноним 09/12/23 Суб 09:20:52 921288 168
>>921287
Насколько я понял вопрошающего анона, у него нет доступа к поддереву дерева в котором у него арии. Иначе бы и вопроса не возникло. Просто берёшь парент всех арий и хватаешь первого чайлда по списку, который принял сигнал.
Аноним 09/12/23 Суб 09:25:38 921291 169
Кто и как переводит документацию годота на русский? Мне нехуй делать, хочу попереводить
Аноним 09/12/23 Суб 09:37:06 921295 170
>>921288
>и хватаешь первого чайлда по списку, который принял сигнал
Ты не понял что ли? Первый чайлд не обязан быть самым первым на экране.
Аноним 09/12/23 Суб 09:41:26 921296 171
>>921295
Видимо, да. Продемонстрируй на скринах, штоле.
Аноним 09/12/23 Суб 09:43:58 921297 172
>>921291
Я как-то переводил одну книжку на русский, потому что книжка редкая и существует только на инглише. К середине книги я понял, that I has no need to translation anymore.
Аноним 09/12/23 Суб 10:34:12 921301 173
>>921296
На каких скринах? Что ты несешь? Элементы в дереве не обязаны располагаться так же как на экране, ты понимаешь это или слишком сложно?
Аноним 09/12/23 Суб 10:34:48 921302 174
>>921270
Официально рекомендуемый способ:
1. Принимать инпут через _unhandled_input
2. Хандлить инпут через Viewport.set_input_as_handled()
>>921228
>тред искать лень
Ленивая жопа. Точто так же тебе лень делать нормальный скрин, да?
Подсказка. Заскринил, переслал себе в телегу ("избранное"). А ещё есть KDEConnect, с ним файлы с компа на телефон перекидывать ещё проще. Зато у анончиков глазки не бо-бо.
Аноним 09/12/23 Суб 10:42:17 921304 175
>>921301
Тогда мы возвращаемся к моему первому совету. Клик будет сталкиваться с ариями в том порядке, в каком они попадутся клику на экране, и далее клик будет передаваться следующему элементу. Если все арии будут записывать себя в некий общий массив, то мы получим, что первый элемент массива, это именно первая встреченная нами нода из искомых. Задача решена.
Аноним 09/12/23 Суб 10:43:37 921305 176
>>921304
... и как заметил анон выше, это всё следует делать в анхандледе.
Аноним 09/12/23 Суб 12:55:37 921331 177
>>921291
Технический английский простой - выучишь. И остальные выучат. Будучи студентом я переводил документацию к библиотекам, и скажу что перевод крайне неблагодарное дело, а быть переводчиком хуже чем быть червем-пидором.
Аноним 09/12/23 Суб 16:27:13 921393 178
>>921331
Я сам раньше был хейтером этого, но теперь в эпоху нейросетей-переводчиков нет ни одной причины не читать источники на английском сразу, если они более полные. Смысла там теряется при автопереводе ну максимум процентов 10-15%, а в технической литературе и то, скорее всего меньше. Перевод нужен только если есть самоцель сделать нормальный перевод, но это самоцель уровня выкопать ровную шахту, вроде бы здорово, но сил потратишь ебанись.
Аноним 09/12/23 Суб 18:52:54 921423 179
Вот уже месяца три в режиме чилла сижу и до сих пор кажется, что я не понимаю ничего. Нет, ноды, синтаксис и методы gdscript, интерфейс, настройки проекта, инспектор и прочее - всё вроде знакомо в какой-то степени. Платформер могу сделать. Top down ходилку могу сделать. Текстовую игру на менюшках может быть могу сделать. Но как делать игры? И зачем?
Аноним 09/12/23 Суб 18:56:49 921424 180
>>921393
>Но как делать игры?
На этот вопрос получишь ответ когда выложишь с десяток законченных игр. Хотя бы на итч. И чтобы в них люди играли.
>И зачем?
Как зачем сука? У нас Годетта за такие вопросы убивает нахуй!
Аноним 09/12/23 Суб 18:57:25 921425 181
Аноним 09/12/23 Суб 20:16:43 921435 182
>>921423
> как делать игры?
Вилкой. Садись и делай! Делай!
> И зачем?
Внутри нод уже лежит твоя игра мечты. Тебе нужно всего лишь как скульптору высечь из нод свою игру. Проявить её в реальность.
Аноним 09/12/23 Суб 21:56:57 921455 183
Всем сладкой ночи. Не могу в реализацию простой идеи: подключил вот этот плагин диалога в свою жрпг.
https://www.youtube.com/watch?v=DL79aS-dT7E&list=PLWEX_DQyaQyyquh1NHU2onWyYUsfQCI_3&index=8
Однако, при перелистывании вариантов диалога кнопками персонаж тоже начинает двигаться. Пытался поставить на паузу, а диалог вывести отдельно — не получается почему-то, диалог тоже встает на паузу, хотя не должен. Пытался в шину событий, тоже не получается. Я даун или с плагином что-то не так? (Я даун)
Помогите(
Аноним 09/12/23 Суб 22:19:50 921459 184
>>921455
А что в шине событий не получается? Насколько я понимаю дизайн твоей шины в том чтобы ловить нажатие кнопки и отправлять от нее сигнал персонажу когда двигается при стейте "движение" и отправлять сигнал "листать фразы" когда он получает от диалога "начало диалога"?
Аноним 09/12/23 Суб 22:33:40 921461 185
>>921455
Стейт-машины спешат на помощь!
Заводишь список стейтов enum control_states { ingame, indialog }
И заводишь отдельную стейтмашину только для того, чтобы переключаться между стейтами из этого списка. Как-то так. В такой примитивной реализации тебе весь код контроллера придётся обернуть в дополнительный иф.
А чтобы этого не происходило (оборачивания в дополнительный иф на каждый чих) нужно во-первых делать нормальную стейтмашину со стейт-объектами. Во вторых, надо заранее проектировать игру, чтобы ты не стопорился на таких очевидных подводных камнях как это "добавил в игру диалоги и теперь половину игры переделывать".

Стейт-машина со стейт-объектами хороша тем, что в ней нет ни портянки ифов, ни матча, что аналогично по сути. В ней логика делегирована в стейты. Если ты ходишь, у тебя стейт "ходьба" и в нём реализован инпут ходьбы, анимация ходьбы и т.п. При нажатии на прыжок, контроллер переключается на стейт прыжка/падения. Если это всё грамотно реализовать, то добавление диалогов в такой контроллер было бы для тебя написанием простенького стейта-адаптера диалогового аддона.
Аноним 09/12/23 Суб 22:37:42 921464 186
1702150586850.png 136Кб, 1920x1080
1920x1080
1702150586873.png 476Кб, 1920x1080
1920x1080
1702150586945.png 182Кб, 1920x1080
1920x1080
1702150586956.png 268Кб, 1920x1080
1920x1080
Ну не знаю
Перерисовать самодумия за неделю от руки?
Так то тема атмосферная, темнота, мусорник, мерзлота, кровьпойло
Аноним 09/12/23 Суб 22:45:06 921465 187
>>921459

var state := "idle"
func handleInput():
if state == "idle":
var moveDirection = Input.get_vector("left","right","up","down")
velocity = moveDirection*speed
elif state == "talk":
stay()

Где stay это просто пустышка с пасс. Я не понимаю, где менять переменную, потому что внутри диалоговой системы он ее не видит. Пишу ее и в скрипте персонажа, и в скрипте левела и в глобале, ни фига
Аноним 09/12/23 Суб 22:46:14 921466 188
>>921461
Да я пытаюсь в стейт-машину, но у меня не выходит)
Аноним 10/12/23 Вск 00:04:18 921477 189
>>921466
Я тут решил набросать тебе пример стейтмашины на классах, но пока набрасывал, до меня дошло, что можно ещё круче и проще. Стейт-машина на замыканиях (они же лямбды, они же Callable). Тебе не придётся кучу классов создавать, а удобство такое же (минимум if-ов)

Держи https://pastebin.com/yGF2JfS0

Принцип тот же, что я выше описал. Состояние машины - это одна определённая функция, которая вызывается в один момент времени. При смене стейта, меняется вызываемая функция. Это охуеть как удобно. Неважно, каким образом обеспечивать смену функции, классами или лямбдами. Главное суть.
Аноним 10/12/23 Вск 00:31:26 921480 190
>>921465
Так а если во втором варианте инпут гет вектор делоть, а велосити равно не делоть?
Аноним 10/12/23 Вск 03:19:25 921485 191
Норм ли выложить 2D игру в HTML5 с GLES3? Или если экспорт в браузер, то всегда лучше GLES2?
Аноним 10/12/23 Вск 03:38:35 921486 192
>>921485
Норм. В годоте 4 глес2 вообще выкинули ибо устарел, так что все экспортят с глес3. Только макоебы в пролете, у них яббл багами кишит который год.
Аноним 10/12/23 Вск 13:13:01 921506 193
Аноним 10/12/23 Вск 13:50:03 921510 194
>>921485
Для 2д бери глес2, навскидку не припомню причин брать глес3. Вот в 3д другое дело там спецэффекты не все будут, террейн придется искать другие аддоны или писать свой и тд. Но для 3д и так видяха помощнее надо а там глес3 скорее всего уже есть, это только минус всякие некросмартфоны
Аноним 10/12/23 Вск 13:59:44 921511 195
>>921510
В 3д с глесом2 еще косяков хватает. Пришлось на глес3 переползти в одном проекте, потому что глес2 на мобилках освещение портил. Впрочем, поддержка опенгл 3 уже на приемлемом уровне -> >>920596
Аноним 10/12/23 Вск 16:48:58 921545 196
Еще уйдет пару лет точно,прежде чем годо 4 войдет в мейнстрим.
Аноним 10/12/23 Вск 22:22:26 921608 197
image.png 154Кб, 802x483
802x483
Аноним 10/12/23 Вск 22:35:41 921611 198
>>921608
Пора делать игру мечты на 4ке
Аноним 10/12/23 Вск 22:37:19 921612 199
Аноним 10/12/23 Вск 22:53:58 921617 200
image.png 7071Кб, 2490x1837
2490x1837
image.png 7696Кб, 2488x1849
2488x1849
>>921608
Слева лайтмапы, справа новый реалтайм. Подозрительно хорошо выглядит, рефлекшн пробы не нужны, странно, что кроме хуанна и ко никто не реализовал это, всё какие-то рейтрейсинги. Юнити до сих пор лайтмапы совершенствует, отчеты пишет. Кстати, чую скоро аддончики этого хуановского рендера на ассетсторе появятся
Аноним 10/12/23 Вск 23:39:59 921628 201
>>921617
>пик2
че за обосранные лесенки? где размытие
Аноним 10/12/23 Вск 23:47:06 921630 202
image.png 3025Кб, 1701x868
1701x868
>>921628
Там допиливать еще дофига, главное, что база правильная, пишут что производительность заебись
Аноним 10/12/23 Вск 23:54:55 921632 203
Аноним 10/12/23 Вск 23:56:29 921634 204
1702241785443.png 720Кб, 1621x776
1621x776
Аноним 11/12/23 Пнд 00:43:37 921636 205
>>921634
Ебани 9000 фильтров чтоб как в PS2 и готово. Сейчас такие игры отлично продаются.
Аноним 11/12/23 Пнд 12:23:34 921687 206
>>921608
Тестанул, пока говно, ждем допила
Аноним 11/12/23 Пнд 12:29:41 921692 207
Аноним 11/12/23 Пнд 16:31:51 921745 208
Как работает Area3D в 4.2?
Есть CSGBox3D (коллизии включены), который расположен внутри Area3D (слои/маски не менялись). В _physics_process() печатается наличие коллизий. Проблема в том, что Area3D не видит куб.
В 3.5 точно такая же сцена работает, как ожидается.
Аноним 11/12/23 Пнд 16:38:38 921747 209
Ещё одна проблема.
В блендере создаю куб с длиной стороны 2м. Скейлю куб по оси Z в 0.5 раз. Экспортирую в годот в формате glb. Получаю get_aabb().size этого меша. Печатается (2, 2, 2), хотя ожидается (2, 1, 2).
Аноним 11/12/23 Пнд 17:18:22 921756 210
>>921745
>Проблема в том, что Area3D не видит куб.
Не видит каким механизмом?
>>921745
В блендере трансформы применены? Но вообще да, странно что размер не тот в любом случае.
Аноним 11/12/23 Пнд 18:37:25 921763 211
>>921756
> В блендере трансформы применены?
Скорее всего нет.
мимо
Аноним 11/12/23 Пнд 21:58:00 921800 212
>>921756
>>921763

Применил трансформы - помогло, спасибо.
Касательно Area3D - в _physics_process() печаетеся area.get_overlapping_bodies(). В 4.2 печатается пустой массив, то есть внутри области ничего нет, хотя там расположен CSGBox3D. В 3.5 схожая сцена печатает необходимый куб.
Аноним 11/12/23 Пнд 22:06:37 921801 213
>>921800
С 4-кой помочь не смогу. Включи в дебаге рисование коллайдеров, убедись что они реально есть в пространстве. Посмотри слои коллайдеров, а так хз.
Аноним 12/12/23 Втр 00:07:29 921810 214
Делайте игры.
Аноним 12/12/23 Втр 12:49:31 921888 215
>>921800
> Применил трансформы - помогло, спасибо.
Ну анон, ну это база же. Ну в каждом туториале по блендеру, же, ёпт! Ну как так-то?
Аноним 12/12/23 Втр 12:49:58 921889 216
>>921810
Покажи на своём примере. Мотивируй.
Аноним 12/12/23 Втр 13:26:56 921899 217
Почему в четверке, в тайлмапах, вместо индекса тайла сделали инт-вектор2 с координатами тайла на атласе? В этом есть оптимизация? Интересно узнать.
Аноним 12/12/23 Втр 16:42:28 921926 218
Поможет ли опыт в Godot разобраться в других движках, например в Defold или в Construct 3? Это не движкосрач, все движки имеют свои инструменты и особенности.
Аноним 12/12/23 Втр 16:49:42 921928 219
>>921926
Поможет, он сложнее, но если освоишь более сложное, уже не будет смысла переходить на простое, оно более ограниченное
Аноним # OP 12/12/23 Втр 16:57:06 921929 220
>>921926
> Поможет ли опыт
Да.
Аноним 12/12/23 Втр 17:03:28 921930 221
Что лучше по перформансу, омнилайт без теней или hdr glow?
Аноним 12/12/23 Втр 20:18:56 921959 222
>>921926
Мне не помог. Я совался в тот же Дефолд, так и не смог, мне там не хватало всяких нужных штук.
Аноним 12/12/23 Втр 21:13:02 921964 223
>>921930
Не очень понятно как ты их сравниваешь.
Омнилайт не подсвечивает воздух вокруг же. Или ты про туман?
Вообще включи и сам измерь.
Аноним 12/12/23 Втр 21:13:46 921965 224
>>921926
Как ты себе представляешь использование инструмента из C3 в разработке игры на годоте?
Аноним # OP 12/12/23 Втр 21:17:00 921966 225
>>921965
Если говорить о констракте.
Мы это обсуждали мноооого тредов назад. Можно сделать констракт-аддон. Кстати, на четвёрке это еще проще сделать. Либо аддон, либо заготовить констракт-стайл-сцены из которых потом складывать "ивентщиты".
Аноним 13/12/23 Срд 10:47:13 922047 226
Аноним 13/12/23 Срд 12:47:08 922076 227
>>922047
А твой дон хуан это кто? Владелец нинтендо? Или может владелец плейстейшон?
Аноним 13/12/23 Срд 15:02:49 922122 228
image.png 15Кб, 668x110
668x110
>>922047
В основном ты платишь Сони/МС/Нинтендо за их закрытые СДК и ключи, а не Хуану. Но полагаю W4 и свой процент берет тоже. Интересный момент - по правилам W4 ты можешь купить 800-баксов тир и на выбранной платформе публиковать неограниченное количество игор
Аноним 13/12/23 Срд 16:12:55 922140 229
Появляется ахуенная идея для игры, уже мысленно пишешь скрипты на свои мега-механики, а на следущий день она уже кажется какой то хуетой
Что делать с этим?
Аноним 13/12/23 Срд 16:19:37 922143 230
>>922140
>а на следущий день она уже кажется какой то хуетой
Значит сразу была хуета
>Что делать с этим?
Придумать истинно годную идею. Накидывай много, через несколько дней смотри какая из них не кажется хуетой, ту и реализовывай
Аноним 13/12/23 Срд 17:37:45 922154 231
image.png 2036Кб, 1826x1120
1826x1120
>>921687
>>921608
Короче Хуан чутка подправил, кажется, что перспективы у этого ги огромные, реально производительность отличная, даже отражения есть. Пока не без недостатков, протечки, пятна, но он клянется доработать
Аноним 14/12/23 Чтв 04:29:46 922232 232
>>922154
Что за штука?
Это в скринспейсе делается, типа как SSDO?
Аноним 14/12/23 Чтв 10:07:01 922277 233
>>922154
Там все на зубодробительном вулкане, или есть шанс что такое бекпортирют в 3-ку?
Аноним 14/12/23 Чтв 13:29:18 922318 234
>>922277
В тройку уже ничего серьезного не бекпортируют. Когда-нибудь выйдет долгожданный 3.6 с минорными фиксами-патчами, а дальше все, приехали.
Аноним 14/12/23 Чтв 16:56:13 922363 235
>>922318
Ну так то туда много чего бекпортировали, вопрос сугубо про ГИ, я им никогда не пользовался и не знаю че почем.
Аноним 14/12/23 Чтв 16:56:52 922364 236
Аноним 14/12/23 Чтв 17:10:57 922366 237
>>922363
Это ты жалуешься, что четвёрка тормозит?
Я тут начал портировать сапёра (постил скрины ИТТ) с трёшки на четвёрку. Так вот. Функция заполнения тайлмапа 100 на 100 (10к тайлов) в трёшке выполнялась с неприятным нюху протормаживанием в несколько секунд, а в четверке аналогичное действие выполняется в пределах фрейма. Ну это так, к слову, насчёт скоростей.
Аноним 14/12/23 Чтв 21:18:50 922403 238
>>922364
Это опенсорс? Бери и пользуйся?
Аноним 14/12/23 Чтв 21:55:11 922413 239
>>922403
Чувак вроде любит все в публичный доступ под CC0 выкладывать, так что да
Аноним 14/12/23 Чтв 22:44:57 922418 240
image.png 1396Кб, 1024x769
1024x769
Я не пойму никак, в чем разница между Baked Lightmap и GI Probe? Оба запекают свет. По документацию вижу что GI Probe только на GLES3 работает. В чем еще отличия? Кто из них умеет освещать динамичные объекты, например Rigid Body?
Аноним 14/12/23 Чтв 22:46:35 922419 241
>>922403
Лицензия стоит СС0, паблик домейн. Можешь хоть продать как есть.
Аноним 14/12/23 Чтв 23:08:21 922423 242
>>922418
Лайтмапы это как текстура, на производительность почти не влияет, но там недостатков много, солнце вращать нельзя, а ги пробы вроде воксельные, доки читай
Аноним 14/12/23 Чтв 23:47:40 922426 243
image.png 310Кб, 1280x720
1280x720
Аноним 15/12/23 Птн 02:06:14 922433 244
Мне кажется, что я ненавижу делать игры. Я делаю игру и понимаю, что выходит хуита. Чем дальше в разработку - чем хуже себя чувствую. И это в годоте, где за тебя 75% уже сделано, сиди просто ноды расставляй.
Аноним 15/12/23 Птн 02:15:18 922434 245
>>922433
Снижай, как говорится, скоп. Делай игры меньше, идеи оригинальней, прокачивай визуальный стиль.
Аноним 15/12/23 Птн 16:51:44 922520 246
1702648301092.jpg 162Кб, 553x700
553x700
>>922433
> Мне кажется, что я ненавижу делать игры.
Делай программы.
Аноним 15/12/23 Птн 17:03:53 922526 247
>>922520
Все программы уже сделаны до вас, а те которые ещё не сделаны до вас, невозможно создать в одиночку на слабом домашнем ПК. Тут нужна команда специалистов и несколько квантовых суперкомпьютеров, вот тогда получится программа которую точно не создавали до тебя другие люди.
Аноним 15/12/23 Птн 17:04:57 922530 248
ИТТ очередной ментальный гимнаст, выворачивающийся через жопу чтобы оправдать свою прокрастинацию.
Аноним 15/12/23 Птн 17:15:39 922532 249
>>922526
> создать в одиночку на слабом домашнем ПК
Вот мы и добрались до сути. Иди денег заработай на нормальный комп, и не ной тут. Курьером иди. Пробздись.
Аноним 15/12/23 Птн 17:19:44 922534 250
>>922526
Зачем мощный компьютер для разработки программ?
Аноним 15/12/23 Птн 18:01:56 922542 251
>>922534
Двачую. Ладно в вебе может быть еще (чтобы сервера на ноде поднимать и селениумы гонять с автотестами, да и то можно просто писать разметку и пушить на сервак для сборки), но вот например для сишечки вполне достаточно некроноута с блокнотом. И можно делать кучу полезного софта. Я например участвую в разработке компилятора нового языка, да много в чем можно поучаствовать, кроме каких то тяжелых нейронок.
Аноним 15/12/23 Птн 19:06:26 922551 252
Аноним 15/12/23 Птн 20:51:19 922572 253
image.png 313Кб, 738x469
738x469
Делойте игры.
Аноним 15/12/23 Птн 21:36:58 922586 254
>>922551
> Это другой человек.
Это тот же человек. Та же персона.
>>922572
Да как же делать игры теперь? Я не могу решить одну важнейшую задачу: допустим игрок вместе с боссом убивают друг друга. Как обрабатывать такой случай?
Аноним 15/12/23 Птн 22:15:56 922598 255
>>922586
>Это тот же человек. Та же персона.
Но личность-то разная.

>важнейшую задачу
Если ты казул - засчитывай ситуацию в пользу игрока. Если хардкорщик - в пользу босса.
Аноним 16/12/23 Суб 00:52:22 922611 256
>>922586
С точки зрения программирования, так не бывает. Они обрабатываются по очереди. Даже если ты запихиваешь урон в стак, а потом применяешь. То потом при проверке у кого ноль, в этот момент меняется состояние игры. Получается что убить друг друга они могут только если ты специально запрограммируешь условие if p.hp==0 and e.hp==0. Потому что иначе, у тебя уже сработало условие if p.hp==0: win() а там может быть условие if alreadylose: return #fuckyou
Если же с точки зрения гейм дизайна. Если игрок убил босса, босс уже не может убить игрока, у него нет способности делать атаки. Игрока может задавить тушка босса, но это другое. Его может убить тик урона ядом или выпущенная раньше боссом ракета. Но вообще тут зависит, можно и уничтожить все источники урона от поверженного врага. А можно не уничтожать, если тебе такое нравится. Видел в играх, когда после победы надо еще секунд 5 постоять выжить, чтобы засчиталось.
Аноним 16/12/23 Суб 04:55:34 922626 257
>>922418
Лайтмап - освещение и ги запечены в текстуру, один раз запек и используешь.

Пробка - стоит камера, которая смотрит в 6 направлений, и каждый кадр рендерит со своей позиции все вокруг в 6 текстур, которые потом объединяет в одну и выдает на объект, которому прописано.
Аноним 16/12/23 Суб 05:04:39 922627 258
>>922418
Забудь о них
GI слишком тормозное пока, нужна ракета чтобы работало
Запекание же сломано, хотя его несколько раз переписывали, оно так и не заработало увы. Можешь issue чекнуть
Аноним 16/12/23 Суб 14:44:35 922659 259
>>922626
Спасибо.

>>922627
>Можешь issue чекнуть
Нашел, да. Вот это самое потешное: https://github.com/godotengine/godot/issues/71162

Как тогда минимально требовательное динамичное освещение делать? Расставлять редкие омнилайты без теней?
Аноним 16/12/23 Суб 15:24:07 922665 260
>>922611
Но ты не учёл накладываемые эффекты, которые твином постепенно уменьшают хп. И пока идёт анимация вин, перс может помереть.
Аноним 16/12/23 Суб 16:26:20 922680 261
>>922665
Учел, читай 3-е предложение с конца.
Аноним 17/12/23 Вск 00:38:55 922860 262
Аноним 18/12/23 Пнд 00:58:22 923013 263
Аноним 18/12/23 Пнд 13:04:29 923037 264
На новый год буду делать игори. И вы делайте.
Аноним 18/12/23 Пнд 13:18:57 923040 265
>>923013
Выглядит круче зилановского плагина.
Аноним 19/12/23 Втр 03:45:55 923132 266
image.png 102Кб, 331x336
331x336
Аноним 19/12/23 Втр 08:32:54 923143 267
>>923132
То есть больше шитпостов от хуана не будет?
Аноним 19/12/23 Втр 09:00:03 923146 268
>>923132
Тоесть годот это сойжаковый лгбт бодипозитив движок
Аноним 19/12/23 Втр 12:55:22 923168 269
>>923146
Это тема для движкосрач треда. Если вкратце, то весь софт сегодня левый. Праваков в айти уже не осталось. За подробностями - в движкосрач.
Аноним 19/12/23 Втр 13:52:49 923173 270
>>923143

То есть народ и партия едины, отщепенцы, льющие воду на мельницу буржуазного империализма, будут наказаны по принципам революционной законности! Ура, товарищи! Вперёд, к диктатуре сойетариата!

>>923168
Союз партийцев и беспартийных в едином порыве решительно выступает не только против правых, но и против левых уклонистов!
Аноним 19/12/23 Втр 17:11:30 923219 271
>>923168
>Праваков в айти уже не осталось.
Земля стекловатой.
Аноним 19/12/23 Втр 17:30:42 923224 272
>>923146
Я из-за этого его и выбрал вместо юнити.
Аноним 19/12/23 Втр 19:53:57 923278 273
>>923132
Первая тянучька на сосисочном фесте годота. Не то что у вас тут.
Аноним 20/12/23 Срд 01:09:32 923362 274
Я могу как-нибудь объединить две анимации AnimationPlayer? Например idle анимацию с открыванием рта?
Аноним 20/12/23 Срд 04:40:22 923369 275
Аноним 20/12/23 Срд 21:01:45 923437 276
>>923362
Можно.
В среднекрупных играх без animationtree с блендингом не обойтись
В мелких, мб тебе и не надо их объединять. Если например айдл анимация анимирует тело и голову как объекты, а эмоции отдельно анимируются прямо в объекте лицо
Аноним 20/12/23 Срд 21:05:43 923438 277
1703095389219.jpg 220Кб, 1024x1024
1024x1024
1703095389278.jpg 197Кб, 1024x1024
1024x1024
1703095389353.jpg 177Кб, 1024x1024
1024x1024
1703095389517.jpg 163Кб, 1024x1024
1024x1024
Инры делайте кстати
Аноним 21/12/23 Чтв 09:30:55 923484 278
image.png 24Кб, 874x562
874x562
Как добиться такого эффекта в 2д топ даун?
Черное - некий домик (спрайт и коллизжен бокс), а розовое, очевидно, игрок.

Если включить Y сортировку, то получается только 1 и 3, что очевидно.

неужели нужно вручную в каждом кадре сравнивать координаты всех объектов и игрока с кучей if условий?

Хочется иметь универсальное решение какое-то.
Аноним 21/12/23 Чтв 09:35:04 923485 279
>>923484
Нихуя непонятно что ты хочешь и зачем сравнивать координаты
Аноним 21/12/23 Чтв 09:35:04 923486 280
>>923484
Ну то есть в данном конкретном случае я могу Y offset поставить посредине спрайта, там где уголок, и тогда будет работать.

Но это годится только для прямоугольных и угловых домиков.
Короче скажите что-нибудь, я чувствую что не туда копаю
Аноним 21/12/23 Чтв 09:47:33 923487 281
>>923485
Хорошо, сейчас попробую.

Представь 2Д топ даун карту, и на ней спрайтовые объекты, деревья там, дома, вот такое вот.

Игрок может стоять перед объектом, и тогда он рисуется поверх объекта.
Игрок может стоять позади объекта, и тогда он рисуется позади, так что торчит только голова а тело скрыто.

Для этого я могу включить Y сортировку нод, но этот способ годится только для простых форм. Я хочу понять как мне сделать универсальное решение такой задачи, которое не зависит от формы объекта.
Аноним 21/12/23 Чтв 10:27:56 923491 282
>>923487
Где то в инспекторе толи персонажа, толи тайлмапы есть менюшка "слои" или "уровни"
Может там сделать можно
Аноним 21/12/23 Чтв 11:26:35 923499 283
Есть котаны, которые могут подучить этим двиглом пользоваться?
Аноним 21/12/23 Чтв 11:27:46 923500 284
>>923499
Куча уроков на ютубе и документация с гайдом как сделать простенькую игру
Аноним 21/12/23 Чтв 12:53:20 923508 285
>>923487
Я делал довольно плотную на спрайты 2д топ даун. Решал такими хаками: слои, множественные Y-sort ноды, большие спрайты резал на спрайты поменьше, старался избегать диагональных спрайтов. Итог не идеален, но неплох. Как я понял результата лучше можно добиться только с помощью 2д внутри 3д.
Аноним 21/12/23 Чтв 13:55:22 923511 286
Аноним 21/12/23 Чтв 22:49:24 923561 287
Аноним 21/12/23 Чтв 23:39:03 923570 288
1585887684591.png 93Кб, 300x168
300x168
1549388654724.png 1449Кб, 1280x720
1280x720
1590211584294.png 145Кб, 1312x605
1312x605
>>923484
Подвох в том, что это не топдаун. Хотя 99% игроков назовут это топдауном, с точки зрения разработчика это более специфичная вешь, не имеющая общепринятого названия - oblique, 3/4 angle, frontal, изометрия повернутая на 45 и т.д. А классический топдаун - это Хотлайн Майами. А в oblique ты действительно получаешь некоторые проблемы, схожие с изометрическими проблемами. Конкретно в твоем случае, вроде бы, достаточно разрезать Г на два прямоугольника. Скорее всего, это можно делать автоматически, наверняка есть алгоритм находящий в полигоне прямоугольники (и точно для годота есть ассет. который строит по спрайту полигон).
Аноним 22/12/23 Птн 01:08:27 923580 289
>>923570
Слишком сложный костыль, такое точно делать не буду.

А если игрок пускает луч вниз, и если там прямо рядом что-то есть, то понижает свой z индекс?

Звучит как универсальная рабочая схема?
Аноним 22/12/23 Птн 01:28:20 923581 290
>>923580
Костыль нужен только если у тебя сотни домов которые лень разрезать вручную
Аноним 22/12/23 Птн 01:44:13 923582 291
>>923484
Делай как деды в SS13 завещали, забей хуй и делай стены в топдаун, персонажей во фронталке, обьекты в 3/4. Мозг игрока прожует и адаптируется.

Графика такого уровня это скорее символы чем именно картинка. Все детали игрок будет додумывать и фантазировать сам.
Аноним 22/12/23 Птн 01:48:28 923583 292
image.png 295Кб, 480x352
480x352
>>923582
Вот так. Попробуй посчитать количество проекций на скриншоте.
Аноним 22/12/23 Птн 02:12:20 923585 293
image.png 514Кб, 640x360
640x360
image.png 424Кб, 640x360
640x360
Делайте в 3д и не ебите мозги ни себе, ни игрокам. Хуле все так 3д боятся?

Не говоря уже про то, что сейчас целый новый жанр от больших дядек образуется - HD2D, а вы все сидите-пердите костылями из жопы.
Аноним 22/12/23 Птн 02:15:15 923586 294
image.png 2983Кб, 1920x1080
1920x1080
image.png 1904Кб, 1280x720
1280x720
Аноним 22/12/23 Птн 02:37:08 923589 295
1650336101358.png 11Кб, 320x200
320x200
>>923484
Просто отключи возможность заходить как на 3. Это же неудобно для игрока.
Вообще говоря можно и 1 и 2 отключить.
Аноним 22/12/23 Птн 02:42:19 923590 296
>>923585
Потому что уродливо выходит. Ты б ещё предложил делать спрайты из 3д моделек и шакалить их
Аноним 22/12/23 Птн 03:28:48 923593 297
Аноним 22/12/23 Птн 21:29:59 923686 298
Надеюсь что здесь не объявится личинка, что пыталась завербовать меня в годотство.

В общем сап годач, такие вопросы есть:
1. Можно ли в годе отключить динамическое освещение, и запекать его в статику?
2. Насколько хорошо будет использовать движок с сижарпом? Есть подводные?
3. Анонче, обьясни в трех словах общий принцип работы годота.

Всем спасибо и тричая
Аноним 22/12/23 Птн 21:40:45 923687 299
>>923686
Да
Норм
Ноды, сцены. Предпочитай композицию вместо ООП

Пожалуйста
Аноним 22/12/23 Птн 21:43:04 923689 300
>>923687
импакт детектед.
че за односложные ответы, из одноклов вылез, скуфидон?
Аноним 22/12/23 Птн 21:47:32 923690 301
>>923686
>Можно ли в годе отключить динамическое освещение
Оно и не включено изначально (для этого надо добавлять ноды типа GI, directional light ит д
Ambient light конечно есть
>и запекать его в статику?
С этим насколько я помню были проблемы. Один из вариантов - запечь его еще в блендере в текстуры комнат
>Насколько хорошо будет использовать движок с сижарпом?
Нормально, но честно говоря смысла в этом мало. Гдскрипт простой язык для быстрой разработки, для вещей потяжелей всегда можно скомпилить что то на с++.
Подводные есть, навскидку что-то там с производительостью тысяч рейкастов, и экспорт веб версии не поддерживает многопоточность и гднатив, это может быть важно.
>Анонче, обьясни в трех словах общий принцип работы годота.
В плане? Устройство двжика описано в доках, гитхабе и т.д. Пиши конкретней.
https://godotengine.org/article/godot-3-renderer-design-explained/
>личинка, завербовать, годотство.
Какой то шизонабор слов, так себе ты зашел, лол.
Аноним 22/12/23 Птн 21:59:53 923691 302
>>923689
Иди нахуй, шиз. Тебя тут с ложечки кормить должны? Говна поешь, вот тебе ложечка.
Аноним 22/12/23 Птн 22:15:42 923695 303
>>923690
Спасибо анон, стало понятнее. Два чаю теье
Аноним 23/12/23 Суб 11:52:53 923743 304
1573739838810.png 82Кб, 758x295
758x295
1555238820610.png 80Кб, 612x350
612x350
1605357634268.png 60Кб, 759x298
759x298
>>923561
Обновился. Стало чуть стабильнее, хотя на моем некролинуксе иногда редактор все равно зависает.
При обновлении вылезает много страшных предупреждений о смене внутренного формата мешей. Требуют запускать конверсию.
У меня в тестовом проекте вроде сконвертировалось все без проблем, по крайней мере косяков сразу не заметно (миксамо риг бегает, прыгает, плавает как раньше, домики набегают).
Но вы делайте бекапы.
Какие то плагины надо обновить, zylann hterrain сыпал ошибками, но уже сделанный работал, скорее всего опять синтакс гдскрипта или апи где то меняли, и в редакторе или тулскрипте какой то тип не совпал.
Аноним 23/12/23 Суб 11:55:09 923744 305
Хотя там речь про 4.2, а я их вроде в 4.2 dev 6 и делал, ну да ладно.
Аноним 23/12/23 Суб 16:31:47 923772 306
>>923743
Ждем от тебя игру как минимум АА уровня.
Аноним 23/12/23 Суб 17:03:47 923776 307
> winget install godot
Аноним 23/12/23 Суб 18:58:37 923787 308
>>923776
>не собирать самому из сорцов через github actions
>>923772
Там просто тестовый проект в духе cursed pantsu с накиданными ассетами
Вряд ли в ближайший год будет время им заниматься
Аноним 23/12/23 Суб 19:08:47 923790 309
>>923787
Щас бы на венде что-то из сорцов собирать.
Не ну мы-то с тобой соберём, не вопрос, а вот простой игродел не будет пердолиться, ему ещё игры делать.
Аноним 23/12/23 Суб 19:46:09 923795 310
>>923790
Ну во первых на винде то собирается легко, надо только пререквизиты установить, а потом можно запускать батник
Во-вторых я же написал
>github actions
Конечно тут можно сказать что майкрософт может подлить зондов, но тут или доверять (они и на венде и студией подлить могут), или хотя бы собрать из стабильной ветки и сравнить совпадет ли с официальным бидлом.
Аноним 23/12/23 Суб 20:02:26 923799 311
>>923795
> Во-вторых я же написал
> >github actions
А я сходил и посмотрел. Нихуя не понял, но создалось впечатление, что там какие-то уже собранные левые билды висят. О чем речь вообще? О какой сборке?
Аноним 23/12/23 Суб 20:04:59 923800 312
1703351099291.png 18Кб, 452x329
452x329
1703351099309.png 19Кб, 401x513
401x513
>>923795
> собрать из стабильной ветки и сравнить совпадет ли с официальным бидлом
Не совпадёт.
Стабильные билды подписаны, твой - нет.
Аноним 23/12/23 Суб 20:17:36 923802 313
>>923799
Github action буквально по скрипту пересобирает, по умолчанию на каждый пуш новых исходников.
Вот этот скрипт https://github.com/godotengine/godot/blob/master/.github/workflows/runner.yml
Дергает скипты платформ
https://github.com/godotengine/godot/blob/master/.github/workflows/windows_builds.yml
Там бывает указана матрица билдов (напр дебаг/релиз и для каждого 32/64 бит вариант и т.д) Там же можно указать свои флаги например чтобы собрать только 2д темплейт без 3д
Потом он дергает скрипт сборки https://github.com/godotengine/godot/blob/master/.github/actions/godot-build/action.yml
По сути можно скопировать себе на акк репозиторий, закомментить ненужные тебе билды и собирать на серверах MS
>>923800
Справедливо, к тому же у них я смотрю не все сборки делаются, которые в релиз идут. Наверное потом манагер собирает на какой то своей машине (виртуалке?) и подписывает.
Аноним 23/12/23 Суб 20:21:01 923803 314
>>923802
> и собирать на серверах MS
Ну, сборка движка не так уж и часто нужна, можно потерпеть и 15 минут на своей днищепеке. Но в целом идею я понял. Спасибо за разъяснение.
Аноним 24/12/23 Вск 00:10:30 923825 315
На awesome godot есть ссылка на следующий проект. Это, так понимаю, шаблон для ММОРПГ. Меня в нем смутило то, что разработчику пришлось форкать годот, для внесения изменений, я так понимаю.
github.com/Relintai/broken_seals

Собственно говоря, вопрос: Чтобы сделать что-то более менее серьезное, придется форкать движ и ваять на плюсах?
Аноним 24/12/23 Вск 00:33:17 923832 316
>>923825
Если для тебя форкать движ и ваять на плюсах это что-то сложное, то в ММО лучше не соваться. Но нет, не обязательно. На реддите видел ммо-проекты на gdscript. Но все равно. Не суйся в ММО. Оно тебя сожрет.
Аноним 24/12/23 Вск 01:31:55 923833 317
>>923825
Да не смущайся ты, тут все свои.
Во-первых, не путай форкать и компиляцию модулей.
Форкать обычно подразумевает вносить изменения в ядро самой программы. Модули же расширяют движок, хоть и требуют перекомпиляции.
Емнип у автора там два модуля, один для генерации биомов террена, второй для игровой логики типа ECS для заклинаний
Для первого с++ разумно, там наверняка надо больше скорости для генерации вершин. А второе вряд ли, возможно у автора просто уже были наработки и он захотел использовать годот как рендер, хз.
Я тоже потихоньку пишу рогалик где логика на плюсах. Но необходимости в этом нет, у меня просто есть на нее планы использовать в серваке, в обучении нейронки, в обфускации от хакиров и т.д
Аноним 24/12/23 Вск 03:12:37 923836 318
>>923833
Там форк движка, в ридми указан. Пандемониум какой-то.
Аноним 24/12/23 Вск 03:38:09 923837 319
Аноним 24/12/23 Вск 03:38:59 923838 320
>>923837
Или он слишком буквально воспринял фразу "замораживайте версию движка когда работаете"
Аноним 24/12/23 Вск 04:34:24 923839 321
image.png 1177Кб, 1280x720
1280x720
А можно как-то _снизить_ качество освещения? Добавить полосы как на скрине слева? Годо называет убирание полос debanding, а мне, получается, нужен banding. Ничего нагуглить не могу. Куда копать?
Аноним 24/12/23 Вск 04:38:24 923840 322
>>923839
Забыл добавить, у меня 3д и спотлайт.
Аноним 24/12/23 Вск 07:14:30 923844 323
image.png 292Кб, 674x727
674x727
image.png 279Кб, 677x700
677x700
Аноны, есть один бэкграунд(TextureRect), на нем есть области(отмечены желто-зелеными овалами) на которые юзер может нажимать (после нажатия появляется меню).
Как это лучше реализлвать?
Сейчас я это сделать просто отдельными спрайтами и задумка в том, что после нажатия на экран я буду проверять точку нажатия и сравнивать с координатами доступных областей. Звучит как рабочая схема.
Но вылезла проблема при скейлинге(пик.2), области не привязаны к бэку и тянутся отдельно.
Куда копать для решения данной проблемы?
Аноним 24/12/23 Вск 09:42:18 923846 324
>>923832
Тю, я и не обезумел, ммо ваять. Скорее по механикам хочу нечто подобное с фермингом мобов, но максимум рассчитанное на кооператив.
Аноним 24/12/23 Вск 09:52:02 923849 325
>>923844
Попробуй засунуть все в контрол нод.
Аноним 24/12/23 Вск 10:16:13 923851 326
Dev snapshot: Godot 4.3 dev 1
Я в экстазе
Аноним 24/12/23 Вск 11:06:08 923854 327
>>923839
Эм... Купи дешёвый монитор. Там бандинг из коробки. Без возможности дебандинга.
Аноним 24/12/23 Вск 11:08:16 923855 328
>>923844
> Но вылезла проблема при скейлинге(пик.2), области не привязаны к бэку и тянутся отдельно.
> Куда копать для решения данной проблемы?
Хранить актуальный скейл и умножать на него при обновлении позиций оверлейных контролов.
Аноним 24/12/23 Вск 13:21:42 923877 329
Вопрос о перформансе.
Отсматриваю ролики по годоту в раздумьях, не столкнусь ли я с теми же проблемами.
Статеры замечаю частые. Взять того же miziziziz с его трехмерной игрулькой. Она натурально тормозит.
Что вообще может в годе оказывать влияние на перформанс? Там профайлер есть?
Аноним 24/12/23 Вск 13:26:04 923878 330
>>923846
Делай тогда кооп на одном экране, локальный кооп. Он легко делается и хорошую нишу имеет - всегда хоть немного, но востребован. Но и сетевой можно.
Аноним 24/12/23 Вск 14:00:51 923881 331
>>923877
Делай игру года 9/10, там всем будет похуй на статтеры, если игра интересная. Это везде работает кста.
Аноним 24/12/23 Вск 14:06:29 923882 332
>>923877
Профайлер есть. На перформанс оказывает влияние нечтение документации, где описаны все подводные камни.

>>923844
Как уже сказали - пихай в контрол нод, контрол нод ставь в layout full rect.
>я буду проверять точку нажатия и сравнивать с координатами доступных областей
Что, вручную? Почему бы тогда не заменить спрайты на texturebutton, у которых есть эвент pressed? Сразу жизнь себе упростишь.
Аноним 24/12/23 Вск 14:19:39 923883 333
>>923878
Двачую. Весь ноябрь пересматривал стримы по дарксолсам (а мог бы игры делать, да) и частенько подмечал и статтеры и грузящиеся перед ебалом лоды. Но об этом никто не говорит, всем тупо похуй. Потому что типичный игрок в дарксолсы видит не статтеры, и не прогрузку лодов, а видит он Лотрик и Нью-Лондон, взмахи меча и тайминги отпрыга.
Аноним 24/12/23 Вск 14:50:43 923886 334
>>923844
Ну как тебе уже написали для этого и изобретены Control ноды
Работают они в связке с настройками окна (которые 2d, keep aspect, вот эти) и масштабируются вместе с окном
Но никто не мешает конечно и самому масштабировать
Проверять координаты в любом случае зачем? Кроме контролов есть Area2D с событиями мыши.
Аноним 24/12/23 Вск 19:53:09 923926 335
>>923882
> спрайты на texturebutton
Спасибо антош, так и сделал, почему-то забыл о них.
Теперь все скейлится как надо, еще и кнопки есть.
Аноним 24/12/23 Вск 20:30:14 923930 336
>>923926
Квест делаешь? Откуда арт?
Аноним 24/12/23 Вск 21:05:59 923935 337
SubViewport.canvas_cull_mask and CanvasItem.visibilty_layer exist and do exactly what one would expect. It is possible to attach a canvas to multiple viewports, either using the low level RenderingServer.viewport_attach_canvas or the high-level SubViewport.world_2d and CanvasItem.get_world_2d()

Получается что у 2д есть такие же визуал слои как у 3д, просто они не показаны в инспекторе.
Аноним 24/12/23 Вск 23:49:58 923944 338
Аноним 25/12/23 Пнд 00:04:31 923945 339
>>923839
Ну, шейдерами, например.
Аноним 25/12/23 Пнд 04:27:53 923950 340
>>923930
> Квест
Нет, жанр около симулятора-коллекционки.
> Откуда арт
Один из бэкграундов игры, которую делаю.
Аноним 25/12/23 Пнд 08:05:57 923952 341
image.png 1302Кб, 960x600
960x600
Не могу придумать как в top down игре сделать так, чтобы главный герой мог "сталкиваться" с врагами (и герой и враги kinematicbody2d, в 4 версии вроде уже по другому называются, не суть), но при этом, если те его окружают, то он их спокойно "расталкивает" и убегает. Что-то типа того, что в vampire survivors реализовано. В данный момент, после того враги облепили персонажа, выпутаться из этого невозможно, как победить не понимаю.
Аноним 25/12/23 Пнд 08:14:48 923953 342
>>923952
Сделать управление и героем и врагами с помощью приложения сил. У героя масса и сила будет больше, у врагов меньше.
Аноним 25/12/23 Пнд 14:23:39 923976 343
>>923952
Нахуй врагов кинематиком-то? Ебашь их риджидом, будут отлетать на ура.
Аноним 25/12/23 Пнд 23:07:20 924027 344
>>923952
собственно говоря, если надо, чтобы
противник отталкивался от персонажа, то:

детектишь коллизию на строне противника. через какой-нибудь триггер, в годо это вроде area называется
прокладываешь вектор от персонажа к врагу, нормализуешь его, множаешь на силу отталкивания
толкаешь врага через ригидбади,

еще не забываешь о кулдауне, через который противник снова сможет отскакивать от персонажа. правда это юзается в платформерах, когда перс получает демедж, но яхз может и в твоих вампирах есть чет подобное
Аноним 25/12/23 Пнд 23:08:12 924028 345
>>923976
так они и должны быть кинематиком реализованы, там полноценно нехуй обсчитывать
Аноним 26/12/23 Втр 11:13:00 924080 346
>>923953
Что-то типа того, что обычно реализуют в платформерах, когда движение написано через массу, g и прочее? Пока не совсем понимаю как такое реализовать для top down игры, но посмотрю. А может вообще неправильно тебя понял.

>>923976
Для врагов написал логику, когда они бегут на персонажа, но при этом оббегают друг друга и препятствия с помощью Navigation Agent. Попробовал переписать передвижение врагов под Rigid Body, но они начинают хуярить вокруг персонажа как спутник по орбите. Поигравшись с параметрами смог только успокоить их немного, но "оббегание" друг-друга работать перестало. Тоже наверное поковыряюсь еще.

>>924027
Вроде звучит не так сложно, но знаю, что с реализацией поебусь знатно.


Вообще, всем спасибо, аноны, попробую что-нибудь соорудить.
Аноним 26/12/23 Втр 13:24:44 924092 347
>>924080
ну ты не стесняйся задавать вопросы есчо
Аноним 26/12/23 Втр 19:12:34 924191 348
image.png 600Кб, 1432x953
1432x953
Делойте игори. Новый год же.
Аноним 26/12/23 Втр 19:19:41 924194 349
image.png 230Кб, 1920x1040
1920x1040
Аноним 26/12/23 Втр 23:29:34 924253 350
Аноним 27/12/23 Срд 00:41:44 924280 351
>>924191
Угу уже начал делать, игра войдет в историю, осталось только выбрать джем в который ее вбросить, но там какие то унылые скучные на 1 января выпадают.
Аноним 27/12/23 Срд 06:23:23 924302 352
>>924280
>осталось только выбрать джем
А как вы их ищите, куда публикуете? Поведайте как в джемы влезать.
Аноним 27/12/23 Срд 11:20:29 924327 353
>>924253
Ага, спасибо, гляну.
Аноним 27/12/23 Срд 13:19:55 924354 354
Аноним 27/12/23 Срд 14:44:29 924366 355
>>924354
Никогда не понимал, чем людей привлекают эти ваши джемы. Добровольный кранч, дабы высрать недоигру, в которую поиграют полтора человека. При этом уровень конкуренции выше, чем если просто зарелизить игру. И даже денежного вознаграждения зачастую не бывает.
Какой смысл? Что этими людьми движет?
Аноним 27/12/23 Срд 15:20:03 924383 356
>>924366
Уровень внимания выше. Твою игру реально рассматривают и рейтят другие участники джема и организаторы. Позволяет нащупать годные идеи, потом довести их до ума вне джема и выпустить интересную игру. Многие успешные инди так начинались.

Качественный, подробный и масштабный фидбек получить довольно сложно. А он нужен. Без него ты не поймешь что тратишь 3 года на хуевую идею.

У меня до сих пор очко сжимается, когда я вспоминаю Tail Quest, на который было потрачено, чего там, лет 8. Он долго висел на главной Годота, про него там новости писали, его пиарили все, включая Хуана. Наконец он вышел в стиме, а там пук кек 27 отзывов 5 из 10 и гроб гроб кладбище. Тейл Квест - мой ночной кошмар, нахуй.
Аноним 27/12/23 Срд 15:33:13 924388 357
image.png 159Кб, 876x907
876x907
>>924383
>Уровень внимания выше.
Не знаю как про другие конкурсы, но на двачном было ровно наоборот. Ты обязан поиграть в 30 чужих игр и писать отзыв, 95% из которых заведомо позорное говно. Заранее получается обесценивание. Там по началу еще что-то пытаешься разбираться, потом просто наотъебись скипаешь по-быстрому. Тем более фидбек от других недоразрабов или просто критиков вообще бесполезен. Я вспоминаю историю как Джоан Роулинг своего Гарри по издателям носила, казалось бы это специалисты которые обязаны из кучи мусора годноту выискивать, это их хлеб, но хуй там.
Аноним 27/12/23 Срд 15:43:23 924391 358
>>924366
>кранч
Так дедлайны и стимулируют что-то сделать, сделать в срок и закончить. А без дедлайнов ты сидишь и мечатешь об играх ничего не делая.
Кроме того, у тебя появляется опыт релиза игры, ты получаешь опыт всех шагов по сборке релиза, оформлению странички, базовым навыкам раскрутки, срочного QA, обкатки движка на разных сборках и пользователях (ты узнаешь кучу вещей которые нужно подпирать костылями, например делать размер фулскрина = screen_height + 1, чтобы работал видеозахват OBS у стримера).
В общем это тренировочный запуск настоящей,хоть и маленькой игры.
Про уровень конкуренции выше чем в стиме или гуглплее кекнул конечно.
Аноним 27/12/23 Срд 15:47:08 924392 359
>>924388
Что подчеркивает насколько сложно получить фидбек. Всем на все похуй. Джемы не панацея, конечно, но лучше чем повторить судьбу Тейл Квеста. Плюс есть устоявшиеся джемы с активной аудиторией, но там и ожидания от тебя повыше. Самый топ - быть популярным стримером/ютубером. Эти охуевшие скоты аж анкеты заставляют заполнять и раздумывают потом, пустить тебя демо погонять или нахуй послать.

Про двачной джем ничего не знаю. Помню только абу чего-то стримил. Ну, неудивительно, учитывая аморфность среднего анонаса. Да и мало кто захочет шкварить серьезный проект об харкач.
Аноним 27/12/23 Срд 20:39:47 924455 360
>>924366
На джемах отлично генерируются идеи. Вот miziziz участвовал в таком со своей игрой про однорукого бандита, и получилась неплохая по геймплею игра.
Потом на нее снял обзор популярный летсплеер, и продажи пошли на ура.
Аноним 27/12/23 Срд 21:11:09 924460 361
>>924455
А сколько классных идей сгенерировано без джемов?
Аноним 27/12/23 Срд 21:35:26 924463 362
>>924455
> на нее снял обзор популярный летсплеер
Вот и весь секрет
Аноним 27/12/23 Срд 22:52:02 924473 363
>>924460
без понятия, не считал. Кратно больше, скорее всего. Только это не причина не ходить на джем - джем это возможность с контекстом, а не единственный способ что-то годное. Сравнивать числа генерируемых идет не получился.
Аноним 27/12/23 Срд 23:05:56 924478 364
Джемы, не джемы. Делайте игры. А то не на что будет фидбек получать и пиарить и стримерам отправлять.
Аноним 27/12/23 Срд 23:19:01 924482 365
170370790713678[...].png 72Кб, 337x456
337x456
Меня от разработки отталкивает мысль об поиске музыки и звуков, вообше непредставляю где их брать и искать
А на заказ просить сделать у меня шекелей не хватит с днозарплатки
Аноним 27/12/23 Срд 23:37:35 924485 366
>>924482
На саундклауде есть тег роялти фри копирайт фри сс0. Заодно порадуешь какого-нибудь анона, который до тебя 2 прослушивания имел. А для звуков фрисаунд.орг.

Теперь делой.
Аноним 27/12/23 Срд 23:44:05 924486 367
>>924485
Но разве я там смогу найти что то подходящее? Для своей драгоценной игры любое говно мне кажется нк подойдет
Аноним 27/12/23 Срд 23:56:11 924492 368
Аноним 27/12/23 Срд 23:57:40 924493 369
>>924486
Сможешь. Я саунд для своей игры чисто на фрисаунде собрал, только менял питч прямо в годоте. Недели две набирал. Мне потом на реддите писали "охуенный эмбиент, брух", кек.

Но возможно ты хочешь не саунд, а отмазки для своей прокрастинации. Это другое дело.
Аноним 28/12/23 Чтв 10:57:02 924603 370
>>924482
Пиши сам, хороший совет на деле. На ютубе есть гайды на простейшую теорию музыки, а в интернете куча бесплатных инструментов, отталкиваясь от неё и своей фантазии творишь прекрасное. Берёшь какой-нибудь рипер за 60 долларов ну или пиратишь флку или что ты там надумал, хз какую ты будешь брать программу, скачиваешь пару саундфонтов и синтов, и хуяришь. Так и живём.
Аноним 28/12/23 Чтв 11:02:33 924605 371
>>924603
>>924492

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

еще я слышал что у японских гномов задешево можно музыку с артом оформить - в пределах 100-400¥, но не проверял
Аноним 28/12/23 Чтв 11:07:59 924606 372
>>924605
Хз, лично мне больше нравится самому писать, особенно если я понимаю, что хочу от музыки. Мне вот музыка со стороны плохо подходит, так что пишу сам.
Аноним 28/12/23 Чтв 13:10:28 924623 373
>>924366
> Никогда не понимал, чем людей привлекают эти ваши качалки. Добровольный кранч, дабы выбросить в мыщцы молочную кислоту, которая рассосётся через полтора часа. При этом уровень тестостерона выше, чем если просто закинуться колёсами. И даже абонементы зачастую недешёвые.
> Какой смысл? Что этими людьми движет?
Аноним 28/12/23 Чтв 15:10:54 924637 374
Прошу ответить максимально честно и не давать ложных надежд.
Я в курсе про языки программирования, основы, логические элементы, операции, водил черепашку на бейсике. Но никогда не мог в код, сколько не пытался вкатываться в с++ или питон мне это не даётся, слишком туп для этого. Зато дался визуал и 3д графика.

Собственно вопрос, смогу ли я чисто на GDscript полноценно создать весь нужный функционал в игре? Где отправная точка для старта? Мне нужно читать документацию? Любые уроки ютуба на годоте начинаются с того что ты либо уже должен знать код, либо просто копипастить куски у автора туториала.

Чисто в теории для начала вся моя игра будет состоять из трёх сцен:
Меню и две локации между которыми игрок может перемещаться по клику на статичную модельку. Сам игрок управляет по сути фигуркой которую можно двигать по карте мышью.
Из доп функционала это возможность сейва, и вывод диалогового окна при клике на интерактивный объект.
Аноним 28/12/23 Чтв 15:13:19 924638 375
P.s. >>924637
Мне не очень хочется смотреть в сторону юнити поскольку я считаю что у меня достаточно простая игра которая по сути будет простой настольной игрой с текстом и карточками.
Конструкторы для 2д тоже не подходят потому что хочется дать ощущение объема и пространства.
Аноним 28/12/23 Чтв 15:18:05 924639 376
>>924637
Нихуя там сложного
В документации все для дебилов разжевано
Разве что надо будет немного поизучать тему "векторов" ибо на этом дохуя чего стоит
Аноним 28/12/23 Чтв 15:52:26 924641 377
>>924637
Смотря насколько ты туп в коде. Иногда у людей мозги вообще не поворачиваются в эту сторону. У меня был знакомый который банальщину вроде if-else осилить не мог, долго и упорно не мог, хотя явно старался. Если ты такой же - возможно тебе лучше не годот, а что-то с визуальным языком. ЕМНИП у GameMaker и GDevelop они неплохи. И то не факт что они тебя спасут. Может тебе лучше работать в команде с кодером?

Но если ты действительно черепашку на бейсике писал, и понял как она работает - не вижу проблем. Пройди официальный туториал годота, там где крипов делать. Поможет освоиться. Потом найди на ютубе туториал поближе к своей идее и вперед. Но, сука, не бездумно копируй, а лезь в документацию и читай что делает каждая строчка.
Аноним 28/12/23 Чтв 15:53:35 924642 378
>>924637
> Но никогда не мог в код
> дался визуал и 3д графика.
Ну ты ж конструируешь шейдеры в блендере на нодах? Это же такой же кодинг, просто тебе надо это осознать.
>>924638
> P.s. Мне не очень хочется смотреть в сторону юнити
Ему видите ли не даётся кодинг на примитивном гдскрипте, но он видите-ли угрожает нам, что не будет поглядывать на более комплексный сишарп.
Блять, жирняка покормил.
Аноним 28/12/23 Чтв 16:39:03 924653 379
С чего начать разработку игры?
Надо вроде план сделать но хуй знает с чего начинать
Аноним 28/12/23 Чтв 16:43:52 924654 380
>>924653
Без задней мысли подошел, взял за руку, сказал "пойдем, разрабатывать тебя буду", и повел за собой.
Аноним 28/12/23 Чтв 18:02:49 924666 381
>>924642
У меня ноды в майе, они простые, там даже десятилетний ребенок разберется
Аноним 28/12/23 Чтв 18:16:05 924673 382
>>924641
Могу составлять логику в виде блок схем, но не могу перевести это на язык программирования потому что попросту не знаю синтаксис. Максимум что я делал это правил чужие скрипты в свитках
Аноним 28/12/23 Чтв 18:24:28 924676 383
>>924673
Ну норм тогда. У gdscript'а синтаксис простой, гораздо проще того же Питона. За пару вечеров осилишь.
Аноним 28/12/23 Чтв 20:10:23 924698 384
>>924673
> правил чужие скрипты в свитках
По сравнению с хтоническим скриптингом в свитках гдскрипт - просто детский конструктор.
Аноним 29/12/23 Птн 06:49:25 924751 385
Так ну нет, все, годот это топ. Там ещё и система партиклей как в юнити без заморочек, и шейдер граф есть. Сейвы тоже не сказать что трудно реализуются
Аноним 29/12/23 Птн 10:05:00 924762 386
image.png 34Кб, 651x264
651x264
>>923952
Если кому-то не похуй, зачатки своего корявенького решения нашел на форуме godot, в вопросе "как одним кинематиком двигать другой кинематик".

Код на шарпе на пике, в gdscript еще проще, что-то типа:
if (collision)
collision.Collider.MoveAndSlide(Velocity);

Естественно, это еще нужно доработать, как минимум определять, что это за коллайдер такой и надо-ли его двигать вообще. Плюс поиграть с вектором, т.к. тупое толкание врага в том же направление, что и движется персонаж, выглядит странно. Ну и врагам что-то подобное надо писать, т.к. если они окружают игрока в два слоя, то уже так красиво не работает.. Короче, колхозить еще и колхозить.
Аноним 29/12/23 Птн 13:17:20 924785 387
Аноним 29/12/23 Птн 16:53:47 924844 388
>>924762
> как минимум определять, что это за коллайдер такой и надо-ли его двигать вообще
Рассмотри вариант с группами.
Аноним 29/12/23 Птн 17:09:10 924851 389
>>924762
Имей в виду что move and collide не скользит вдоль стен, как move and slide, т.ч. тебе придется писать такую логику самому
Я бы наверное такую логику на ригидах делао, с использованием
>>909798 →
Аноним 31/12/23 Вск 04:43:50 925056 390
Сап анон. В проганье не шарю от слова совсем, но хочется научиться Lua. Да да, вы тут дохуя прогеры знаете всякие языки поэтому для вас фраза "Научиться луа" звучит как какое-то говно, но не для меня.
Приличных материалов по этому языку пиздец мало, все делают своё говно то в обосранном гарис мод, то в обдристанном самп. Решил что буду брать по-немногу от всего и использовать это как-то в Godot.
В общем я скачал и установил это https://github.com/gilzoide/godot-lua-pluginscript
И собственно первый вопрос который бы я хотел задать: а где библиотека функций или еще чего-то? Ну или как эта хуйня называется, где ты открываешь каталог, ищешь нужную функцию и вписываешь ее в скрипт?

Ещё нашел вот это https://github.com/perbone/luascript но я пробовал установить нихуя не работает. В чем отличия луа от жилзоиде и пербоне?

Не бейте сильно я зелёный пиздец.
Аноним 31/12/23 Вск 06:52:36 925060 391
Как тут открыть создание мапы как в юнити? Или его нет?
Аноним 31/12/23 Вск 07:22:04 925062 392
>>925060
> открыть создание мапы
Выражайся по русски. Мапа это что, карта?
Аноним 31/12/23 Вск 07:26:55 925063 393
Аноним 31/12/23 Вск 07:32:07 925064 394
1703997127533.png 143Кб, 720x648
720x648
>>925056
> Не бейте сильно
Да ну ты что? У нас тред любви и поддержки. Мы тебя любя ВЫЕБЕМ ПРЯМО В МОСК.
> И собственно первый вопрос который бы я хотел задать: а где библиотека функций или еще чего-то?
Вот здесь, например https://docs.godotengine.org/ru/4.x/index.html
> ищешь нужную функцию и вписываешь ее в скрипт
> В проганье не шарю от слова совсем
Ты мне не поверишь, конечно сейчас, но я тебе скажу, не зная программирования, ты не сможешь узнать, какая функция тебе нужна, чтобы вставить.
> Приличных материалов по этому языку пиздец мало
Ну что же ты пиздишь, анончик? https://www.lua.org/manual/5.4/
> я скачал и установил это
> Ещё нашел вот это
Погоди, давай ещё раз уточним. Ты вообще не шаришь в кодинге, и вместо того, чтобы учить кодинг лезешь в геймдев, который считается вершиной айти? В котором самая простая игра сложнее самых сложных КРУДов ентерпрайза? И вместо того, чтобы пользоваться встроенными языковыми средствами годота, ты тянешь туда сторонние языки? Не зная ни одного языка?
Ну и как тебя всерьёз воспринимать? Толстота же. Ну или шиза.
Аноним 31/12/23 Вск 07:41:47 925066 395
>>925064
>Ты мне не поверишь, конечно сейчас, но я тебе скажу, не зная программирования, ты не сможешь узнать, какая функция тебе нужна, чтобы вставить.
Ичо =) ичо нахуй=))))))))))))
>>925064
>Ну что же ты пиздишь, анончик?
Это всё для нормисов 100IQ+
>>925064
>Ты вообще не шаришь в кодинге, и вместо того, чтобы учить кодинг лезешь в геймдев, который считается вершиной айти?
Схуяли считаю?
Я пытался прогать на луа ещё давно, нихуя не выходило из-за отсутствия нормальных материалов обучающих. В каких-то роликах чел нормально объясняет, в каких-то совсем неочень, из-за этого собирать полную картину по этому языку довольно трудно.
>>925064
>И вместо того, чтобы пользоваться встроенными языковыми средствами годота, ты тянешь туда сторонние языки?
Потому что встроенный высер годота это хуйня полная. По ней ещё меньше обучающих материалов. А если ты про си шарп или еще чето, то блять, ну я хуй знает, ну иди пожуй травы там, или пососи хуй отчима, может догадаешься, что Lua я рассматриваю как самый простейший ЯП из живых.
Офк я мог бы вкатиться в роблокс студио с такими запросами, но это я оставлю на потом. Пока что я получил буст энтузиазма изучать луа на годоте, через неделю, когда я в очередной раз убеждусь что это душная хуетень, я наверное ливну и вернусь через год-два, но сейчас я хочу узнать ответы на вопросы.

Так что я просто хочу услышать ответы на вопросы без высеров в стиле русских форумов 2012(а зачем вам хуй в жопе????? А У ВАС ДЕНЬГИ ТО НА НИГО ЕСТ?!?!?!!? А МОЖЕТ ЛУЧШЕ БУТЫЛКУ В ЖОПУ БУДЕТЕ ИСПОЛЬЗОВАТЬ?????????)
Аноним 31/12/23 Вск 07:48:05 925068 396
>>925066
Ну это репорт за движкосрач сразу, лол. Хэв а найс дэй.
Аноним 31/12/23 Вск 07:50:00 925069 397
Стикер 191Кб, 500x500
500x500
>>925068
В очередной раз убеждаюсь что тематика умерла, мда, хех.

Зашел просто задал вопросы, в ответ предъявы, обвинения, осуждения. Я сюда 2 раз в жизни захожу просто узнать ответы, где ты тут увидел движкосрач, уебище ты тупоголовое нахуй.
Аноним 31/12/23 Вск 09:10:08 925072 398
>>925056
Бери лучше https://love2d.org/ К нему есть неплохие туториалы, на гитхабе полно библиотек на все случаи жизни, активное комьюнити в дискорде. Сам в этом году успешно вкатился с нуля
мимо
Аноним 31/12/23 Вск 11:26:38 925079 399
>>925069
Какая разница сколько раз ты заходишь, если ты развел движкосрач? Учи встроенеый язык, гдскрипт легчайший язык, по нему тонна обучающих материалов, луа недоязык который никому неинтересен, разбирайся с ним сам если тебе интересно, но это нерелевантно треду
Аноним 31/12/23 Вск 12:48:20 925089 400
>>925066
>нихуя не выходило из-за отсутствия нормальных материалов обучающих. В каких-то роликах чел нормально объясняет, в каких-то совсем неочень, из-за этого собирать полную картину по этому языку довольно трудно.
Поиграл с твоего смешного поста, но вот этот момент все объясняет
>В каких-то роликах чел
Для обучения языкам программирования никакие ролики не нужны, и даже противопоказаны.
Вся "полная картина" языка содержится в официальной документации к языку, обычно там же есть и вводная глава.
Аноним 31/12/23 Вск 13:16:08 925092 401
>>925069
Тебе все верно ответили, шизло. Ты залетел с нулем знаний, но уже с "железными аргументами" почему Х - говно, и его ты учить не будешь, а будешь учить только Y, который по факту никто не использует, а тебе давайте, обучайте меня. Твои аргументы - инвалид, но тебе это даже хуй объяснишь, потому что ты сам инвалид. Ну и чего с тобой делать?

>через неделю, когда я в очередной раз убеждусь что это душная хуетень, я наверное ливну
Все всё побросали побежали спасать очередного дауненка с дефицитом внимания. Заспидрань свою новогоднюю мотивацию с недели до пары часов, и сразу приди к похмельному финалу.
Аноним 31/12/23 Вск 17:49:57 925120 402
Тащат за стол, а у меня тут разработка прототипа в самом разгаре, все таки насколько приятно и увлекательно и легко делать игры.
Аноним 31/12/23 Вск 18:15:50 925123 403
>>925089
погромисточмо как обычно
языки тоже учишь по грамматике?
Аноним 31/12/23 Вск 20:45:38 925142 404
>>925120
Жиза брух. Сейчас бы игры делать, а не вот это вот все. Я уже 3 дня нормально делать игры не могу.
Аноним 31/12/23 Вск 22:56:25 925154 405
>>925064
>В котором самая простая игра сложнее самых сложных КРУДов ентерпрайза?

Я другой анон, погодите, это реально? Ты хочешь сказать, что простая игра на Годоте типо тех же подпивасных клонов вампир сурвайворов или платформеров технически сложнее, чем то, чем занимаются в коммерческой работе? Я всегда думал что наоборот, в редакторе и с гдскриптом любой гоблин соберет простенькую игру, может даже не очень простенькую, а писать бекэнд на питоне условном могут только гении-олимпиадники, которые мыслят архитектурой и прочее.
Аноним 01/01/24 Пнд 00:29:05 925169 406
>>925154
Все правильно он написал. После кучи лет работы в вебдеве могу подтвердить, игры гораздо сложнее, комплекснее, требуют опыта в дохуище дисциплин, и все это должно работать вместе, слажено, стильно и в реалтайме с 60+ фпс. Это не формы тяп-ляп.
Аноним 01/01/24 Пнд 01:30:19 925172 407
>>925169
Так что, если я сделал простую игру, то значит у меня есть шансы вкатиться в айти по-нормальному с реальной зарплатой?
Аноним 01/01/24 Пнд 02:52:22 925177 408
>>925172
То значит что ты не даун-аутист, и шансы выше чем у среднего вкатуна из б. Остальное зависит от конкретных скиллов, а они не всегда пересекаются между областями айти.

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

А вообще оффтоп. Пойдем лучше игры делать.
Аноним 01/01/24 Пнд 21:21:33 925247 409
>>925154
>Ты хочешь сказать, что простая игра на Годоте типо тех же подпивасных клонов вампир сурвайворов или платформеров технически сложнее, чем то, чем занимаются в коммерческой работе?
Литерали да. Вебмакакинг проще чем ты думаешь. И платят больше кстати, ну где как.
Аноним 01/01/24 Пнд 21:53:52 925250 410
Вообще мне кажется это индивидуально. Я вот 15 лет профессионально в геймдеве, а к вебу сколько раз подступался, ни разу не вкатился. Архитектура вечно непривычная, инструменты жуткие, раздутые. К тому же в геймдеве огромную часть может скрывать объектная модель. Ну серьезно, например в вершины моделей лазить приходится очень редко, при какой-нибудь генерации или хитрой анимации, а после того как сделал, обычно это инкапсулировано и забыл. В остальное время просто двигаешь объекты. В вебе же буквально любой чих сразу начинает требовать чуть ли не вручную прописывать тонны css чтобы работало, в основных 3-4 браузерах все равно все поедет, при этом надо лазить в бд по кд, еще бороться со всякими хакерами, смотреть чтобы авторизация и аутентификация правильно работала, чтобы по ссылке для чтения не удалялись аккаунты и данные, а главное, чужие аккаунты. Брр. Пытался один сервис игровой сделать, сколько же крови попортила простая попытка создать новый проект, со всеми этими вебпаками и нодежсами.
Аноним 01/01/24 Пнд 22:05:00 925253 411
>>925154
>>925250
Хуй знает. По мне так веб вообще мало похож на программирование как таковое. Причем бэкенд еще меньше чем фронтенд, хотя обычно считается наоборот.
Аноним 01/01/24 Пнд 23:46:25 925268 412
Анончики, поясните за доку для шарп версии. Хотел задать пресет контрола из кода, дока говорит что это делается через set_anchors_preset(Control.PRESET_FULL_RECT) в ГДСкрипте. Тут вопросов нет. Вопрос возникает какого хрена в шарп версии совершенно другая переменная: SetAnchorsPreset(Control.LayoutPreset.FullRect); про которую в доке ни слова? Есть где-нибудь таблицы соответствия или надо всегда гуглить, в надежде что кто-то уже задался таким вопросом?
Аноним 02/01/24 Втр 02:15:26 925277 413
>>925250
>Я вот 15 лет профессионально в геймдеве
Расскажи как вкотился и хоть примерно на каких условиях работаешь. А то я уже года два работаю на мелких кабанов с мемными проектами говна и думаю, куда мне дальше.
Аноним 02/01/24 Втр 03:48:07 925286 414
Чисто теоретический вопрос, могут ли разрабы реализовать в годоте четвертое пространственное измерение?
Аноним 02/01/24 Втр 03:52:50 925287 415
>>925286
Чисто теоретический ответ - могут.
Аноним 02/01/24 Втр 04:22:04 925291 416
>>925268
В доках по другому написано, void set_anchors_preset ( LayoutPreset preset, bool keep_margins=false )
Может быть дело в том, что enum находится в Control? Лень разбираться.
Аноним 02/01/24 Втр 04:51:03 925293 417
1588482022276.mp4 232Кб, 480x360, 00:00:10
480x360
>>925286
Так уже реализовано
https://www.youtube.com/watch?v=3GzGq-__CxM
Не забывай что игрок все равно сможет смотреть только в 3д (через 2д экран), для 3д существа 4д объект выглядит как изменение 3д объектов (иногда довольно произвольное). Проще всего это можно понять на примере 3д объекта глазами 2д существа - для него это будет просто из ниоткуда появляющиеся и меняющие форму 2д объекты, например как при прохождении пальцев овал вдруг расширился и распался на 5 кругов.
Аноним 02/01/24 Втр 09:33:46 925303 418
>>925291
Да, этот енум в контроле, но в нём PRESET_FULL_RECT, а не FullRect
Аноним 02/01/24 Втр 10:47:26 925313 419
>>925303
Хз, не могу найти.
По 3-ке был чей то сторонний сайт с апи.
Вообще C# API создается во время компиляции на основе api.json, я давно в этом копался. Может быть где-то есть правило типа регекспа, которое вырезает повторяющуюся часть названия, если оно такое же (...Preset.PRESET...)
Если собирать движок самому, то там где-то создается папочка GodotSharp/Generated, ну или смотреть уже dll всякими инспекторами.
Аноним 02/01/24 Втр 11:54:21 925320 420
изображение.png 194Кб, 1366x768
1366x768
Как сделать чтобы при старте сцены в лейбле обновлялось количество патронов в магазине, которое в свою очередь при старте сцены считается?
Аноним 02/01/24 Втр 11:56:24 925321 421
изображение.png 194Кб, 1366x768
1366x768
>>925320
Т.е. чтобы вот в этой штуке на HUD появился нормальный текст, значение цифровое ну блфять вы поняли счётчик патронов надо мне.
Аноним 02/01/24 Втр 11:58:22 925322 422
изображение.png 48Кб, 601x334
601x334
>>925321
И ещё вопрос. ЧТо неверно во второй половине скрина? Почему оно не воспроизводится?
Аноним 02/01/24 Втр 12:03:58 925324 423
>>925320
var count = ...
$Label.text = str(count)
Аноним 02/01/24 Втр 12:07:00 925325 424
>>925324
Объясни пожалуйста что значит первая строка
Аноним 02/01/24 Втр 12:12:16 925327 425
изображение.png 936Кб, 1366x768
1366x768
Аноним 02/01/24 Втр 12:13:19 925328 426
>>925325
Переменная, которой ты сам присвой сколько тебе патронов надо
Аноним 02/01/24 Втр 12:14:02 925329 427
Аноним 02/01/24 Втр 12:25:12 925333 428
>>925322
Сложно сказать, это какой то готовый контроллер или туториал?
Во-1, проверь в свойствах проекта, в input map, что у тебя есть действие shoot_Main и написано именно так и ему назначена кнопка
Во-2, RayCast должен с чем-то столкнуться. То есть у цели должен быть коллайдер, они с рейкастом должны быть в одном слое. Если там просто текстура стены то ничего не произойдет.
Может быть еще что то, но пока это проверь.
Аноним 02/01/24 Втр 12:26:06 925334 429
>>925333
>они с рейкастом должны быть в одном слое

Как это?
Аноним 02/01/24 Втр 12:27:08 925335 430
>>925333
А коллижн шейпы не считаются за то что может хитнуть рейкаст? Или просто огромный мэш который собственно и является уровнем, например, тоже не считается тем что может хитнуть луч?
Аноним 02/01/24 Втр 12:35:15 925337 431
>>925335
>коллижн шейпы
Считаются, но они должны быть поддетьми StaticBody или какого-то другого body (Character)
>просто огромный мэш
Сам по себе меш нет, если только ты для него не сделаешь коллайдер (в годоте есть пункт меню Mesh с разными вариантами)
Ну вообще считается что огромный меш лучше не делать коллайдером, потому что тогда рейкаст может тормозить (ему надо перебрать все возможные грани и пересечения)
Аноним 02/01/24 Втр 13:28:37 925350 432
1704191317818.jpg 9Кб, 480x360
480x360
>>925293
4д существо видело бы полную развёртку 3д существ вместе со всеми потрохами, вместе со всем содержимым кишок и сосудов. Эдакий взгляд изнутри.
Аноним 02/01/24 Втр 13:36:45 925353 433
>>925320
> чтобы при старте сцены в лейбле обновлялось количество патронов в магазине, которое в свою очередь при старте сцены считается?
А теперь внимание, правильный ответ.
1 (в лоб): обновлять значение в сеттере, сделать сеттер внутреннему числовому значению в котором будет торчать ссылка на интерфейсную ноду.
2 (солидное): Сделать сеттер внутреннему значению, в нём испускать сигнал значение_апдейт(значение), интерфейсом подписаться на сигнал.
Аноним 02/01/24 Втр 13:47:33 925358 434
>>925350
О, значит я на новый год был 4д существом.
Аноним 02/01/24 Втр 13:47:40 925359 435
>>925313
О, про апи.жсон не знал, посмотрю, спасибо
Аноним 02/01/24 Втр 17:29:59 925384 436
Хотя наверное все эти игры про 4д пространство ограничены тем что мы не можем смоделировать объект в четырехмерном пространстве, а все остальное будет примитивами которые можно будет увидеть только в разрезе.

В таком случае может быть есть игра где играются с 2д переходящим в 3д либо наоборот? Нечто похожее на суперлиминал
Аноним 02/01/24 Втр 18:52:26 925404 437
Аноним 03/01/24 Срд 03:39:53 925491 438
16826719849930.mp4 2789Кб, 480x488, 00:00:24
480x488
Привет анончики, посмотрел пару ваших тредов...
А вы что-то кроме 2д пиксель говна делаете? Годен ли движок для чего то кроме изучения основ программирования для начальных классов?
Аноним 03/01/24 Срд 03:44:01 925492 439
>>925491
Все делаем. Иронично, но как раз пиксельной игры я еще не делал, в основном 3д, некоторые с замашкой на опенворлд, но иногда и 2д в обычном арте делал.
Годен для практически всех жанров, кроме прям совсем ААА игр (но для соло разработки это и не имеет значения).
Аноним 03/01/24 Срд 10:20:39 925500 440
>>925492
> кроме прям совсем ААА игр
Да и тут я бы посомневался. Если бы какая-то гипотетическая студия не экономила на кодерах-сишниках, они бы могли, юзая исходники годота, запилить свой внутренний корпоративный форк с реализацией любых проприетарных штук, типа физики havok (правда нахуй она не нужна в 2к24), рейтрейсинга, и т.п.

Ведь крупные студии предпочитают анрил/юнити не потому что они "лучше", а потому что там кодеры-системщики вынесены в аутсорц, ты получаешь готовое ядро продукта с техподдержкой и гарантиями. Маркетологам гораздо проще посчитать расходы в таком раскладе. Чисто бизнес, никакой технологии.
Аноним 03/01/24 Срд 11:54:10 925510 441
Я уот планирую сделать карточную игру в 3д. Но не такую какую обычно вы себе представляете, а с сюжетом и одним материком.
Естественно есть небольшой подвох, графика на самих карточках будет отрисована вручную. Как и на диалогах/встречах

Проблема пока в реализации боевой системы. Потому что по моей задумке она должна быть ближе к кингс баунти. Но вместо отрядов у меня будет активная колода
Аноним 03/01/24 Срд 19:32:55 925559 442
>>925500
>они бы могли, юзая исходники годота
Ремастеред Sonic Colors уже вышел
Аноним 03/01/24 Срд 20:04:42 925562 443
>>925500
Я говорил в рамках того что можно делать изкоробки (грубо говоря, на движке, даже если с использованием аддонов, шейдеров и т.д, но не переписывая сами кишочки на с++) Плюс был официальный пост Хуана на этот счет.
Аноним 03/01/24 Срд 21:23:54 925570 444
>>925562
> Я говорил в рамках того что можно делать изкоробки
Да я это понял.
А я напротив говорил о том, что при крупномасштабной разработке (пресловутое ААА) не обойтись без исходников и их правок вручную.
Аноним 03/01/24 Срд 21:54:15 925573 445
>>924785
Мерси

>>924844
Благодарю. С группами еще особо работать не приходилось, т.к. в самом начале пути, обязательно посмотрю как там что

>>924851
И тебе спасибо. У меня top down, скольжение вдоль стен не особо нужно. Но об этой разнице между методами я тоже почитаю.
С риджидами там у меня не пошло дело, ибо >>924080
Аноним 03/01/24 Срд 21:58:56 925574 446
>>925573
> обязательно посмотрю как там что
> С группами
В документации об этом не говорится, но попробуй работать с группами как с контрактом: добавление в группу гарантирует наличие свойств и методов, предоставляемых контрактом группы.
Аноним 03/01/24 Срд 23:14:56 925586 447
1704312891230.png 1828Кб, 2500x3000
2500x3000
1704312891263.jpg 15Кб, 400x400
400x400
1704312891264.webp 15Кб, 500x500
500x500
1704312891264.webp 489Кб, 5124x3325
5124x3325
Аноним 03/01/24 Срд 23:27:25 925589 448
Вопрос по внешним либам. Можно ли как-то в проект импортировать готовые библиотеки, типа .so, которые я напишу на другом языке? Или без пересборки всей ide никак?

В чём суть? Знаю go, в планах на нём описывать тяжёлую логику, добавлять в проект. Думал можно прямо в проект импортировать, но не нахожу. Чёт лениво пересобирать ради своих модулей godot каждый раз. Ну и от плюсов отвык как-то.
Аноним 03/01/24 Срд 23:30:39 925591 449
Аноним 03/01/24 Срд 23:32:49 925592 450
Аноним 03/01/24 Срд 23:33:09 925593 451
>>925589
Можно, gdextension 4 / gdnative 3
Я описывал как я делаю с плюсами. У меня есть либа (so/dll) игровой логики, она ничего не знает о годоте, и есть либа (so/dll) враппер, которая знает о годоте и выглядит для него как скрипт и может вызываться из гдскрипта, в свою очередь дергает нужные функции мира в игровой либе. Гуй на гдскрипте.
Аноним 03/01/24 Срд 23:37:32 925594 452
>>925593
P.s. соответственно игровая либа может инклюдить и линковаться с любыми готовыми либами на с/с++, например продвинутый a-star и тд
Аноним 04/01/24 Чтв 00:01:51 925596 453
Аноним 04/01/24 Чтв 09:26:09 925701 454
Аноны, есть ли какой удобный редактор кода для Гдскрипта? Встроенный пиздец какой неудобный(с типизацией и прочими плюшками проблема).
Аноним 04/01/24 Чтв 14:18:00 925727 455
image.png 215Кб, 1366x768
1366x768
Сука, я не пойму, как сделать чтобы вместо этой серой хуйни моя картинка появилась?!
Аноним 05/01/24 Птн 03:54:26 925867 456
2024 год официально завершен на 1%. Вы сделали более 1% своей игры?
Аноним 05/01/24 Птн 05:32:15 925868 457
>>925867
Я в новом году уже дае новых начал делать
Аноним 05/01/24 Птн 11:11:16 925879 458
>>925727
Не используй панель, очевидно. Используй спрайт. Да, вместо панели. Да, будет работать. Да, так можно было.
Аноним 05/01/24 Птн 13:03:11 925911 459
>>925879
Блять! Бляяяяяять! У меня уже скрипты ... Бляяяять сукааа.
Ищу погроммиста на годоте Аноним 05/01/24 Птн 13:27:45 925912 460
Хочу сделать простую игрушку десижн мейкинг стратеджи на большой карте, с элементами визуальной новеллы (типо six ages lights going out, игр Kremlin Games или Long Live the Queen) . Есть художник и потенциальный композитор, если кто шарит в движке или уже игрушки разрабатывал пишите в телегу urukay13 . Если никого не найду буду сам изучать, просто это дольше получится.
Аноним 05/01/24 Птн 13:42:07 925913 461
>>925911
Ой да там 15 минут делов, скрипты на спрайт переделать. Сделай один раз и кайфуй.

В темы нужно лезть когда нужен комплексный подход к "темированию", типа, когда нужна система псвдоокон для эрпогэ. Тогда темы рулят. В остальных случаях ебашь без задней мысли всё на спрайтах вложенных друг в друга.
Аноним 05/01/24 Птн 14:15:19 925918 462
>>925913
Только тогда уж не спрайт, а TextureRect, он хотя бы от контрола наследник.
Аноним 05/01/24 Птн 14:35:20 925922 463
>>925918
Да, принимается исправление.
Аноним 05/01/24 Птн 18:44:08 925962 464
Анончики, что можете посоветовать для сохранения игры, в частности на шарпе? Доку читал
Аноним 05/01/24 Птн 19:48:41 925975 465
>>925962
А хули тут еще посоветовать? Открываешь файл и записываешь в него все переменные, которые хочешь. Что может тут быть непонятного? Задавай вопрос конкретнее.
Аноним 05/01/24 Птн 20:33:26 925985 466
Напомните, где лежат либы из темплейтс? удалить к хренам старьё пора бы, ног забыл, куда их годот устанавливает.
Аноним 05/01/24 Птн 20:46:04 925986 467
>>925912
> есть художник
> есть композитор
> ищет погромиста
Нахуй ты нужен?
Аноним 05/01/24 Птн 20:49:48 925987 468
>>925986
Смахивает на классическое "делаю игру, нужен програмист и художник, а я расскажу, как это должно выглядеть. И вобще я командовать буду".
Аноним 05/01/24 Птн 20:51:38 925988 469
>>925987
Ну если честную полушечку плотит за разработку, то можно.
Аноним 05/01/24 Птн 21:01:08 925990 470
>>925988
Ты что не энтузиаст за идею работать?
Аноним 05/01/24 Птн 21:05:15 925991 471
Аноним 05/01/24 Птн 21:10:15 925992 472
>>925912
Есть желание, но на юнити могу делать, как тебе?
Аноним 05/01/24 Птн 21:11:44 925993 473
Аноним 05/01/24 Птн 21:12:26 925994 474
Аноним 05/01/24 Птн 21:12:45 925995 475
>>925990
Только если за свою. Чужие только за идею вместе с оплатой могу
Аноним 05/01/24 Птн 21:14:12 925996 476
>>925991
AppData\Roaming\Godot\
тогда уж
Аноним 05/01/24 Птн 21:17:12 925997 477
>>925996
Мда уж. Кто то еще не пересел на опенсорс.
Аноним 05/01/24 Птн 21:24:40 925998 478
Аноним 05/01/24 Птн 21:26:22 925999 479
>>925701
Для VS codium был плагин, не знаю насколько он лучше-хуже. Я в 3 годоте сижу, там редактор удобный.
Аноним 05/01/24 Птн 21:31:23 926001 480
>>925975
У меня годот фактически только для графики, вся логика на шарпе, затык начинается когда я думаю как сохранять отношение объектов, в которых есть ссылки на объекты.
Аноним 05/01/24 Птн 21:32:13 926002 481
Аноним 05/01/24 Птн 21:35:30 926003 482
>>926002
Нет, натуральные объекты
Аноним 05/01/24 Птн 21:39:56 926004 483
zayac.jpg 172Кб, 791x795
791x795
>>925998
Я ЕБАЛВ РО Т ГУГЛЛИТЬ СУКА Я ЕБАЛ В РОТ ПРОСТО ГНУГЛИТЬ НАХУЙ ГУГЛИТЬ ЕБАААЛ В РОТ
Аноним 05/01/24 Птн 21:40:08 926005 484
Аноним 05/01/24 Птн 21:40:34 926006 485
16983404651360.webm 3920Кб, 1920x1080, 00:00:05
1920x1080
У вас тут вроде был чел, который какую-то бесконечную поездушку на машине делал.
Полистал тред и не увидел от него скринов.
Как у него дела?

Эй, бесконечномашинщик, как дела с твоим проектом?
Аноним 05/01/24 Птн 21:43:00 926007 486
>>926004
Мог бы спасибо сказать что за тебя погуглили, немощь ебаная.
Аноним 05/01/24 Птн 21:44:30 926008 487
Чего это вы после нового года так массово оттаяли?
Аноним 05/01/24 Птн 21:48:32 926009 488
>>926005
Оно же не совсем про то, а про сцены. У меня на сценах только спрайты, с ними вроде как всё очевидно. Давай приведу пример. У меня есть зелье в инвентаре. У него есть общее для всех предметов в инвентаре свойство "в кармашке у", которое ссылается на персонажа, у которого оно собсно в кармашке. Конечно можно пойти по лёгкому пути и смотреть от обратного, мол вот список предметов у персонажа, они все типовые, при загрузке создаём их объекты с нуля, но мне хочется подход, который сработает и для нетиповых объектов, типа "труп белого орка по имени Патрик, с ранами в районе живота, и отсутствующей ногой"
Аноним 05/01/24 Птн 21:56:02 926010 489
>>925997
этов дальнейших планах.
Аноним 05/01/24 Птн 22:12:13 926015 490
>>926009
>У меня на сценах только спрайты
А остальное где, если не в сценах? Ты можешь сохранить сцену всего инвентаря, например, со всеми зельями, рекурсивно. Даже если она создана динамично из кода. И орка. И всю игру. Я у себя всю игру так сохраняю. Но тут есть тонкости. Во-первых ты должен проставить owner'ов, про это в доках к пакедсцене есть. Во-вторых, если ты хочешь чтобы сохранилась переменная, определенная в скрипте, эта переменная должна быть объявлена с export var ..., по крайней мере так было в тройке.

Никаких других хитрых хаков про сохранения я не знаю. Все остальное - долгая муторная ручная работа. Но можешь в ассет сторе поискать готовые решения. Я как-то разбирался с thoth, он был неплох.
Аноним 05/01/24 Птн 22:15:29 926017 491
>>926015
Технически наверно всё таки на сцене, но да, наверно надо разбираться и смотреть на средства сериализации самого шарпа
Аноним 05/01/24 Птн 22:24:37 926020 492
>>926001
Подозреваю что в 99% случаев именно ссылки на конкретные объекты сохранять не нужно
Есть разные стратегии, я бы рассмотрел по порядку возрастания сложности
1. Не сохранять ничего, кроме чекпоинтов/номера текущего уровня. Довольно ограниченно.
2. В случае например инвентаря, может быть достаточно количественного или бинарного состояния. Тебе неважно что это ссылка на объект гибочки, главное что их 99. И что подобран синий ключ.
3. В каких то более сложных случаях, например дерева объектов, должен работать просто словарь значений. Опять же неважно что за объект колес машины, важно только что куплены два зимних и два летних, а в данных о колесах может указываться, что они проапгрейжены украшениями со светодиодами.
4. Еще более сложные случаи могут решаться уникальными ID объектов. Сложно придумать пример, ну пусть будет цепочка что "Город1" производит танк, "Город2" производит ракету, и у обоих есть правило "отправить построенный юнит в Город3", тут важно что это один и тот же город.
В целом при десереализации во время загрузки, твой код должен инстанциировать нужные объекты, добавлять их в нужные части дерева, в т.ч. сцены, подписывать на нужные события, ну и вот таким образом подставлять везде ссылки - в Город1 ссылку на Город3 в нужной команде.
Аноним 05/01/24 Птн 22:25:21 926021 493
>>926004
Найти панель в редакторе темы ты тоже ебал? Понимаю.
Аноним 05/01/24 Птн 22:30:09 926022 494
>>926009
>У него есть общее для всех предметов в инвентаре свойство "в кармашке у",
Никогда не слышал о таком дизайне. Но ничто не мешает динамически добавлять предмету такое свойство, когда его добавляют в инвентарь
>"труп белого орка по имени Патрик, с ранами в районе живота, и отсутствующей ногой"
Не понятно в чем тут сложность и где тут собственно ссылки.
{ type: corpse, name: Patrick, creature: white_orc, wounds: [stomach], legs: { left }}
Аноним 05/01/24 Птн 22:30:36 926023 495
Аноним 05/01/24 Птн 22:36:08 926024 496
>>926020
Да, я тоже думал о варианте три, присваивать айди объекту при сериализации и выставлять нормальную ссылку при десериализации.
>>926022
Так я не уверен именно в сохранениях, я уже добавляю такое свойство.
> где тут собственно ссылки
Я имел ввиду, что этот труп в инвентаре должен быть трупом исторической личности, а не генерик трупом орка.
Аноним 05/01/24 Птн 23:01:40 926031 497
Аноним 06/01/24 Суб 01:01:49 926038 498
image.png 63Кб, 593x341
593x341
Итс хаппенинг
Аноним 06/01/24 Суб 02:29:32 926054 499
>>926020
Использую SQLite для хранения данных(стейт юзера, инвентарь, вещи в магазине и прочее). Есть какие минусы у данного метода?
Мимодругойанон
Аноним 06/01/24 Суб 03:30:23 926057 500
>>926054
Не знаю, ты нам расскажи. Ты связи между сущностями как то хранишь?
Аноним 06/01/24 Суб 04:51:55 926058 501
>>926057
Связи сделал через связи между таблицами в БД(o2o, m2m и т.д.), но их тут мало.
Аноним 06/01/24 Суб 11:01:11 926065 502
>>926001
> сохранять отношение объектов, в которых есть ссылки на объекты
Это всё не нужно делать. Это только навредит. Когда у серьёзных студий в их обновлениях игор отваливаются сохранения - это как раз из-за того, что они в файл сохранений записывали сложные многоуровневые игровые состояния.

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

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

Сохранение и загрузка в этом случае сводятся к сериализации/десериализации глобального словаря-синглтона. Достаются за полсекунды, в руке лежат как влитые, и далее по тексту.

Кроме того, в документации предлагается вредный совет (ИМХО) безвусловно выгружать текущую сцену при активации загрузки сохранения. Ящитаю, здесь ты дожен грамотно подходить к процессу. Если в сохранении указано, что куррен-сцена это СценаА, и у тебя реально загружена СценаА, то менеджер загрузки может не перезагружать её, особенно если загрузка всех её ресурсов будет длиться некомфортно долго, а вместо этого, испустить сигнал "загружен сейв файл", после чего все подписанные на этот сигнал объекты принудительно сходят в глобальный словарь и обновят своё состояние.

Сразу же давай рассмотрим ситуацию, при которой на сцене "/root/world/location1" в сейв-файле есть данные по объекту "/root/world/location1/enemies/enemy1050", который был убит и удалён из дерева на момент загрузки сейва. Казалось бы, объекта нет, хоть испускай сигнал, хоть не испускай, никто не воскреснет, система сломана, разраб соснул. Но погоди, как минимум сама сцена тоже будет объектом-читателем, при испускании сигнала она так же восстановит своё состояние, в том числе, загрузит "/root/world/location1/enemies/enemy1050" и этот механизм ты должен также заложить в систему.

Короче говоря, загрузка сейва должна идти по дереву сверху вниз, в отличие от порядка вызова колбэков типа _ready которые идут снизу вверх, и корень дерева готов только когда готовы все его потомки. У тебя же наоборот, сначала загрузился корень, корень уже загружен - пропускаем этап, затем загрузились непосредственные потомки корня, П1, П2, П3, П2 уже загружен? - пропускаем, потом рекурсивно, если есть, грузятся недостающие потомки П1, П2, П3. И далее, пока рекурсивная функция менеджера загрузки не вернёт нулль, символизируя, что всё дерево восстановлено, после чего испускается наконец сигнал и все, кому надо перетасовываются. Враги становятся в позу с замахнувшимся над игроком мечом, и т.д.

И да, это всё делается во время паузы, я полагаю, когда вся загрузка окончена, пауза отключается и рубилово возобновляется.
Аноним 06/01/24 Суб 11:17:17 926067 503
>>926065
Спасибо, за развёрнутый ответ. Всё понял, потому что понятно объяснил.
Аноним 06/01/24 Суб 11:19:04 926068 504
>>926065
При этом, вышеописанная система максимально гибкая. С её помощью ты можешь реализовать любой стиль сохранения.
Хочешь быстрые сейвы по Ф5 Ф9? Чтобы игрок мог судорожно сохраниться за секунду до смерти и визжать как сучка, швыряя клавиатуру в монитор? Без проблем, биндишь функции сейва и лоада на Ф-клавиши.
Хочешь сейвы у костров и только когда вокруг костра нет агрящихся бомжей? - Пожалуйста, биндишь функцию сейва к функции "посидеть у костра".
Хочешь быстрые чекпойнты? - без проблем, заводишь в глобальном скрипте локаций локальную переменную "чекпоинт", в которую скидываешь, когда тебе надо, копию глобального словаря-состояния и если игрока убил босс, проигрываешь экран геймовера и копируешь локальный чекпойнт обратно в глобальный словарь и вызываешь сигнал обновления, как описано выше, при этом никакого взаимодействия с файловой системой не происходит, всё сидит в оперативке. Игрок перешёл в новую локацию, чекпойнт исчез вместе со старой локацией. Несколько локальных чекпойнтов на локации? Тоже не проблема. Неужели и это объяснять нужно? Прибиваешь копию глобального словаря к ноде-чекпойнту с визуальным флажком и бочкой или что там тебе нравится.
Аноним 06/01/24 Суб 11:25:44 926069 505
>>926067
Погоди, есть ещё один важный момент, об который можно обжечься. Когда будешь делать такой вариант, сразу закладывай возможность блокировки чтения и блокировки записи в вышеописанный глобальный словарь. При активации загрузки - ты должен запретить запись в него, а при активации сохранения, наоборот - запретить чтение. Поскольку предполагается, что объекты будут постоянно по своему желанию ходить в него и читать-писать, им нужно уметь это ограничивать. Иначе можно опять же, получить испорченный сейвфайл, если в нем будут меняться данные в момент его выгрузки на диск.
ПЕРЕКАТ Аноним # OP 06/01/24 Суб 11:29:47 926071 506
1704529788746.png 107Кб, 640x640
640x640
Аноним 06/01/24 Суб 19:18:12 926131 507
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов