1701374513506.png9 Кб, 920x920
Godot #43 # OP 919752 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и какого-то SSE!
Шапка: https://hipolink.me/godothread
Предыдущий: >>914638 (OP)
Архивный: >>910890 (OP)
2 919756
>>19752 (OP)

>SSE


Что такое ССЕ? Сириус Соло Ентерпрайз?
3 919759
>>19756
Оп пытался смешно выбнуться своими знаниями, а оказалось что немного опозорился. Ну простим ему.
4 919762
Дано: импортируется моделька из блендера с материалом.

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

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

Как не занимать лишнее место и нормально перекрасить модельку чтобы потом промышленно добавлять модельки разных цветов с помощью гридмапа?
5 919763
Вот эта ошибка, ткнул в первую попавшуюся игру на 4.1+
А причина этого вот в чем.
6 919764
>>19762
При импорте есть вкладка где можно указать чтобы именно материалы сохранились в отдельные файлы.
7 919767
>>19762
Тяжелый проект же становится скорее всего потому что вершины мешей становятся из бинарных текстовыми массивами в tscn. Это как то можно решить, либо сохранять scn в бинарном виде, либо выносить меши в отдельные ресурсы.
8 919770
>>19762
Сколько же у тебя там вертексов, что все тормозить начинает?
9 919772
>>19759
Простим, конечно. Но каково было намерение? А то я не понял.
image.png2,3 Мб, 1024x1024
10 919775
Освятил и налил всем кто игры делает чаю.
# OP 11 919802
>>19772
>>19759
Сёма, не пытайся аппелировать к невежеству. Не та порода. Здесь закал столетний, опенсорсный. Тут байтовыми сдвигами фонит по низам!
image.png607 Кб, 512x512
12 919805
Хочу бумажными книгами полезными для геймдева обмазываться в свободное время. Порекомендуйте что годное.
13 919807
>>19805
лучше создавай игры, лентай
image.png3,3 Мб, 1280x1280
14 919809
>>19807
Я хочу читать бумажные книги когда отдыхаю от компа.
15 919810
Godot 4.2 arrives in style!
image.png1,8 Мб, 4132x2956
16 919821
Делойте игры
17 919830
Стата официального канала Годота с ютуба. РФ неожиданно высоко.

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

Потому что другой аналитики у них нет.
18 919831
>>19830

>Youtube


>Male 95


Конечно, туториалы на ютубе смотрю я, а потом все подготавливаю и объясняю жене, она уже там уровни рисует. А по блендеру наоборот.
image.png178 Кб, 597x1055
19 919832
>>19809
>>19805
Обмажусь наверное книгами по сценаристике.
20 919833
>>19832
Ты планируешь делать сюжетные игры и визуальные новеллы?
21 919834
>>19833
Сюжетные, да. Очень глубокие сюжетные игры в которых чем меньше сюжета и диалогов, тем лучше.
22 919835
>>19832
Зачем вайпаешь? Обсуждай это в соответствующих тредах.
23 919836
>>19835
Ладно.
24 919839
>>19835
Вайпать это другое.
мимо не он
25 919843
>>19821
Вот это реально полезная пикча. Схоронил!
26 919857
Только сейчас раздуплился и заметил выход 4,2. Ещё и блендер недавно обновился до 4. Теперь вообще нет отговорок не делать свои игры. Пиздец.
27 919865
>>19857
Есть.Бесмысленость занятия
28 919906
>>19857

> нет отговорок не делать свои игры


Для настоящего прокрастинатора всегда найдётся отговорка.
Ты только погляди, какие крутые фичи нам готовят в 4.3 https://www.youtube.com/watch?v=R-oJzCGFnak
Надо только подождать.
Кирилл 29 919921
Может кто то сможет подсказать в чём проблема и как поправить.
Суть: Немного кирильствую, пилю игру мечты и т.д. Делал модельки и для каждой запекал текстуры отдельно. И понял, что как то дохрена килобайтов получается и надо оптимизировать.
Стал переделывать на текстурный атлас.
Есть модель бочки, для неё сделано 2 UV-карты. Одна натянута на область с цветом, вторая натянута на область с ржавчиной + альфой. И сделан шейдер, где это всё миксуется. В блендере вроде получается результат, но когда импортирую в Годо - получаю только ржавчину.

Годо 4.1 и 4.2 пробовал, Блендер 3.6 и 4.0 - результат одинаков. Импорт через GLTF.
Такое вообще реально в Годо импортировать ? Делал кто то так?
30 919925
>>19921

> В блендере вроде получается результат, но когда импортирую в Годо - получаю только ржавчину.


У тебя в блендере применены все трансформы и скейлы?
31 919927
>>19921
ааа....
Разглядел ьаки скрины.
У тебя в блендере шейлер смешивает два куска текстуры. Ты стало быть наваяй в годоте аналогичный шейдер на нодах.
1701453232783.png182 Кб, 1024x1024
32 919929
>>19921
Либо в атласе своём заготавливай "запечённые" куски текстуры:
33 919931
>>19929
>>19927

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

Ещё нашёл на ютубе пример с Vertex Color и поверх этого текстуру ржавчины накладывать и UV только 1 нужна (но там только про блендер)... Попробую ещё так завтра, может Годо переварит.
34 919935
Я могу как-нибудь "раскрыть" вектор3 в 3 позиционных аргумента? В питоне есть , которое делает именно это. Например если функция принимает аргументы a,b,c я мог бы передать ей func_name(Vector3(1,2,3))
35 919936
>>19935

>В питоне есть ,


ЗВЕЗДОЧКА. Бля, макаба все съела.
36 919937
>>19935
Vec3 MyVector.x /MyVector.y/ MyVector.z
37 919938
>>19937
Ну такое.
38 919958
>>19931
Запекать удобнее.
Но миксовый шейдер тоже можно.

А так годот туповатый, да, нельзя один шейдер сделать и теребить параметры и униформы уникально (в 4 можно инстанс униформы задать)
39 919959
>>19958
Ты опяьь путаешь шейдер и материал.
Ты можешь создать несколько материалов с одним шейдером.
Материал это и есть "переменная", структура в которой хранятся настройки для инстанса.
(Если подумать, то где то же должна быть переменная для каждого инстанса)
Шейдер при этом может быть один (его можно получить из встроенного материала нажав кнопку в инспекторе)
40 919960
Использовал кто джолт в полноценном проекте? Технодемки не в счет. Как оно там?
41 919984
>>19959
Ну, я профайлер и дебаг смотрел, на каждый материал генерируется и компилируется индивидуальный шейдер. Т.е. в рамках годота два независимых материала, даже если в него подцеплен код одного и того же шейдера, порождают две шейдерных программы. Увы, но это так.

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

Ну, в 4 можно годоте появились инстанс униформы, и то с лимитами типа до 16 униформ, и нельзя текстуру отправить конкретному инстансу, только простые униформы типа fp и т.п. Но его же вроде как до сих пор под мобилки не поиспользовать нормально...
42 920000
>>19931

> не умеет такое импортировать ?


Меня тоже это огорчило много лет назад, что оказывается, нельзя экспортировать внутреннюю кухню приложения. Только результат. (Но есть и исключения, но не в этом случае)
1701502201576.png62 Кб, 937x157
43 920005
Годаны, а что происходит? Сворачиваю окно редактора, разворачиваю. Переключаюсь в браузер, потом обратно в редактор. Вижу пикрелейтед. Это только у меня или у всех?
44 920006
>>19927
>>19931
>>19958
>>20000

Вместо того, чтобы миксовать два куска одной текстуры - использовал Vertex Color + текстуру, Работает вроде.
Что ж попробовал собрать шейдер из нод - вроде получилось.
Только выглядит, как то .... более "пластмассово" - это надо с освещением играть или что то в шейдере пробовать менять ?
45 920007
>>20005
Это в твоем проекте или в пустом тоже? Версия, аддоны, тулскипты есть? Так то написано в чем ошибка и что надо делать. Есть моменты когда add child неаозможно сделать и его надо откладывать deferred на следующий кадр
46 920014
>>20007

> в пустом тоже


Создаю пустой проект.
Создаю сцену (Node)
Назначаю скрипт.
Сохраняю.
Запускаю.
Проверьте все. У кого ещё так?
47 920015
>>20006

> это надо с освещением играть


Зыс.
48 920017
>>20006
>>20015
Обрати внимание, у тебя в блендере по дефолту есть освещение, в годоте по умолчанию освещения вообще нет, базовый енвайронмент без настройки, и то, только во вьюпорте редактора. Без глобального освещения, которое следует добавлять в сцену отдельно.
1638866496850.png9 Кб, 269x120
49 920018
>>20017
Есть, это 4-ка же. Без освещения там были бы черные силуэты.
50 920019
>>20018
>>20017

> и то, только во вьюпорте редактора


Запусти сцену. Просто нажми Ф6
1701509306928.png320 Кб, 984x899
51 920021
>>20019
Запустил вместо тебя. Ну что? Где свет?
52 920023
Как же бесит этот адд чайлд в консольке. Ну что вы молчите? Неужели у всех всё работает?
53 920025
>>20023
В 3.5 все работает.
54 920036
>>20023
Вот у кого то на одном компе такое есть в моно, а на другом нет. Напиши им там что у тебя так и в гдскрипт версии. https://github.com/godotengine/godot/issues/85479
55 920042
>>20036
Это походу пришло время переустанавливать шиндовс, раз у других не репродюсе.
56 920051
>>20042
Баги разные бывают, не значит что шиндошс пора переустанавливать

Самый странный баг, или даже не баг а хуй знает что, что я встретил в своих проектах - мой системник скрипел, когда в моей игре закрывались/открывались StaticBody двери. Рили. Дверь открывается 0.25 секунды, и скрип 0.25 секунды. Всегда. Каждый раз. При желании я мог бы этим морзянку выбить. И нет, я не шиз. И нет, я на тот момент еще не добавил звуки. И да, это похоже на кратковременное завывание кулера видюхи.
57 920053
>>20051
В этот момент происходит какой-нибудь рассчет коллижнов, и допустим сложный полигон оказывается внутри другого и обсчитывается какая-нибудь глубокая рекурсия.
58 920061
>>19821
Вообще-то не совсем так. В верхней половине углы отрицательные, в нижней положительные. По крайней мере, функции типа Vector2.angle, Vector2.angle_to_point так работают.
Надо взять деления с картинки и проделать:
wrapf(value, -PI, PI) для радианной шкалы,
wrapf(value, -180, 180) для градусной шкалы.
Тогда будет верно.
59 920070
>>20051
Если системник потрогать, он не перезагружается?
60 920096
>>20070
Не хочу трогать, он зимой от сухого воздуха статикой стреляет.
5.png265 Кб, 1164x685
61 920098
>>20017

Добавил как есть в игру, расставил источники цвета, покрутил туда-сюда, как то смотрится всё равно хуже блендера. Придётся ещё пояндексить ...
62 920112
>>20098
Ого, круто, реальный скрин реального аноньего проекта.
6.png277 Кб, 1224x955
63 920161
>>20006
>>20098

В последний раз вкачусь сюда с этой бочкой, проблема со светом - оказалась проблемой с нормалями.
В шейдере, нормали, вместо Normal, я в Normal Map засунул.
И проблемы с тенями оттуда же. Мало ли пригодится кому.
В общем поправил стало похоже на Blender по картинке. Можно теперь нормальные текстуры делать.
64 920174
>>20161
Теперь ты умеешь делать бочку.
65 920179
Сообщу вам что банально добавив тайпхинты в самый интенсивный кусок кода я выжал десяток дополнительных фпс. Реддит меня не наебал. Переписать на плюсах было бы лучше, но у меня лапки.
o51ZxKE7kIKjQgSr.mp41,2 Мб, mp4,
544x846, 0:24
66 920181
А что, когда они сырую 4.3 выкатят? Не терпится ощутить новые суперфичи!
67 920182
>>20181
Из нее получился бы хороший персональный раб.

4.3 по идее в первом квартале 2024, если они выдержат новый ускоренный график.
68 920202
>>20161
учитесь, сынки, чел не сдался при трудностях и сделал бочку(литерали), ещё и решение в тред запостил
69 920204
>>20182
Ну да, а у нас тут ещё и праздники, правда у них там в основном рождество только, но всё равно, команда-то разноплановая. Могут чисто затащить и первую-две альфа-бетки выпустить ещё в этом году. Минимум одну должны по идее.
image.png556 Кб, 797x583
70 920335
Как же ахуенно получается, всё таки смог родить годное, хотя там ему всем миром помогали
71 920341
>>20335
Лучше бы физон починили уже.
72 920354
>>20335
Какое-то дилдо серое на подставке, или что это?
73 920395
>>20341
Jolt бери и не выёбывайся.
74 920413
Делойте игры.
75 920416
>>20413
Покажи на своём примере. Заряди нас мотивацией.
76 920417
>>20416
Вжух и ты заряжен.
77 920418
>>20395
Поддерживаю. Делал управление от первого лица, персонаж дергался. Долго не мог понять в чем дело. Перешел на Jolt и прошло
79 920474
>>19832
А Роберт Маки то где? Остальное не так важно.
Яндекс.бабки 80 920475
Не знаю куда обратиться с вопросиком, но хотел бы поинтересоваться у ребят в теме:
Сколько получает разраб с одного бокового баннера, видеоролика с наградой и всплывающей рекламы на Яндекс играх? Я это выясню в ближайшую неделю на практике, но хотелось бы почитать спойлер мнение бывалых игроделов, чтобы сопоставить свой и Ваш результат. По моим расчётам-догадкам за баннер сбоку платят от 0.02Руб за ячейку до 0.5Руб.
81 920479
>>20475
Понятия не имею, владею цифрами только на западный трафик от нескольких лет назад. В РФ сейчас наверное плоховат с CPM. Погугли. Или пояндекси. А потом еще свое в тред отрепорть.
82 920482
>>20475

> Не знаю куда обратиться с вопросиком


>>644645 (OP)

> Ньюфаготред. Если вы не знаете куда вам - вам сюда.

83 920499
>>20474
Если ты про "Историю на миллион долларов" то она у меня уже есть.
84 920502
>>20420
Выглядит как типикал шутер нулевых
85 920518
Кто-нибудь понимает как на телефоне разблокировать фпс? В настройках все выставил, всинк выключил, на пк 400, на телефоне все еще залочено под 60.
86 920519
>>20518
Навскидку варианты.
1. Это какой нибудь сяоми который режет фепесы оптимизаторами. Как их отключать надо гуглить, не факт что это можно сделать из игры.
2. Может быть ты не все выставил? Там где-то есть то ли target_fps, то ли frame_delay. То ли force_fps. Force_fps = 0 подразумевает максимально возможный.
3. Нативная или браузерка? Браузеры любят лочить всинк.
4. Ты тестишь release или debug версию?
5. Возможно это реальная производительность данной игры на телефоне. 400 это не такой большой запас, всего то раз в 6
Это пустая сцена или там уже с эффектами, поотключай всякие. Или наоборот добавь раза в 2 моделей пока не начнет снижаться.
6. В одном месте прочитал что у чувака в 3-ке gles2 не лочит, а gles3 лочит, звучит странно конечно, может быть связано с дровами и п.1
87 920522
>>20519
Дебаг версию. Бинарный билд, загруженный в телефон напрямую из годота. Я тоже начитался странных репортов. На юнити-форумах пишут что андроид не позволяет всинк выключить, но иногда позволяет если включишь обновление экрана в 120гц (мой телефон в него умеет, включил - все еще 60 фпс). Игровой режим включил - все еще 60. Глесы тоже перещелкал - без эффекта. Нашел варианты с рутованием телефона и выключением всинка в системных настройках - с этим заморачиваться влом.

В целом я уже получил нужное через мониторинговые функции годота и как ты сказал сцены с разной нагрузкой. Просто странно что андроид такой ебучий.
FE0fjzXMAcR1CE.jpg258 Кб, 1702x2048
88 920523
image.png1,6 Мб, 1702x2033
89 920524
>>20523
Кривыми руками добавил на картинку квадратно-гнездовое мышление. Не благодари.
90 920525
>>20523
Слышь не ломай. Делой.
91 920527
А стандартная физика в Godot 3 считается нормальной, с ней можно просто из коробки делать какие-нибудь игры, завязанные на физике? Или лучше не надо? Вопрос и про 2д и про 3д.
92 920528
>>20527
В тройке в 3д по дефолту буллет. В 2д - годот физикс. Буллет более взрослый и стабильный, но на самом деле оба они говно, и если ты хочешь завязать основной геймплей на физику, аля портал, - лучше не стоит. А для пинания бочек/собачек подойдет.

В 4 джолт говорят норм.
AALn232lnXSEUmA.mp45,3 Мб, mp4,
1468x720, 0:09
93 920531
>>20523
Годетта хочет новое лого
94 920532
>>20531
Так вот что называется ноги от ушей.
95 920533
>>20528
Нормальная физика, просто чтобы строить вокруг нее игру, надо добавить своих костылей, которых к любой физике стоит добавить. Например лимит скоростей линейной и вращения, два слоя статик боди в стенах для выталкивания, свои импульсы в интегрейт форс и тд
96 920535
>>20533
Не нормальная. Открой гитхаб и пробегись по тегу физикс, там банальный стек из 10 ригидбоди друг в друга как говно проваливается. Половина из подобных багов с бородатых годов висит, а чел, который пытался это разгрести, был украден Рокстарами. Танцевать с костылями можно, но это не для нюфага развлечение, да и не для каждого не-ньюфага. Так что я просто жду джолт в дефолтной сборке.
97 920537
>>20535
Не для нюфага, да. Ну так игры на физике и не для нюфагов.
Про стек помню, там написано что для стека надо настройки подбирать отличаюшиеся от дефолтных
98 920544
Почему тайлмап в годот 3 такой странный? Он просто какой-то непонятный, перегруженный, надо по одному добавлять тайлы... хз бля
пиксельный лазер.png4 Кб, 735x740
99 920547
Делюсь рецептиком, вдруг кому пригодится.

Понадобилось мне тут для своей пиксельной игрули сделать линию (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 - корень из двух.
Результат - пикрилейтед. Идеально совпадает со всеми прочими пикселями во всей остальной игре. Ну, то есть, почти идеально, всё-таки у шейдеров есть некоторая погрешность при работе с отдельными пикселями, но это практически не заметно, если не приглядываться. Например, на пикриле есть небольшой косяк.
100 920548
>>20547
сцуко, в который раз уже забываю про съедающиеся макабой звёздочки.
101 920558
>>20544
Не трогай тайлмапы в годоте, сразу переходи на LDTK.
102 920564
Реально ли сделать какой нибудь аналог ravenfield/battlefield 2 на годоте, при этом с лучшей производительностью?

У меня двухьядерный ноут и тот же равенфилд лагает, хочу сделать шутер для таких же нищуков как я + поддержку модов
103 920565
И часто вижу игры с хуевой графикой но на них накручены всякие спецэфекты типа теней и AO, и проц грузят как ебанутые
Куча 2д игр которые лагают, фризят в отличие от какой нибудь мафии 2, гта са
104 920566
>>20564
Учитывая что ты можешь в любой момент подправить движок под твои нужды - реально всё, вопрос в трудозатратах
105 920575
>>20573 (Del)

>> с лучшей производительностью?


>Нет, такого не получится, это же годот.



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



Что там в том движке будет жрать производительность если я сделаю мегаоцталый графон?
106 920586
>>20585 (Del)
Пиздец, а какой двигун тогда взять чтобы свою батлу сделать для некропеки? Голдсорс какойнибудь?
107 920587
>>20586
Никакой. У тебя хотелки оторванные от реальности. Флаппи берд лучше сделай.

>>20547
А почему обычная лайн2д не подошла? Она же тоже пикселизируется в соответствии с твоим разрешением. Или пиксели в этом лайне должны быть больше игровых пикселей?
108 920588
>>20586
Конечно же используй ECS! Используй Flecs или EnTT, это будет основной движок игры и с ним придётся попердолится с си или с си++ и примитивными технологиями. На этот движок ты будешь подключать какую-то свою либу рендера, например bgfx или голый opengl/вулкан. Можно даже годот четвёртый взять на место рендера, если будешь проводить соответствующие низкоуровневые оптимизации и использовать только низкоуровневые функции.
109 920589
>>20533

> два слоя статик боди в стенах для выталкивания


Где об этом почитать?
Я тут на днях размышлял, как сделать гарантированное выталкивание из стен при глитчах.
170176949416097021.mp4216 Кб, mp4,
442x360, 0:04
110 920590
>>20588

>Конечно же используй ECS! Используй Flecs или EnTT, это будет основной движок игры и с ним придётся попердолится с си или с си++ и примитивными технологиями. На этот движок ты будешь подключать какую-то свою либу рендера, например bgfx или голый opengl/вулкан. Можно даже годот четвёртый взять на место рендера, если будешь проводить соответствующие низкоуровневые оптимизации и использовать только низкоуровневые функции.

111 920594
>>20590
Какие запросы такие и ответы. Ты хочешь улучшить производительность батлы второй, а она не самая требовательная игра так-то. Чтобы улучшить нужно быть лучше EA, иметь меньше абстракций чем у ЕА, иметь больше низкоуровневого кода чем у ЕА. Не уверен что даже используя Flecs и EnTT сможешь этого добиться значительного прироста производительности, максимум 20-30. Улучшить производительность на 40 и более процентов понадобится свой ECS движок, переписывания множества функций на ASM, очень тщательная проработка каждой геометрий и материала на локациях, множество уловок и хаков.

Но это всё не так страшно как кажется. Особенно использование сторонник ECS движков и рендеров, это уж точно не страшнее использования таких движков как юнити и годот. Добиться своими силами увеличения производительности минимум на 20-30% ты точно сможешь без написания своего движка. Заодно интеллект себе забустишь, пока будешь в этом во всём разбираться.
112 920596
Неплохо так в андроиде вулкан забустился. И опенгл 3 тоже. На что переходить с gles2, если пилишь под мобилки? Вулкан или опенгл 3?
113 920598
>>20587

>Она же тоже пикселизируется в соответствии с твоим разрешением


Нет. Она при любом увеличении выглядит гладкой, так как представляет собой (внутри движка) 3Д объект. Если графон типа Селесты, где пиксель игры занимает 8 реальных пикселей экрана, линия будет визуально выбиваться.
114 920599
>>20594
А ты сколько уже геймдевом занимаешься?
115 920600
>>20598
У меня не выбивается. Размер игрового поля - 128х64, размер окна (test width/height) - 512х256. Получается 1 пиксель игры занимает 4 реальных.
116 920603
>>20558
Собирать уровень в другой программе и импортировать в годот? Жуть какая
117 920613
>>20586
Не будет там вдвое медленнее, лол. Тебя посетил ецс-шизик, просто репорти его за движкосрач.
119 920709
>>20700
Так а сколько не хватает-то?
120 920710
>>20709
А сколько у тебя есть?
121 920729
>>20613
Как сделать чтобы за игроком следовали боты, типо как в "overlord" ? При этом была возможность менять построения

2д игра с видом сверху
122 920730
Упс, случайно ответил
123 920754
>>20729

> возможность менять построения


Построения - это массив точек. К игроку/(или к любому другому нужному тебе пивоту) крепится само построение. В смысле, логически крепится, тебе не надо наследоваться от ноды, если чо. Просто высчитываешь: var bot[1].destination = formation[1] + destination_pos
Далее, как ты заметил из кода выше, боты организуются в пул (массив) равный по размеру формации. Лишние переключаются на другие задачи. У ботов свой собственный расчёт траектории движения по навмешу. И у этой траектории есть назначение. Если бот включён в построение, он должен получить сообщение об этом и свой индекс в построении. И дальше уже он сам всё сделает.
В общем ничего сложного. Просто садишься и делаешь.
124 920811
Смотрите какая годнота!
https://youtu.be/bNdFXooM1MQ
125 920914
Делайте игры.
126 920916
>>20914
На новогодних каникулах постараюсь довести до играбельного прототипа!
127 920937
>>20914
Я хочу делать игры, но анончики отказываются мне бесплатно арт в тред выкладывать. А сам я в арт не умею. А анончики не умеют в код. Так и сидим.
128 920941
>>20599
Лет 7 уже, но у меня специфические задачи всегда были, навроде твоих, всякий рендер делал для лоу-энд устройств. получается очень хуёво
129 920942
>>20937
С чего ты решил что программировать умеешь? Умел бы программировать сумел бы и арт найти.
130 920945
>>20937
Я иногда выкладываю нейроарт, правда если много его могут потереть. Можешь еще в этом треде поискать >>917100 (OP)
Что то конкретное трудно получить, это скорее лутбокс где может выпасть брильянт
131 920946
>>20937
Запрограммируй процедурную генерацию арта.
132 920953
Да ну, минималистичный арт делается легко. Не охуевайте главное, не пилите сложные анимации, лучше вообще не делайте анимаций. Никаких ног-рук - это самый геморрой. Посмотрите, например, на римворлд или на battle brothers - всем похуй что там конечностей нет. Лучше прокачайте стиль, формы и возьмите готовую цветовую палитру.
133 920982
>>20942

> С чего ты решил что программировать умеешь?


Мама так сказала.
134 920992
>>20953
Можно просто на кубах сделать, все равно для людей главное геймплей...
135 920995
>>20992
Двачую.
136 920999
>>20992
Неиронично все так. Но и один шаг от кубов - уже вин, причем не трудный. Но почему-то все сразу уровень хотят фуллрига с анимацией, потом жопу себе рвут и дропают геймдев.
137 921004
>>20999
Базовый фуллриг с анимацией это не сложно, скачать модельку и миксамо анимации и вставить в animtree занимает день, ну допстим неделю-две разобраться если совсем с нуля.
138 921006
>>21004
Вот только у тебя вся игра должна соответствовать такому уровню, а не один лишь ГГ.
139 921055
>>21006
>>21004
>>20999
Вы все неправильно подходите к созданию игры. Не с того вы начинаете. Поэтому у вам и игр нет до конца доделанных!

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

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

Итак.
Ответ на обороте:
Этой строкой в шаблоне чарактербоди показывает нам, что до того как мы начнём писать основную логику игры, нам следует позаботиться об организации хранилища данных будущей игры, сделать его настолько удобным для себя, как вот этот вызов ProjectSettings() для Хуана. И в дальнейшем это хранилище прекрасно заменит собой все магические числа в будущих скриптах. Ты машинально будешь писать, например, var bullets_amount = MyDB.get("default_bullets_amount", 10) вместо var bullets_amount = 10
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.
141 921070
>>21067
И че это значит для нас, работников завода? Годот будут быстрее и лучше допиливать?
142 921072
Не понимаю в чем разница _init() и _ready() в ситуации, когда у тебя рожается новая вещь и ей выставляются параметры через скрипт.

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

var id
var name

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

и
var id
var name

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

?
143 921073
>>21072
Читай документацию
init вызываются в прямом порядке по дереву, ready в обратном.
NodeParent
-NodeChild

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

К моменту ready его дети уже гарантировано тоже ready
144 921074
>>21070
И на консоли портировать. Интересно кстати что там с санкциями
изображение2023-12-08090102089.png327 Кб, 1200x1200
145 921079
Есть два стулпа сцена уровня игры, и, к примеру, 30 сцен мобов. Если в ready скрипта уровня я буду грузить все 30 сцен:

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

дабы потом их использовать, это сильно повлияет на производительность\длительность загрузки уровня? Или стоит заморочиться и написать такую логику, чтобы грузить сцены только по необходимости, а не все сразу?
146 921096
Давайте смотреть как тяночька 4 часа делоет игоры.
https://www.youtube.com/watch?v=SAidZnL0bhM
147 921102
>>21079
Хз что такое GD.Load. Делай прелоад как все нормальные люди - оно загрузится так рано, как возможно. Вероятно еще на этапе запуска игры.
148 921103
>>21079
Возьми и сам проверь, ёпта. У тебя уже весь код на руках просто загрузи 100500 инстансов в лоад и замерь время, а потом 100500 инстансов в прилоад и тоже замерь время.
>>21102
Это шарп же.
170204308008321253.jpg565 Кб, 1440x1920
149 921138
Какие вообще есть мастхев уроки/курсы по годоту? Желательно на русском

Сейчас смотрю на ютубе mr.D и он прямо дохуя моментов не объясняет а пропускает и кладет хуй
Приходится дрочить нейронку вопросами
150 921141
>>21138
Нет толкового на русском, зумеры одни тупые. Смотри на инглише. Вот >>21096
170204445551483246.webm3,1 Мб, webm,
360x640, 0:30
151 921145
>>21141
Что это на превьюшке? Женщина? В пизду, не могу бабтй голос терпеть пиздец, и чуство такое блять отвратительное когда тебе что то баба расказывает
152 921147
>>21145
Подрочи и сможешь полчаса слушать даже бабу. Такой тебе лайфхак.
153 921151
>>21138
Оф документация текстом, кроме шуток. Прям начинаешь и все по порядку читаешь начиная с вводных и туториалов. Доки к нодам тоже, там не все конечно обязательно, но в корневых типа node, node2d/node3d canvasitem, physicalbody и тд много ценной инфы.
154 921164
>>21006
Так статические пропсы проще чем ригнутые анимации делать.
170206005812319113.jpg2,1 Мб, 4608x3456
155 921208
Сделал такой вот код для рандомного спавна деревьев (координаты рандомные в скрипте сцены дерева)
Все работает, но я вот нихуя не пойму что делает "instantiate()" ? И почему это не появляется в подсказке окошка автозаполнения? Я сначала подумал у меня такой функции вообще нет, хотя годот свежий
156 921212
Вроде нейронка обьяснила так:
Instantiate просто создает экземпляр сцены а вот его уже надо крепить корнями как вековой дуб к другим нодам функцией add_child
157 921220
>>21208
Да это хорошо но может научишься такой функцией как ножницы?
158 921221
>>21212
Да, создает новый экземпляр класса/сцены.

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.
159 921225
https://forum.godotengine.org

Годоти открыли официальный форум.
160 921228
>>21220
Я с пеки на двачаэ не сижу, а тред искать лень
Намного проще так
161 921263
>>21228
Вангую, что ты просто боишься оставить двач в истории браузера, потому что комп не твой. Ничего страшного. Просто юзай приватные вкладки! Я на работке так капчую. В случае чего - хуяк и комп чист.
162 921264
Зацените БАЗИС
https://youtu.be/RM_ExxV-0Qo
163 921265
>>21225

> Годоти


У меня бабушка в деревне так разговаривала.

> Идити картоплю копати


Ты бабушка?
164 921269
>>21263
Чел, если ты стыдишься тут сидеть это не значит что и все стыдятся
Я тебе написал как есть, нехуй выдумывать
165 921270
Есть много Area 2D на экране, они двигаются по экрану и иногда совпадают.

Как мне сделать так, чтобы клик регистрировался только по одной ("верхней?") Area 2D, когда они накладываются друг на друга?
166 921273
>>21270
Пусть все арии записывают регистрацию клика по себе в один общий массив, тогда ты из массива берёшь первый элемент. Первым пришёл - первым ушёл.
167 921287
>>21273
Первый элемент не обязательно будет самым верхним, он просто будет самым первым в дереве нод.
168 921288
>>21287
Насколько я понял вопрошающего анона, у него нет доступа к поддереву дерева в котором у него арии. Иначе бы и вопроса не возникло. Просто берёшь парент всех арий и хватаешь первого чайлда по списку, который принял сигнал.
169 921291
Кто и как переводит документацию годота на русский? Мне нехуй делать, хочу попереводить
170 921295
>>21288

>и хватаешь первого чайлда по списку, который принял сигнал


Ты не понял что ли? Первый чайлд не обязан быть самым первым на экране.
171 921296
>>21295
Видимо, да. Продемонстрируй на скринах, штоле.
172 921297
>>21291
Я как-то переводил одну книжку на русский, потому что книжка редкая и существует только на инглише. К середине книги я понял, that I has no need to translation anymore.
173 921301
>>21296
На каких скринах? Что ты несешь? Элементы в дереве не обязаны располагаться так же как на экране, ты понимаешь это или слишком сложно?
174 921302
>>21270
Официально рекомендуемый способ:
1. Принимать инпут через _unhandled_input
2. Хандлить инпут через Viewport.set_input_as_handled()
>>21228

>тред искать лень


Ленивая жопа. Точто так же тебе лень делать нормальный скрин, да?
Подсказка. Заскринил, переслал себе в телегу ("избранное"). А ещё есть KDEConnect, с ним файлы с компа на телефон перекидывать ещё проще. Зато у анончиков глазки не бо-бо.
175 921304
>>21301
Тогда мы возвращаемся к моему первому совету. Клик будет сталкиваться с ариями в том порядке, в каком они попадутся клику на экране, и далее клик будет передаваться следующему элементу. Если все арии будут записывать себя в некий общий массив, то мы получим, что первый элемент массива, это именно первая встреченная нами нода из искомых. Задача решена.
176 921305
>>21304
... и как заметил анон выше, это всё следует делать в анхандледе.
177 921331
>>21291
Технический английский простой - выучишь. И остальные выучат. Будучи студентом я переводил документацию к библиотекам, и скажу что перевод крайне неблагодарное дело, а быть переводчиком хуже чем быть червем-пидором.
178 921393
>>21331
Я сам раньше был хейтером этого, но теперь в эпоху нейросетей-переводчиков нет ни одной причины не читать источники на английском сразу, если они более полные. Смысла там теряется при автопереводе ну максимум процентов 10-15%, а в технической литературе и то, скорее всего меньше. Перевод нужен только если есть самоцель сделать нормальный перевод, но это самоцель уровня выкопать ровную шахту, вроде бы здорово, но сил потратишь ебанись.
179 921423
Вот уже месяца три в режиме чилла сижу и до сих пор кажется, что я не понимаю ничего. Нет, ноды, синтаксис и методы gdscript, интерфейс, настройки проекта, инспектор и прочее - всё вроде знакомо в какой-то степени. Платформер могу сделать. Top down ходилку могу сделать. Текстовую игру на менюшках может быть могу сделать. Но как делать игры? И зачем?
180 921424
>>21393

>Но как делать игры?


На этот вопрос получишь ответ когда выложишь с десяток законченных игр. Хотя бы на итч. И чтобы в них люди играли.

>И зачем?


Как зачем сука? У нас Годетта за такие вопросы убивает нахуй!
181 921425
Промазал. Это >>21424 сюда >>21423
182 921435
>>21423

> как делать игры?


Вилкой. Садись и делай! Делай!

> И зачем?


Внутри нод уже лежит твоя игра мечты. Тебе нужно всего лишь как скульптору высечь из нод свою игру. Проявить её в реальность.
183 921455
Всем сладкой ночи. Не могу в реализацию простой идеи: подключил вот этот плагин диалога в свою жрпг.
https://www.youtube.com/watch?v=DL79aS-dT7E&list=PLWEX_DQyaQyyquh1NHU2onWyYUsfQCI_3&index=8
Однако, при перелистывании вариантов диалога кнопками персонаж тоже начинает двигаться. Пытался поставить на паузу, а диалог вывести отдельно — не получается почему-то, диалог тоже встает на паузу, хотя не должен. Пытался в шину событий, тоже не получается. Я даун или с плагином что-то не так? (Я даун)
Помогите(
184 921459
>>21455
А что в шине событий не получается? Насколько я понимаю дизайн твоей шины в том чтобы ловить нажатие кнопки и отправлять от нее сигнал персонажу когда двигается при стейте "движение" и отправлять сигнал "листать фразы" когда он получает от диалога "начало диалога"?
185 921461
>>21455
Стейт-машины спешат на помощь!
Заводишь список стейтов enum control_states { ingame, indialog }
И заводишь отдельную стейтмашину только для того, чтобы переключаться между стейтами из этого списка. Как-то так. В такой примитивной реализации тебе весь код контроллера придётся обернуть в дополнительный иф.
А чтобы этого не происходило (оборачивания в дополнительный иф на каждый чих) нужно во-первых делать нормальную стейтмашину со стейт-объектами. Во вторых, надо заранее проектировать игру, чтобы ты не стопорился на таких очевидных подводных камнях как это "добавил в игру диалоги и теперь половину игры переделывать".

Стейт-машина со стейт-объектами хороша тем, что в ней нет ни портянки ифов, ни матча, что аналогично по сути. В ней логика делегирована в стейты. Если ты ходишь, у тебя стейт "ходьба" и в нём реализован инпут ходьбы, анимация ходьбы и т.п. При нажатии на прыжок, контроллер переключается на стейт прыжка/падения. Если это всё грамотно реализовать, то добавление диалогов в такой контроллер было бы для тебя написанием простенького стейта-адаптера диалогового аддона.
186 921464
Ну не знаю
Перерисовать самодумия за неделю от руки?
Так то тема атмосферная, темнота, мусорник, мерзлота, кровьпойло
187 921465
>>21459

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 это просто пустышка с пасс. Я не понимаю, где менять переменную, потому что внутри диалоговой системы он ее не видит. Пишу ее и в скрипте персонажа, и в скрипте левела и в глобале, ни фига
188 921466
>>21461
Да я пытаюсь в стейт-машину, но у меня не выходит)
189 921477
>>21466
Я тут решил набросать тебе пример стейтмашины на классах, но пока набрасывал, до меня дошло, что можно ещё круче и проще. Стейт-машина на замыканиях (они же лямбды, они же Callable). Тебе не придётся кучу классов создавать, а удобство такое же (минимум if-ов)

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

Принцип тот же, что я выше описал. Состояние машины - это одна определённая функция, которая вызывается в один момент времени. При смене стейта, меняется вызываемая функция. Это охуеть как удобно. Неважно, каким образом обеспечивать смену функции, классами или лямбдами. Главное суть.
190 921480
>>21465
Так а если во втором варианте инпут гет вектор делоть, а велосити равно не делоть?
191 921485
Норм ли выложить 2D игру в HTML5 с GLES3? Или если экспорт в браузер, то всегда лучше GLES2?
192 921486
>>21485
Норм. В годоте 4 глес2 вообще выкинули ибо устарел, так что все экспортят с глес3. Только макоебы в пролете, у них яббл багами кишит который год.
193 921506
>>21486
Тут вроде, в 4.3 обещаю пофиксить эту херню, наконец, насколько я понимаю.
https://github.com/godotengine/godot/issues/85938
194 921510
>>21485
Для 2д бери глес2, навскидку не припомню причин брать глес3. Вот в 3д другое дело там спецэффекты не все будут, террейн придется искать другие аддоны или писать свой и тд. Но для 3д и так видяха помощнее надо а там глес3 скорее всего уже есть, это только минус всякие некросмартфоны
195 921511
>>21510
В 3д с глесом2 еще косяков хватает. Пришлось на глес3 переползти в одном проекте, потому что глес2 на мобилках освещение портил. Впрочем, поддержка опенгл 3 уже на приемлемом уровне -> >>20596
196 921545
Еще уйдет пару лет точно,прежде чем годо 4 войдет в мейнстрим.
image.png154 Кб, 802x483
197 921608
198 921611
>>21608
Пора делать игру мечты на 4ке
199 921612
>>21608
Билд нужон
200 921617
>>21608
Слева лайтмапы, справа новый реалтайм. Подозрительно хорошо выглядит, рефлекшн пробы не нужны, странно, что кроме хуанна и ко никто не реализовал это, всё какие-то рейтрейсинги. Юнити до сих пор лайтмапы совершенствует, отчеты пишет. Кстати, чую скоро аддончики этого хуановского рендера на ассетсторе появятся
201 921628
>>21617

>пик2


че за обосранные лесенки? где размытие
image.png3 Мб, 1701x868
202 921630
>>21628
Там допиливать еще дофига, главное, что база правильная, пишут что производительность заебись
203 921632
>>21628
Ты про что?
1702241785443.png720 Кб, 1621x776
204 921634
205 921636
>>21634
Ебани 9000 фильтров чтоб как в PS2 и готово. Сейчас такие игры отлично продаются.
206 921687
>>21608
Тестанул, пока говно, ждем допила
208 921745
Как работает Area3D в 4.2?
Есть CSGBox3D (коллизии включены), который расположен внутри Area3D (слои/маски не менялись). В _physics_process() печатается наличие коллизий. Проблема в том, что Area3D не видит куб.
В 3.5 точно такая же сцена работает, как ожидается.
209 921747
Ещё одна проблема.
В блендере создаю куб с длиной стороны 2м. Скейлю куб по оси Z в 0.5 раз. Экспортирую в годот в формате glb. Получаю get_aabb().size этого меша. Печатается (2, 2, 2), хотя ожидается (2, 1, 2).
210 921756
>>21745

>Проблема в том, что Area3D не видит куб.


Не видит каким механизмом?
>>21745
В блендере трансформы применены? Но вообще да, странно что размер не тот в любом случае.
211 921763
>>21756

> В блендере трансформы применены?


Скорее всего нет.
мимо
212 921800
>>21756
>>21763

Применил трансформы - помогло, спасибо.
Касательно Area3D - в _physics_process() печаетеся area.get_overlapping_bodies(). В 4.2 печатается пустой массив, то есть внутри области ничего нет, хотя там расположен CSGBox3D. В 3.5 схожая сцена печатает необходимый куб.
213 921801
>>21800
С 4-кой помочь не смогу. Включи в дебаге рисование коллайдеров, убедись что они реально есть в пространстве. Посмотри слои коллайдеров, а так хз.
214 921810
Делайте игры.
215 921888
>>21800

> Применил трансформы - помогло, спасибо.


Ну анон, ну это база же. Ну в каждом туториале по блендеру, же, ёпт! Ну как так-то?
216 921889
>>21810
Покажи на своём примере. Мотивируй.
217 921899
Почему в четверке, в тайлмапах, вместо индекса тайла сделали инт-вектор2 с координатами тайла на атласе? В этом есть оптимизация? Интересно узнать.
218 921926
Поможет ли опыт в Godot разобраться в других движках, например в Defold или в Construct 3? Это не движкосрач, все движки имеют свои инструменты и особенности.
219 921928
>>21926
Поможет, он сложнее, но если освоишь более сложное, уже не будет смысла переходить на простое, оно более ограниченное
# OP 220 921929
>>21926

> Поможет ли опыт


Да.
221 921930
Что лучше по перформансу, омнилайт без теней или hdr glow?
222 921959
>>21926
Мне не помог. Я совался в тот же Дефолд, так и не смог, мне там не хватало всяких нужных штук.
223 921964
>>21930
Не очень понятно как ты их сравниваешь.
Омнилайт не подсвечивает воздух вокруг же. Или ты про туман?
Вообще включи и сам измерь.
224 921965
>>21926
Как ты себе представляешь использование инструмента из C3 в разработке игры на годоте?
# OP 225 921966
>>21965
Если говорить о констракте.
Мы это обсуждали мноооого тредов назад. Можно сделать констракт-аддон. Кстати, на четвёрке это еще проще сделать. Либо аддон, либо заготовить констракт-стайл-сцены из которых потом складывать "ивентщиты".
226 922047
Пришло время заканчивать игру и платить дань дону Хуану.
https://w4games.com/2023/12/11/w4-games-announces-pricing-model-for-console-ports/
227 922076
>>22047
А твой дон хуан это кто? Владелец нинтендо? Или может владелец плейстейшон?
image.png15 Кб, 668x110
228 922122
>>22047
В основном ты платишь Сони/МС/Нинтендо за их закрытые СДК и ключи, а не Хуану. Но полагаю W4 и свой процент берет тоже. Интересный момент - по правилам W4 ты можешь купить 800-баксов тир и на выбранной платформе публиковать неограниченное количество игор
229 922140
Появляется ахуенная идея для игры, уже мысленно пишешь скрипты на свои мега-механики, а на следущий день она уже кажется какой то хуетой
Что делать с этим?
230 922143
>>22140

>а на следущий день она уже кажется какой то хуетой


Значит сразу была хуета

>Что делать с этим?


Придумать истинно годную идею. Накидывай много, через несколько дней смотри какая из них не кажется хуетой, ту и реализовывай
image.png2 Мб, 1826x1120
231 922154
>>21687
>>21608
Короче Хуан чутка подправил, кажется, что перспективы у этого ги огромные, реально производительность отличная, даже отражения есть. Пока не без недостатков, протечки, пятна, но он клянется доработать
232 922232
>>22154
Что за штука?
Это в скринспейсе делается, типа как SSDO?
233 922277
>>22154
Там все на зубодробительном вулкане, или есть шанс что такое бекпортирют в 3-ку?
234 922318
>>22277
В тройку уже ничего серьезного не бекпортируют. Когда-нибудь выйдет долгожданный 3.6 с минорными фиксами-патчами, а дальше все, приехали.
235 922363
>>22318
Ну так то туда много чего бекпортировали, вопрос сугубо про ГИ, я им никогда не пользовался и не знаю че почем.
236 922364
Наткнулся на проект для ВНок, тут вечно спрашивают, хотите потестите.
https://github.com/wareya/MirageVN
237 922366
>>22363
Это ты жалуешься, что четвёрка тормозит?
Я тут начал портировать сапёра (постил скрины ИТТ) с трёшки на четвёрку. Так вот. Функция заполнения тайлмапа 100 на 100 (10к тайлов) в трёшке выполнялась с неприятным нюху протормаживанием в несколько секунд, а в четверке аналогичное действие выполняется в пределах фрейма. Ну это так, к слову, насчёт скоростей.
238 922403
>>22364
Это опенсорс? Бери и пользуйся?
239 922413
>>22403
Чувак вроде любит все в публичный доступ под CC0 выкладывать, так что да
image.png1,4 Мб, 1024x769
240 922418
Я не пойму никак, в чем разница между Baked Lightmap и GI Probe? Оба запекают свет. По документацию вижу что GI Probe только на GLES3 работает. В чем еще отличия? Кто из них умеет освещать динамичные объекты, например Rigid Body?
241 922419
>>22403
Лицензия стоит СС0, паблик домейн. Можешь хоть продать как есть.
242 922423
>>22418
Лайтмапы это как текстура, на производительность почти не влияет, но там недостатков много, солнце вращать нельзя, а ги пробы вроде воксельные, доки читай
image.png310 Кб, 1280x720
243 922426
https://godotengine.org/article/collaboration-with-google-forge-2023/

Гугл вкатывается в Годот. А кто такие The Forge?
244 922433
Мне кажется, что я ненавижу делать игры. Я делаю игру и понимаю, что выходит хуита. Чем дальше в разработку - чем хуже себя чувствую. И это в годоте, где за тебя 75% уже сделано, сиди просто ноды расставляй.
245 922434
>>22433
Снижай, как говорится, скоп. Делай игры меньше, идеи оригинальней, прокачивай визуальный стиль.
1702648301092.jpg162 Кб, 553x700
246 922520
>>22433

> Мне кажется, что я ненавижу делать игры.


Делай программы.
247 922526
>>22520
Все программы уже сделаны до вас, а те которые ещё не сделаны до вас, невозможно создать в одиночку на слабом домашнем ПК. Тут нужна команда специалистов и несколько квантовых суперкомпьютеров, вот тогда получится программа которую точно не создавали до тебя другие люди.
248 922530
ИТТ очередной ментальный гимнаст, выворачивающийся через жопу чтобы оправдать свою прокрастинацию.
249 922532
>>22526

> создать в одиночку на слабом домашнем ПК


Вот мы и добрались до сути. Иди денег заработай на нормальный комп, и не ной тут. Курьером иди. Пробздись.
250 922534
>>22526
Зачем мощный компьютер для разработки программ?
251 922542
>>22534
Двачую. Ладно в вебе может быть еще (чтобы сервера на ноде поднимать и селениумы гонять с автотестами, да и то можно просто писать разметку и пушить на сервак для сборки), но вот например для сишечки вполне достаточно некроноута с блокнотом. И можно делать кучу полезного софта. Я например участвую в разработке компилятора нового языка, да много в чем можно поучаствовать, кроме каких то тяжелых нейронок.
252 922551
>>22532
>>22526
Это другой человек.
image.png313 Кб, 738x469
253 922572
Делойте игры.
254 922586
>>22551

> Это другой человек.


Это тот же человек. Та же персона.
>>22572
Да как же делать игры теперь? Я не могу решить одну важнейшую задачу: допустим игрок вместе с боссом убивают друг друга. Как обрабатывать такой случай?
255 922598
>>22586

>Это тот же человек. Та же персона.


Но личность-то разная.

>важнейшую задачу


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

Пробка - стоит камера, которая смотрит в 6 направлений, и каждый кадр рендерит со своей позиции все вокруг в 6 текстур, которые потом объединяет в одну и выдает на объект, которому прописано.
258 922627
>>22418
Забудь о них
GI слишком тормозное пока, нужна ракета чтобы работало
Запекание же сломано, хотя его несколько раз переписывали, оно так и не заработало увы. Можешь issue чекнуть
259 922659
>>22626
Спасибо.

>>22627

>Можешь issue чекнуть


Нашел, да. Вот это самое потешное: https://github.com/godotengine/godot/issues/71162

Как тогда минимально требовательное динамичное освещение делать? Расставлять редкие омнилайты без теней?
260 922665
>>22611
Но ты не учёл накладываемые эффекты, которые твином постепенно уменьшают хп. И пока идёт анимация вин, перс может помереть.
261 922680
>>22665
Учел, читай 3-е предложение с конца.
262 922860
>>22659
Вот такое нашел
https://godotforums.org/d/30799-35-i-solved-lightbaking-issues
https://github.com/godotengine/godot/pull/64908
Жаль его пока не мержнули
Может после НГ еще поиграюсь с лайтмаппером
В прошлый раз неделю на него убил и так ничего толком не вышло
Уже не помню в чем там подводные были
264 923037
На новый год буду делать игори. И вы делайте.
265 923040
>>23013
Выглядит круче зилановского плагина.
image.png102 Кб, 331x336
266 923132
Комьюнити здесь? Встречайте вашего нового начальника-цу.

https://godotengine.org/article/communications-update-2023/
267 923143
>>23132
То есть больше шитпостов от хуана не будет?
268 923146
>>23132
Тоесть годот это сойжаковый лгбт бодипозитив движок
269 923168
>>23146
Это тема для движкосрач треда. Если вкратце, то весь софт сегодня левый. Праваков в айти уже не осталось. За подробностями - в движкосрач.
270 923173
>>23143

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

>>23168
Союз партийцев и беспартийных в едином порыве решительно выступает не только против правых, но и против левых уклонистов!
271 923219
>>23168

>Праваков в айти уже не осталось.


Земля стекловатой.
272 923224
>>23146
Я из-за этого его и выбрал вместо юнити.
273 923278
>>23132
Первая тянучька на сосисочном фесте годота. Не то что у вас тут.
274 923362
Я могу как-нибудь объединить две анимации AnimationPlayer? Например idle анимацию с открыванием рта?
275 923369
>>23362
Сам не пробовал
https://youtu.be/WY2cN9uG6W8
276 923437
>>23362
Можно.
В среднекрупных играх без animationtree с блендингом не обойтись
В мелких, мб тебе и не надо их объединять. Если например айдл анимация анимирует тело и голову как объекты, а эмоции отдельно анимируются прямо в объекте лицо
277 923438
Инры делайте кстати
image.png24 Кб, 874x562
278 923484
Как добиться такого эффекта в 2д топ даун?
Черное - некий домик (спрайт и коллизжен бокс), а розовое, очевидно, игрок.

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

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

Хочется иметь универсальное решение какое-то.
279 923485
>>23484
Нихуя непонятно что ты хочешь и зачем сравнивать координаты
280 923486
>>23484
Ну то есть в данном конкретном случае я могу Y offset поставить посредине спрайта, там где уголок, и тогда будет работать.

Но это годится только для прямоугольных и угловых домиков.
Короче скажите что-нибудь, я чувствую что не туда копаю
281 923487
>>23485
Хорошо, сейчас попробую.

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

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

Для этого я могу включить Y сортировку нод, но этот способ годится только для простых форм. Я хочу понять как мне сделать универсальное решение такой задачи, которое не зависит от формы объекта.
282 923491
>>23487
Где то в инспекторе толи персонажа, толи тайлмапы есть менюшка "слои" или "уровни"
Может там сделать можно
283 923499
Есть котаны, которые могут подучить этим двиглом пользоваться?
284 923500
>>23499
Куча уроков на ютубе и документация с гайдом как сделать простенькую игру
285 923508
>>23487
Я делал довольно плотную на спрайты 2д топ даун. Решал такими хаками: слои, множественные Y-sort ноды, большие спрайты резал на спрайты поменьше, старался избегать диагональных спрайтов. Итог не идеален, но неплох. Как я понял результата лучше можно добиться только с помощью 2д внутри 3д.
286 923511
>>23499
А ты кто?
287 923561
https://godotengine.org/article/dev-snapshot-godot-4-3-dev-1/

Не спать. Делать игры. 4.3 на подходе, биг импрувментс.
288 923570
>>23484
Подвох в том, что это не топдаун. Хотя 99% игроков назовут это топдауном, с точки зрения разработчика это более специфичная вешь, не имеющая общепринятого названия - oblique, 3/4 angle, frontal, изометрия повернутая на 45 и т.д. А классический топдаун - это Хотлайн Майами. А в oblique ты действительно получаешь некоторые проблемы, схожие с изометрическими проблемами. Конкретно в твоем случае, вроде бы, достаточно разрезать Г на два прямоугольника. Скорее всего, это можно делать автоматически, наверняка есть алгоритм находящий в полигоне прямоугольники (и точно для годота есть ассет. который строит по спрайту полигон).
289 923580
>>23570
Слишком сложный костыль, такое точно делать не буду.

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

Звучит как универсальная рабочая схема?
290 923581
>>23580
Костыль нужен только если у тебя сотни домов которые лень разрезать вручную
291 923582
>>23484
Делай как деды в SS13 завещали, забей хуй и делай стены в топдаун, персонажей во фронталке, обьекты в 3/4. Мозг игрока прожует и адаптируется.

Графика такого уровня это скорее символы чем именно картинка. Все детали игрок будет додумывать и фантазировать сам.
image.png295 Кб, 480x352
292 923583
>>23582
Вот так. Попробуй посчитать количество проекций на скриншоте.
293 923585
Делайте в 3д и не ебите мозги ни себе, ни игрокам. Хуле все так 3д боятся?

Не говоря уже про то, что сейчас целый новый жанр от больших дядек образуется - HD2D, а вы все сидите-пердите костылями из жопы.
1650336101358.png11 Кб, 320x200
295 923589
>>23484
Просто отключи возможность заходить как на 3. Это же неудобно для игрока.
Вообще говоря можно и 1 и 2 отключить.
296 923590
>>23585
Потому что уродливо выходит. Ты б ещё предложил делать спрайты из 3д моделек и шакалить их
297 923593
>>23590
Уродливо это вот >>23583
И коряво еще.
298 923686
Надеюсь что здесь не объявится личинка, что пыталась завербовать меня в годотство.

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

Всем спасибо и тричая
299 923687
>>23686
Да
Норм
Ноды, сцены. Предпочитай композицию вместо ООП

Пожалуйста
300 923689
>>23687
импакт детектед.
че за односложные ответы, из одноклов вылез, скуфидон?
301 923690
>>23686

>Можно ли в годе отключить динамическое освещение


Оно и не включено изначально (для этого надо добавлять ноды типа GI, directional light ит д
Ambient light конечно есть

>и запекать его в статику?


С этим насколько я помню были проблемы. Один из вариантов - запечь его еще в блендере в текстуры комнат

>Насколько хорошо будет использовать движок с сижарпом?


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

>Анонче, обьясни в трех словах общий принцип работы годота.


В плане? Устройство двжика описано в доках, гитхабе и т.д. Пиши конкретней.
https://godotengine.org/article/godot-3-renderer-design-explained/

>личинка, завербовать, годотство.


Какой то шизонабор слов, так себе ты зашел, лол.
302 923691
>>23689
Иди нахуй, шиз. Тебя тут с ложечки кормить должны? Говна поешь, вот тебе ложечка.
303 923695
>>23690
Спасибо анон, стало понятнее. Два чаю теье
304 923743
>>23561
Обновился. Стало чуть стабильнее, хотя на моем некролинуксе иногда редактор все равно зависает.
При обновлении вылезает много страшных предупреждений о смене внутренного формата мешей. Требуют запускать конверсию.
У меня в тестовом проекте вроде сконвертировалось все без проблем, по крайней мере косяков сразу не заметно (миксамо риг бегает, прыгает, плавает как раньше, домики набегают).
Но вы делайте бекапы.
Какие то плагины надо обновить, zylann hterrain сыпал ошибками, но уже сделанный работал, скорее всего опять синтакс гдскрипта или апи где то меняли, и в редакторе или тулскрипте какой то тип не совпал.
305 923744
Хотя там речь про 4.2, а я их вроде в 4.2 dev 6 и делал, ну да ладно.
306 923772
>>23743
Ждем от тебя игру как минимум АА уровня.
307 923776

> winget install godot

308 923787
>>23776

>не собирать самому из сорцов через github actions


>>23772
Там просто тестовый проект в духе cursed pantsu с накиданными ассетами
Вряд ли в ближайший год будет время им заниматься
309 923790
>>23787
Щас бы на венде что-то из сорцов собирать.
Не ну мы-то с тобой соберём, не вопрос, а вот простой игродел не будет пердолиться, ему ещё игры делать.
310 923795
>>23790
Ну во первых на винде то собирается легко, надо только пререквизиты установить, а потом можно запускать батник
Во-вторых я же написал

>github actions


Конечно тут можно сказать что майкрософт может подлить зондов, но тут или доверять (они и на венде и студией подлить могут), или хотя бы собрать из стабильной ветки и сравнить совпадет ли с официальным бидлом.
311 923799
>>23795

> Во-вторых я же написал


> >github actions


А я сходил и посмотрел. Нихуя не понял, но создалось впечатление, что там какие-то уже собранные левые билды висят. О чем речь вообще? О какой сборке?
312 923800
>>23795

> собрать из стабильной ветки и сравнить совпадет ли с официальным бидлом


Не совпадёт.
Стабильные билды подписаны, твой - нет.
313 923802
>>23799
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
>>23800
Справедливо, к тому же у них я смотрю не все сборки делаются, которые в релиз идут. Наверное потом манагер собирает на какой то своей машине (виртуалке?) и подписывает.
314 923803
>>23802

> и собирать на серверах MS


Ну, сборка движка не так уж и часто нужна, можно потерпеть и 15 минут на своей днищепеке. Но в целом идею я понял. Спасибо за разъяснение.
315 923825
На awesome godot есть ссылка на следующий проект. Это, так понимаю, шаблон для ММОРПГ. Меня в нем смутило то, что разработчику пришлось форкать годот, для внесения изменений, я так понимаю.
github.com/Relintai/broken_seals

Собственно говоря, вопрос: Чтобы сделать что-то более менее серьезное, придется форкать движ и ваять на плюсах?
316 923832
>>23825
Если для тебя форкать движ и ваять на плюсах это что-то сложное, то в ММО лучше не соваться. Но нет, не обязательно. На реддите видел ммо-проекты на gdscript. Но все равно. Не суйся в ММО. Оно тебя сожрет.
317 923833
>>23825
Да не смущайся ты, тут все свои.
Во-первых, не путай форкать и компиляцию модулей.
Форкать обычно подразумевает вносить изменения в ядро самой программы. Модули же расширяют движок, хоть и требуют перекомпиляции.
Емнип у автора там два модуля, один для генерации биомов террена, второй для игровой логики типа ECS для заклинаний
Для первого с++ разумно, там наверняка надо больше скорости для генерации вершин. А второе вряд ли, возможно у автора просто уже были наработки и он захотел использовать годот как рендер, хз.
Я тоже потихоньку пишу рогалик где логика на плюсах. Но необходимости в этом нет, у меня просто есть на нее планы использовать в серваке, в обучении нейронки, в обфускации от хакиров и т.д
318 923836
>>23833
Там форк движка, в ридми указан. Пандемониум какой-то.
319 923837
>>23836
5%: сам исправил какой то баг
5%: перестааил кнопочку в редакторе как захотел
90%: мержил изменения из мастера
Ну хобби такое у чувака видимо
https://github.com/Relintai/pandemonium_engine/blob/master/CHANGELOG.md
320 923838
>>23837
Или он слишком буквально воспринял фразу "замораживайте версию движка когда работаете"
image.png1,1 Мб, 1280x720
321 923839
А можно как-то _снизить_ качество освещения? Добавить полосы как на скрине слева? Годо называет убирание полос debanding, а мне, получается, нужен banding. Ничего нагуглить не могу. Куда копать?
322 923840
>>23839
Забыл добавить, у меня 3д и спотлайт.
323 923844
Аноны, есть один бэкграунд(TextureRect), на нем есть области(отмечены желто-зелеными овалами) на которые юзер может нажимать (после нажатия появляется меню).
Как это лучше реализлвать?
Сейчас я это сделать просто отдельными спрайтами и задумка в том, что после нажатия на экран я буду проверять точку нажатия и сравнивать с координатами доступных областей. Звучит как рабочая схема.
Но вылезла проблема при скейлинге(пик.2), области не привязаны к бэку и тянутся отдельно.
Куда копать для решения данной проблемы?
324 923846
>>23832
Тю, я и не обезумел, ммо ваять. Скорее по механикам хочу нечто подобное с фермингом мобов, но максимум рассчитанное на кооператив.
325 923849
>>23844
Попробуй засунуть все в контрол нод.
326 923851
Dev snapshot: Godot 4.3 dev 1
Я в экстазе
327 923854
>>23839
Эм... Купи дешёвый монитор. Там бандинг из коробки. Без возможности дебандинга.
328 923855
>>23844

> Но вылезла проблема при скейлинге(пик.2), области не привязаны к бэку и тянутся отдельно.


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


Хранить актуальный скейл и умножать на него при обновлении позиций оверлейных контролов.
329 923877
Вопрос о перформансе.
Отсматриваю ролики по годоту в раздумьях, не столкнусь ли я с теми же проблемами.
Статеры замечаю частые. Взять того же miziziziz с его трехмерной игрулькой. Она натурально тормозит.
Что вообще может в годе оказывать влияние на перформанс? Там профайлер есть?
330 923878
>>23846
Делай тогда кооп на одном экране, локальный кооп. Он легко делается и хорошую нишу имеет - всегда хоть немного, но востребован. Но и сетевой можно.
331 923881
>>23877
Делай игру года 9/10, там всем будет похуй на статтеры, если игра интересная. Это везде работает кста.
332 923882
>>23877
Профайлер есть. На перформанс оказывает влияние нечтение документации, где описаны все подводные камни.

>>23844
Как уже сказали - пихай в контрол нод, контрол нод ставь в layout full rect.

>я буду проверять точку нажатия и сравнивать с координатами доступных областей


Что, вручную? Почему бы тогда не заменить спрайты на texturebutton, у которых есть эвент pressed? Сразу жизнь себе упростишь.
333 923883
>>23878
Двачую. Весь ноябрь пересматривал стримы по дарксолсам (а мог бы игры делать, да) и частенько подмечал и статтеры и грузящиеся перед ебалом лоды. Но об этом никто не говорит, всем тупо похуй. Потому что типичный игрок в дарксолсы видит не статтеры, и не прогрузку лодов, а видит он Лотрик и Нью-Лондон, взмахи меча и тайминги отпрыга.
334 923886
>>23844
Ну как тебе уже написали для этого и изобретены Control ноды
Работают они в связке с настройками окна (которые 2d, keep aspect, вот эти) и масштабируются вместе с окном
Но никто не мешает конечно и самому масштабировать
Проверять координаты в любом случае зачем? Кроме контролов есть Area2D с событиями мыши.
335 923926
>>23882

> спрайты на texturebutton


Спасибо антош, так и сделал, почему-то забыл о них.
Теперь все скейлится как надо, еще и кнопки есть.
336 923930
>>23926
Квест делаешь? Откуда арт?
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д, просто они не показаны в инспекторе.
338 923944
>>23935
Да.
339 923945
>>23839
Ну, шейдерами, например.
340 923950
>>23930

> Квест


Нет, жанр около симулятора-коллекционки.

> Откуда арт


Один из бэкграундов игры, которую делаю.
image.png1,3 Мб, 960x600
341 923952
Не могу придумать как в top down игре сделать так, чтобы главный герой мог "сталкиваться" с врагами (и герой и враги kinematicbody2d, в 4 версии вроде уже по другому называются, не суть), но при этом, если те его окружают, то он их спокойно "расталкивает" и убегает. Что-то типа того, что в vampire survivors реализовано. В данный момент, после того враги облепили персонажа, выпутаться из этого невозможно, как победить не понимаю.
342 923953
>>23952
Сделать управление и героем и врагами с помощью приложения сил. У героя масса и сила будет больше, у врагов меньше.
343 923976
>>23952
Нахуй врагов кинематиком-то? Ебашь их риджидом, будут отлетать на ура.
344 924027
>>23952
собственно говоря, если надо, чтобы
противник отталкивался от персонажа, то:

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

еще не забываешь о кулдауне, через который противник снова сможет отскакивать от персонажа. правда это юзается в платформерах, когда перс получает демедж, но яхз может и в твоих вампирах есть чет подобное
345 924028
>>23976
так они и должны быть кинематиком реализованы, там полноценно нехуй обсчитывать
346 924080
>>23953
Что-то типа того, что обычно реализуют в платформерах, когда движение написано через массу, g и прочее? Пока не совсем понимаю как такое реализовать для top down игры, но посмотрю. А может вообще неправильно тебя понял.

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

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

Вообще, всем спасибо, аноны, попробую что-нибудь соорудить.
347 924092
>>24080
ну ты не стесняйся задавать вопросы есчо
image.png600 Кб, 1432x953
348 924191
Делойте игори. Новый год же.
image.png230 Кб, 1920x1040
349 924194
Кому тут глубокие диалоги нужны были? https://theduriel.itch.io/nylon

С вас 10 баксов.
350 924253
>>23952

>vampire survivors


>Your First 2D GAME From Zero with GODOT 4! Vampire Survivor Style


https://www.youtube.com/watch?v=GwCiGixlqiU

Специально для тебя, анон.
351 924280
>>24191
Угу уже начал делать, игра войдет в историю, осталось только выбрать джем в который ее вбросить, но там какие то унылые скучные на 1 января выпадают.
352 924302
>>24280

>осталось только выбрать джем


А как вы их ищите, куда публикуете? Поведайте как в джемы влезать.
353 924327
>>24253
Ага, спасибо, гляну.
354 924354
>>24302
https://itch.io/jams
Прост тут выбираешь любой по вкусу и вперед.
355 924366
>>24354
Никогда не понимал, чем людей привлекают эти ваши джемы. Добровольный кранч, дабы высрать недоигру, в которую поиграют полтора человека. При этом уровень конкуренции выше, чем если просто зарелизить игру. И даже денежного вознаграждения зачастую не бывает.
Какой смысл? Что этими людьми движет?
356 924383
>>24366
Уровень внимания выше. Твою игру реально рассматривают и рейтят другие участники джема и организаторы. Позволяет нащупать годные идеи, потом довести их до ума вне джема и выпустить интересную игру. Многие успешные инди так начинались.

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

У меня до сих пор очко сжимается, когда я вспоминаю Tail Quest, на который было потрачено, чего там, лет 8. Он долго висел на главной Годота, про него там новости писали, его пиарили все, включая Хуана. Наконец он вышел в стиме, а там пук кек 27 отзывов 5 из 10 и гроб гроб кладбище. Тейл Квест - мой ночной кошмар, нахуй.
image.png159 Кб, 876x907
357 924388
>>24383

>Уровень внимания выше.


Не знаю как про другие конкурсы, но на двачном было ровно наоборот. Ты обязан поиграть в 30 чужих игр и писать отзыв, 95% из которых заведомо позорное говно. Заранее получается обесценивание. Там по началу еще что-то пытаешься разбираться, потом просто наотъебись скипаешь по-быстрому. Тем более фидбек от других недоразрабов или просто критиков вообще бесполезен. Я вспоминаю историю как Джоан Роулинг своего Гарри по издателям носила, казалось бы это специалисты которые обязаны из кучи мусора годноту выискивать, это их хлеб, но хуй там.
358 924391
>>24366

>кранч


Так дедлайны и стимулируют что-то сделать, сделать в срок и закончить. А без дедлайнов ты сидишь и мечатешь об играх ничего не делая.
Кроме того, у тебя появляется опыт релиза игры, ты получаешь опыт всех шагов по сборке релиза, оформлению странички, базовым навыкам раскрутки, срочного QA, обкатки движка на разных сборках и пользователях (ты узнаешь кучу вещей которые нужно подпирать костылями, например делать размер фулскрина = screen_height + 1, чтобы работал видеозахват OBS у стримера).
В общем это тренировочный запуск настоящей,хоть и маленькой игры.
Про уровень конкуренции выше чем в стиме или гуглплее кекнул конечно.
359 924392
>>24388
Что подчеркивает насколько сложно получить фидбек. Всем на все похуй. Джемы не панацея, конечно, но лучше чем повторить судьбу Тейл Квеста. Плюс есть устоявшиеся джемы с активной аудиторией, но там и ожидания от тебя повыше. Самый топ - быть популярным стримером/ютубером. Эти охуевшие скоты аж анкеты заставляют заполнять и раздумывают потом, пустить тебя демо погонять или нахуй послать.

Про двачной джем ничего не знаю. Помню только абу чего-то стримил. Ну, неудивительно, учитывая аморфность среднего анонаса. Да и мало кто захочет шкварить серьезный проект об харкач.
360 924455
>>24366
На джемах отлично генерируются идеи. Вот miziziz участвовал в таком со своей игрой про однорукого бандита, и получилась неплохая по геймплею игра.
Потом на нее снял обзор популярный летсплеер, и продажи пошли на ура.
361 924460
>>24455
А сколько классных идей сгенерировано без джемов?
362 924463
>>24455

> на нее снял обзор популярный летсплеер


Вот и весь секрет
363 924473
>>24460
без понятия, не считал. Кратно больше, скорее всего. Только это не причина не ходить на джем - джем это возможность с контекстом, а не единственный способ что-то годное. Сравнивать числа генерируемых идет не получился.
364 924478
Джемы, не джемы. Делайте игры. А то не на что будет фидбек получать и пиарить и стримерам отправлять.
170370790713678912.png72 Кб, 337x456
365 924482
Меня от разработки отталкивает мысль об поиске музыки и звуков, вообше непредставляю где их брать и искать
А на заказ просить сделать у меня шекелей не хватит с днозарплатки
366 924485
>>24482
На саундклауде есть тег роялти фри копирайт фри сс0. Заодно порадуешь какого-нибудь анона, который до тебя 2 прослушивания имел. А для звуков фрисаунд.орг.

Теперь делой.
367 924486
>>24485
Но разве я там смогу найти что то подходящее? Для своей драгоценной игры любое говно мне кажется нк подойдет
368 924492
>>24482
Пиши сам
369 924493
>>24486
Сможешь. Я саунд для своей игры чисто на фрисаунде собрал, только менял питч прямо в годоте. Недели две набирал. Мне потом на реддите писали "охуенный эмбиент, брух", кек.

Но возможно ты хочешь не саунд, а отмазки для своей прокрастинации. Это другое дело.
370 924603
>>24482
Пиши сам, хороший совет на деле. На ютубе есть гайды на простейшую теорию музыки, а в интернете куча бесплатных инструментов, отталкиваясь от неё и своей фантазии творишь прекрасное. Берёшь какой-нибудь рипер за 60 долларов ну или пиратишь флку или что ты там надумал, хз какую ты будешь брать программу, скачиваешь пару саундфонтов и синтов, и хуяришь. Так и живём.
371 924605
>>24603
>>24492

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

еще я слышал что у японских гномов задешево можно музыку с артом оформить - в пределах 100-400¥, но не проверял
372 924606
>>24605
Хз, лично мне больше нравится самому писать, особенно если я понимаю, что хочу от музыки. Мне вот музыка со стороны плохо подходит, так что пишу сам.
373 924623
>>24366

> Никогда не понимал, чем людей привлекают эти ваши качалки. Добровольный кранч, дабы выбросить в мыщцы молочную кислоту, которая рассосётся через полтора часа. При этом уровень тестостерона выше, чем если просто закинуться колёсами. И даже абонементы зачастую недешёвые.


> Какой смысл? Что этими людьми движет?

374 924637
Прошу ответить максимально честно и не давать ложных надежд.
Я в курсе про языки программирования, основы, логические элементы, операции, водил черепашку на бейсике. Но никогда не мог в код, сколько не пытался вкатываться в с++ или питон мне это не даётся, слишком туп для этого. Зато дался визуал и 3д графика.

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

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

Но если ты действительно черепашку на бейсике писал, и понял как она работает - не вижу проблем. Пройди официальный туториал годота, там где крипов делать. Поможет освоиться. Потом найди на ютубе туториал поближе к своей идее и вперед. Но, сука, не бездумно копируй, а лезь в документацию и читай что делает каждая строчка.
378 924642
>>24637

> Но никогда не мог в код


> дался визуал и 3д графика.


Ну ты ж конструируешь шейдеры в блендере на нодах? Это же такой же кодинг, просто тебе надо это осознать.
>>24638

> P.s. Мне не очень хочется смотреть в сторону юнити


Ему видите ли не даётся кодинг на примитивном гдскрипте, но он видите-ли угрожает нам, что не будет поглядывать на более комплексный сишарп.
Блять, жирняка покормил.
379 924653
С чего начать разработку игры?
Надо вроде план сделать но хуй знает с чего начинать
380 924654
>>24653
Без задней мысли подошел, взял за руку, сказал "пойдем, разрабатывать тебя буду", и повел за собой.
381 924666
>>24642
У меня ноды в майе, они простые, там даже десятилетний ребенок разберется
382 924673
>>24641
Могу составлять логику в виде блок схем, но не могу перевести это на язык программирования потому что попросту не знаю синтаксис. Максимум что я делал это правил чужие скрипты в свитках
383 924676
>>24673
Ну норм тогда. У gdscript'а синтаксис простой, гораздо проще того же Питона. За пару вечеров осилишь.
384 924698
>>24673

> правил чужие скрипты в свитках


По сравнению с хтоническим скриптингом в свитках гдскрипт - просто детский конструктор.
385 924751
Так ну нет, все, годот это топ. Там ещё и система партиклей как в юнити без заморочек, и шейдер граф есть. Сейвы тоже не сказать что трудно реализуются
image.png34 Кб, 651x264
386 924762
>>23952
Если кому-то не похуй, зачатки своего корявенького решения нашел на форуме godot, в вопросе "как одним кинематиком двигать другой кинематик".

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

Естественно, это еще нужно доработать, как минимум определять, что это за коллайдер такой и надо-ли его двигать вообще. Плюс поиграть с вектором, т.к. тупое толкание врага в том же направление, что и движется персонаж, выглядит странно. Ну и врагам что-то подобное надо писать, т.к. если они окружают игрока в два слоя, то уже так красиво не работает.. Короче, колхозить еще и колхозить.
387 924785
>>24762
Молодца
388 924844
>>24762

> как минимум определять, что это за коллайдер такой и надо-ли его двигать вообще


Рассмотри вариант с группами.
389 924851
>>24762
Имей в виду что move and collide не скользит вдоль стен, как move and slide, т.ч. тебе придется писать такую логику самому
Я бы наверное такую логику на ригидах делао, с использованием
>>909798 →
390 925056
Сап анон. В проганье не шарю от слова совсем, но хочется научиться Lua. Да да, вы тут дохуя прогеры знаете всякие языки поэтому для вас фраза "Научиться луа" звучит как какое-то говно, но не для меня.
Приличных материалов по этому языку пиздец мало, все делают своё говно то в обосранном гарис мод, то в обдристанном самп. Решил что буду брать по-немногу от всего и использовать это как-то в Godot.
В общем я скачал и установил это https://github.com/gilzoide/godot-lua-pluginscript
И собственно первый вопрос который бы я хотел задать: а где библиотека функций или еще чего-то? Ну или как эта хуйня называется, где ты открываешь каталог, ищешь нужную функцию и вписываешь ее в скрипт?

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

Не бейте сильно я зелёный пиздец.
391 925060
Как тут открыть создание мапы как в юнити? Или его нет?
392 925062
>>25060

> открыть создание мапы


Выражайся по русски. Мапа это что, карта?
393 925063
>>25062

>карта


Да
1703997127533.png143 Кб, 720x648
394 925064
>>25056

> Не бейте сильно


Да ну ты что? У нас тред любви и поддержки. Мы тебя любя ВЫЕБЕМ ПРЯМО В МОСК.

> И собственно первый вопрос который бы я хотел задать: а где библиотека функций или еще чего-то?


Вот здесь, например https://docs.godotengine.org/ru/4.x/index.html

> ищешь нужную функцию и вписываешь ее в скрипт


> В проганье не шарю от слова совсем


Ты мне не поверишь, конечно сейчас, но я тебе скажу, не зная программирования, ты не сможешь узнать, какая функция тебе нужна, чтобы вставить.

> Приличных материалов по этому языку пиздец мало


Ну что же ты пиздишь, анончик? https://www.lua.org/manual/5.4/

> я скачал и установил это


> Ещё нашел вот это


Погоди, давай ещё раз уточним. Ты вообще не шаришь в кодинге, и вместо того, чтобы учить кодинг лезешь в геймдев, который считается вершиной айти? В котором самая простая игра сложнее самых сложных КРУДов ентерпрайза? И вместо того, чтобы пользоваться встроенными языковыми средствами годота, ты тянешь туда сторонние языки? Не зная ни одного языка?
Ну и как тебя всерьёз воспринимать? Толстота же. Ну или шиза.
395 925066
>>25064

>Ты мне не поверишь, конечно сейчас, но я тебе скажу, не зная программирования, ты не сможешь узнать, какая функция тебе нужна, чтобы вставить.


Ичо =) ичо нахуй=))))))))))))
>>25064

>Ну что же ты пиздишь, анончик?


Это всё для нормисов 100IQ+
>>25064

>Ты вообще не шаришь в кодинге, и вместо того, чтобы учить кодинг лезешь в геймдев, который считается вершиной айти?


Схуяли считаю?
Я пытался прогать на луа ещё давно, нихуя не выходило из-за отсутствия нормальных материалов обучающих. В каких-то роликах чел нормально объясняет, в каких-то совсем неочень, из-за этого собирать полную картину по этому языку довольно трудно.
>>25064

>И вместо того, чтобы пользоваться встроенными языковыми средствами годота, ты тянешь туда сторонние языки?


Потому что встроенный высер годота это хуйня полная. По ней ещё меньше обучающих материалов. А если ты про си шарп или еще чето, то блять, ну я хуй знает, ну иди пожуй травы там, или пососи хуй отчима, может догадаешься, что Lua я рассматриваю как самый простейший ЯП из живых.
Офк я мог бы вкатиться в роблокс студио с такими запросами, но это я оставлю на потом. Пока что я получил буст энтузиазма изучать луа на годоте, через неделю, когда я в очередной раз убеждусь что это душная хуетень, я наверное ливну и вернусь через год-два, но сейчас я хочу узнать ответы на вопросы.

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

Зашел просто задал вопросы, в ответ предъявы, обвинения, осуждения. Я сюда 2 раз в жизни захожу просто узнать ответы, где ты тут увидел движкосрач, уебище ты тупоголовое нахуй.
398 925072
>>25056
Бери лучше https://love2d.org/ К нему есть неплохие туториалы, на гитхабе полно библиотек на все случаи жизни, активное комьюнити в дискорде. Сам в этом году успешно вкатился с нуля
мимо
399 925079
>>25069
Какая разница сколько раз ты заходишь, если ты развел движкосрач? Учи встроенеый язык, гдскрипт легчайший язык, по нему тонна обучающих материалов, луа недоязык который никому неинтересен, разбирайся с ним сам если тебе интересно, но это нерелевантно треду
400 925089
>>25066

>нихуя не выходило из-за отсутствия нормальных материалов обучающих. В каких-то роликах чел нормально объясняет, в каких-то совсем неочень, из-за этого собирать полную картину по этому языку довольно трудно.


Поиграл с твоего смешного поста, но вот этот момент все объясняет

>В каких-то роликах чел


Для обучения языкам программирования никакие ролики не нужны, и даже противопоказаны.
Вся "полная картина" языка содержится в официальной документации к языку, обычно там же есть и вводная глава.
401 925092
>>25069
Тебе все верно ответили, шизло. Ты залетел с нулем знаний, но уже с "железными аргументами" почему Х - говно, и его ты учить не будешь, а будешь учить только Y, который по факту никто не использует, а тебе давайте, обучайте меня. Твои аргументы - инвалид, но тебе это даже хуй объяснишь, потому что ты сам инвалид. Ну и чего с тобой делать?

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


Все всё побросали побежали спасать очередного дауненка с дефицитом внимания. Заспидрань свою новогоднюю мотивацию с недели до пары часов, и сразу приди к похмельному финалу.
402 925120
Тащат за стол, а у меня тут разработка прототипа в самом разгаре, все таки насколько приятно и увлекательно и легко делать игры.
403 925123
>>25089
погромисточмо как обычно
языки тоже учишь по грамматике?
404 925142
>>25120
Жиза брух. Сейчас бы игры делать, а не вот это вот все. Я уже 3 дня нормально делать игры не могу.
405 925154
>>25064

>В котором самая простая игра сложнее самых сложных КРУДов ентерпрайза?



Я другой анон, погодите, это реально? Ты хочешь сказать, что простая игра на Годоте типо тех же подпивасных клонов вампир сурвайворов или платформеров технически сложнее, чем то, чем занимаются в коммерческой работе? Я всегда думал что наоборот, в редакторе и с гдскриптом любой гоблин соберет простенькую игру, может даже не очень простенькую, а писать бекэнд на питоне условном могут только гении-олимпиадники, которые мыслят архитектурой и прочее.
406 925169
>>25154
Все правильно он написал. После кучи лет работы в вебдеве могу подтвердить, игры гораздо сложнее, комплекснее, требуют опыта в дохуище дисциплин, и все это должно работать вместе, слажено, стильно и в реалтайме с 60+ фпс. Это не формы тяп-ляп.
407 925172
>>25169
Так что, если я сделал простую игру, то значит у меня есть шансы вкатиться в айти по-нормальному с реальной зарплатой?
408 925177
>>25172
То значит что ты не даун-аутист, и шансы выше чем у среднего вкатуна из б. Остальное зависит от конкретных скиллов, а они не всегда пересекаются между областями айти.

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

А вообще оффтоп. Пойдем лучше игры делать.
409 925247
>>25154

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


Литерали да. Вебмакакинг проще чем ты думаешь. И платят больше кстати, ну где как.
410 925250
Вообще мне кажется это индивидуально. Я вот 15 лет профессионально в геймдеве, а к вебу сколько раз подступался, ни разу не вкатился. Архитектура вечно непривычная, инструменты жуткие, раздутые. К тому же в геймдеве огромную часть может скрывать объектная модель. Ну серьезно, например в вершины моделей лазить приходится очень редко, при какой-нибудь генерации или хитрой анимации, а после того как сделал, обычно это инкапсулировано и забыл. В остальное время просто двигаешь объекты. В вебе же буквально любой чих сразу начинает требовать чуть ли не вручную прописывать тонны css чтобы работало, в основных 3-4 браузерах все равно все поедет, при этом надо лазить в бд по кд, еще бороться со всякими хакерами, смотреть чтобы авторизация и аутентификация правильно работала, чтобы по ссылке для чтения не удалялись аккаунты и данные, а главное, чужие аккаунты. Брр. Пытался один сервис игровой сделать, сколько же крови попортила простая попытка создать новый проект, со всеми этими вебпаками и нодежсами.
411 925253
>>25154
>>25250
Хуй знает. По мне так веб вообще мало похож на программирование как таковое. Причем бэкенд еще меньше чем фронтенд, хотя обычно считается наоборот.
412 925268
Анончики, поясните за доку для шарп версии. Хотел задать пресет контрола из кода, дока говорит что это делается через set_anchors_preset(Control.PRESET_FULL_RECT) в ГДСкрипте. Тут вопросов нет. Вопрос возникает какого хрена в шарп версии совершенно другая переменная: SetAnchorsPreset(Control.LayoutPreset.FullRect); про которую в доке ни слова? Есть где-нибудь таблицы соответствия или надо всегда гуглить, в надежде что кто-то уже задался таким вопросом?
413 925277
>>25250

>Я вот 15 лет профессионально в геймдеве


Расскажи как вкотился и хоть примерно на каких условиях работаешь. А то я уже года два работаю на мелких кабанов с мемными проектами говна и думаю, куда мне дальше.
414 925286
Чисто теоретический вопрос, могут ли разрабы реализовать в годоте четвертое пространственное измерение?
415 925287
>>25286
Чисто теоретический ответ - могут.
416 925291
>>25268
В доках по другому написано, void set_anchors_preset ( LayoutPreset preset, bool keep_margins=false )
Может быть дело в том, что enum находится в Control? Лень разбираться.
1588482022276.mp4232 Кб, mp4,
480x360, 0:10
417 925293
>>25286
Так уже реализовано
https://www.youtube.com/watch?v=3GzGq-__CxM
Не забывай что игрок все равно сможет смотреть только в 3д (через 2д экран), для 3д существа 4д объект выглядит как изменение 3д объектов (иногда довольно произвольное). Проще всего это можно понять на примере 3д объекта глазами 2д существа - для него это будет просто из ниоткуда появляющиеся и меняющие форму 2д объекты, например как при прохождении пальцев овал вдруг расширился и распался на 5 кругов.
418 925303
>>25291
Да, этот енум в контроле, но в нём PRESET_FULL_RECT, а не FullRect
419 925313
>>25303
Хз, не могу найти.
По 3-ке был чей то сторонний сайт с апи.
Вообще C# API создается во время компиляции на основе api.json, я давно в этом копался. Может быть где-то есть правило типа регекспа, которое вырезает повторяющуюся часть названия, если оно такое же (...Preset.PRESET...)
Если собирать движок самому, то там где-то создается папочка GodotSharp/Generated, ну или смотреть уже dll всякими инспекторами.
изображение.png194 Кб, 1366x768
420 925320
Как сделать чтобы при старте сцены в лейбле обновлялось количество патронов в магазине, которое в свою очередь при старте сцены считается?
изображение.png194 Кб, 1366x768
421 925321
>>25320
Т.е. чтобы вот в этой штуке на HUD появился нормальный текст, значение цифровое ну блфять вы поняли счётчик патронов надо мне.
изображение.png48 Кб, 601x334
422 925322
>>25321
И ещё вопрос. ЧТо неверно во второй половине скрина? Почему оно не воспроизводится?
423 925324
>>25320
var count = ...
$Label.text = str(count)
424 925325
>>25324
Объясни пожалуйста что значит первая строка
изображение.png936 Кб, 1366x768
425 925327
426 925328
>>25325
Переменная, которой ты сам присвой сколько тебе патронов надо
427 925329
>>25328
Спасибо.
428 925333
>>25322
Сложно сказать, это какой то готовый контроллер или туториал?
Во-1, проверь в свойствах проекта, в input map, что у тебя есть действие shoot_Main и написано именно так и ему назначена кнопка
Во-2, RayCast должен с чем-то столкнуться. То есть у цели должен быть коллайдер, они с рейкастом должны быть в одном слое. Если там просто текстура стены то ничего не произойдет.
Может быть еще что то, но пока это проверь.
429 925334
>>25333

>они с рейкастом должны быть в одном слое



Как это?
430 925335
>>25333
А коллижн шейпы не считаются за то что может хитнуть рейкаст? Или просто огромный мэш который собственно и является уровнем, например, тоже не считается тем что может хитнуть луч?
431 925337
>>25335

>коллижн шейпы


Считаются, но они должны быть поддетьми StaticBody или какого-то другого body (Character)

>просто огромный мэш


Сам по себе меш нет, если только ты для него не сделаешь коллайдер (в годоте есть пункт меню Mesh с разными вариантами)
Ну вообще считается что огромный меш лучше не делать коллайдером, потому что тогда рейкаст может тормозить (ему надо перебрать все возможные грани и пересечения)
1704191317818.jpg9 Кб, 480x360
432 925350
>>25293
4д существо видело бы полную развёртку 3д существ вместе со всеми потрохами, вместе со всем содержимым кишок и сосудов. Эдакий взгляд изнутри.
433 925353
>>25320

> чтобы при старте сцены в лейбле обновлялось количество патронов в магазине, которое в свою очередь при старте сцены считается?


А теперь внимание, правильный ответ.
1 (в лоб): обновлять значение в сеттере, сделать сеттер внутреннему числовому значению в котором будет торчать ссылка на интерфейсную ноду.
2 (солидное): Сделать сеттер внутреннему значению, в нём испускать сигнал значение_апдейт(значение), интерфейсом подписаться на сигнал.
434 925358
>>25350
О, значит я на новый год был 4д существом.
435 925359
>>25313
О, про апи.жсон не знал, посмотрю, спасибо
436 925384
Хотя наверное все эти игры про 4д пространство ограничены тем что мы не можем смоделировать объект в четырехмерном пространстве, а все остальное будет примитивами которые можно будет увидеть только в разрезе.

В таком случае может быть есть игра где играются с 2д переходящим в 3д либо наоборот? Нечто похожее на суперлиминал
437 925404
>>25384
Есть, правда челик под это дело свой движок сделал.
https://www.youtube.com/watch?v=kEB11PQ9Eo8 а оттуда на канал переходи и смотри остальное.
16826719849930.mp42,7 Мб, mp4,
480x488, 0:24
438 925491
Привет анончики, посмотрел пару ваших тредов...
А вы что-то кроме 2д пиксель говна делаете? Годен ли движок для чего то кроме изучения основ программирования для начальных классов?
439 925492
>>25491
Все делаем. Иронично, но как раз пиксельной игры я еще не делал, в основном 3д, некоторые с замашкой на опенворлд, но иногда и 2д в обычном арте делал.
Годен для практически всех жанров, кроме прям совсем ААА игр (но для соло разработки это и не имеет значения).
440 925500
>>25492

> кроме прям совсем ААА игр


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

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

Проблема пока в реализации боевой системы. Потому что по моей задумке она должна быть ближе к кингс баунти. Но вместо отрядов у меня будет активная колода
442 925559
>>25500

>они бы могли, юзая исходники годота


Ремастеред Sonic Colors уже вышел
443 925562
>>25500
Я говорил в рамках того что можно делать изкоробки (грубо говоря, на движке, даже если с использованием аддонов, шейдеров и т.д, но не переписывая сами кишочки на с++) Плюс был официальный пост Хуана на этот счет.
444 925570
>>25562

> Я говорил в рамках того что можно делать изкоробки


Да я это понял.
А я напротив говорил о том, что при крупномасштабной разработке (пресловутое ААА) не обойтись без исходников и их правок вручную.
445 925573
>>24785
Мерси

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

>>24851
И тебе спасибо. У меня top down, скольжение вдоль стен не особо нужно. Но об этой разнице между методами я тоже почитаю.
С риджидами там у меня не пошло дело, ибо >>24080
446 925574
>>25573

> обязательно посмотрю как там что


> С группами


В документации об этом не говорится, но попробуй работать с группами как с контрактом: добавление в группу гарантирует наличие свойств и методов, предоставляемых контрактом группы.
448 925589
Вопрос по внешним либам. Можно ли как-то в проект импортировать готовые библиотеки, типа .so, которые я напишу на другом языке? Или без пересборки всей ide никак?

В чём суть? Знаю go, в планах на нём описывать тяжёлую логику, добавлять в проект. Думал можно прямо в проект импортировать, но не нахожу. Чёт лениво пересобирать ради своих модулей godot каждый раз. Ну и от плюсов отвык как-то.
451 925593
>>25589
Можно, gdextension 4 / gdnative 3
Я описывал как я делаю с плюсами. У меня есть либа (so/dll) игровой логики, она ничего не знает о годоте, и есть либа (so/dll) враппер, которая знает о годоте и выглядит для него как скрипт и может вызываться из гдскрипта, в свою очередь дергает нужные функции мира в игровой либе. Гуй на гдскрипте.
452 925594
>>25593
P.s. соответственно игровая либа может инклюдить и линковаться с любыми готовыми либами на с/с++, например продвинутый a-star и тд
453 925596
>>25591
>>25593
Спасибо. Буду думать.
454 925701
Аноны, есть ли какой удобный редактор кода для Гдскрипта? Встроенный пиздец какой неудобный(с типизацией и прочими плюшками проблема).
image.png215 Кб, 1366x768
455 925727
Сука, я не пойму, как сделать чтобы вместо этой серой хуйни моя картинка появилась?!
456 925867
2024 год официально завершен на 1%. Вы сделали более 1% своей игры?
457 925868
>>25867
Я в новом году уже дае новых начал делать
458 925879
>>25727
Не используй панель, очевидно. Используй спрайт. Да, вместо панели. Да, будет работать. Да, так можно было.
459 925911
>>25879
Блять! Бляяяяяять! У меня уже скрипты ... Бляяяять сукааа.
Ищу погроммиста на годоте 460 925912
Хочу сделать простую игрушку десижн мейкинг стратеджи на большой карте, с элементами визуальной новеллы (типо six ages lights going out, игр Kremlin Games или Long Live the Queen) . Есть художник и потенциальный композитор, если кто шарит в движке или уже игрушки разрабатывал пишите в телегу urukay13 . Если никого не найду буду сам изучать, просто это дольше получится.
461 925913
>>25911
Ой да там 15 минут делов, скрипты на спрайт переделать. Сделай один раз и кайфуй.

В темы нужно лезть когда нужен комплексный подход к "темированию", типа, когда нужна система псвдоокон для эрпогэ. Тогда темы рулят. В остальных случаях ебашь без задней мысли всё на спрайтах вложенных друг в друга.
462 925918
>>25913
Только тогда уж не спрайт, а TextureRect, он хотя бы от контрола наследник.
463 925922
>>25918
Да, принимается исправление.
464 925962
Анончики, что можете посоветовать для сохранения игры, в частности на шарпе? Доку читал
465 925975
>>25962
А хули тут еще посоветовать? Открываешь файл и записываешь в него все переменные, которые хочешь. Что может тут быть непонятного? Задавай вопрос конкретнее.
466 925985
Напомните, где лежат либы из темплейтс? удалить к хренам старьё пора бы, ног забыл, куда их годот устанавливает.
467 925986
>>25912

> есть художник


> есть композитор


> ищет погромиста


Нахуй ты нужен?
468 925987
>>25986
Смахивает на классическое "делаю игру, нужен програмист и художник, а я расскажу, как это должно выглядеть. И вобще я командовать буду".
469 925988
>>25987
Ну если честную полушечку плотит за разработку, то можно.
470 925990
>>25988
Ты что не энтузиаст за идею работать?
471 925991
>>25985
~/.local/share/godot
472 925992
>>25912
Есть желание, но на юнити могу делать, как тебе?
473 925993
>>25991
спасибо!
474 925994
>>25992
Как земля.
475 925995
>>25990
Только если за свою. Чужие только за идею вместе с оплатой могу
476 925996
>>25991
AppData\Roaming\Godot\
тогда уж
477 925997
>>25996
Мда уж. Кто то еще не пересел на опенсорс.
478 925998
>>25727
Гуглится за пару секунд
https://www.youtube.com/watch?v=G98H_nai7F4
479 925999
>>25701
Для VS codium был плагин, не знаю насколько он лучше-хуже. Я в 3 годоте сижу, там редактор удобный.
480 926001
>>25975
У меня годот фактически только для графики, вся логика на шарпе, затык начинается когда я думаю как сохранять отношение объектов, в которых есть ссылки на объекты.
481 926002
>>26001
nodepath?
482 926003
>>26002
Нет, натуральные объекты
zayac.jpg172 Кб, 791x795
483 926004
>>25998
Я ЕБАЛВ РО Т ГУГЛЛИТЬ СУКА Я ЕБАЛ В РОТ ПРОСТО ГНУГЛИТЬ НАХУЙ ГУГЛИТЬ ЕБАААЛ В РОТ
484 926005
>>26003
PackedScene?
16983404651360.webm3,8 Мб, webm,
1920x1080, 0:05
485 926006
У вас тут вроде был чел, который какую-то бесконечную поездушку на машине делал.
Полистал тред и не увидел от него скринов.
Как у него дела?

Эй, бесконечномашинщик, как дела с твоим проектом?
486 926007
>>26004
Мог бы спасибо сказать что за тебя погуглили, немощь ебаная.
487 926008
Чего это вы после нового года так массово оттаяли?
488 926009
>>26005
Оно же не совсем про то, а про сцены. У меня на сценах только спрайты, с ними вроде как всё очевидно. Давай приведу пример. У меня есть зелье в инвентаре. У него есть общее для всех предметов в инвентаре свойство "в кармашке у", которое ссылается на персонажа, у которого оно собсно в кармашке. Конечно можно пойти по лёгкому пути и смотреть от обратного, мол вот список предметов у персонажа, они все типовые, при загрузке создаём их объекты с нуля, но мне хочется подход, который сработает и для нетиповых объектов, типа "труп белого орка по имени Патрик, с ранами в районе живота, и отсутствующей ногой"
489 926010
>>25997
этов дальнейших планах.
490 926015
>>26009

>У меня на сценах только спрайты


А остальное где, если не в сценах? Ты можешь сохранить сцену всего инвентаря, например, со всеми зельями, рекурсивно. Даже если она создана динамично из кода. И орка. И всю игру. Я у себя всю игру так сохраняю. Но тут есть тонкости. Во-первых ты должен проставить owner'ов, про это в доках к пакедсцене есть. Во-вторых, если ты хочешь чтобы сохранилась переменная, определенная в скрипте, эта переменная должна быть объявлена с export var ..., по крайней мере так было в тройке.

Никаких других хитрых хаков про сохранения я не знаю. Все остальное - долгая муторная ручная работа. Но можешь в ассет сторе поискать готовые решения. Я как-то разбирался с thoth, он был неплох.
491 926017
>>26015
Технически наверно всё таки на сцене, но да, наверно надо разбираться и смотреть на средства сериализации самого шарпа
492 926020
>>26001
Подозреваю что в 99% случаев именно ссылки на конкретные объекты сохранять не нужно
Есть разные стратегии, я бы рассмотрел по порядку возрастания сложности
1. Не сохранять ничего, кроме чекпоинтов/номера текущего уровня. Довольно ограниченно.
2. В случае например инвентаря, может быть достаточно количественного или бинарного состояния. Тебе неважно что это ссылка на объект гибочки, главное что их 99. И что подобран синий ключ.
3. В каких то более сложных случаях, например дерева объектов, должен работать просто словарь значений. Опять же неважно что за объект колес машины, важно только что куплены два зимних и два летних, а в данных о колесах может указываться, что они проапгрейжены украшениями со светодиодами.
4. Еще более сложные случаи могут решаться уникальными ID объектов. Сложно придумать пример, ну пусть будет цепочка что "Город1" производит танк, "Город2" производит ракету, и у обоих есть правило "отправить построенный юнит в Город3", тут важно что это один и тот же город.
В целом при десереализации во время загрузки, твой код должен инстанциировать нужные объекты, добавлять их в нужные части дерева, в т.ч. сцены, подписывать на нужные события, ну и вот таким образом подставлять везде ссылки - в Город1 ссылку на Город3 в нужной команде.
493 926021
>>26004
Найти панель в редакторе темы ты тоже ебал? Понимаю.
494 926022
>>26009

>У него есть общее для всех предметов в инвентаре свойство "в кармашке у",


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

>"труп белого орка по имени Патрик, с ранами в районе живота, и отсутствующей ногой"


Не понятно в чем тут сложность и где тут собственно ссылки.
{ type: corpse, name: Patrick, creature: white_orc, wounds: [stomach], legs: { left }}
495 926023
>>26008
Ты кто вообще?
496 926024
>>26020
Да, я тоже думал о варианте три, присваивать айди объекту при сериализации и выставлять нормальную ссылку при десериализации.
>>26022
Так я не уверен именно в сохранениях, я уже добавляю такое свойство.

> где тут собственно ссылки


Я имел ввиду, что этот труп в инвентаре должен быть трупом исторической личности, а не генерик трупом орка.
497 926031
Полезное нашёл
https://habr.com/ru/articles/781022/
image.png63 Кб, 593x341
498 926038
Итс хаппенинг
499 926054
>>26020
Использую SQLite для хранения данных(стейт юзера, инвентарь, вещи в магазине и прочее). Есть какие минусы у данного метода?
Мимодругойанон
500 926057
>>26054
Не знаю, ты нам расскажи. Ты связи между сущностями как то хранишь?
501 926058
>>26057
Связи сделал через связи между таблицами в БД(o2o, m2m и т.д.), но их тут мало.
502 926065
>>26001

> сохранять отношение объектов, в которых есть ссылки на объекты


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

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

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

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

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

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

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

И да, это всё делается во время паузы, я полагаю, когда вся загрузка окончена, пауза отключается и рубилово возобновляется.
502 926065
>>26001

> сохранять отношение объектов, в которых есть ссылки на объекты


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

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

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

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

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

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

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

И да, это всё делается во время паузы, я полагаю, когда вся загрузка окончена, пауза отключается и рубилово возобновляется.
503 926067
>>26065
Спасибо, за развёрнутый ответ. Всё понял, потому что понятно объяснил.
504 926068
>>26065
При этом, вышеописанная система максимально гибкая. С её помощью ты можешь реализовать любой стиль сохранения.
Хочешь быстрые сейвы по Ф5 Ф9? Чтобы игрок мог судорожно сохраниться за секунду до смерти и визжать как сучка, швыряя клавиатуру в монитор? Без проблем, биндишь функции сейва и лоада на Ф-клавиши.
Хочешь сейвы у костров и только когда вокруг костра нет агрящихся бомжей? - Пожалуйста, биндишь функцию сейва к функции "посидеть у костра".
Хочешь быстрые чекпойнты? - без проблем, заводишь в глобальном скрипте локаций локальную переменную "чекпоинт", в которую скидываешь, когда тебе надо, копию глобального словаря-состояния и если игрока убил босс, проигрываешь экран геймовера и копируешь локальный чекпойнт обратно в глобальный словарь и вызываешь сигнал обновления, как описано выше, при этом никакого взаимодействия с файловой системой не происходит, всё сидит в оперативке. Игрок перешёл в новую локацию, чекпойнт исчез вместе со старой локацией. Несколько локальных чекпойнтов на локации? Тоже не проблема. Неужели и это объяснять нужно? Прибиваешь копию глобального словаря к ноде-чекпойнту с визуальным флажком и бочкой или что там тебе нравится.
505 926069
>>26067
Погоди, есть ещё один важный момент, об который можно обжечься. Когда будешь делать такой вариант, сразу закладывай возможность блокировки чтения и блокировки записи в вышеописанный глобальный словарь. При активации загрузки - ты должен запретить запись в него, а при активации сохранения, наоборот - запретить чтение. Поскольку предполагается, что объекты будут постоянно по своему желанию ходить в него и читать-писать, им нужно уметь это ограничивать. Иначе можно опять же, получить испорченный сейвфайл, если в нем будут меняться данные в момент его выгрузки на диск.
1704529788746.png107 Кб, 640x640
ПЕРЕКАТ # OP 506 926071
507 926131
>>25992
Напиши в телегу
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее