Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Godot #43

 Аноним OP 30/11/23 Чтв 23:01:52 #1 №919752 
1701374513506.png
Добро пожаловать в тред любви, взаимопомощи и какого-то SSE!
Шапка: https://hipolink.me/godothread
Предыдущий: >>914638 (OP)
Архивный: >>910890 (OP)
Аноним 30/11/23 Чтв 23:06:13 #2 №919756 
>>919752 (OP)
>SSE
Что такое ССЕ? Сириус Соло Ентерпрайз?
Аноним 30/11/23 Чтв 23:15:13 #3 №919759 
>>919756
Оп пытался смешно выбнуться своими знаниями, а оказалось что немного опозорился. Ну простим ему.
Аноним 30/11/23 Чтв 23:19:46 #4 №919762 
Дано: импортируется моделька из блендера с материалом.

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

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

Как не занимать лишнее место и нормально перекрасить модельку чтобы потом промышленно добавлять модельки разных цветов с помощью гридмапа?
Аноним 30/11/23 Чтв 23:22:04 #5 №919763 
1572292448484.png
1569565571605.png
Вот эта ошибка, ткнул в первую попавшуюся игру на 4.1+
А причина этого вот в чем.
Аноним 30/11/23 Чтв 23:24:25 #6 №919764 
>>919762
При импорте есть вкладка где можно указать чтобы именно материалы сохранились в отдельные файлы.
Аноним 30/11/23 Чтв 23:40:35 #7 №919767 
>>919762
Тяжелый проект же становится скорее всего потому что вершины мешей становятся из бинарных текстовыми массивами в tscn. Это как то можно решить, либо сохранять scn в бинарном виде, либо выносить меши в отдельные ресурсы.
Аноним 01/12/23 Птн 00:00:40 #8 №919770 
>>919762
Сколько же у тебя там вертексов, что все тормозить начинает?
Аноним 01/12/23 Птн 00:03:11 #9 №919772 
>>919759
Простим, конечно. Но каково было намерение? А то я не понял.
Аноним 01/12/23 Птн 00:17:39 #10 №919775 
image.png
Освятил и налил всем кто игры делает чаю.
Аноним OP 01/12/23 Птн 07:59:53 #11 №919802 
>>919772
>>919759
Сёма, не пытайся аппелировать к невежеству. Не та порода. Здесь закал столетний, опенсорсный. Тут байтовыми сдвигами фонит по низам!
Аноним 01/12/23 Птн 10:05:03 #12 №919805 
image.png
Хочу бумажными книгами полезными для геймдева обмазываться в свободное время. Порекомендуйте что годное.
Аноним 01/12/23 Птн 10:39:38 #13 №919807 
>>919805
лучше создавай игры, лентай
Аноним 01/12/23 Птн 10:45:05 #14 №919809 
image.png
>>919807
Я хочу читать бумажные книги когда отдыхаю от компа.
Аноним 01/12/23 Птн 10:49:00 #15 №919810 
Godot 4.2 arrives in style!
Аноним 01/12/23 Птн 12:40:36 #16 №919821 
image.png
Делойте игры
Аноним 01/12/23 Птн 13:03:04 #17 №919830 
image.png
image.png
Стата официального канала Годота с ютуба. РФ неожиданно высоко.

https://docs.google.com/forms/d/e/1FAIpQLSeXRE1nF64PUilO6fA7Pevh2lWukJtpdBvc2_A3fGfuciy-gQ/viewanalytics
А это результаты опроса 2023.

Потому что другой аналитики у них нет.
Аноним 01/12/23 Птн 13:19:47 #18 №919831 
>>919830
>Youtube
>Male 95
Конечно, туториалы на ютубе смотрю я, а потом все подготавливаю и объясняю жене, она уже там уровни рисует. А по блендеру наоборот.
Аноним 01/12/23 Птн 13:21:16 #19 №919832 
image.png
>>919809
>>919805
Обмажусь наверное книгами по сценаристике.
Аноним 01/12/23 Птн 13:25:18 #20 №919833 
>>919832
Ты планируешь делать сюжетные игры и визуальные новеллы?
Аноним 01/12/23 Птн 13:27:59 #21 №919834 
>>919833
Сюжетные, да. Очень глубокие сюжетные игры в которых чем меньше сюжета и диалогов, тем лучше.
Аноним 01/12/23 Птн 13:29:47 #22 №919835 
>>919832
Зачем вайпаешь? Обсуждай это в соответствующих тредах.
Аноним 01/12/23 Птн 13:39:37 #23 №919836 
>>919835
Ладно.
Аноним 01/12/23 Птн 13:46:11 #24 №919839 
>>919835
Вайпать это другое.
мимо не он
Аноним 01/12/23 Птн 14:14:54 #25 №919843 
>>919821
Вот это реально полезная пикча. Схоронил!
Аноним 01/12/23 Птн 16:03:48 #26 №919857 
Только сейчас раздуплился и заметил выход 4,2. Ещё и блендер недавно обновился до 4. Теперь вообще нет отговорок не делать свои игры. Пиздец.
Аноним 01/12/23 Птн 16:47:26 #27 №919865 
>>919857
Есть.Бесмысленость занятия
Аноним 01/12/23 Птн 19:12:46 #28 №919906 
>>919857
> нет отговорок не делать свои игры
Для настоящего прокрастинатора всегда найдётся отговорка.
Ты только погляди, какие крутые фичи нам готовят в 4.3 https://www.youtube.com/watch?v=R-oJzCGFnak
Надо только подождать.
Кирилл 01/12/23 Птн 20:36:42 #29 №919921 
Screenshot2023-12-0120-07-52.png
Screenshot2023-12-0120-09-22.png
Screenshot2023-12-0120-10-49.png
basetexture.png
Может кто то сможет подсказать в чём проблема и как поправить.
Суть: Немного кирильствую, пилю игру мечты и т.д. Делал модельки и для каждой запекал текстуры отдельно. И понял, что как то дохрена килобайтов получается и надо оптимизировать.
Стал переделывать на текстурный атлас.
Есть модель бочки, для неё сделано 2 UV-карты. Одна натянута на область с цветом, вторая натянута на область с ржавчиной + альфой. И сделан шейдер, где это всё миксуется. В блендере вроде получается результат, но когда импортирую в Годо - получаю только ржавчину.

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

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

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

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

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

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

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

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

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

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

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

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

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

Понадобилось мне тут для своей пиксельной игрули сделать линию (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 #100 №920548 
>>920547
сцуко, в который раз уже забываю про съедающиеся макабой звёздочки.
Аноним 05/12/23 Втр 06:48:08 #101 №920558 
>>920544
Не трогай тайлмапы в годоте, сразу переходи на LDTK.
Аноним 05/12/23 Втр 09:10:04 #102 №920564 
Реально ли сделать какой нибудь аналог ravenfield/battlefield 2 на годоте, при этом с лучшей производительностью?

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

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

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

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

Но это всё не так страшно как кажется. Особенно использование сторонник ECS движков и рендеров, это уж точно не страшнее использования таких движков как юнити и годот. Добиться своими силами увеличения производительности минимум на 20-30% ты точно сможешь без написания своего движка. Заодно интеллект себе забустишь, пока будешь в этом во всём разбираться.
Аноним 05/12/23 Втр 14:10:27 #112 №920596 
image.png
image.png
Неплохо так в андроиде вулкан забустился. И опенгл 3 тоже. На что переходить с gles2, если пилишь под мобилки? Вулкан или опенгл 3?
Аноним 05/12/23 Втр 14:19:49 #113 №920598 
>>920587
>Она же тоже пикселизируется в соответствии с твоим разрешением
Нет. Она при любом увеличении выглядит гладкой, так как представляет собой (внутри движка) 3Д объект. Если графон типа Селесты, где пиксель игры занимает 8 реальных пикселей экрана, линия будет визуально выбиваться.
Аноним 05/12/23 Втр 14:30:03 #114 №920599 
>>920594
А ты сколько уже геймдевом занимаешься?
Аноним 05/12/23 Втр 14:30:58 #115 №920600 
Screenshot from 2023-12-05 14-24-47.png
Screenshot from 2023-12-05 14-24-22.png
>>920598
У меня не выбивается. Размер игрового поля - 128х64, размер окна (test width/height) - 512х256. Получается 1 пиксель игры занимает 4 реальных.
Аноним 05/12/23 Втр 14:35:00 #116 №920603 
>>920558
Собирать уровень в другой программе и импортировать в годот? Жуть какая
Аноним 05/12/23 Втр 15:15:33 #117 №920613 
>>920586
Не будет там вдвое медленнее, лол. Тебя посетил ецс-шизик, просто репорти его за движкосрач.
Аноним 06/12/23 Срд 00:32:02 #118 №920700 
https://godotengine.org/article/godot-foundation-update-2023/

плс донат
Аноним 06/12/23 Срд 01:42:04 #119 №920709 
>>920700
Так а сколько не хватает-то?
Аноним 06/12/23 Срд 02:13:24 #120 №920710 
>>920709
А сколько у тебя есть?
Аноним 06/12/23 Срд 09:42:25 #121 №920729 
>>920613
Как сделать чтобы за игроком следовали боты, типо как в "overlord" ? При этом была возможность менять построения

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

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

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

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

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

Сейчас смотрю на ютубе mr.D и он прямо дохуя моментов не объясняет а пропускает и кладет хуй
Приходится дрочить нейронку вопросами
Аноним 08/12/23 Птн 17:09:45 #150 №921141 
>>921138
Нет толкового на русском, зумеры одни тупые. Смотри на инглише. Вот >>921096
Аноним 08/12/23 Птн 17:24:18 #151 №921145 
170204445551483246.webm
>>921141
Что это на превьюшке? Женщина? В пизду, не могу бабтй голос терпеть пиздец, и чуство такое блять отвратительное когда тебе что то баба расказывает
Аноним 08/12/23 Птн 17:42:14 #152 №921147 
>>921145
Подрочи и сможешь полчаса слушать даже бабу. Такой тебе лайфхак.
Аноним 08/12/23 Птн 18:21:17 #153 №921151 
>>921138
Оф документация текстом, кроме шуток. Прям начинаешь и все по порядку читаешь начиная с вводных и туториалов. Доки к нодам тоже, там не все конечно обязательно, но в корневых типа node, node2d/node3d canvasitem, physicalbody и тд много ценной инфы.
Аноним 08/12/23 Птн 19:16:19 #154 №921164 
>>921006
Так статические пропсы проще чем ригнутые анимации делать.
Аноним 08/12/23 Птн 21:43:59 #155 №921208 
170206005812319113.jpg
Сделал такой вот код для рандомного спавна деревьев (координаты рандомные в скрипте сцены дерева)
Все работает, но я вот нихуя не пойму что делает "instantiate()" ? И почему это не появляется в подсказке окошка автозаполнения? Я сначала подумал у меня такой функции вообще нет, хотя годот свежий
Аноним 08/12/23 Птн 21:54:12 #156 №921212 
Вроде нейронка обьяснила так:
Instantiate просто создает экземпляр сцены а вот его уже надо крепить корнями как вековой дуб к другим нодам функцией add_child
Аноним 08/12/23 Птн 22:27:09 #157 №921220 
>>921208
Да это хорошо но может научишься такой функцией как ножницы?
Аноним 08/12/23 Птн 22:27:59 #158 №921221 
>>921212
Да, создает новый экземпляр класса/сцены.

https://docs.godotengine.org/en/stable/tutorials/scripting/nodes_and_scene_instances.html
https://docs.godotengine.org/en/stable/classes/class_packedscene.html#class-packedscene-method-instantiate
Читай документацию. В самом годоте ее же можно получить по ф1.
Аноним 08/12/23 Птн 22:55:15 #159 №921225 
https://forum.godotengine.org

Годоти открыли официальный форум.
Аноним 08/12/23 Птн 23:59:52 #160 №921228 
>>921220
Я с пеки на двачаэ не сижу, а тред искать лень
Намного проще так
Аноним 09/12/23 Суб 07:54:59 #161 №921263 
>>921228
Вангую, что ты просто боишься оставить двач в истории браузера, потому что комп не твой. Ничего страшного. Просто юзай приватные вкладки! Я на работке так капчую. В случае чего - хуяк и комп чист.
Аноним 09/12/23 Суб 07:55:31 #162 №921264 
Зацените БАЗИС
https://youtu.be/RM_ExxV-0Qo
Аноним 09/12/23 Суб 07:58:51 #163 №921265 
>>921225
> Годоти
У меня бабушка в деревне так разговаривала.
> Идити картоплю копати
Ты бабушка?
Аноним 09/12/23 Суб 08:17:18 #164 №921269 
>>921263
Чел, если ты стыдишься тут сидеть это не значит что и все стыдятся
Я тебе написал как есть, нехуй выдумывать
Аноним 09/12/23 Суб 08:19:49 #165 №921270 
Есть много Area 2D на экране, они двигаются по экрану и иногда совпадают.

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

Стейт-машина со стейт-объектами хороша тем, что в ней нет ни портянки ифов, ни матча, что аналогично по сути. В ней логика делегирована в стейты. Если ты ходишь, у тебя стейт "ходьба" и в нём реализован инпут ходьбы, анимация ходьбы и т.п. При нажатии на прыжок, контроллер переключается на стейт прыжка/падения. Если это всё грамотно реализовать, то добавление диалогов в такой контроллер было бы для тебя написанием простенького стейта-адаптера диалогового аддона.
Аноним 09/12/23 Суб 22:37:42 #186 №921464 
1702150586850.png
1702150586873.png
1702150586945.png
1702150586956.png
Ну не знаю
Перерисовать самодумия за неделю от руки?
Так то тема атмосферная, темнота, мусорник, мерзлота, кровьпойло
Аноним 09/12/23 Суб 22:45:06 #187 №921465 
>>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 #188 №921466 
>>921461
Да я пытаюсь в стейт-машину, но у меня не выходит)
Аноним 10/12/23 Вск 00:04:18 #189 №921477 
>>921466
Я тут решил набросать тебе пример стейтмашины на классах, но пока набрасывал, до меня дошло, что можно ещё круче и проще. Стейт-машина на замыканиях (они же лямбды, они же Callable). Тебе не придётся кучу классов создавать, а удобство такое же (минимум if-ов)

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

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

Применил трансформы - помогло, спасибо.
Касательно Area3D - в _physics_process() печаетеся area.get_overlapping_bodies(). В 4.2 печатается пустой массив, то есть внутри области ничего нет, хотя там расположен CSGBox3D. В 3.5 схожая сцена печатает необходимый куб.
Аноним 11/12/23 Пнд 22:06:37 #213 №921801 
>>921800
С 4-кой помочь не смогу. Включи в дебаге рисование коллайдеров, убедись что они реально есть в пространстве. Посмотри слои коллайдеров, а так хз.
Аноним 12/12/23 Втр 00:07:29 #214 №921810 
Делайте игры.
Аноним 12/12/23 Втр 12:49:31 #215 №921888 
>>921800
> Применил трансформы - помогло, спасибо.
Ну анон, ну это база же. Ну в каждом туториале по блендеру, же, ёпт! Ну как так-то?
Аноним 12/12/23 Втр 12:49:58 #216 №921889 
>>921810
Покажи на своём примере. Мотивируй.
Аноним 12/12/23 Втр 13:26:56 #217 №921899 
Почему в четверке, в тайлмапах, вместо индекса тайла сделали инт-вектор2 с координатами тайла на атласе? В этом есть оптимизация? Интересно узнать.
Аноним 12/12/23 Втр 16:42:28 #218 №921926 
Поможет ли опыт в Godot разобраться в других движках, например в Defold или в Construct 3? Это не движкосрач, все движки имеют свои инструменты и особенности.
Аноним 12/12/23 Втр 16:49:42 #219 №921928 
>>921926
Поможет, он сложнее, но если освоишь более сложное, уже не будет смысла переходить на простое, оно более ограниченное
Аноним OP 12/12/23 Втр 16:57:06 #220 №921929 
>>921926
> Поможет ли опыт
Да.
Аноним 12/12/23 Втр 17:03:28 #221 №921930 
Что лучше по перформансу, омнилайт без теней или hdr glow?
Аноним 12/12/23 Втр 20:18:56 #222 №921959 
>>921926
Мне не помог. Я совался в тот же Дефолд, так и не смог, мне там не хватало всяких нужных штук.
Аноним 12/12/23 Втр 21:13:02 #223 №921964 
>>921930
Не очень понятно как ты их сравниваешь.
Омнилайт не подсвечивает воздух вокруг же. Или ты про туман?
Вообще включи и сам измерь.
Аноним 12/12/23 Втр 21:13:46 #224 №921965 
>>921926
Как ты себе представляешь использование инструмента из C3 в разработке игры на годоте?
Аноним OP 12/12/23 Втр 21:17:00 #225 №921966 
>>921965
Если говорить о констракте.
Мы это обсуждали мноооого тредов назад. Можно сделать констракт-аддон. Кстати, на четвёрке это еще проще сделать. Либо аддон, либо заготовить констракт-стайл-сцены из которых потом складывать "ивентщиты".
Аноним 13/12/23 Срд 10:47:13 #226 №922047 
Пришло время заканчивать игру и платить дань дону Хуану.
https://w4games.com/2023/12/11/w4-games-announces-pricing-model-for-console-ports/
Аноним 13/12/23 Срд 12:47:08 #227 №922076 
>>922047
А твой дон хуан это кто? Владелец нинтендо? Или может владелец плейстейшон?
Аноним 13/12/23 Срд 15:02:49 #228 №922122 
image.png
>>922047
В основном ты платишь Сони/МС/Нинтендо за их закрытые СДК и ключи, а не Хуану. Но полагаю W4 и свой процент берет тоже. Интересный момент - по правилам W4 ты можешь купить 800-баксов тир и на выбранной платформе публиковать неограниченное количество игор
Аноним 13/12/23 Срд 16:12:55 #229 №922140 
Появляется ахуенная идея для игры, уже мысленно пишешь скрипты на свои мега-механики, а на следущий день она уже кажется какой то хуетой
Что делать с этим?
Аноним 13/12/23 Срд 16:19:37 #230 №922143 
>>922140
>а на следущий день она уже кажется какой то хуетой
Значит сразу была хуета
>Что делать с этим?
Придумать истинно годную идею. Накидывай много, через несколько дней смотри какая из них не кажется хуетой, ту и реализовывай
Аноним 13/12/23 Срд 17:37:45 #231 №922154 
image.png
>>921687
>>921608
Короче Хуан чутка подправил, кажется, что перспективы у этого ги огромные, реально производительность отличная, даже отражения есть. Пока не без недостатков, протечки, пятна, но он клянется доработать
Аноним 14/12/23 Чтв 04:29:46 #232 №922232 
>>922154
Что за штука?
Это в скринспейсе делается, типа как SSDO?
Аноним 14/12/23 Чтв 10:07:01 #233 №922277 
>>922154
Там все на зубодробительном вулкане, или есть шанс что такое бекпортирют в 3-ку?
Аноним 14/12/23 Чтв 13:29:18 #234 №922318 
>>922277
В тройку уже ничего серьезного не бекпортируют. Когда-нибудь выйдет долгожданный 3.6 с минорными фиксами-патчами, а дальше все, приехали.
Аноним 14/12/23 Чтв 16:56:13 #235 №922363 
>>922318
Ну так то туда много чего бекпортировали, вопрос сугубо про ГИ, я им никогда не пользовался и не знаю че почем.
Аноним 14/12/23 Чтв 16:56:52 #236 №922364 
Наткнулся на проект для ВНок, тут вечно спрашивают, хотите потестите.
https://github.com/wareya/MirageVN
Аноним 14/12/23 Чтв 17:10:57 #237 №922366 
>>922363
Это ты жалуешься, что четвёрка тормозит?
Я тут начал портировать сапёра (постил скрины ИТТ) с трёшки на четвёрку. Так вот. Функция заполнения тайлмапа 100 на 100 (10к тайлов) в трёшке выполнялась с неприятным нюху протормаживанием в несколько секунд, а в четверке аналогичное действие выполняется в пределах фрейма. Ну это так, к слову, насчёт скоростей.
Аноним 14/12/23 Чтв 21:18:50 #238 №922403 
>>922364
Это опенсорс? Бери и пользуйся?
Аноним 14/12/23 Чтв 21:55:11 #239 №922413 
>>922403
Чувак вроде любит все в публичный доступ под CC0 выкладывать, так что да
Аноним 14/12/23 Чтв 22:44:57 #240 №922418 
image.png
Я не пойму никак, в чем разница между Baked Lightmap и GI Probe? Оба запекают свет. По документацию вижу что GI Probe только на GLES3 работает. В чем еще отличия? Кто из них умеет освещать динамичные объекты, например Rigid Body?
Аноним 14/12/23 Чтв 22:46:35 #241 №922419 
>>922403
Лицензия стоит СС0, паблик домейн. Можешь хоть продать как есть.
Аноним 14/12/23 Чтв 23:08:21 #242 №922423 
>>922418
Лайтмапы это как текстура, на производительность почти не влияет, но там недостатков много, солнце вращать нельзя, а ги пробы вроде воксельные, доки читай
Аноним 14/12/23 Чтв 23:47:40 #243 №922426 
image.png
https://godotengine.org/article/collaboration-with-google-forge-2023/

Гугл вкатывается в Годот. А кто такие The Forge?
Аноним 15/12/23 Птн 02:06:14 #244 №922433 
Мне кажется, что я ненавижу делать игры. Я делаю игру и понимаю, что выходит хуита. Чем дальше в разработку - чем хуже себя чувствую. И это в годоте, где за тебя 75% уже сделано, сиди просто ноды расставляй.
Аноним 15/12/23 Птн 02:15:18 #245 №922434 
>>922433
Снижай, как говорится, скоп. Делай игры меньше, идеи оригинальней, прокачивай визуальный стиль.
Аноним 15/12/23 Птн 16:51:44 #246 №922520 
1702648301092.jpg
>>922433
> Мне кажется, что я ненавижу делать игры.
Делай программы.
Аноним 15/12/23 Птн 17:03:53 #247 №922526 
>>922520
Все программы уже сделаны до вас, а те которые ещё не сделаны до вас, невозможно создать в одиночку на слабом домашнем ПК. Тут нужна команда специалистов и несколько квантовых суперкомпьютеров, вот тогда получится программа которую точно не создавали до тебя другие люди.
Аноним 15/12/23 Птн 17:04:57 #248 №922530 
ИТТ очередной ментальный гимнаст, выворачивающийся через жопу чтобы оправдать свою прокрастинацию.
Аноним 15/12/23 Птн 17:15:39 #249 №922532 
>>922526
> создать в одиночку на слабом домашнем ПК
Вот мы и добрались до сути. Иди денег заработай на нормальный комп, и не ной тут. Курьером иди. Пробздись.
Аноним 15/12/23 Птн 17:19:44 #250 №922534 
>>922526
Зачем мощный компьютер для разработки программ?
Аноним 15/12/23 Птн 18:01:56 #251 №922542 
>>922534
Двачую. Ладно в вебе может быть еще (чтобы сервера на ноде поднимать и селениумы гонять с автотестами, да и то можно просто писать разметку и пушить на сервак для сборки), но вот например для сишечки вполне достаточно некроноута с блокнотом. И можно делать кучу полезного софта. Я например участвую в разработке компилятора нового языка, да много в чем можно поучаствовать, кроме каких то тяжелых нейронок.
Аноним 15/12/23 Птн 19:06:26 #252 №922551 
>>922532
>>922526
Это другой человек.
Аноним 15/12/23 Птн 20:51:19 #253 №922572 
image.png
Делойте игры.
Аноним 15/12/23 Птн 21:36:58 #254 №922586 
>>922551
> Это другой человек.
Это тот же человек. Та же персона.
>>922572
Да как же делать игры теперь? Я не могу решить одну важнейшую задачу: допустим игрок вместе с боссом убивают друг друга. Как обрабатывать такой случай?
Аноним 15/12/23 Птн 22:15:56 #255 №922598 
>>922586
>Это тот же человек. Та же персона.
Но личность-то разная.

>важнейшую задачу
Если ты казул - засчитывай ситуацию в пользу игрока. Если хардкорщик - в пользу босса.
Аноним 16/12/23 Суб 00:52:22 #256 №922611 
>>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 #257 №922626 
>>922418
Лайтмап - освещение и ги запечены в текстуру, один раз запек и используешь.

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

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

Как тогда минимально требовательное динамичное освещение делать? Расставлять редкие омнилайты без теней?
Аноним 16/12/23 Суб 15:24:07 #260 №922665 
>>922611
Но ты не учёл накладываемые эффекты, которые твином постепенно уменьшают хп. И пока идёт анимация вин, перс может помереть.
Аноним 16/12/23 Суб 16:26:20 #261 №922680 
>>922665
Учел, читай 3-е предложение с конца.
Аноним 17/12/23 Вск 00:38:55 #262 №922860 
>>922659
Вот такое нашел
https://godotforums.org/d/30799-35-i-solved-lightbaking-issues
https://github.com/godotengine/godot/pull/64908
Жаль его пока не мержнули
Может после НГ еще поиграюсь с лайтмаппером
В прошлый раз неделю на него убил и так ничего толком не вышло
Уже не помню в чем там подводные были
Аноним 18/12/23 Пнд 00:58:22 #263 №923013 
https://youtu.be/oV8c9alXVwU?t=29
Аноним 18/12/23 Пнд 13:04:29 #264 №923037 
На новый год буду делать игори. И вы делайте.
Аноним 18/12/23 Пнд 13:18:57 #265 №923040 
>>923013
Выглядит круче зилановского плагина.
Аноним 19/12/23 Втр 03:45:55 #266 №923132 
image.png
Комьюнити здесь? Встречайте вашего нового начальника-цу.

https://godotengine.org/article/communications-update-2023/
Аноним 19/12/23 Втр 08:32:54 #267 №923143 
>>923132
То есть больше шитпостов от хуана не будет?
Аноним 19/12/23 Втр 09:00:03 #268 №923146 
>>923132
Тоесть годот это сойжаковый лгбт бодипозитив движок
Аноним 19/12/23 Втр 12:55:22 #269 №923168 
>>923146
Это тема для движкосрач треда. Если вкратце, то весь софт сегодня левый. Праваков в айти уже не осталось. За подробностями - в движкосрач.
Аноним 19/12/23 Втр 13:52:49 #270 №923173 
>>923143

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

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

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

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

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

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

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

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

Для этого я могу включить Y сортировку нод, но этот способ годится только для простых форм. Я хочу понять как мне сделать универсальное решение такой задачи, которое не зависит от формы объекта.
Аноним 21/12/23 Чтв 10:27:56 #282 №923491 
>>923487
Где то в инспекторе толи персонажа, толи тайлмапы есть менюшка "слои" или "уровни"
Может там сделать можно
Аноним 21/12/23 Чтв 11:26:35 #283 №923499 
Есть котаны, которые могут подучить этим двиглом пользоваться?
Аноним 21/12/23 Чтв 11:27:46 #284 №923500 
>>923499
Куча уроков на ютубе и документация с гайдом как сделать простенькую игру
Аноним 21/12/23 Чтв 12:53:20 #285 №923508 
>>923487
Я делал довольно плотную на спрайты 2д топ даун. Решал такими хаками: слои, множественные Y-sort ноды, большие спрайты резал на спрайты поменьше, старался избегать диагональных спрайтов. Итог не идеален, но неплох. Как я понял результата лучше можно добиться только с помощью 2д внутри 3д.
Аноним 21/12/23 Чтв 13:55:22 #286 №923511 
>>923499
А ты кто?
Аноним 21/12/23 Чтв 22:49:24 #287 №923561 
https://godotengine.org/article/dev-snapshot-godot-4-3-dev-1/

Не спать. Делать игры. 4.3 на подходе, биг импрувментс.
Аноним 21/12/23 Чтв 23:39:03 #288 №923570 
1585887684591.png
1549388654724.png
1590211584294.png
>>923484
Подвох в том, что это не топдаун. Хотя 99% игроков назовут это топдауном, с точки зрения разработчика это более специфичная вешь, не имеющая общепринятого названия - oblique, 3/4 angle, frontal, изометрия повернутая на 45 и т.д. А классический топдаун - это Хотлайн Майами. А в oblique ты действительно получаешь некоторые проблемы, схожие с изометрическими проблемами. Конкретно в твоем случае, вроде бы, достаточно разрезать Г на два прямоугольника. Скорее всего, это можно делать автоматически, наверняка есть алгоритм находящий в полигоне прямоугольники (и точно для годота есть ассет. который строит по спрайту полигон).
Аноним 22/12/23 Птн 01:08:27 #289 №923580 
>>923570
Слишком сложный костыль, такое точно делать не буду.

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

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

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

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

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

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

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

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

>>923844
Как уже сказали - пихай в контрол нод, контрол нод ставь в layout full rect.
>я буду проверять точку нажатия и сравнивать с координатами доступных областей
Что, вручную? Почему бы тогда не заменить спрайты на texturebutton, у которых есть эвент pressed? Сразу жизнь себе упростишь.
Аноним 24/12/23 Вск 14:19:39 #333 №923883 
>>923878
Двачую. Весь ноябрь пересматривал стримы по дарксолсам (а мог бы игры делать, да) и частенько подмечал и статтеры и грузящиеся перед ебалом лоды. Но об этом никто не говорит, всем тупо похуй. Потому что типичный игрок в дарксолсы видит не статтеры, и не прогрузку лодов, а видит он Лотрик и Нью-Лондон, взмахи меча и тайминги отпрыга.
Аноним 24/12/23 Вск 14:50:43 #334 №923886 
>>923844
Ну как тебе уже написали для этого и изобретены Control ноды
Работают они в связке с настройками окна (которые 2d, keep aspect, вот эти) и масштабируются вместе с окном
Но никто не мешает конечно и самому масштабировать
Проверять координаты в любом случае зачем? Кроме контролов есть Area2D с событиями мыши.
Аноним 24/12/23 Вск 19:53:09 #335 №923926 
>>923882
> спрайты на texturebutton
Спасибо антош, так и сделал, почему-то забыл о них.
Теперь все скейлится как надо, еще и кнопки есть.
Аноним 24/12/23 Вск 20:30:14 #336 №923930 
>>923926
Квест делаешь? Откуда арт?
Аноним 24/12/23 Вск 21:05:59 #337 №923935 
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 #338 №923944 
>>923935
Да.
Аноним 25/12/23 Пнд 00:04:31 #339 №923945 
>>923839
Ну, шейдерами, например.
Аноним 25/12/23 Пнд 04:27:53 #340 №923950 
>>923930
> Квест
Нет, жанр около симулятора-коллекционки.
> Откуда арт
Один из бэкграундов игры, которую делаю.
Аноним 25/12/23 Пнд 08:05:57 #341 №923952 
image.png
Не могу придумать как в top down игре сделать так, чтобы главный герой мог "сталкиваться" с врагами (и герой и враги kinematicbody2d, в 4 версии вроде уже по другому называются, не суть), но при этом, если те его окружают, то он их спокойно "расталкивает" и убегает. Что-то типа того, что в vampire survivors реализовано. В данный момент, после того враги облепили персонажа, выпутаться из этого невозможно, как победить не понимаю.
Аноним 25/12/23 Пнд 08:14:48 #342 №923953 
>>923952
Сделать управление и героем и врагами с помощью приложения сил. У героя масса и сила будет больше, у врагов меньше.
Аноним 25/12/23 Пнд 14:23:39 #343 №923976 
>>923952
Нахуй врагов кинематиком-то? Ебашь их риджидом, будут отлетать на ура.
Аноним 25/12/23 Пнд 23:07:20 #344 №924027 
>>923952
собственно говоря, если надо, чтобы
противник отталкивался от персонажа, то:

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

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

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

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


Вообще, всем спасибо, аноны, попробую что-нибудь соорудить.
Аноним 26/12/23 Втр 13:24:44 #347 №924092 
>>924080
ну ты не стесняйся задавать вопросы есчо
Аноним 26/12/23 Втр 19:12:34 #348 №924191 
image.png
Делойте игори. Новый год же.
Аноним 26/12/23 Втр 19:19:41 #349 №924194 
image.png
Кому тут глубокие диалоги нужны были? https://theduriel.itch.io/nylon

С вас 10 баксов.
Аноним 26/12/23 Втр 23:29:34 #350 №924253 
>>923952
>vampire survivors
>Your First 2D GAME From Zero with GODOT 4! Vampire Survivor Style
https://www.youtube.com/watch?v=GwCiGixlqiU

Специально для тебя, анон.
Аноним 27/12/23 Срд 00:41:44 #351 №924280 
>>924191
Угу уже начал делать, игра войдет в историю, осталось только выбрать джем в который ее вбросить, но там какие то унылые скучные на 1 января выпадают.
Аноним 27/12/23 Срд 06:23:23 #352 №924302 
>>924280
>осталось только выбрать джем
А как вы их ищите, куда публикуете? Поведайте как в джемы влезать.
Аноним 27/12/23 Срд 11:20:29 #353 №924327 
>>924253
Ага, спасибо, гляну.
Аноним 27/12/23 Срд 13:19:55 #354 №924354 
>>924302
https://itch.io/jams
Прост тут выбираешь любой по вкусу и вперед.
Аноним 27/12/23 Срд 14:44:29 #355 №924366 
>>924354
Никогда не понимал, чем людей привлекают эти ваши джемы. Добровольный кранч, дабы высрать недоигру, в которую поиграют полтора человека. При этом уровень конкуренции выше, чем если просто зарелизить игру. И даже денежного вознаграждения зачастую не бывает.
Какой смысл? Что этими людьми движет?
Аноним 27/12/23 Срд 15:20:03 #356 №924383 
>>924366
Уровень внимания выше. Твою игру реально рассматривают и рейтят другие участники джема и организаторы. Позволяет нащупать годные идеи, потом довести их до ума вне джема и выпустить интересную игру. Многие успешные инди так начинались.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Никаких других хитрых хаков про сохранения я не знаю. Все остальное - долгая муторная ручная работа. Но можешь в ассет сторе поискать готовые решения. Я как-то разбирался с thoth, он был неплох.
Аноним 05/01/24 Птн 22:15:29 #491 №926017 
>>926015
Технически наверно всё таки на сцене, но да, наверно надо разбираться и смотреть на средства сериализации самого шарпа
Аноним 05/01/24 Птн 22:24:37 #492 №926020 
>>926001
Подозреваю что в 99% случаев именно ссылки на конкретные объекты сохранять не нужно
Есть разные стратегии, я бы рассмотрел по порядку возрастания сложности
1. Не сохранять ничего, кроме чекпоинтов/номера текущего уровня. Довольно ограниченно.
2. В случае например инвентаря, может быть достаточно количественного или бинарного состояния. Тебе неважно что это ссылка на объект гибочки, главное что их 99. И что подобран синий ключ.
3. В каких то более сложных случаях, например дерева объектов, должен работать просто словарь значений. Опять же неважно что за объект колес машины, важно только что куплены два зимних и два летних, а в данных о колесах может указываться, что они проапгрейжены украшениями со светодиодами.
4. Еще более сложные случаи могут решаться уникальными ID объектов. Сложно придумать пример, ну пусть будет цепочка что "Город1" производит танк, "Город2" производит ракету, и у обоих есть правило "отправить построенный юнит в Город3", тут важно что это один и тот же город.
В целом при десереализации во время загрузки, твой код должен инстанциировать нужные объекты, добавлять их в нужные части дерева, в т.ч. сцены, подписывать на нужные события, ну и вот таким образом подставлять везде ссылки - в Город1 ссылку на Город3 в нужной команде.
Аноним 05/01/24 Птн 22:25:21 #493 №926021 
>>926004
Найти панель в редакторе темы ты тоже ебал? Понимаю.
Аноним 05/01/24 Птн 22:30:09 #494 №926022 
>>926009
>У него есть общее для всех предметов в инвентаре свойство "в кармашке у",
Никогда не слышал о таком дизайне. Но ничто не мешает динамически добавлять предмету такое свойство, когда его добавляют в инвентарь
>"труп белого орка по имени Патрик, с ранами в районе живота, и отсутствующей ногой"
Не понятно в чем тут сложность и где тут собственно ссылки.
{ type: corpse, name: Patrick, creature: white_orc, wounds: [stomach], legs: { left }}
Аноним 05/01/24 Птн 22:30:36 #495 №926023 
>>926008
Ты кто вообще?
Аноним 05/01/24 Птн 22:36:08 #496 №926024 
>>926020
Да, я тоже думал о варианте три, присваивать айди объекту при сериализации и выставлять нормальную ссылку при десериализации.
>>926022
Так я не уверен именно в сохранениях, я уже добавляю такое свойство.
> где тут собственно ссылки
Я имел ввиду, что этот труп в инвентаре должен быть трупом исторической личности, а не генерик трупом орка.
Аноним 05/01/24 Птн 23:01:40 #497 №926031 
Полезное нашёл
https://habr.com/ru/articles/781022/
Аноним 06/01/24 Суб 01:01:49 #498 №926038 
image.png
Итс хаппенинг
Аноним 06/01/24 Суб 02:29:32 #499 №926054 
>>926020
Использую SQLite для хранения данных(стейт юзера, инвентарь, вещи в магазине и прочее). Есть какие минусы у данного метода?
Мимодругойанон
Аноним 06/01/24 Суб 03:30:23 #500 №926057 
>>926054
Не знаю, ты нам расскажи. Ты связи между сущностями как то хранишь?
Аноним 06/01/24 Суб 04:51:55 #501 №926058 
>>926057
Связи сделал через связи между таблицами в БД(o2o, m2m и т.д.), но их тут мало.
Аноним 06/01/24 Суб 11:01:11 #502 №926065 
>>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 #503 №926067 
>>926065
Спасибо, за развёрнутый ответ. Всё понял, потому что понятно объяснил.
Аноним 06/01/24 Суб 11:19:04 #504 №926068 
>>926065
При этом, вышеописанная система максимально гибкая. С её помощью ты можешь реализовать любой стиль сохранения.
Хочешь быстрые сейвы по Ф5 Ф9? Чтобы игрок мог судорожно сохраниться за секунду до смерти и визжать как сучка, швыряя клавиатуру в монитор? Без проблем, биндишь функции сейва и лоада на Ф-клавиши.
Хочешь сейвы у костров и только когда вокруг костра нет агрящихся бомжей? - Пожалуйста, биндишь функцию сейва к функции "посидеть у костра".
Хочешь быстрые чекпойнты? - без проблем, заводишь в глобальном скрипте локаций локальную переменную "чекпоинт", в которую скидываешь, когда тебе надо, копию глобального словаря-состояния и если игрока убил босс, проигрываешь экран геймовера и копируешь локальный чекпойнт обратно в глобальный словарь и вызываешь сигнал обновления, как описано выше, при этом никакого взаимодействия с файловой системой не происходит, всё сидит в оперативке. Игрок перешёл в новую локацию, чекпойнт исчез вместе со старой локацией. Несколько локальных чекпойнтов на локации? Тоже не проблема. Неужели и это объяснять нужно? Прибиваешь копию глобального словаря к ноде-чекпойнту с визуальным флажком и бочкой или что там тебе нравится.
Аноним 06/01/24 Суб 11:25:44 #505 №926069 
>>926067
Погоди, есть ещё один важный момент, об который можно обжечься. Когда будешь делать такой вариант, сразу закладывай возможность блокировки чтения и блокировки записи в вышеописанный глобальный словарь. При активации загрузки - ты должен запретить запись в него, а при активации сохранения, наоборот - запретить чтение. Поскольку предполагается, что объекты будут постоянно по своему желанию ходить в него и читать-писать, им нужно уметь это ограничивать. Иначе можно опять же, получить испорченный сейвфайл, если в нем будут меняться данные в момент его выгрузки на диск.
ПЕРЕКАТ Аноним OP 06/01/24 Суб 11:29:47 #506 №926071 
1704529788746.png
>>926070 (OP)
>>926070 (OP)
>>926070 (OP)
Аноним 06/01/24 Суб 19:18:12 #507 №926131 
>>925992
Напиши в телегу
comments powered by Disqus

Отзывы и предложения