Godot #63 1017767 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и антипаттернов!
Шапка: https://hipolink.me/godothread
Предыдущий: >>1014044 (OP)
Архивный: >>1008211 (OP)
image.png989 Кб, 1138x1139
2 1017773
Делайте игры посильного скопа
3 1017804
генерирую меш через код и, полагаю, именно из-за этого неправильно работает wireframe shader, так как он основан на остатках деления VERTEX_ID, а у меня айдишники тоже генерированные, пусть и треугольники правильные. то есть 1 и 2 вершина могут быть на разных концах мира, но треугольники правильные (1, 101, 103). что делать? есть идеи насчет шейдера без vertex_id? или алгоритм нумерации вершин стандартизированный какой-то...
4 1017816
>>17804
Я как то пробовал и мне никакой метод не понравился. Может быть просто сделать такую текстуру где есть рамка и прозрачность alpha scissor?
5 1017823
>>17804
А ты уверен что тебе НУЖНО генерировать меш через год, тем более сложный меш? Наверняка есть другой путь.
6 1017826
>>17767 (OP)
Давайте посвятим этот номер теме про то, как создать полностью разрушаемую окружающую среду и модели.

Чтобы уделать NFS и GTA с Minecraft
1744911251010.webm20,7 Мб, webm,
1080x1080, 4:24
7 1017828
>>17826
Штош, давайте.
Тогда начнём с мотивирующей музыки. Чтоб вдохновиться.
8 1017835
>>17816
не очень понял. какая рамка? нарисовать текстуру с выделенными ребрами?

>>17823
пока не знаю. думаю
9 1017837
>>17835
Ну да, текстура с ребрами.
Наверное можно взять тупо квадратную сетку и остальное генерить в UV одновременно с мешем.
10 1017881
>>17835
>>17804
пока я придумал сделать меш в блендере, распарсить его obj и таком порядке генерить в годо кодом. пока нет возможности проверить, идея норм? так возможно же?
11 1017918
Из-за корявости модера, прикрепленная ссылка на годот ведет не на каталог всех тем с тегом годота, а на утонувшую тему.
Люди пишут в ту утонувшую тему.
12 1017920
>>17826
Давай.
13 1017922
>>17918
Оно всегда так, и на это попадаются ньюфаги. Просто листай условную нулевую пока не увидишь нужный тред.
14 1017925
>>17922
Ну или как вариант, прожать Ctrl-End в треде по ссылке, обнаружить внизу перекат-пост, повторять пока не обнаружен перекат пост.
16 1017930
>>17928
1. не нужно.
2. быть переводчиком крайне неблагодарное и скучное занятие, как бывший говорю.
17 1017935
>>17930

>1. не нужно.


Классическое отмазка ленивого комьюнити.
Перевод официальных доков просто на порядок притягивает ньюфагов, а значит популяризирует продукт.
Просто потому что читать на родном языке удобнее и быстрее.
18 1017940
>>17935
Техническую документацию приятнее и быстрее читать на английском всегда.
19 1017944
>>17935
Пчел, привыкай, ВСЕ тебе никогда не переведут. Рано или поздно тебе понадобится плагин, библиотека, чужой код из демо, что угодно нишевое и специфичное, и ты будешь радоваться что оно хотя бы на английском, а не на китайском или японском. Тру стори.

Не говоря уже о том что неофициальной "документации" типа ответов на форумах или туториалов на ютубе гораздо больше на английском, и никто тебе не будет переводить совет со стековерфлоу 2018 года.
20 1017945
>>17940
>>17944
Кто сказал что я не владею анг? Я говорю про популяризацию. Всегда вижу какое у нас ленивое комьюнити (за 23 летний опыт айтишечки).

Проблема в том что ньюфагам и так трудно вкатываться, а ты ленивая жопа предлагаешь еще английский выучить параллельно (который по объему больше чем твой годот).

Кринжовики. Сами любите/выбираете технологию и сами ничего не делаете для популяризации это же опенсорс
21 1017947
>>17945
Я и так слишком много делаю для популиризации годота на дваче.
image.png99 Кб, 232x217
22 1017948
>>17947

> для популиризации


> на дваче


> (полудохлом разделе)

23 1017950
>>17945
Если кто-то не умеет ходить, мы что, теперь всю их жизнь на руках должны носить? Я тебе уже перечислил почему это тупиковый путь.

Разве что какой-нибудь нейропереводчик встроенный в браузры прокачается. Как костыли пойдет.
24 1017959
>>17950

>Я тебе уже перечислил почему это тупиковый путь.


Да мы уже записали это в отмазку, успокойся. Думаешь я эту херню первый раз слышу за овер 20 лет?
25 1017961
>>17959
А эти вы сейчас с тобой в одной комнате?
26 1017963
>>17959
Говорит лишь о том, что лично ТЫ до сих пор эту проблему не пофиксил. Не знаешь английский - учи. Знаешь - переводи для других.
27 1017964
>>17961
Под кроваткой посмотри.
28 1017965
>>17963
Нет, я человек который давно в айтишечке и лазаю по разным техам и каждый раз заходя вижу одну и тужу техническую бедность. Тут даже сравнение кинул. Немецкий вообще пограничный с английским языком, но комьюнити посчитало почему-то нужным перевести. Кстати, с украинского можно автопереводом сделать в пару минут

Я сам исключительно читаю только англоязычные доки (какое можно вообще ожидать качество от такого комьюнити). Единственно что я впервые бегло прочитал на русском, это доку раста. не знаю в каком она сейчас состоянии, наверняка заброшена уже
image.png1,3 Мб, 944x703
29 1017969
>>17965
Ну раз такое дело то можешь взять и перевести для других. Поднимешь с 33% до 33.3%
30 1017972
>>17969
Ну я всегда что-то отдаю сообществу (чаще ньюфагам), когда мой уровень потребление техой становится выше уровня нуб. И это не перевод, а какие-то узкие фишки с которым мне пришлось разбираться самому.

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

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


И при этом тебя удивляет что другие поступают так же.
32 1017974
>>17972
Ультимативный Путь дальше всегда один - в движкописатели.
33 1017975
>>17973
Ну меня бы устроило 0% перевода, или больше 80% (если сравнивать с другими) Но не заброшенные 33%.
То есть, начали перевод, по-прокрастинировали и потом с великом еб..лом рассказывают, что ненужно.
Это какое-то позорище.
34 1017976
>>17975
Докажи, что те кто рассказывают что не нужно, это те же кто начинал перевод
35 1017979
>>17976
Вот человек который занимался переводом говорит ненужно вместо - я ленивая жопа
>>17930

В любом случае, ты уводишь от разговора, тут пол треда говорит что "ненужно". Кто и как сказал это неважно, важно что 33% выглядят жалко. И заброшенные переводы это беда ру-комьюнити.
36 1017980
>>17979
Там не написано что он переводил годот. Там написано что он бывший переводчик.

>В любом случае, ты уводишь от разговора


Хочу и увожу, что ты мне сделаешь?

>тут пол треда говорит что "ненужно"


Это совпадает с моим мнением, не вижу причин его менять.

>выглядят жалко.


Такими аргументами ты никого не замотивируешь.

> беда ру-комьюнити.


Иди и переводи, опен сорс же.
37 1017981
НУ ШОЖ ВЫ ТВОРИТЕ-ТО ТАКОЕ, НЕЛЮДИ?!

Спасибо популяризаторам за трафик крови, которая ничего не умеет, ничего не хочет и не будет импрувиться, в коммьюнити. Контрибутите в то, чтоб персонажи типа пикрил встречались еще чаще. Шоб вы понимале, на пике весь изначальный контекст проблемы. "Моб" "отказывается" "бежать" за "игроком", разберитесь кто-нибудь. Ну и упоминание нейроночки как вишенка на торте. Через 14 часов там еще узналось, что код списывался из какого-то курса на русском) на ютубе. Тоже тот еще рак, литературно воронка для айпад кидов в вайб кодинг геймдев пайплайн

Да, порвался, и че ты мне сделаешь?
38 1017988
>>17981

>че ты мне сделаешь?


Нейронка будет судить
39 1017989
>>17981
Самое смешное впереди.
Люди ещё не вполне осознают, какой ящик пандоры открывают нейронками. В природе всё продумано миллионами лет эволюции: неиспользуемые ткани и органы отмирают. Спроси у чата ЖоПоТы, так ли это.
image.png52 Кб, 213x225
40 1017990
>>17989

>неиспользуемые ткани и органы отмирают


выходит женщины это потомки инцелов???
image.png581 Кб, 600x450
41 1017993
>>17980

>Там не написано что он переводил годот


А это важно? Может быть тебе нужен пруф какал он сегодня или нет? Это важнее?

>Хочу и увожу, что ты мне сделаешь?


Заигнорю, нафиг мне чудо которое говорит сам с собой?

>Это совпадает с моим мнением


Ты не поверишь, но всем насрать на тебя. Мы обсуждаем конкретный пример про перевод.

>Иди и переводи, опен сорс же.


Спасибо, было очень интересно с тобой поговорить нет
42 1017998
>>17993

>А это важно?


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

>Заигнорю


И чего ж не заигнорил?

>Ты не поверишь, но всем насрать на тебя


Не поверю. Ты так бежал за мной по треду чтобы сказать об этом.

>Мы обсуждаем конкретный пример про перевод.


Эти вы все еще у тебя под кроватью?

>>Иди и переводи


>Спасибо, было очень интересно с тобой поговорить


Почему ты меняешь тему, вместо того чтобы идти и переводить самому? Ты бы уже страницы три перевел.
Это же стыдно что ты до сих пор ничего не перевел.
43 1017999
Вайбкод на гдскрипт буксует. Нейронки не успевают за изминениями в гдскрипте, им все еще мерещится гдскрипт 3. Хуану надо специально натренировать лору под годот чтобы мы все об-вайб-кодились...

Какая нейронка меньше галюцинирует когда речь заходит о помощи с нетухлой версией годота?
44 1018004
>>17999
А зачем тебе 4-ка? Это чисто для мечатателей об игре мечты, а если делать мобилку или веб игру, лучше брать 3-ку.
video2025-04-1819-20-42.mp42 Мб, mp4,
598x612, 0:22
45 1018008
>>17999

>Вайбкод буксует

46 1018016
>>18004
Из четверки действительно вырезали нужный мне функционал, аналог питоновского struct.unpack("2L3fh4b", bytedata). Но я хочу под стэндалоне вр делать. Импортировать ассеты прямо из архива AAA игры, сначала меш, потом текстуры и матерьялы, анимацию, физику, логику.

>>18008
Дело не в багах, а в галюцинациях, я пол часа с энтузиазмом изучал функционал которого нет. Нейронка вычитала гдето фичер реквест и считает что это есть в движкн. Из галюников: my_var = myarray[4:8], и var1, var2, var3 = [1, 2, 3].
Пытаюсь скрипт из блендер импортера переписать в годот. Magic_dword, fsize, fnumblocks, fnumtextures = struct.unpack("<4b3L", infile.read(4*4))
photo2024-11-2720-05-04.jpg98 Кб, 640x640
47 1018026
>>17928

>Ленивое комьюнити.



>>17930

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



Когда ты и твой бывший встретились в Godot-гейдев треде...
48 1018121
>>18026

> кто из нас будет делать игру?

49 1018123
А можно ли как-то сделать повторяемые партикли? То есть, чтобы каждый цикл эмита был в точности одинаковым.
50 1018124
>>18123
Ладно, сделал примерно похоже убрав всю рандомизацию и вместо шейпа поставив директед поинтс.
682e5466a5c2290c0cc2683199643f81.jpg308 Кб, 622x733
51 1018130
>>17767 (OP)
Уважаемые go-дотеры подскажите.

Уже давно сижу на юнити делаю всякие 3д/2д игрушки для души так сказать.
И в последнии пару лет уже пересел плотно на онли 2д, и все бы классно и нравится, но вот подумываю, а не лучше ли будет перейти на годот ради такого? Мне всякие супер штуки не нужны, гоняю спрайты по экрану, анимирую, и все вообщемто.
С# нравится и проблем с ним не возникает, но перейти на чтото похожее думаю не сложно будет, все люблю делать только кодом в скриптах если возможно.

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

Стоит вкатываться и изучать ради моих целей?
52 1018136
>>18130

>Стоит вкатываться и изучать


Всегда стоит.

>Шифрование кода


C# как раскрытая книга легко вскрывается. Впрочем как и гдскрипт.
Более-менее сложно вскрывается только C++, об этом было в прошлом треде.

>перейти на чтото похожее


В годоте основные языки это GDscript (больше похож на питон), C# тоже есть (но утяжеляет билд рантаймом) и C++ для более тонкой работы.

>платформеность ПК-Андроид


Ну эти из коробки. Из коробки нет только всяких нинтендо свичей, которые надо портировать самому или у издателя.
Единственное что для доступности мобилок и веба традиционно продолжаю советовать делать игру на 3 (gles2), а не 4 версии. Алсо в 4-ке C# пока не экспортируется в веб.

>Шифрование ресурсов


Какие нибудь сейвы-Json-тексты относительно легко зашифровать, а вот насчет 2д спрайтов не припомню готовых решений. Возможно можно наколхозить что то самому, изменяя пиксели, склеивая спрайты из тайлов, подменять что то в шейдерах.
53 1018138
>>18130
Конечно стоит. Чем больше движков знаешь - тем ты эффективнее.
54 1018236
>>18123
Фиксированое семя юзай, тобишь галку напротив Use Fixed Seed ставь.
55 1018239
>>18130
Делаешь для души, но тебя волнует шифрование ресурсов. Странно.
56 1018241
>>18239
Чтоб никто не узнал, какие у него синглтоны осуществляют функционал мультиплеерных кнопок.
57 1018249
>>18239
Что странного ты тут увидел? Кто-то не хочет отдавать часть своей души, кто-то не хочет чтобы его для-души кто-то украл и начал продавать от своего имени, кто-то мечтает что для-души взлетит и начнет приносить миллионы, кому-то интересна просто техническая сторона этого вопроса. я например рипал модель со скетчфаба и одну плейстейшн игру, там заморачиваются с обфускацией, это интересно само по себе
58 1018263
>>18249
А сколько игр ты уже опубликовал в релиз?
59 1018265
>>18239

>Странно.


Что странного? У всех свои тараканы, мы между прочем на сосаче сидим, не самом здоровом месте в интернете.
60 1018267
С неделю ебался с тем что бы понять как сделать аналог черных полос keep аспекта в 2д, только что бы за ними рендерилась затемненая карта ака туман, но не рендерилось все остальное. Нахуя?, спросите вы - яндекс игры, отвечу я.

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

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

Третьим попытался тупо скрывать объекты вышедшие из заданной области. Хоть тоже и работало, но это не то что нужно.

И вот пока возился с партиклами, добавляя материал для анимации, заметил такой параметр как light mode на который до этого вообще не обращал внимания.. Боже блять, ебаный тупой хуан, нахуй ты его в такие ебеня запихнул, почему то как объект реагирует на свет определяет ебаный материал а не сам объект. Вобщем light mode - light only и pointlight с текстурой нужного размера - решили проблему рендеринга определенной области полностью. Правда не ебу скажется ли это на производительности в вебе, надеюсь что нет ибо пока все заебись.

С самими прозрачными черными полосами не так уж долго и ебался, с помощью контейнеров и colorrect сделал что и хотел, проблема была только в том что интуитивно настройка параметров якорей нихуя не понятна, пришлось кучу комбинации перетыкать чтоб понять че да как.
60 1018267
С неделю ебался с тем что бы понять как сделать аналог черных полос keep аспекта в 2д, только что бы за ними рендерилась затемненая карта ака туман, но не рендерилось все остальное. Нахуя?, спросите вы - яндекс игры, отвечу я.

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

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

Третьим попытался тупо скрывать объекты вышедшие из заданной области. Хоть тоже и работало, но это не то что нужно.

И вот пока возился с партиклами, добавляя материал для анимации, заметил такой параметр как light mode на который до этого вообще не обращал внимания.. Боже блять, ебаный тупой хуан, нахуй ты его в такие ебеня запихнул, почему то как объект реагирует на свет определяет ебаный материал а не сам объект. Вобщем light mode - light only и pointlight с текстурой нужного размера - решили проблему рендеринга определенной области полностью. Правда не ебу скажется ли это на производительности в вебе, надеюсь что нет ибо пока все заебись.

С самими прозрачными черными полосами не так уж долго и ебался, с помощью контейнеров и colorrect сделал что и хотел, проблема была только в том что интуитивно настройка параметров якорей нихуя не понятна, пришлось кучу комбинации перетыкать чтоб понять че да как.
61 1018276
>>18236

> Use Fixed Seed


У меня тройка, увы.
62 1018279
>>18276
Увы. Переходи значит на четверку.
63 1018286
>>18279
Увы, не перехожу.
64 1018290
>>18286
Увы. По какой причине?
65 1018293
>>18290
Увы, слишком глубоко зашел, релизнуть должен в этом году и не могу тратить время на перевод такого большого для соло проекта.

Тем более там еще 3.7 впереди.
66 1018298
>>18293
Увы. Удачного релиза.
Стикер63 Кб, 500x500
67 1018329
>>17767 (OP)
Сталкивался кто с вылетами из-за ебучего ResourceLoader?
Вылеты игры в рандом момент при загрузке\выгрузки из памяти. Нет никаких ошибок, даже в .log нихуя нет.
Просто рандом вылеты без нихуя.
68 1018346
>>18329
Не сталкивался. Запусти годот из консоли, обновись до следующей/предыдущей версии, полистай гитхабю
70 1018385
Ну вы и тормозные помощники, я пока расписывал свою проблему успел ее решить. Толку от вас?
71 1018388
>>18385
На здоровье, обращайся еще.
17448898309840.png27 Кб, 512x512
72 1018442
Мне сегодня вроде приснилась эта рыба из шапки, но не помню, в каком контексте
73 1018451
>>18442
Она кусала тебя за твой игрородный орган, инфа 100, я все видел.
1745315114212.png2,1 Мб, 1920x1040
74 1018462
>>18451
>>18442
У меня открылся игрородный орган во лбу, и я теперь вижу, что эти твари лезут на свет. Оставайтесь в тени. Делайте игры.
75 1018539
Делайте
76 1018883
Чего тред затух? Годот перестал быть тортом?
77 1018884
>>18883
У всех все получилось и вопросов нет.
78 1018891
>>18883
Вали отсюда нахуй в свой срачезагон, идиотина мразь, зарепортил нахуй за движкосрач, гниль.
79 1018895
посоветуйте материал какой-то для изучения, кроме документации и gdquest
80 1018897
>>18895
Англоязычные видеоуроки на ютубе.
81 1018903
https://godotengine.org/article/dev-snapshot-godot-4-5-dev-3/

В ГДСкрипт завезли бектрейсинг ошибок, в годот поддержку скринридеров.
82 1018907
Хотел перекатиться на годот, но не понравилось что в треде как то очень тухло, как будто всего пара старых пердунов сидит только.
83 1018910
Это я просто мультиплеерные кнопки доделал.
Видео-26-04-2025 124416.mp41017 Кб, mp4,
632x578, 0:20
84 1018911
Гайс, я пробую физичяеские косички персонажу сделать, но когда жму движение они разлетаются или прокручиваются, как это можно пофиксить?

Я к ним так же применяю силу в зивисимости от направления, чтобы они более менее ровно летели, но пока они выровнятся, проходит много времени
85 1018934
Это просто в треде остался анон-синглтон.
86 1018936
>>18911
Четверка? Джолт? Интеграт форсес юзаешь?
87 1018940
>>18936

>Четверка?


4.3

>Джолт?


Хз что это

>Интеграт форсес юзаешь?


Вот щас попробовал, ничего вроде не изменилось, может использую неправильно. А так даю силу в физическом процессе.
88 1018942
>>18940
Вот какое у меня предположение, попробуй настроить веса элементам цепи (твоя косичка собрана как цепь, поэтому будем называть её цепью, ок?) настрой так, чтобы самый тяжёлый был у точки крепления, а следующие за ним всё легче и легче. Должно сработать. Ну, с дивана выглядит как план.
89 1018946
>>18942
Не, не вышло, ещё больше наоборот крутить начал. Он как бы при начале смены позиции дёргает конец на себя и раскручивает, а потом стабилизируется, как-то с гравитацией это кароч сувязано мне кажется.
Лан пофиг, потом может к чему-то приду
90 1018976
Никак не могу вспомнить, пару лет назад была новость, что какую-то старую игру портировали на годот. Как называлась эта игра?
91 1018992
>>18976
Sonic colors?
92 1018997
>>18976
Депония?
93 1019000
>>18976
DOOM?
94 1019015
Ебаный скоп
95 1019021
>>18891
Ты слепой. Тред по сравнению с несколькими месяцами назад просто стоит. Ты прополосни свой гноящийся рот, и скажи нормально если есть что сказать.
96 1019023
>>19021
У меня не стоит.
97 1019025
>>19023
Раньше аноны постили свой прогрес, сейчас никого нет. Все сидят на жопах и с умным видом размышляют о таких глобальных темах как значение синглтонов в рамках современной культуры игростроения. Разбавляя иногда техническими вопросами, без постинга прогресса того - получилось, у них или нет. Предположу что показывать просто нечего. Те кто спрашивал просто поняли у себя в голове ответ на свою проблему, и не стали дальше развивать свои поделки...
17410108471160.mp412,6 Мб, mp4,
480x360, 2:27
98 1019036
>>19025
Я бы попостил, но щас всю неделю на заводе работаю... Ещё пк обновил... И на зубы деньги нужны... И про запас нужно сверху накопить....
99 1019037
>>19036
Двачую анона, работа душит и игры делать не даёт. Ещё и здоровье мозги ебёт
100 1019039
>>19025
Тред про движок, естественно технические вопросы более релевантны чем постинг прогресса.
101 1019066
>>19025
Я не могу свой прогресс постить, но могу поныть что скоп большой и что дизайн уровней мозг выносит объемом работы. Следующую игру сделаю буквально на одном экране и напихаю туда систем аля кликер, чтобы юзер сидел и пыхтел там до охуения и никуда не бегал.
earth (DEBUG) 2025-04-27 14-39-39.mp411,6 Мб, mp4,
1920x1020, 0:08
102 1019137
ладно, я поделюсь тогда. начал новый проектик. симулятор развития планеты.

мимо
103 1019146
>>19137
в копрокубе прибывают первые бактерии?
104 1019148
>>19146

> агага, гыгы копрокубы, эхехей


Вот поэтому тред и молчит.
105 1019152
>>19137
Как в Spore?
1591824503688.png287 Кб, 670x410
106 1019182
Лол, теперь на Godot и в демосцене участвует.
https://www.youtube.com/watch?v=IqA7HeuKp98&t=899s
107 1019184
>>19182
Поясни для непосвященных.
108 1019196
>>19184
Демопати - это где обычно присылают что то для ретро 8 битных компьютеров, или хотя бы для ДОС, там есть категории программы 128 байт, или 1 Кб, 4Кб, 8Кб, но есть и категория ПК, туда обычно шлют что то самописное, допустим c++/opengl. А тут вот кто-то прислал демку на Годоте.
109 1019205
>>19196
Демка на годоте способа уложиться в 8Кб?
1732612438286.png273 Кб, 1854x1026
110 1019207
>>19205
Нет. Ну смотря как считать конечно, вот сейчас попробовал минимальный PCK с простым эффектом и весит около 8Кб, наверняка можно в нем еще что-то почистить. Но еще рантайм же движка несколько десятков мегабайт. Так что если движок уже предустановлен в каком нибудь линуксе можно натянуть сову на глобус и сказать что распростаняешь только PCK. Что-то вроде распространения .Net и Java программ.
1623834025607.webm21 Мб, webm,
1920x1080, 1:39
111 1019209
Но это неважно потому что у него была 3д демка в которой PCK весит 8 мегабайт. Хотя он без текстур, наверное если упороться то и ее можно ужать до 8кб (сделать на CSG например, или процедурно генерить из гдскрипта - тексты хорошо сжимаются)
112 1019230
>>19209
В принципе можно пересобрать, выкинув лишние модули, но ниже ~15мб, вроде, никак. А текстуры нагенерировать нойзом/градиентом сразу в движке.
113 1019231
>>19230
Я про его PCK 8 мегабайт говорю, это не включая рантайм. У него еще и несколько картин в коридоре. Сходу не скажу получится ли меньше чем PNG сделать какой нибудь полигон. SVG модуль тоже что то весит.
114 1019232
>>19231
Ебать хайрез.
115 1019234
>>19232
Одни такие картинки могут килобайт занять...
116 1019237
Какая то новая тема для мультиплеер серверов
SpacetimeDB, на расте, около-опенсорс (пока бесплатный тариф и исходники для селфхоста и платным облкаом, через 5 лет станет AGPL)
https://github.com/flametime/Godot-SpacetimeDB-SDK
https://gitlab.com/killthejava/spacetimedb-gdchat
waterandlavarealtimesimulationusingcompute-6keif490gdxe1.mp44,2 Мб, mp4,
854x480, 1:13
117 1019270
image.png83 Кб, 609x473
118 1019271
>>19237
Я так понял они предлагают избавиться от серверного кода между клиентом и базой данных, и запихнуть весь код, всю логику в базу, вместе с собственно данными.

Я не вижу какую проблему оно решает. Просто перекладывает код из текстовых файлов в БД.

МУЛЬТИПЛЕЕРНЫЕ КНОПКИ В БД, АХУЕТЬ
xprimport1.jpg19 Кб, 797x625
119 1019280
Буду тихонько пилить просмотрщик моделей и анимаций из одной игры.

extends MeshInstance3D

func _ready() -> void:
. . var file = FileAccess.open("res://kas00.emp", FileAccess.READ)
. . if file == null:
. . . . push_error("Failed to open the file!")
. . . . return

. . # Read the entire file into a PackedByteArray
. . var data = file.get_buffer(file.get_length())
. . file.close()
. . var buffer = StreamPeerBuffer.new()
. . buffer.data_array = data
. . buffer.seek(0)

. . var dwChunkId = buffer.get_32()
. . var dwMDLSize = buffer.get_32()
. . var dwMDLMagic = buffer.get_string(4)
. . var dwNumObj = buffer.get_32()
. . var dwNumTxt = buffer.get_32()
. . var _dwUnk0 = buffer.get_32()
. . var dwNumIVBuf = buffer.get_32()

. . print("dwChunkId: %d, dwMDLSize: %x, Obj: %d, Txt: %d, IVBuf: %d, Magic: %s"%[dwChunkId, dwMDLSize, dwNumObj, dwNumTxt, dwNumIVBuf, dwMDLMagic])
. . if dwMDLMagic != 'MDL' or dwChunkId != 1:
. . . . print("is not emp")
. . . . return

. . var mesh_data = ArrayMesh.new() #godot mesh

. . var ObjOffsets = []
. . for i in range(dwNumObj):
. . . . ObjOffsets.append(buffer.get_32())

. . #Get file structure block offsets
. . var offverts = []
. . var offimgs = []
. . var chunkbase = dwMDLSize + 0x10
. . while true:
. . . . buffer.seek(chunkbase - 8)
. . . . var chunkid = buffer.get_32()
. . . . var chunksize = buffer.get_32()
. . . . if chunkid == 2:
. . . . . . offverts.append(chunkbase + 0xc)
. . . . elif chunkid == 3:
. . . . . . var mipmaps = buffer.get_32()
. . . . . . var txMagic = buffer.get_string(4)
. . . . . . #print([mipmaps,txMagic])
. . . . . . offimgs.append([44+chunkbase, txMagic])
. . . . elif chunkid == 4:
. . . . . . break
. . . . chunkbase += chunksize+8

. . var vertscounter = 0

. . for objidx in range(dwNumObj):
. . . . var objbase = ObjOffsets[objidx] - 0xc
. . . . buffer.seek(objbase)
. . . . var dwOBJMagic = buffer.get_string(4)
. . . . var dwWeight = buffer.get_32()
. . . . print(dwOBJMagic)
. . . . for bufslotidx in range(4):
. . . . . . buffer.seek(objbase+0x20 + bufslotidx*0x10)
. . . . . . var dwNumVertices = buffer.get_32()
. . . . . . var dwVBufOffset = buffer.get_32()
. . . . . . var dwNumIndices = buffer.get_32()
. . . . . . var dwIBufOffset = buffer.get_32()
. . . . . . if dwNumVertices == 0:
. . . . . . . . continue
. . . . . . print([dwNumVertices, dwVBufOffset, dwNumIndices, dwIBufOffset])
. . . . . . dwVBufOffset = offverts[vertscounter]
. . . . . . vertscounter += 1
. . . . . . dwIBufOffset -= 0xc
. . . . . . buffer.seek(dwIBufOffset-4)
. . . . . . print(buffer.get_string(4))

. . . . . . var verts = PackedVector3Array()
. . . . . . var normals = PackedVector3Array()
. . . . . . var faces = []
. . . . . . var matindices = []
. . . . . . var indices = PackedInt32Array()
. . . . . . var diffuses = []
. . . . . . var uv = []
. . . . . . var weights = []
. . . . . . var uvs = PackedVector2Array()
. . . . . . var uvs0 = []
. . . . . . var iranges = []
. . . . . . var mat2face = []
. . . . . . var materials = []

. . . . . . buffer.seek(dwIBufOffset)
. . . . . . for i in range(dwNumIndices):
. . . . . . . . indices.append(buffer.get_16())

. . . . . . var matbase = objbase +0xa0
. . . . . . buffer.seek(matbase)
. . . . . . var matid = buffer.get_32()
. . . . . . var matsize = buffer.get_32()
. . . . . . while matid != 0:
. . . . . . . . buffer.seek(matbase + matsize - 0x10)
. . . . . . . . var vsize = buffer.get_16()
. . . . . . . . var usedvbufslot = buffer.get_16()
. . . . . . . . var facestart = buffer.get_32()
. . . . . . . . var facecount = buffer.get_32()
. . . . . . . . var indexsize = buffer.get_32()
. . . . . . . . matindices.append(indices.slice(facestart, facestart+facecount+3))
. . . . . . . . if usedvbufslot == bufslotidx:
. . . . . . . . . . buffer.seek(matbase +0x10)
. . . . . . . . . . var bound_sphere = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var diffuse = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var ambient = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var pecular = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var emisive = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var power = buffer.get_float()
. . . . . . . . . . var texturenum = buffer.get_32()
. . . . . . . . matbase += matsize
. . . . . . . . buffer.seek(matbase)
. . . . . . . . matid = buffer.get_32()
. . . . . . . . matsize = buffer.get_32()

. . . . . . #print(matindices)
. . . . . . buffer.seek(dwVBufOffset)
. . . . . . for vtx in range(dwNumVertices):
. . . . . . . . var vx = buffer.get_float()
. . . . . . . . var vy = buffer.get_float()
. . . . . . . . var vz = buffer.get_float()
. . . . . . . . verts.append(Vector3(vx, vy, vz))

. . . . . . . . if dwWeight:
. . . . . . . . . . var weightlayers = []
. . . . . . . . . . for i in range(dwWeight):
. . . . . . . . . . . . weightlayers.append(buffer.get_float())
. . . . . . . . . . weights.append(weightlayers)

. . . . . . . . if bufslotidx == 0:#x20
. . . . . . . . . . var nx = buffer.get_float()
. . . . . . . . . . var ny = buffer.get_float()
. . . . . . . . . . var nz = buffer.get_float()
. . . . . . . . . . normals.append(Vector3(nx, ny, nz))

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . elif bufslotidx == 1:#x18
. . . . . . . . . . var tempdiffuse = buffer.get_float()

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . elif bufslotidx == 2:#x28
. . . . . . . . . . var nx = buffer.get_float()
. . . . . . . . . . var ny = buffer.get_float()
. . . . . . . . . . var nz = buffer.get_float()
. . . . . . . . . . normals.append(Vector3(nx, ny, nz))

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . . . var u2 = buffer.get_float()
. . . . . . . . . . var v2 = buffer.get_float()
. . . . . . . . . . uvs0.append([u2, -v2])

. . . . . . . . elif bufslotidx == 3:#x20
. . . . . . . . . . var tempdiffuse = buffer.get_float()

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . . . var u2 = buffer.get_float()
. . . . . . . . . . var v2 = buffer.get_float()
. . . . . . . . . . uvs0.append([u2, -v2])

. . . . . . var surface_array = []
. . . . . . surface_array.resize(Mesh.ARRAY_MAX)

. . . . . . surface_array[Mesh.ARRAY_VERTEX] = verts
. . . . . . surface_array[Mesh.ARRAY_NORMAL] = normals
. . . . . . surface_array[Mesh.ARRAY_TEX_UV] = uvs
. . . . . . surface_array[Mesh.ARRAY_INDEX] = indices

. . . . . . mesh_data.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, surface_array)
. . . . . . mesh = mesh_data
xprimport1.jpg19 Кб, 797x625
119 1019280
Буду тихонько пилить просмотрщик моделей и анимаций из одной игры.

extends MeshInstance3D

func _ready() -> void:
. . var file = FileAccess.open("res://kas00.emp", FileAccess.READ)
. . if file == null:
. . . . push_error("Failed to open the file!")
. . . . return

. . # Read the entire file into a PackedByteArray
. . var data = file.get_buffer(file.get_length())
. . file.close()
. . var buffer = StreamPeerBuffer.new()
. . buffer.data_array = data
. . buffer.seek(0)

. . var dwChunkId = buffer.get_32()
. . var dwMDLSize = buffer.get_32()
. . var dwMDLMagic = buffer.get_string(4)
. . var dwNumObj = buffer.get_32()
. . var dwNumTxt = buffer.get_32()
. . var _dwUnk0 = buffer.get_32()
. . var dwNumIVBuf = buffer.get_32()

. . print("dwChunkId: %d, dwMDLSize: %x, Obj: %d, Txt: %d, IVBuf: %d, Magic: %s"%[dwChunkId, dwMDLSize, dwNumObj, dwNumTxt, dwNumIVBuf, dwMDLMagic])
. . if dwMDLMagic != 'MDL' or dwChunkId != 1:
. . . . print("is not emp")
. . . . return

. . var mesh_data = ArrayMesh.new() #godot mesh

. . var ObjOffsets = []
. . for i in range(dwNumObj):
. . . . ObjOffsets.append(buffer.get_32())

. . #Get file structure block offsets
. . var offverts = []
. . var offimgs = []
. . var chunkbase = dwMDLSize + 0x10
. . while true:
. . . . buffer.seek(chunkbase - 8)
. . . . var chunkid = buffer.get_32()
. . . . var chunksize = buffer.get_32()
. . . . if chunkid == 2:
. . . . . . offverts.append(chunkbase + 0xc)
. . . . elif chunkid == 3:
. . . . . . var mipmaps = buffer.get_32()
. . . . . . var txMagic = buffer.get_string(4)
. . . . . . #print([mipmaps,txMagic])
. . . . . . offimgs.append([44+chunkbase, txMagic])
. . . . elif chunkid == 4:
. . . . . . break
. . . . chunkbase += chunksize+8

. . var vertscounter = 0

. . for objidx in range(dwNumObj):
. . . . var objbase = ObjOffsets[objidx] - 0xc
. . . . buffer.seek(objbase)
. . . . var dwOBJMagic = buffer.get_string(4)
. . . . var dwWeight = buffer.get_32()
. . . . print(dwOBJMagic)
. . . . for bufslotidx in range(4):
. . . . . . buffer.seek(objbase+0x20 + bufslotidx*0x10)
. . . . . . var dwNumVertices = buffer.get_32()
. . . . . . var dwVBufOffset = buffer.get_32()
. . . . . . var dwNumIndices = buffer.get_32()
. . . . . . var dwIBufOffset = buffer.get_32()
. . . . . . if dwNumVertices == 0:
. . . . . . . . continue
. . . . . . print([dwNumVertices, dwVBufOffset, dwNumIndices, dwIBufOffset])
. . . . . . dwVBufOffset = offverts[vertscounter]
. . . . . . vertscounter += 1
. . . . . . dwIBufOffset -= 0xc
. . . . . . buffer.seek(dwIBufOffset-4)
. . . . . . print(buffer.get_string(4))

. . . . . . var verts = PackedVector3Array()
. . . . . . var normals = PackedVector3Array()
. . . . . . var faces = []
. . . . . . var matindices = []
. . . . . . var indices = PackedInt32Array()
. . . . . . var diffuses = []
. . . . . . var uv = []
. . . . . . var weights = []
. . . . . . var uvs = PackedVector2Array()
. . . . . . var uvs0 = []
. . . . . . var iranges = []
. . . . . . var mat2face = []
. . . . . . var materials = []

. . . . . . buffer.seek(dwIBufOffset)
. . . . . . for i in range(dwNumIndices):
. . . . . . . . indices.append(buffer.get_16())

. . . . . . var matbase = objbase +0xa0
. . . . . . buffer.seek(matbase)
. . . . . . var matid = buffer.get_32()
. . . . . . var matsize = buffer.get_32()
. . . . . . while matid != 0:
. . . . . . . . buffer.seek(matbase + matsize - 0x10)
. . . . . . . . var vsize = buffer.get_16()
. . . . . . . . var usedvbufslot = buffer.get_16()
. . . . . . . . var facestart = buffer.get_32()
. . . . . . . . var facecount = buffer.get_32()
. . . . . . . . var indexsize = buffer.get_32()
. . . . . . . . matindices.append(indices.slice(facestart, facestart+facecount+3))
. . . . . . . . if usedvbufslot == bufslotidx:
. . . . . . . . . . buffer.seek(matbase +0x10)
. . . . . . . . . . var bound_sphere = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var diffuse = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var ambient = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var pecular = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var emisive = [buffer.get_float(), buffer.get_float(), buffer.get_float(), buffer.get_float()]
. . . . . . . . . . var power = buffer.get_float()
. . . . . . . . . . var texturenum = buffer.get_32()
. . . . . . . . matbase += matsize
. . . . . . . . buffer.seek(matbase)
. . . . . . . . matid = buffer.get_32()
. . . . . . . . matsize = buffer.get_32()

. . . . . . #print(matindices)
. . . . . . buffer.seek(dwVBufOffset)
. . . . . . for vtx in range(dwNumVertices):
. . . . . . . . var vx = buffer.get_float()
. . . . . . . . var vy = buffer.get_float()
. . . . . . . . var vz = buffer.get_float()
. . . . . . . . verts.append(Vector3(vx, vy, vz))

. . . . . . . . if dwWeight:
. . . . . . . . . . var weightlayers = []
. . . . . . . . . . for i in range(dwWeight):
. . . . . . . . . . . . weightlayers.append(buffer.get_float())
. . . . . . . . . . weights.append(weightlayers)

. . . . . . . . if bufslotidx == 0:#x20
. . . . . . . . . . var nx = buffer.get_float()
. . . . . . . . . . var ny = buffer.get_float()
. . . . . . . . . . var nz = buffer.get_float()
. . . . . . . . . . normals.append(Vector3(nx, ny, nz))

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . elif bufslotidx == 1:#x18
. . . . . . . . . . var tempdiffuse = buffer.get_float()

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . elif bufslotidx == 2:#x28
. . . . . . . . . . var nx = buffer.get_float()
. . . . . . . . . . var ny = buffer.get_float()
. . . . . . . . . . var nz = buffer.get_float()
. . . . . . . . . . normals.append(Vector3(nx, ny, nz))

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . . . var u2 = buffer.get_float()
. . . . . . . . . . var v2 = buffer.get_float()
. . . . . . . . . . uvs0.append([u2, -v2])

. . . . . . . . elif bufslotidx == 3:#x20
. . . . . . . . . . var tempdiffuse = buffer.get_float()

. . . . . . . . . . var u = buffer.get_float()
. . . . . . . . . . var v = buffer.get_float()
. . . . . . . . . . uvs.append(Vector2(u, -v))

. . . . . . . . . . var u2 = buffer.get_float()
. . . . . . . . . . var v2 = buffer.get_float()
. . . . . . . . . . uvs0.append([u2, -v2])

. . . . . . var surface_array = []
. . . . . . surface_array.resize(Mesh.ARRAY_MAX)

. . . . . . surface_array[Mesh.ARRAY_VERTEX] = verts
. . . . . . surface_array[Mesh.ARRAY_NORMAL] = normals
. . . . . . surface_array[Mesh.ARRAY_TEX_UV] = uvs
. . . . . . surface_array[Mesh.ARRAY_INDEX] = indices

. . . . . . mesh_data.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, surface_array)
. . . . . . mesh = mesh_data
120 1019311
А музыку свою для игр создает кто-нибудь ИТТ?
121 1019312
>>19311
Нет, конечно.
В особенности в последние полтора года проблема вообще решена нейронками.
122 1019313
>>19271
Как же ты заебал своими кнопками, даун блять. Почему навязчивые форсы не запрещены в /гд/? Репортить бесполезно. Идиотина, тупорылая, казёл, выпей таблетки свои, шизоид ебучий.
1688403787322.webm2,5 Мб, webm,
400x600, 0:30
123 1019314
>>19311
Конечно, раньше накидывал в LMMS, а для последней игры наиграл вживую на дудочке 3 дорожки и процедурно их миксую.
124 1019317
>>19314
Не хватает какой-нибудь заводной музыки.
125 1019318
>>19317
Просто барабанчики добавить
1652585393668.mp42,2 Мб, mp4,
1920x1080, 3:02
126 1019319
>>19311
Вот еще вспомнил одна была
127 1019323
>>19311
Кто-то точно создаёт. Мне например даже интересней музыку сочинять, чем программировать и уж тем более рисовать.
128 1019324
>>19313
Чего злобный такой, кнопки сломались?
129 1019325
>>19323
Вот и делал бы музыку для братьев-годанчиков.
130 1019326
>>19317
… You spin me right round, baby, right round …
131 1019327
>>19323
Сделай мне ненавязчивую фентези в бекграунд? Укажу потом anonymous в авторах.
132 1019329
>>19325
Замечательно! Я вам музыку, а вы мне что? Негодяи! Мне ещё свою игру делать!

>>19327
Ну накинь референсов каких-нибудь и напишу. От одного трека не растаю, думаю. Ненавязчивое фентези понятие растяжимое, а вот так вот без каких-либо более-менее подробных пояснений или примеров я нахуеверчу совсем что-то своё. Уже сталкивался с разным виденьем подходящей музыки.
133 1019332
>>19313
Ты че? Мультиплеерные кнопки это лучшее что произошло с гд за последний год. Максимально интересная сложная техническая задача. Тебя просто злит то, что ты не знаешь как ее решить.
134 1019334
>>19329

> накинь референсов каких-нибудь


Как же я тебе референсов накину? У меня лапки.
135 1019335
>>19329
Не обращай внимания, тебя троллят.
136 1019336
>>19332

> ты не знаешь как ее решить


Знаю. Через синглтон. Мультиплеерный пир - это синглтон, который создается при активации мультиплеерной сессии и регулирует её до самого её завершения. Причём тут кнопки вообще? Вот это меня и бесит. Кнопки просто выполняют команды из модели бизнес-логики (частью которой может быть и мультиплеерная сессия).
137 1019337
>>19334
Как же мне тогда понять, что тебе нужно? Ты в другие игры не играл, их музыку не слышал? Сам-то что имеешь ввиду под ненавязчивым фентези?

>>19335
Про первое я понял, второе пока в процессе понимания.
1745858922507.png598 Кб, 1280x720
138 1019338
>>19337

> Как же мне тогда понять, что тебе нужно?


Просто делай музыку, которая тебе нравится и выкладывай на опенгеймарт. Она не пропадёт, успехом и знаменитостью к тебе вернётся.
https://opengameart.org/content/dream-raid-cinematic-action-soundtrack
139 1019339
>>19336
Ну ты видимо не прочитал о чем речь и додумал сам. Речь шла про хотсит на винде с несколькими мышками.
140 1019341
>>19338
Покажи скрины игры, чтобы проникнуться атмосферой.
хотсит с мышками54 Кб, 1024x768
141 1019342
>>19341
Вот пожалуйста.
142 1019344
Вот ещё референс заебись
https://opengameart.org/content/we-will-meet-again
Можешь так же?
Только с раскладкой на этапы: перед боем, во время боя, перед концом боя, геймовер, победа.
143 1019346
>>19338
Та музыка, которая мне нравится и подходит, в мою игру попадёт. А просто так раздавать всё подряд моя хомячья натура не позволяет.
144 1019348
>>19346
Зачем же было начинать этот разговор?
145 1019350
>>19346
Ну и если ты ещё не понял, и без тебя есть кому раздать. Не переживай. Обойдёмся.
146 1019351
>>19348
Ну одно дело один трек, а другое дело очень много треков
147 1019352
>>19350

> Ну и если ты ещё не понял, и без тебя есть кому раздать. Не переживай. Обойдёмся.


Не переживаю, но и вы не расстраивайтесь. Обидеть никого не хотел.
148 1019353
Зделойте трек типа такого плес. Амбиенц.
https://opengameart.org/content/messengers-from-above
149 1019355
>>19338

> https://opengameart.org/content/dream-raid-cinematic-action-soundtrack


>>19344

> https://opengameart.org/content/we-will-meet-again


>>19353

> https://opengameart.org/content/messengers-from-above



Ну ёб твою мать, граждане товарищи! Одним постом пожалуйста такие вещи делайте. Это Годот-тред, а не /mus/-реквест. А троллингом в срачельнике занимайтесь. Как дети малые, ей богу.
Без имени.png1 Кб, 50x43
150 1019360
>>19338
>>19344
Ну нихуя себе у тебя ненавязчивое фентези. Это в каких играх именно под такое обычно ходят по городу и пиздят с неписями? Толстота толстот.

>>19353
Ну это ещё звучит как нечто ненапряжное первую половину, дальше начинается РОООООООК, но всё равно не слишком уж "фентези", максимум для пещеры какой-нибудь.

Затролюнькали вы короче бедного меня. Я хотел искренне помочь, а вы взяли и начали путать своими эпическими оркестрами.
151 1019362
>>19360
Мне нравится ненавязчивость уровня Зельды ботвы. Там 90% времени музыки никакой нет вовсе, и только временами происходит редкий проигрыш тремя аккордами. И дальше под звуки среды аутируешь.
15255526753340.png696 Кб, 777x835
152 1019372
Как правильно загружать уровень, чтобы ничего не сломалось?

Сейчас так у меня:
1) Из глобального скрипта запускаю get_tree().change_scene_to_file()
2) Потом у всех объектов, у которых может быть разное состояние на уровне, в _ready() использую await get_tree().process_frame
3) После также у этих объектов запускаю кастомный скрипт загрузки состояния

Простой пример для позиции игрока:
func _ready():
await get_tree().process_frame
Load_player_data()

func Load_player_data():
var saved_player_position = G_Data_collector.game_data["player"]["position"]
global_position = Vector3(saved_player_position[0], saved_player_position[1], saved_player_position[2])

Все делаю правильно или через 10/50/100/etc объектов/их параметров на уровне у меня все наебнется?
153 1019377
>>19372
Как тебе удобнее - так и правильно.
Затем, когда игра будет готова на уровне предрелизного билда, можно пройтись по уже готовым системам и пооптимизировать.

> чтобы ничего не сломалось?


Главное сам не запутайся в своей лапше.
Для этого всё документируй. Например(!) Прямо вот с блоксхем начинай и прямо в пейнте или где удобно рисуешь блоксхемы происходящего у тебя в коде. Затем сверяясь с блоксхемами пишешь код. Если код не работает, идёшь по коду, сверяясь с блоксхемой, ища где код делает не так, как ты спроектировал. Ну и блоксхемы не абсолют, их тоже придётся править по мере появления новых обстоятельств и по мере увеличения твоего скилла в принципе.
154 1019379
>>19372

> Все делаю правильно или через 10/50/100/etc объектов/их параметров на уровне у меня все наебнется?


Пару тредов назад обсуждали это. И не знаю, кто как, но лично я пришёл к выводу, что если у тебя ожидается сохранение больших обьёмов данных, но недостаточно больших, чтобы заморачиваться с СУБД, но достаточно больших, чтобы встроенные утилиты загрузки файлов непричтно зависали читая одним буфером весь файл сразу,

то

сохранять надо примерно так же как браузеры сохраняют куки. Знаешь как? текстовый файл со строками ЖСОН-ами. Одна строка - один жсон-обьект. Текстовый файл можно читать построчно, и это можно разбить на фреймы, и можно снять нагрузку с основного потока. Мелкие жсоны будут обрабатываться молниеносно, в отличие от попытки распарсить один глобальный гиперсловарь с миллионами вложенных параметров.

Поэтому к вот этому вот

> .game_data["player"]["position"]


подходи осторожно. Допустим в памяти у тебя лежит одна структура, но в файл её следует разнести так, чтобы можно было считывать частями. Посмотри как организованы tscn файлы, подумой над ними.
155 1019382
>>19360
>>19329
Не знаю тут ли ты еще. Про музыку изначально спрашивал я, потом на работу отвлекся. Вот пара примеров:
https://www.youtube.com/watch?v=gCY4kyAf6AA
https://www.youtube.com/watch?v=wMF5mdC001M
156 1019387
>>19372
Практически никто не пользуется change scene. Всегда можно просто сделать свою сцену, в которой будет игрок, свет и прочее, подсцена с меню, подсцена с уровнем, стриминг соседних уровней и тд
https://www.reddit.com/r/godot/comments/1b21h5y/the_usefulness_of_changing_scenes/
157 1019393
Пытаюсь сделать просмотрщик для моделей из одной игры. Читаю встроенную dds текстуру из файла игры в PackedByteArray, и нейронка говорит что можно загружать с помощью
image.load_dds_from_buffer(dds_data). Но среди доступных форматов для загрузки из буфера, dds отсутствует. Какие еще есть варианты?
158 1019394
>>19393
В 4.4 вроде можно читать из файла (не импортируя). Ну или вытащи с++ функцию из движка, или пиши во временный файл.
159 1019395
>>19394
Я скачал Godot 4.5, там уже добавили эту фичу. Так что пока все тип-топ.
160 1019401
>>19387
Все это может быть глобальным синглтоном. Или ты вдруг начнешь переделывать игру в ммо, где игроков сотни тысяч?
161 1019402
>>19382

> тут ли ты еще


Я тут, но уже обиделся и не буду ничего писать вам бесплатно.
162 1019403
>>19401
Я не понимаю о чем ты спрашиваеш. Сходи по ссылке на реддит, там спроси.
163 1019404
>>19402
Ладно.
164 1019427
>>19382
Этот челик => >>19402 троллирует. Я просто пока занят кое чем.

Хотя должен предупредить, что совсем в таком стиле писать не умею. Мне всё же ближе более мелодичная музыка. Поэтому настолько эмбиентовый звук у меня вряд ли получится.
165 1019430
>>19427
Что получится, то получится. У меня много пространства для фоновой музыки. Главное чтобы по ушам не ездило. Если захочешь какое-либо авторство - вместе с треком напиши как в титрах указать, к концу года себя погуглишь.
166 1019452
>>19311
Ну я создаю. Тащемта музыка это моя основная работа, а геймдев - хобби.

Но по реквестам писать в любом случае ничего не буду. Музыка должна быть прям под игру, надо погружаться в настроение, идеи, ритм, темп; это заёбисто. А дженерик дрисню, которая подойдёт куда угодно, даже начинать не хочется.
167 1019535
>>19377

>Для этого всё документируй


Да, так и делаю в draw.io

>>19377
>>19379
>>19387
Понял, спасибо
168 1019538
>>19535

> draw.io


Я для похожего использую обсидиан с канвасом и плагином на рисование. Профит в том, что там еще кодовые задачки вести можно в виде, например, тикет-трекера или канбана. Возможность перекинуть задачу из колонки TODO в колонку DONE - добавляет мотивации.
15858620034680.jpg51 Кб, 750x1079
169 1019621
Объясните мне, тупому, на примере инвентаря, нахуя нужны CUSTOM RESOURCES ?!

Ведь все равно, когда игрок взаимодействует с инвентарем, использует предмет (например, аптечку) и т.д. обращение за инфой о предмете будет идти в один скрипт-базу данных обо всех предметах.

При этом можно сделать одну универсальную сцену с кучей @export var и тупа клонированием запихивать ее сколько надо раз в сколько надо сцен и настраивать оттуда - ТОЧНО ТАКЖЕ КАК РЕСУРСЫ.

На выходе получим почти такую же логику, но без кучи лишних телодвижений. В чем я не прав?
Хочу разобраться на берегу, чтобы потом не переписывать код
170 1019632
>>19621

> можно сделать одну универсальную сцену


Ноду.
Ресурсы не ноды и не занимают места в дереве. В этом их польза. Если тебе нужна нода в дереве, со всеми фичами ноды - то ты делаешь сцену, если тебе просто нужна куча экспортов - ты делаешь ресурс. Всё. Вся разница.
171 1019633
>>19632
Экономия на спичках.
172 1019634
>>19621

>пикрил


Литерали мое ебало после прочитанного. О чем речь? Что за монстр эта универсальная сцена? Че за дб такая странная? Я ваще нихуяне понял че ты хочешь, но прикину хуй к носу и высрусь.

Ну смотри, вот тебе надо заспавнить аптечку, че делать будешь? Пойдешь делать отдельную сцену под аптечку? А если еще и патроны какие нибудь? Опять же новая сцена, ну либо какая то ебанутая одна сцена которая будет содержать абсолютно все предметы в игре с прописаным всем говном в коде. В случае с ресурсом тебе понадобится лишь 1 сцена и скрипт у которого будет ссылка на ресурс. Нужна аптечка? Инстантишь итем, вставляешь ресур из дб под нужным идшником, все, итем готов. При подборе итема в инвентарь, ссылка на ресурс из итема просто переносится в слот, в случае если такой итем есть и он стакается то просто увеличивается в ресурсе колличество тех же аптечек, все блять. Я хуй знает че ты там предлагаешь, монстра какогото, хуй знает, франкенштейн штоле.
Не, конечно можно сделать мегамонстра, но как ты с ним работать будешь янеебу. Ну и как анон выше написал, ресур не нода, а как мы знаем, даже пустые ноды влияют на производительность. Вот и думай. Ваще советую глянуть то как делают инвентарь на юнете, нет, не для того что бы научиться его делать, а шоб наглядно понять че такое ооп, тебе это сейчас важнее.
173 1019636
>>19633
Это не экономия, это вопрос удобства. И архитектуры. Просто ответь на вопрос, почему меши в мешинстанс это ресурсы?
174 1019638
>>19636
Правильный ответ под спойлером, чтобы ты мне мозги не ебал, а вернулся к игре: потому что меш-ресурс это и есть та самая "куча экспортов", данные о вершинах на диске, которые мешинстанс загружает в себя и подготавливает для отрисовки.
175 1019666
>>19665 (Del)
Это сразу в репорт.
176 1019670
>>19665 (Del)
У меня 2 пазловых игры на годоте опубликовано, но тебе-то похуй, ты потралить залетел.
177 1019672
>>19670
Покажи туториалы, которые использовал плиз.
178 1019674
>>19672
Прошел базовый 2д из официальной документации, дальше сам пилил.
179 1019675
Привет ананасы, помогите деду.
Вот я хочу настроить уровень, заполнить его нодами с коллизиями, отправляющий сигнал в шину (при вхождении в коллизию и по нажатию кнопки).
Так я настрою квесты (получение\отдачу), инвентарь (получение предметов), переходы на другие локации.
После чего, так как я не особо понимаю наследование сцен (скрипты изначальные меняются, я хз почему), я при построении новой локации просто скопирую в проводнике сцену локации и буду заново ее настраивать ручками.
Норм\не норм? Сильно это изменит вес игры, если сцены, как я понимаю, это просто куски кода?
180 1019676
>>19672
Объясни какую хочешь механику, объясню, как построить код
181 1019677
>>19675
Используй лучше композицию. Наработай небольшие куски уровня, которые общаются между собой сигналами либо вставляются друг в друга, и лепи из них уровни как из лего.

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

Ну, я так делал, мне подошло заебись.
1596213910562-untitled-1.png908 Кб, 1440x810
182 1019678
>>19676

>Объясни какую хочешь механику, объясню, как построить код


Хочу сделоть простенький паззл, где есть поле с врагами и герою нужно выбирать через них путь, а после выбора пути убитые враги пропадают и враги перестраиваются. Всё это конечно со своими правилами под своих врагов етц. Корованы не забудь
importer.jpg46 Кб, 1034x600
183 1019681
импортер
годот умеет тристрипы только против часовой стрелки кушать, пришлось продублировать первый индекс чтобы перекрутить тристрип

завтра разберусь с прозрачностью и материалами в целом.

скрипт уже разросся дохуя. а еще надо блендшейпы и скелет прикручивать...
1746081411147.jpg47 Кб, 600x824
184 1019686
>>19665 (Del)

> Заинтересовалась годотом


Обожечки! Тяночька! Тяночька заинтересовалась годотом! Амнянмня! Писечька! Тяночька! Помогать! Обеснять! А вдрух?
image.png2,7 Мб, 1550x981
185 1019690
Так лень, но надо хотя бы пару задачек закрыть ...
186 1019696
>>19677

> - сделай сцену-шаблон с базовой структурой из своих кусков-композиций,


Да, я это и имел в виду, спасибо.
187 1019698
Анон, бесконечно вылизывающий яйца код, я знаю что ты еще тут. Это тебе: https://www.youtube.com/watch?v=niWpfRyvs2U
188 1019699
>>19686

>Помогать! Обеснять!


Анон, который обещал помочь, так и не помог и пропал >>19678 в итоге я просто впустую расписала вам свою идею.
189 1019704
>>19699
Это из него так желчь вытекает. Он считает что любой кто обращает внимание на женщин не достоен уважения. И он пытается это пресечь, чтобы род игроделов загинул вместе с этим тредом.

А насчет механики. Тебе надо воссоздать для начала что-нибудь классическое, вроде пасьянса или три-в-ряд, чтобы получить общее представление о годоте и о том как делаются игры. Найди туториалы или поговори с нейронкой чтобы она тебя направляла. Спроси как реализовать что-нибудь очень простое. Пусть накидает предложения.
190 1019705
>>19704
Это не женщина.
191 1019706
>>19634

>Опять же новая сцена, ну либо какая то ебанутая одна сцена которая будет содержать абсолютно все предметы в игре с прописаным всем говном в коде.



Зачем?
Вот как "подключить" ресурс к ноде? Пишем в нодовом скрипте:

>@export var item_data : Item_resource



Но не будет же этот ресурс содержать в себе ВСЕ данные об аптечке, верно? Он будет ссылаться на какой-то скрипт, где прописаны все предметы и их характеристики. Иначе как нормального из разных мест в игре получать данные об аптечке? Только из одной бд (в виде скрипта в переменными/реальной бд/json-файл/etc).

Так вот. Почему бы мне вместо ДОПОЛНИТЕЛЬНОЙ ПРОКЛАДКИ в виде ресурса:
>@export var item_data : Item_resource
Не написать сразу

>@export var item_data : String


Где item_data - это название переменной, типа "small_medkit", за характеристиками которой мы сразу обращаемся к бд?

Чет я вообще не вкуриваю прикол ресурсов. Или весь их смысл только в том, чтобы раскидать все по отдельным tres-файлам? Типа для удобства?
image.png367 Кб, 546x604
192 1019721
>>19681
лучшую девочку импортируй
193 1019724
>>19721

>лучшую девочку импортируй


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

Эни-вей... Импортер:
Если бы не нейронка то хуй бы я разобрался. Разобрался с моргающей прозрачностью прописав вручную порядок рендеринга для прозрачных поверхностей. Жаль glosiness из материалов годоту не нужна, пилить свой шейдер чтобы воссоздать магию directx9 чет не охота. Теперь надо найти где в игровой модели хранится инфа указывающая если поверхность двухсторонняя.

Заодно узнал что это за большие обьекты хранятся с моделью. Оказывается что это заготовленные Shadow Volumes.

Пикрилы. Запустил в виртуальной реальности. Полет нормальный. Но чувствую запал на исходе. Надо аыбрать что-то одно, для последнего рывка.
194 1019736
>>19724
glossiness это инверсия roughness, вроде. Можешь попробовать просто 1.0-gloss, либо там 1.0-sqrt(gloss).
Несколько лет находил формулы, но cейчас что-то с набегу не получилось. Вроде это называлось specular/glossiness workflow, а сейчас в PBR распространен metallic/roughness.
195 1019746
>>19724

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


Анон, а в чем смысл твоей игры? Я просто раньше интересовался темой, собирал что-то типа 3д визуальной новеллы на Playcanvas. Плейканвас потому что это веб-движок и можно игрокам с Квестом 2/3 показывать непотребства прямо в шлеме без установки левых апк или стриминга с ПК.
А если на Годоте, то какой смысл? Не думаешь же ты что тебя пропустят в магазин с чужими полуголыми бабами.
196 1019747
>>19746
Вут? В годоте есть веб экспорт 3д.
197 1019748
>>19746
Выкладываешь на итч с тегом 18+, набигают толпы дрочеров, изи вин.
198 1019751
>>19747
А он хоть работает на мобильных браузерах для Квест 3?
Так-то и у Юнити тоже есть экспорт в веб, но на Квесте он такой производительный что лучше бы его вообще не было.

А Playcanvas и Aframe были очень шустрыми движками, почти не хуже нативных приложений в браузере можно было получить.
199 1019754
>>19751
Возьми и проверь, никто тут твой Квест 3 в глаза не видел. Вот первая попавшаяся годот+3д+веб - https://cyfo.itch.io/duck-duck-clicker-3d
200 1019757
>>19736
Glossines color rgba, а не Glosines glow. Glow я пристроил. А Color виден на первом из двух изображений, где я его подсунул вместо альбедо.

>>19746
Так это же не игра, а недоделаный инструмент для тех кто создает или использует моды, то есть для модсцены. То что модели можно будет пинать в виаре это просто стресс тест. В игре их еще сильнее пинают.
201 1019758
>>19746
И это не экспорт на квест. А запуск годот едиторе который сам работает на квесте. Производительность у веб вр низая по сравнению с нативным запуском.

Причем тебе не нужно ковыряться с установкой апк. Скачиваешь годот в квест3 из прямо встроенного магазина мета. И копируешь проект годот в папку Документы. Все как задумано.
202 1019767
А вы знали что можно мышкой в инспекторе делать копипаст пропертям? Например коллижн маскам. Теперь знаете.
203 1019778
Делайте.
image.jpg132 Кб, 1280x720
204 1019797
А что если в таком стиле игру сделать? Никаких ебаных текстур и ебатни с UV
205 1019799
>>19797
делай!
206 1019800
>>19797
Или вот. А то я помню мне кто-то ИТТ мозги выносил что игры без текстур выглядят как сблев.
207 1019801
>>19800

> игры без текстур выглядят как сблев.


А сам то не видишь?
208 1019804
>>19801
Мне заебись выглядит, стильно четко. Пойди промой глаза, любитель реализма.
209 1019807
>>19804

>реализма


Вообще мимо. Я любитель пиксель арт текстур.
210 1019809
>>19797
Покажи годную игру с такими текстурами (не воксельную и не детскую).
211 1019811
>>19809

>покажи годную игру


>но только из тех которые нравятся мне!11 чтоб сурьезно


Нутыпонел, эджлорд мамкин.
212 1019812
>>19811
Что и требовалось доказать. Ты с такой графикой либо делаешь майнкрафт, либо детский высер.
213 1019818
>>19812
Не забудь маме рассказать какой ты взрослый.
214 1019823
>>19706
Кароч это просто бд раскиданная по разным файлам .tres. Понял
215 1019827
>>19823
А файловая система твоего пека - это просто БД раскиданная по секторам твоего диска. Понял?
216 1019831
>>19706
Не хочешь использовать ресурсы - не используй, тебя кто то заставляет?
Ресурсы легковеснее нод (в них нет базового класса ноды, всех этих _ready и прочего).
И вообще емнип они изначально для иммутабельных клонов данных (когда один меш или текстура переиспользуется несколькими моделями).
217 1019860
>>19831

>Не хочешь использовать ресурсы - не используй, тебя кто то заставляет?


Так я и не говорю, что заставляет кто-то. Просто пытался вкурить, как и нужно ли вообще мне их использовать
218 1019864
>>19809
дидовская классика
219 1019872
>>19864
Недостаточно серьезно. Гримдарк давай.
sage meow!0YOECiRh5k 220 1019873
qwe
image.png1 Мб, 734x891
221 1019941
Делайте игры
image.png1,7 Мб, 1920x1080
222 1019992
>>19941
Делаем-делаем
223 1019994
>>19992
Хуя себе ебать, живая игра. Iron Lung вдохновляешься?
224 1019996
>>19994

>Iron Lung вдохновляешься?


Не, думал чего можно подсмотреть у неё, но ничего интересного не нашёл.
225 1020023
>>19992
Расскажешь, как такой графоний, как у тебя делать?
Вопрос скорее про освещение и всякие фишки интересные сами текстурки буду заказывать на стороне.
Да, в инете есть сотни профильных статей, но интересны какие-то неочевидные вещи.
226 1020025
>>20023
Вижу у него как минимум шейдер на снижение количества цветов. В остальном, вроде, стандарт.
227 1020033
>>20023
В основном всю картинку делает шейдер около постеризации. Из освещения у меня только 1 омнилайт внутри, 1 снаружи и среда настроенная под подводную тему. Плюс водный шейдер на окно.
228 1020040
перекатился из юнити в годот, вроде все отлично, все, что нужно мне есть, но существует ли какой-то аналог адекватный для реализации интерфейса?

просто то, что в годоте накрутили - это какой-то неудобный для меня функционал с этими якорями, привязками, хотя я и не сильно в него вникал (в этом плане Unity UI Toolkit был имбой, потому что я так сказать привыкший к верстке а-ля XAML (WPF/Avalonia) или HTML+CSS (Blazor + Razor))

я видел бридж для авалонии, не обновляющийся бридж для впф (тут сразу обрез по платформам), еще костыль-подвязку к WASM-Blazor приложению, но не знаю как оно будет работать для всей игры, учитывая что она буквально вся будет интерфейсная
229 1020042
>>20040

>не вникал


В этом твоя проблема. Как бывшая вебмакака, повидавшая кучу уй-фреймворков, скажу что в годоте довольно удобный уй, позволяющий творить с собой что угодно. Отчасти поэтому на нем часто уй-приложения клепают. Так что давай, не городи абстракции пока не разобрался.
230 1020048
>>20042

>Отчасти поэтому на нем часто уй-приложения клепают


Че несёшь
231 1020054
>>20048
https://orama-interactive.itch.io/pixelorama
https://yurisizov.itch.io/boscaceoil-blue
https://www.materialmaker.org
https://dungeondraft.net
https://store.steampowered.com/app/498310/RPG_in_a_Box/

Те, которые сходу вспомнились. Все на годоте, все формошлепство на стандартном годотовском UI, все приложения-а-не-игры. В годоте есть даже low-processor mode специально для этого.

И обсуждение тебе почитать: https://www.reddit.com/r/godot/comments/1hjaw6c/why_people_use_godot_to_make_non_game_softwares/
232 1020056
>>20048
Ну чё блять, обосрался? Иди стирай.
233 1020057
>>20056
На самом деле я тут как по нотам сыграл. В прошлый раз я спрашивал можно ли сделать годные приложения на годоте и мне никто ничего дельного не ответил. Вот я и решил пойти от обратного, анон тут же побежал примеры гуглить в ответ на пост с двумя словами. Учись.
234 1020058
>>20057
Я хз кто тут кого троллит, но я бы тебе и так ответил, потому что сам имею уй-приложение для изучения языков, выложенное в гугл-плей. В разы проще чем то что выше накидал, но все же.
235 1020060
>>20057
Красава, чо.
236 1020063
>>20058
А есть какие-то туториалы именно для создания приложений? Я глянул на ютубе и в основном объясняется воркфлоу для внутриигровых менюшек.
237 1020064
>>20063
https://docs.godotengine.org/en/stable/tutorials/ui/index.html

Игры от приложений отличаются только галкой low processor mode.
238 1020065
>>20064
А если у меня окно в центре с 3D сценой, которую я хочу крутить мышкой, а вокруг сцены обычный UI. Будет ли моя 3D модель правильно рендеритсься с этой настройкой?
Screenshot20250504014424.jpg255 Кб, 1913x1080
239 1020068
Так блядь. Относительно свежий туториал по созданию игры на годоте с почти лямом просмотров. Он тут пишет функцию проигрывания анимации внутри метода расчёта физики, который вызывается каждый кадр ака каждые ~15 мс при 60 фпс. Нахуя это делается и почему анимация проигрывается правильно, если по логике она должна стартовать каждые 15 мс заново мммммммммм??????
image.png10 Кб, 249x53
240 1020069
>>20068
етот метод че делает? наверное в нем же и проверка правильно отрисованных кадров
Screenshot20250504030301.jpg235 Кб, 1899x1080
241 1020070
>>20069
Нихуя там нет, кроме исполнения анимации.
242 1020076
>>20042
спасибо, скорее всего ты прав, дам 2 шанс, но тогда у меня еще вопрос есть, может тут кто за ECS шарит?

просто мне захотелось потыкать его. с базой (компоненты, сущности, простые системы) все понятно, я их реализовал, а вот как подвязать более сложные системы к UI, у меня есть пару идей

1. использовать события (EventHandler + свои EventArgs) или годотовские сигналы (в них я тоже еще не сильно углубился, потому что до этого проект был только в контексте юнити), но мне кажется, что получится слишком громоздко

2. использовать нечто схожее на шину данных (типа Кафки, Рэббита, тот же MessagePipe), мне эта идея кажется перспективнее, да и MessagePipe довольно шустрый

3. была еще идея использовать «компоненты, как события», но удалять/добавлять компоненты затратная операция, осложняется все еще тем, что просто так добавить/удалить нельзя это делается через буфер команд, который доступен только внутри системы и срабатывает раз за Update в его конце
243 1020077
>>20076
Изучи реактивный аддон. Без реактивного кодинга ЕЦС будет сложно костылить.
https://godotengine.org/asset-library/asset/2369
244 1020086
>>20077
да, я знаю про Reactive, выше писал про MessagePipe, ну, буду тогда копать в его сторону или R3
245 1020087
>>20076
Если тебе нужна производительность, то надо смотреть в сторону C++. Там куча либ и на ECS и на всякие шины.
246 1020090
>>20068

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


Читай документацию
Анимейшн плеер не сбрасывает анимацию, он только нажимает кнопочку плей на условном видеомагнитофоне, если она уже нажата, то все продолжится - ты же ее не перематывал в начало.
(Да, это отличается от аудиострима - там функция play получает параметр с какого момента играть - и по умолчанию это 0 секунда, поэтому там вызов play() эквивалентен play(0 sec) )

>который вызывается каждый кадр ака каждые ~15 мс при 60 фпс


Это может быть и неважно, если таких объектов всего десятки или сотни в игре. Но конечно лучше так не делать.
А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName"). Ее можно один раз в _ready закешировать в переменную и уже оттуда обращаться.
Кол-во просмотров туториала ничего не говорит о его качестве, к тому же в туториалах многие вещи упрощают, чтобы сконцентрироваться на теме которую объясняют - если каждый туториал вместо объяснения простой темы будет сначала целиком цитировать Clean code, далеко не уедешь.
247 1020092
>>20040
Там все крайне просто, ознакамливайся

>>876770


>>876771


https://docs.godotengine.org/en/stable/tutorials/ui/size_and_anchors.html
248 1020093
>>20090

>А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName")


О, я как раз недавно занимался рефакторингом этой хуйни у себя. На бенчмарке в десятки тысяч прогонов get_node("nodename").some_field=1 VS nodename.some_field=1 - второе оказалось быстрее раза в 3. Так что я напрягся и переписал свою длинную плотную по вызовам портянку _process на кешированные ноды, и проверил разницу уже там. Таких _процессов у меня - на каждого нпс по 1, а нпс под 30 на карте. Так вот, реальный прирост в игре - ноль фпс. Так что теперь я считаю это экономией на спичках и пустой тратой времени.

Заморачиваться стоит разве что ради частых переименований/перемещений нод, чтобы потом апдейтнуть код в одном месте, а не в десятках.
249 1020094
>>20093
Бенчмарки это хорошо, лайк.

>Так вот, реальный прирост в игре - ноль фпс.


А ты с отключенным vsync посмотри. Может быть у тебя в обоих случаях был лимит 60фпс. А если разница будет 3000фпс и 2600фпс, разница уже есть, и она может у кого то на слабом железе превратиться в 30 vs 26 fps, условно.
250 1020095
>>20093
А, у тебя их всего 30, я так и написал в принципе - десятки или сотни легко потянет.
251 1020096
>>20092
Уже утонуло, почему и не перепостить
Пик 1 - корневой контрол Full Rect занимает весь экран
Пик 2 - контрол с custom anchor, как раз и означает в процентах - 0 это край, 1 это другой край, 0.2 это 20 процентов и тд
Пик 3 - контрол с custom anchor и anchor offsets, то есть когда относительно процентов еще и margin в пикселях
Пик 4 - это уже с контейнерами, контейнер сам расположен на 10 процентах, и растягивает контрол в нем под это.
252 1020097
>>20096
Кроме этого есть всякие контейнеры в которые уже по какой то логике набиваются дети, например grid container, horizontal box, vertical box, их можно вкладывать друг в друга, сейчас вроде бы есть и flow
Контейнер управляет лейаутом детей, но дети могут указывать как они хотят размещаться в контейнере, полями container sizing; fill или shrink, а также галочкой expand. В таком случае параметр Stretch будет уже задавать пропорции между такими элементами. На пик 2 - пропорции 3-2-1.

margin container он используется чисто для отступа в дереве контролов, то есть даже если у ваших контролов нет возможности явно задать отступ, можно всегда обрамить это в margin.

Еще какие то настройки бывают не в настройках контейнеров, а в настройках темы, например отступ между элементами контейнера. (пик3) Вот их похоже в процентах не задать. Но наверное можно из скрипта как то получить общий размер контейнера и высчитать.

P.s. Посту 2 года, может с тех пор что-то обновили.
253 1020099
>>20090

>если она уже нажата, то все продолжится


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

>А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName"). Ее можно один раз в _ready закешировать в переменную и уже оттуда обращаться.


Он там поясняет за это и меняет код, говоря что так делать не стоит.

Да и вооще что это за мода объявлять новую переменную каждый фрейм на пятой строке, если по логике нужно создать переменную один раз и её просто обновлять каждый фрейм? Он это не только здесь делает, но и дальше по коду. Это так сегодня кодят современные игры, ищя в памяти свободную ячейку каждые 15мс и гадя туда рандомными байтами? Я сам не кодер, но в юношестве участвовал в олимпиадах по кодингу на скорость и нас там за такое по ебалу пиздили тапками.
254 1020100
>>20094
Да, всинк конечно выключен. 1500 вс 1500 по итогу, средний фпс за замеренные 2 минуты тоже не изменился. Возможно масштаб недостаточен, но по итогу я не планирую заморачиваться с кешированными нодами - только код переменными загрязнять и время тратить.
255 1020107
>>20099
Так в серьезной игре у тебя все равно AnimationTree, как бы пофиг. Ну и ты всегда можешь проверить is_playing/current_animation/assigned_animation, ничего сложного. Тут в любом случае нужна стейт машина, хоть встроенная хоть своя, чтобы не запутаться в своих событиях.
Создание локальных переменных как и их удаление всем скопом кек в современных языках дешевое. Локальная переменная хороша тем что не хранит стейт - если у тебя будет классовая переменная, будет соблазн обратиться к ней из другой функции, честно скажу что я так раньше делал и потом долго вычищал баги, потому что в каком то кадре в движение записалось "иду влево", а при не нажатых кнопках забыл записать туда 0, и потом часа два искал баг, почему анимация не та играется.
256 1020108
>>20107
Кроме глобальной переменной её ещё можно пробросить в метод через атрибут. Вангую даже в метод расчёта физики это можно сделать.
258 1020144
Может ли годот вообще в материалы как анриал?
Я искал туториал по материалам на годоте, но ничего даже похожего на https://youtu.be/iZgbzwBQTPY не видел.
video.mp4392 Кб, mp4,
822x720, 0:08
259 1020157
>>20144
Видос не смотрел, но можно накладывать материал на материал на материал через next_pass.
260 1020158
>>20135
даже тут пропуки каждые 10с екунд
261 1020174
>>20158
Постыдись врать, это первичная загрузка уровня в начале.
262 1020177
>>20087
не, миллиарды сущностей в секунду мне не нужны

хотя и на шарпе неплохо сделали: почему-то MessagePipe оказывается быстрее, чем нативный event - в контексте pub/sub
Extrude-513x1024.jpg26 Кб, 513x1024
263 1020181
Как сделать Extrude какого-нибудь полигона в годоте програмно?
264 1020188
>>20181
Вроде видел ассет который такое делает.
Ну а вообще, SurfaceTool.

А, еще можно https://docs.godotengine.org/en/stable/classes/class_csgpolygon3d.html

Если тебе нужно только визуально, аля "буквы 3д", можно шейдером
https://web.archive.org/web/20240927023934/https://godotshaders.com/shader/extrude-2d-texture-in-3d/
265 1020196
>>20188
Благодарю. А можешь потестить и показать как работаете вариант CSGPolygon3D плиз? Просто выдави мне квадрат или цилиндр в коде во время работы игры и мне этого будет достаточно.
Я просто еще годот даже не поставил и вот решаю какой движок подходит.
266 1020197
>>20196
Ёбу дал?
1730654603087.webm3,6 Мб, webm,
1920x1000, 0:15
267 1020206
>>20196
Конечно анончик, потестил за тебя! Благо в годоте это очень легко!
>>20197
Ну что ты расшумелся.
268 1020213
>>20206
Спасибо няша ожидал что ты мне хуец выдавишь если честно
269 1020217
>>20206
Прикольно. А чем отличается вкладка game от обычного запуска?
1615926720071.png13 Кб, 580x138
270 1020228
>>20217
В теории ничем не считая багов которые иногда обнаруживают, обычный запуск сейчас в 4-ке запускает такое же окно с меню отладки, просто есть опция показать его плавающим или встроенным.
(там есть пауза, след. кадр, отключить ввод и выбирать мышкой ноды, перечислить все ноды в месте клика, двигать камеру).
Это отдельный процесс, в Compatibility mode OBS не захотел его даже захватывать (надо было в Forward+ переключиться, не догадался, записывал экран)
271 1020234
Никому случайно не нужен топовый четырехчасовой курс на отличном английском (англичанин, не индус какой-нибудь) по годоту 4.4 с юдеми? Вот этот https://www.udemy.com/course/jumpstart-to-2d-game-development-godot-4-for-beginners/

Могу поделиться ссылками, я сам конечно не пиратил
272 1020235
>>20234
Алсо я напиздел, в курсе 78 часов видеогайдов и семь разработаных с нуля игр лол
273 1020243
>>20234
Ну хуй знает братан, предпочитаю ютуб гайды по тематике и гдквест, который давно себя зарекомендовал.
274 1020245
>>20243

>гдквест


Ему же четыре года?
275 1020269
>>20245
База не меняется. По 4хлетним гайдам на трёшке вполне реально пилить игры на четвёрке, если в голове есть вонючие волосатые извилины.
276 1020279
>>20269
Легче уже простой найти гайды под актуальную версию. Благо на англюсике их достаточно
277 1020280
>>20245
Почему? Есть курс по 4.4
278 1020281
>>20280
>>20245
И не один а дохуя разных: https://www.gdquest.com/product/

Наверняка на торрентах где-нибудь лежит.
279 1020284
>>20281
>>20280
Так в том-то и дело, что я нигде не видел. Самый свежий за 2021 год.

>>20269
База может и не меняется, но учить с нуля по старым гайдам, когда есть новые хорошие - это неправильно.
280 1020329
Как же удобно жить с сигнал басом, в моем случае отвечающим за звуки. Все четко, ясно, понятно, все звуковые эффекты в одной сцене.
281 1020380
>>20284

> учить с нуля по старым гайдам


Ненене, я имел ввиду, если есть редкий гайд по малоизвестному вопросу, от автора, который давно ушёл, тогда его вполне реально перекодить на четвёрку. А с нуля конечно быстрее по актуальному учиться.
282 1020381
>>20329

> сигнал бас


Значение знаеш?
сингл тон
1746459572739.png110 Кб, 1026x734
283 1020382
>>20381
А я знаю, а я вообще пихаю сигнал бас в корень, очень удобно, и он всегда существует, автозагрузки не нужны, когда можно установить скрипт в корень дерева, существующий всегда, имеющий по дизайну функцию вызова.

> if get_tree() is SignalBus: get_tree().load_next.connect(...)


Скрипт с класснеймом прописывается через редактор настроек, указанием класснейма.

> class_name SignalBus extends SceneTree


> signal load_next

284 1020398
>>20382
А что за тип основного цикла? Это в 4.х появилось? Как оно на английском, чтобы документацию загуглить почитать?
286 1020410
Я устал
287 1020417
Почему нет психологической поддержки для геймдева?
288 1020419
Зато я отдохнул. Начинаю новый проект.
289 1020421
>>20419
Как отдыхал, что за проект?
290 1020430
>>20421
Еще не придумал. Может в джем впишусь, хотя уже мало времени осталось. Хм, бесконечный однокнопочный уровень. О, можно раннер про Хоппу сделать, все равно собирался.
291 1020436
>>20430
Про Хоппу эт хорошо, эт мы любим.
292 1020447
Да кто такая эта ваша Хоппа?
293 1020450
>>20447
Аниме-тяночька с мышиными ушками, из рисовача в /Б/, и больше не знаю о ней ничего. Рисовачеры в /Б/ злостные пидарасы и ничего не рассказывают.
294 1020456
>>20447

>Хоппы — особый вид воздушного транспорта для ликвидации военных сил противника или высадки войск, разработанный на Ново-Земле.

image.png23 Кб, 337x208
295 1020508
>>20430
давай сюда
296 1020511
>>20508
Ну только если блацкроцк мне заплатит три тысячи долларов авансом.
297 1020521
>>19797
>>19809

Мне давно не дает покоя сделать рофлоигру про Ваномаса, который бы пытался отвоевать свою арену...
Идея сделать эту игру вообще нахуй без текстур неплоха...
298 1020560
Давайте пилить пое клон
299 1020563
Давайте пилить убийцу Clair Obscur: Expedition 33. Её 33 человека сделало, у нас в треде 54, гораздо круче получится.
300 1020578
>>20563
Давайте!
Чур я сторителлер-евангелист, геймдизайнер. Согласен на должность директора.
Стори уже готова для теллинга, и я её запостил в АААА-треде уже три года назад >>834219 → это на голову выше этих ваших експедишенов.
301 1020583
>>20563
Соглы. Гумозный жанр жрпг давно пора расшевелить, преобразить и улучшить новыми механиками

>>20578
Хуевый питчинг сюжета. База должна занимать несколько предложений в 2-3 строчки
image.png28 Кб, 512x512
302 1020586
>>20578
Забиваю себе должность дизайнера механик. При стане персонажи должны превращаться в icon.png

Я правда в обскуру 33 не играл.
303 1020591
>>20586

> Я правда в обскуру 33 не играл.


Я вообще в игры старше 2016 года не играл. 10 ФПС на минималках. Остаётся только ждать лудшего.
304 1020604
>>20563
>>20578
Могу заняться графическими интерфейсами и простейшей графикой
ss358cb4690763ef678b224275621476487a57d8e5.jpg64 Кб, 1280x720
305 1020613
Нужен соулслайк клон в бесконечных совковых панельках, чтобы по подъездам шариться.
image.png929 Кб, 1280x720
306 1020638
Вот вы смеетесь, а я реально не так давно составил в голове диздок динамичной жрпг с боевкой вдохновленной фф10-2 и валькирия профайл, и все жду когда кто-нибудь украдет эту идею...
307 1020671
>>20638
Лишний раз показывает насколько эти ваши диздоки бесполезная мемная хуита. Актуальна разве что для корпов, которые деньгами могут вывезти реализацию диздока 1-в-1. Путь индюков - идти по пути наименьшего сопротивления и позволить игре дизайнить саму себя, потому что у индюка нет ресурсов как баран переть в закрытые ворота.
308 1020673
>>20671

> идти по пути наименьшего сопротивления


Ловушка "сарая для великов" она же "низко висящего фрукта" она же локального минимума.
309 1020676
>>20673
Послышалось блеяние барана из ловушки диздока.
310 1020682
>>20676
Молодец, поделил оскорблением свой аргумент на ноль.
311 1020685
>>20682
Знание умных названий одних ошибок не позволяет тебе избегать других ошибок, братан. Не говоря уже о том что половина из написанного нерелевантна. Не факт что ваш охуенный диздок окажется чем-то фановым по-итогу, но же будете натягивать его как сову на глобус годами игноря фидбек и механики которые сами идут в руки, пока я заброшусь в дискорд и проведу 3-5 плейтестов и пойду туда, где реально фан лежит. Если тебе хочется умных слов, то вот мой appeal to authority - посмотри, например, интервью Jonathan Blow (braid/witness), где он говорит что его игры, фактически, дизайнят себя сами по ходу разработки. Или фортнайт, который знаменито по диздоку вообще не то, чем он стал. И уж сорян, дальнейшую дискуссию я вести не буду, для меня само слово "диздок" железный маркер либо долбоеба, наслушавшегося сказочек, либо корпа с которым у нас разные категории и которых на харкаче все равно нет.
312 1020686
>>20685
Да ничего страшного, братан, конечно мы разные. И да, я пришел из ААА и знаю какие практики стоит использовать. Но конечно если ты делаешь гиперкеж однодневный тебе они не нужны.
313 1020689
>>20686
Только теперь ты не ААА и не имеешь под собой ресурсов ААА, и странно что ты не понимаешь что практики одних не всегда применимы к другим.

>гиперкеж


Мимо
314 1020690
>>20689

>странно что ты не понимаешь что практики одних не всегда применимы к другим.


Ничего себе какая глубокая мысль! Попробуй воспользоваться ею в следующий раз, когда будешь давать советы другим.
315 1020692
>>20690
Так и представляю анонимуса с охуилиардами денег на разработку ААА по диздоку, а рядом с ним вся его команда проверенных ветеранов геймдева. И сидят они тут, с нами, в двачетреде. Среди нас! Ну ничего, вот напишем все по диздоку тоже такими станем.
316 1020705
>>20692
А что если я скажу тебе, что точно так же как игра могущая дизайнить сама себя, так же и диздок может себя переписывать? И переписывая себя диздок продолжает нести свою основную функцию: не давать тебе превратить игру в кашу.
317 1020713
>>20692
Подмена понятий с инструмента/практик на бюджет и размер команды. Что-то уровня чела который отрицает гит и хранит все в раре. Или как отрицать паттерны проектирования.
318 1020716
>>19621
1. Хранилище анимаций для персонажа, а благодаря возможности выполнять скрипты прям из редактора - можно эти самые анимации ещё и нарезать руками из спрайтшита (потому что годотовский ублюдский спрайтатлас не умеет так делать, как в нормальном юнити) - нахуя под это иметь сцену?
2. Прокси ресурс - например у меня был случай - нужно было перекрасить определенный узор пикселей на текстурах, соответственно нужно было либо извращаться с шейдером и рантайм генерируемыми масками/шумами, а так у меня есть proxytexture ресурс, который сам генерирует что мне нужно и без шейдера, так как хранит внутри себя уже готовую генерацию постоянно а ноды требующие texture - воспринимают его как родного.
3. Твой спич про сцены вообще непонятен, тем более ее подрузка обойдется дороже, а ручное управление через редактирование в нотпаде tscn будет ещё сложнее из-за лишней информации. А такое придется проделывать, если сильно меняется структура твоего хранилища игровых данных по любым причинам.
319 1020783
Какое же конечно слово ГОДОТ кринжовое. Переименовывайте эту залупу.
image.png470 Кб, 960x700
320 1020788
>>20783
Это классика, это знать надо блять!
321 1020799
>>20783
Название то нормальное, а вот лого это пиздец, как будто не двигло запускаешь, а какую то детскую хуйню. Уж лучшеб просто половина шестерни было, а не этот кринжобот.
322 1020815
>>20799
Ты в курсе что ты его поменять можешь?
323 1020823
>>20788
Лол, я пытался эту классику посмотреть, Ниасилил. Надо быть глубоко погружённым в контекст, чтобы данную пьесу понять, наверное.
Олсо, в этом году на Бродвее ставят её с Киану Ривзом и Алексом Уинтером. Литералли возвращение Билла и Теда. А ещё есть тоже бродвейская постановка с Магнето и Ксавьером, отрывок валяется на ютубе, деды прям отжигают; причём существует полное видео, и его даже можно бесплатно посмотреть, если лично прийти в Библитеку Конгресса в Вашингтоне, лол, но в интернетах нет.
324 1020824
>>20823
Это как Питон, который назван не в честь змеи, а в честь Монти Пайтона, юмор которого тоже хуй проссышь.
325 1020828
>>20815
И хули толку, офф лого то это не изменит.
326 1020829
>>20828

>двигло запускаешь


Ты уж определись, у тебя проблема что ТЫ видишь неподходящее тебе лого при запуске, или что оно вообще существует?
327 1020830
>>20829
Хорош под дурака косить, если мне не нравится лого при запуске, а оно внезапно не только при запуске, то очевидно мне ненравится само лого, а не то что его показывают при запуске. Я хуй знает чому ты так яростно пытаешься дефать это говно предлагая костыли.
328 1020831
>>20830

>не хочешь срать на унитазе, сри на кортах как мужик, техническая возможность есть


>ряяя зочем мне решения мне не нравится само существование унитаза!!1


Это не ты там выше бурлил на тему "нет текстур - детская игра"? Тебя детскими игрушками пиздили, гримдарковый ты наш?
329 1020841
>>20831
Братан, аналогии не твое, да еще и те которые не к месту, прекращай с этим. Я не хочу итт устраивать срач, поэтому отвечаю в последний раз, фиксить дерьмолого должен не я костылями, а ебаный хуан редизайном. Ты видимо нюфажина раз так яростно готов защищать говно, либо просто долбаеб которому хоть ссы в глаза - все божья роса. И я понятия не имею о каких ты там текстурах говоришь, так что мимо.
image222 Кб, 1280x720
330 1020846
331 1020875
>>20846
В чем перемога, зачем это?
332 1020876
>>20846
Прикольно. Начинают подбираться к технологии юнити 2018 года. Правда в очень сыром виде.
333 1020879
>>20783
Двачую, ГОДОТ это как неудачный коллаб между словом ГОВНО и ФАГОТ
334 1020913
>>20879
Потому что на всех языка мира говно пишется как "ГОВНО", а все люди имеют психологию двачера.
1746810936750.png228 Кб, 800x367
335 1020921
Я проебал куки вместе с плашками ОПа всех своих тредов. Такие дела.
336 1020929
>>20921
Не признаем твою легитимность.
337 1020943
>>20876
Даже годоти слезли с иглы монопердящей хуйни. Когда там нормальный coreclr?
338 1020944
>>20875
Как с алфавитом? Мама помыла раму? Или ты слепой а читалка по картинке не распознает текст?
Screenshot20250509215730.jpg595 Кб, 1079x1724
339 1020949
>>20875
Я тоже не знал, но к счастью нет нужды надеятся на ответ клоунов-вахтеров вроде этого >>20944
и можно просто получить исчерпывающий ответ от ИИ.
340 1020953
>>20949
Зачем перплексити, когда можно не перплексити? А эти >>20944 хуесосы - залетные движкосрачеры, который день тут орудуют.
341 1020955
>>20953
терпи
годот обсуждаем в треде годота, и всё тут
342 1020956
>>20953

>Зачем перплексити, когда можно не перплексити


Альтернативы?
343 1020959
а мне нравится перплексити, по сравнению с Алисой(даже на Про) он выглядит, как нормальный инструмент, сегодня отсортировал мне мои закладочки, поменял ссылки с онлайн кинотеатра на ссылки на кинопоиске, сделал в формате маркдауна, отсортировал по году и распределил по типу(фильмы, сериалы, аниме)
не знаю, что там с кодингом, но в своё время, когда там была другая модель распространения, он помогал мне со всякими языками типа clojure, elixir и т.д.
годотю думаю не потянет, слишком нишевая и специфическая вещь, но какие-то концептуальные вещи объяснить может, особенно сейчас, когда там модель можно выбрать типа того же жпт
344 1020960
>>20959

>Алисой(даже на Про)


Слишком толсто.
345 1020961
>>20960
ты што не вериш в великую нейросеть он яндепса?
image.png1,1 Мб, 1170x1130
346 1021032
Кринжуйте и делайте
347 1021067
>>17767 (OP)
Заебали эти бленд шейпы и отсутствие примеров того как использовать все эти ихние задумки в движке.

Нужно импортировать меш, разрезаю его по материалам и импортирую вместе с blend_shapes, с помощью add_surface_from_arrays. Никак не получается этим морфам присвоить названия. Вроде бы имена надо добавлять сразу после var array_mesh = ArrayMesh.new().
Но если это сделать. Получаю ошибки от add_surface_from_arrays, иду вслепую, не нашел нигде рабочего кода, нейронка расказывает небылицы.
348 1021073
>>21067

> нейронка


> нейронка расказывает


Страдай.
Ну или учи движок по документации.
349 1021075
>>21073

>движок по документации.


Нету документации. Лишь краткое описание методов которые непонятно как использовать. Для блендера существуют аддоны на питоне, по которым можно ориентироваться. У годота в этом плане нихера нету. Сто раз пробуй и так и сяк, и гадай почему никак не выходит.
350 1021085
>>21067
Ну хз, ты занимаешься низкоуровневыми вещами которые и не предназначены просто для кирилов.
Исходный код открыт, там и ищи. Вот что то похожее. Я что-то помню что по дефолту у блендшейпов и нет имен, они просто массив 0, 1, 2...
https://github.com/godotengine/godot/blob/19bb18716ef08b811fec330cba4d35fbdb027bcc/scene/resources/mesh.cpp#L1875
351 1021087
делал проект на годоте, подредачил сцену, пошли жалобы мол вон там нал вместо объекта, хотя я блять вообще в другом месте кусок удалил. затриггерило жестко. забил хуй. спустя неделю (щас) опять запустил. чтобы войти в контекст опять эту сцену запустил. БАЦ. запустилась. ну пиздец. ну что это? самое поганое, что это касается и юнити, и уж тем более анрила. прогеры пишут херовое, а мне токо хавать остается. фуух, ладно. пиздец какой-то.

мимо высказался, все равно люблю годот.
352 1021089
>>21087
Ставлю жопу ОПа, что это ты в своем говнокоде запутался. В 100 случаях из 100 это криворукие разрабы игры на чужом движке срут в штаны себе и заодно будущим игрокам.
353 1021112
>>21089
Я бы небыл так уверен. У самого несколько раз сцены с нихуя ломались, приходилось в блокноте открывать и смотреть че не так. То что по моей вине ломалось не исключаю, но годот если позволяет мне так ломать не выдавая никакие предупреждения то считаю что это не моя вина, а вина движка, ибо как ты поймешь что так нельзя делать кроме как не на своем опыте?
354 1021124
>>21112
Ну так воспроизведи ошибку и напиши баг репорт. Я в блендере так и сделал. Сначала пол года подождав может они сами догадаются и исправят. Никто из них не догадался как я страдаю, пришлось им рассказать, до вечера пофиксили.
355 1021149
>>21124

> Ну так воспроизведи ошибку


Легко сказать лол. Вот к примеру у меня был такой баг, у сцены была переменная запакованой сцены, как только вложил туда другую сцену годот крашнулся и сцена перестала открываться, даже после перезапусков. Отредачив ее в блокноте, а после вставив ту же самую сцену в переменную, внезапно, все нормально заработало. Как воспроизвести в таком случае? Одно дело когда ты определенной последовательностью что то ломаешь, другое когда все ломается с дефолтных вещей, тоесть с нихуя.
editorscreenshot2025-05-11T152916.png143 Кб, 1656x816
356 1021163
Есть у меня функция save_ini (пикрелейтед), и есть переменная:
var saved_copies: Array[Variant]
(по факту это Array[Array[int], но нестед тайпед коллекшнс ар нот суппортед блять)

Делаю вот так:
save_ini(copies_fn, "copies", {"saved_copies": saved_copies})

И получаю то такой файл:
[copies]
saved_copies=[[295, 1966], [1309, 1967], [86, 1968], [699, 1969]]

То такой:
[copies]
saved_copies=[Array[int]([295, 1966]), Array[int]([1309, 1967]), Array[int]([86, 1968]), Array[int]([699, 1969])]

ВОТ КАКОГО ХУЯ?
Оно работает и так и так, но что за хуйня блядская?
357 1021166
>>21149
Если довольно часто или критично, подключаешь GIT, пробуешь повторить конкретно с той версией файла которая крашнулась.
358 1021174
>>21163
Просто где-то у тебя типизировано, а где-то нет?
359 1021180
>>21166
Спасибо кэп.
Вы случаем не из свидетелей диздока?
1636384413457.jpg37 Кб, 491x308
360 1021181
>>21180

>диздоки сложно


>гит сложно

361 1021183
>>21181
Смотрю чтобы сделать правильный вывод из прочитанного тебе сначала ДИЗДОК написать надо.
362 1021186
>>21183
Так бы и сказал, что ты просто не умеешь писать диздоки. Так просто берешь и учишься, это такой же навык как и любой другой.
363 1021188
>>21186
Сейчас бы тратить время на бесполезно-вредную хуйню. Ещё курить научиться предложи, а то чего, такой же навык как и любой другой.
364 1021206
>>21181
Это не сложно, это нахуй не нужно для моих проектов.
365 1021207
>>21206
Так не бывает, если это не нужно, то это и не проект вовсе, а просто поделие однодневное.
366 1021210
>>21207
Ты заебал проецировать свое говно из головы на тред. Без диздока и гита шагу ступить не можешь, постоянно ебешь всем мозги своими антипаттернами, антисинглтонами, локальными минимумами, "а что если вдруг в мультиплеер захочешь", все у тебя ассетфлиты-гиперкэж-однодневки делают, только ты один такой умный сидишь и прешься от своего говна из головы, пиздос просто я хуею с содержимого твоей черепушки, душнила ебучий, и это даже не я там выше с тобой про гит говорил. Хртьфу нахуй.
367 1021211
>>21210
Тихо-тихо, ну он же очевидно тебя на вот такие посты и разводит всё это время. Ты его покормил. И он теперь ещё два треда будет срать своим говном из головы.

Это залётный движкосрачер. Просто репортите его молча. Не говорите с ним вообще.
368 1021213
>>21210
Да мне как то похуй, заебал я тебя или не заебал. Я буду и дальше делиться опытом как делать правильно, а если не нравится - не читай. Можешь хоть палкой копалкой дальше ковыряться, мне то что.
369 1021214
>>21211
Ты больше похож на движкосрачера, если честно. Еще и вахтер нелепый.
370 1021219
>>21207

> ваши игры - не игры


Понял, так и запишем.
371 1021223
>>21219

>проект


>что то не требующее проектирования


Я тебя услышал.
372 1021234
>>21089

>>В 100 случаях из 100


это когда мы живем в идеальном мире, где популярный софт означает, что в нем нет багов. ну это не так, очевидно. поэтому 95 из 100, или того меньше. и вот в эти 5 я и попал.
373 1021236
>>21219
Он все равно нихуя не делает, забей на этого клоуна. Детектится по своей чсвшной манере через весь тред, что позволяет удобно делить его единственно "правильное" мнение на ноль.
374 1021242
>>21236
Да не рвись ты так, научишься диздоки писать, и гитом пользоваться, так и безыгорным перестанешь быть со временем.
375 1021244
>>21236

>Он все равно нихуя не делает


Странная претензия, мы вроде не в субшота треде.
А покажи, что ты делаешь без диздока. Ты же вроде хвастался что у тебя игра сама себя разрабатывает.
376 1021246
>>21244
У меня диздок сам себя диздочить, а потом за меня игру разрабатывать будет, ведь при наличии диздока нихуя делать не надо, чем ты и занимаешься.
377 1021247
>>21246
Так покажешь, чем занимаешься? Или дальше вилять будешь?
378 1021251
>>21247

>нет ты


Понятно все с тобой, любитель подиздочить. Ничего другого не ожидалось.
379 1021272
По итогам, если ты хочешь вкатиться в геймдев на годоте тебе надо:
- изучить гит
- написать детальный диздок от и до
- продумать архитектуру таким образом, чтобы в любой момент переделать в мультиплеер
- изучить все антипаттерны, избегать их как огня
- никаких, блять, синглтонов
- не использовать ассеты, сделать свою музыку, шрифты, модельки, звуковые эффекты
- твой проект должен быть серьезным и серьезно спроектирован, серьезность определит дядя

Только после этого ты, ньюфажина, можешь запускать годот, иначе важный ААА дядя посчитает что ты лох однодневный а твой проект не проект.
380 1021273
>>21272
Это знаешь как работает, его на гейдев галере в очко ебут и он думает что так и должно быть, сюда приходит, и оказывается что в гейдеве как бы в очко тебя ебать и недолжны. Вот он и трясется от обиды, мол раз меня ебут в очко то значит и вас обязаны.
381 1021278
>>21272
Да нормальный роадмап в принципе.
382 1021286
Привет! Такой вопрос: реально ли сделать в разумные сроки (полгода на играбельное демо) среднюю по сложности игру (2D, большая карта, много локаций, минимум анимаций, вид сверху), не имея навыков программирования и опыта разработки игр и тратя 3-4 часа в день? Я знаю что вопрос звучит абстрактно, но хочется понять, есть ли вообще шансы. Ключевая идея игры - взаимодействие с персонажами на чужом языке. Необходимо искать разбросанные по миру подсказки, которые позволяют понять значение отдельных словоформ и с их помощью выстраивать синтаксические конструкции.
383 1021288
>>21286
Вдохновляешься chants of sanaar? Смотря в какое визуальное качество ты целишься. Если на готовых 2д ассетах, чисто код, то демо за полгода вполне реально. Если сам рисуешь то хуй знает, я вот сегодня все утро убил на создание единственной лоуполи 3д модельки, но визуал не моя сильная сторона.
384 1021290
>>21288
Я планирую рисовать по большей части сам, но мне кажется это легче чем моделирование. Еще есть вариант использовать нейросеть для генерации отдельных элементов опыта работы с AI у меня тоже нет.
Я еще хотел спросить, насколько действенно использовать чат-ботов, например DeepSeek, для помощи с написание скриптов. Я попросил его сделать так, чтобы Player в тестовом задании телепортировался на другой край экрана, а не упирался в границу. Он справился. Но когда я попросил его написать код для плавной телепортации, чтобы края спрайта появлялись с разных сторон экрана, он не смог предложить действенное решение.
385 1021291
>>21272

>иначе важный ААА дядя посчитает


Делать больше нечего важному ААА дяде, кроме как шататься по чьим-то поделкам и оценивать авторов.

Твой план расчитан на труженников. Мы тут все хобисты. Этот тред на плаву бдагодаря одному или двум, энтузиастам, пытающимся всем помочь, и даже при этом, не сильно много чего происходит. Занятнее будет просто начать делать игру, и разбираться по ходу дела. Не мало существует хороших проектов, которые изнутри выглядят как кошмар на улице вязов. И тем не менее они подарили немало позитивных эмоций тем кто в них поиграл. Лучшее враг хорошего, достаточно сделать сносно.
386 1021292
>>21273
Мне очень везло с работой, как раз никто не ебал, коллеги и начальники были охуенно умными, а полезные практики как раз вырабатывались и обменивались разработчиками, а не сверху. Потому что они появляются как защита от факапов, обычно по результатам этих факапов. А по поводу подходят ли они инди, так как раз еще больше подходят, потому что если инди выгорит в очередной раз переписывая все на мультиплеер или вычищая сингтоны, то он скорее всего просто забросит игру или геймдев вообще, в то время как контора просто назначит на другого.
Но я вижу что ты пытаешься меня как то задеть, спровоцировать на что-то, не знаю на что, так что давай напрямую обсудим - как ты хочешь чтобы я поступил? Я могу покинуть тред и оставить тебя наедине с новичками, тогда ты окажешься возможно даже самым умным парнем на деревне. Можем даже попросить чтобы были удалены все мои сообщения, включая всякие полезные туториалы по годоту. Или ты хочешь чтобы только какие-то темы были запрещены для обсуждения в треде? Определись с позицией.
387 1021293
>>21286
Хотелось бы добавить, что задача сделать игру целиком 0 to 100 в принципе не стоит. Хочется сделать играбельное демо, после чего найти такого-же вкатуна-энтузиаста, который заинтересуется проектом и будет готов заниматься технической частью, а самому сконцентрироваться на визуале и нарративе.
388 1021294
>>21286
Ну, да, играбельное демо можно даже за месяц-два сделать, начав изучать с нуля.
389 1021295
>>21290
Дипсик для кода откровенно устарел. Мой личный топ нейронок для гдскрипта - чатгпт не помню какой там последний, гемини 2.5 про, клод 3.7, гемини 2.5 флеш. Все они бесплатные, нужен только впн/прокси.

Все они будут путаться с версией гдскрипта (годот 3 или 4), поэтому надо четко указывать для какой версии ты хочешь, а задачи дробить на маленькие части, фиксируя рабочие варианты бекапами или ГИТОМ

Чем дальше твой проект идет тем выше шанс превратить все в кашу, если ты не понимаешь что именно тебе нейронки нагенерили. Надо разбираться в их коде, контролировать его качество, переписывать самые безумные куски и распихивать результаты по правильным полочкам.
390 1021296
>>21292

>Но я вижу что ты пытаешься меня как то задеть


Во-первых ты как минимум с двумя анонами общаешься. Во-вторых, почему ты удивляешься что тебя пытаются задеть, если ты сам пытаешься всех задеть? Это ты растекся по треду, рассказывая то одному то другому что его проект не проект, что все мы гиперкежи-однодневки, и только ты тут делаешь правильно. Давай, виктимность офф, эмпатию он. Тебя не прогоняют. Делиться опытом - ок, отбивать у анонов желание что-то делать своими требованиями к гитам-мультиплеерам-архитектурам-синглтонам - не ок, принижать чужие проекты - тем более не ок. Мы к тебе не на работу пришли устраиваться, ты нам не платишь зарплату, и мы не должны соответствовать твоим галерам.
1735566554255.png324 Кб, 585x637
391 1021297
>>21293
Вообще говоря я пока не начал никакой новый проект (а так у меня в очереди два прототипа на допиливание и релиз), так что можем попробовать сколлабиться, единственное что я предпочитаю 3-ю версию движка. Ну как сколлабиться, я могу тебе набросать какой то прототип в который ты будешь уже пробовать вставлять свое, параллельно разбираясь с движком.
392 1021298
>>21286
Нет, не реально. Сколько бы тебе щас не говорили что это возможно, нет, нихуя это невозможно. Сам хуй к носу прикинь и пойми что ты нихуя не умеешь абсолютно. Тебе сначала нужно понять что такое яп и как его едят, потом понять что такое движок и как с ним работать, потом набить базу дефолтных знаний для говнокодинга, научиться псевдорисовать говном на холсте. Тем более ты собираешься тратить на это по 3-4 часа в день. Это просто смешно. Я по 14 часов в сутки сидел в движке, копался на форумах, копил знания, клепал прототипы с дефолтными механиками, рисовал убогие спрайты. Для того что бы мои поделия более ли менее стали похожими на зачатки игр я потратил, повторюсь, дроча по 14ч, около полугода. А ты блять хочешь с нихуя начать делать прототип. Это действительно смешно. Дам совет, перестань задавать тупорылые вопросы и просто блять начни делать хоть что то. В таком случае ты и сам поймешь сможешь ты или нет.
393 1021299
>>21296
Во-первых, тебе тут больше одного анона пишет про вред синглтонов. Во-вторых, я как раз сам тему не поднимаю, но начинаю писать, когда ты (или кто-то еще) начинает форсить идею что всем не надо пользоваться гитом/диздоком/паттернами. Если бы ты писал просто что это тебе не подходит, и не пытался навязывать это как единственно пригодный путь разработки - я бы и не отвечал. В третьих, ну допустим я принижаю ПРОЕКТ, говоря что если ему не требуется проектирование, то он скорее всего маленький. А теперь давай посмотрим что пишут мне в ответ: >>21273 >в очко ебут >>21236 >клоуна >счвшной манере >>20685 долбоеба да, это персональные нападки на личность, а не на аргументы.
394 1021303
>>21299

>всем не надо


Эти все сейчас с тобой в одной комнате? Тебе это приснилось маня? Это ТЫ сидишь гадишь итт что все обязаны иметь диздок и гит, а иначе проект не проект. Чмоня бля потешная.

>а не на аргументы


Какие аргументы у тебя шизик? От тебя не было ни одного адекватного аргумента, только шизовые корпоратовские пасты. Срыгни нахуй с треда. Опытом он делится бля. Че ты полезного высрал то? Линкуй свои блядские посты, хоть посмеемся.

Каждый раз ебало рвется с того что чмоня красящие кнопки кабанчику, возомнив себя гуру, начинает раздавать советы. Ты тапки индюки обуй и пройдись в них пидрила, а потом только советы раздавай. Советчик блять.
395 1021304
>>21303

>чмоня шизик срыгни пидрила


Ясно.
396 1021305
>>21304
Проиграл.
1736803712535.jpg7 Кб, 254x199
397 1021306

>тапки индюки

398 1021307
>>21303
Ну гит реально лучше иметь, особенно сейчас, в эру source tree/vscode got/ github desktop на крайняк, никто ж не заставляет дрочить команды в консоли, кроме некоторого небольшого количества поехавших. Гит сейчас доступен как никогда, а его внедрение окупается на первой пошедшей по пизде сцене годота от чиха пролетевшего мимо клавиатуры попугая. Диздок может и нахуй не нужен, а вот про гит стоит подумать и потратить полчаса времени на освоение интерфейса гита который даже олигофрену будет понятен.
399 1021310
>>21299
Тебе форсят в ответ на твой заебавший форс, пчел. Это ты на любую проблему пихаешь гит, но, заметь, никто не приходит и не говорит "а вот не пользовался бы гитом, твоей проблемы с мультиплеерными кнопками бы не было".
400 1021311
>>21310
А теперь смотрим реальность:
Чел пишет про диздок и тут же прибегает отрицтель диздоков и пишет:
>>20671

>Лишний раз показывает насколько эти ваши диздоки бесполезная мемная хуита.

401 1021312
>>21311
Когда проблема проистекает из того, что ты нафорсил - да.
402 1021313
>>21312
Какая проблема?
403 1021314
>>21313
Читать не умеешь?
404 1021315
Я пошел делать игру, надев тапки индюки, а вы дальше троллей трольте.
405 1021316
>>21315
По диздоку в гите, надеюсь?
406 1021317
>>21316
Я бунтарь, даже без мультиплеерных кнопок.
407 1021322
Охуенные тапки. Куплю.
1729007067096.webm49 Кб, webm,
640x480, 0:01
408 1021324
>>21322
Будешь официальным УТКОДАВОМ.
fa2d31c0-1b0f-4396-825b-2f87fc9cbba4.png3 Мб, 1024x1536
409 1021330
1747069913157.jpg99 Кб, 535x493
410 1021331
>>21330
>>21324
Я не в курсе этих ваших мемов про Утку и ТВГ.
411 1021341
>>21306
Ну се, теперь у меня жаба будет в тапки-индюки обута, я уже давно думал о том че можно с ней оригинального сделать, а тут так сложилось что удачную ошибку допустил. Спасибо тебе анонче.
жабич
image1,9 Мб, 1024x1024
412 1021344
413 1021360
создал сигнал X в глобальном скрипте. из A делаю емит, B слушает и добавляет на сцену ноду, которую читает из глобального скрипта в виде инстанциированной сцены, которая в массиве лежала. в результате всё наебнулось, теперь даже новый пустой сигнал не работает. у кого-то была такая хуйня? как фиксить блять.
414 1021361
>>21360
Прочитал как

>создал синглтон

415 1021362
>>21361
да похуй. исправлять-то как?
416 1021363
>>21360
Конечно я делал такие ошибки в начале разработки.
Фиксить так:
Добавляешь в каждую точку интереса print()
Там где эмитишь сигнал
Там где коннектишься к сигналу
Там где получаешь
Там где создаешь сцену.
417 1021364
>>21363
+ Там где добавляешь сцену add_child
418 1021379
>>21360
отмена друзья я ебанутый.
419 1021393
Новый положняк треда:
Теперь мы не добавляем свои сцены во вкладку autoloads, а создаём именованный класс-потомок SceneTree и его имя добавляем в настройках в поле "тип главного цикла".
420 1021397
>>21393
Протестую, я на тройке допиливаюсь, там такого нет.
124~2.jpg1 Мб, 2000x1125
421 1021398

>туториал на ютубе по годоту


@

>платформер с передвижением по WASD


@

>другой туториал на ютубе по годоту


@

>другой платформер с передвижением по WASD


@

>...


Почему так? Других жанров что-ли нет? Вангую все эти учителя состнут большой жирный хуй, если их попросить написать выделение рамкой юнитов в 3д как в любой ртс или ситибилдере.
422 1021399
>>21398
А ты пробовал в ютубе написать godot multiple unit selection RTS tutorial? Вангую, что не пробовал.
423 1021400
>>21397
На тройке делай вручную через get_tree().set_script(...) как я неоднократно описывал со скриншотами в предыдущих тредах. Через set_script можно вообще подсадить скрипты и майнлупу и корню дерева, и разграничить между ними обязанности, и юзать их встроенные методы напрямую в их скриптах. В общем, для профи есть где разгуляться, чтобы все охуели как ты можешь.
424 1021403
>>21398
Есть ещё 3д-шутаны с передвижением по WASD, их совсем слегка меньше, чем платформеров. Тащемта есть и 2д вид сверху типа первая зельда (хз как этот жанр называется).

Вообще, это объяснимо. 2д легче вкатунам. Для туторов нужен какой-то комплексный жанр с физикой перонажа - она привязана к движку. Игровая логика типа жрпг-боёвки или карточек не зависит от движка, диалоги тоже, в топ2д нет физики. Что остаётся? Ну вот.
1699031393369.png246 Кб, 1051x793
425 1021406
>>21398
Чел имей совесть.
426 1021417
>>21403
а если это жрпг с ПАРИРОВАНИЕМ?
427 1021423
>>21417
А если еще и мультиплеерное?
428 1021452
>>21400
А что кроме респекта выигрывается от подобных выкрутасов?
429 1021491
430 1021521
>>21452
Очевидные фепесы. Вместо отдельных нод в дереве, игровая логика выполняется прямо в корневой ноде. Меньше памяти - больше перфоманс.
431 1021582
>>21521
И какой прирост даст? Нода ж ничего не весит почти. Какую логику туда выводить, например?
432 1021613
делаю игру
кто сейм?
433 1021616
>>21582

> Какую логику туда выводить, например?


Менеджер погоды.
434 1021636
>>21582
Логику менеджер выводить какую например погоды туда.
435 1021642
>>21613
Сейм, охуел уже делать.
image.png3,8 Мб, 1024x1536
436 1021644
Просто оставлю тут, вдруг кому зайдет.
437 1021649
>>21644
Хотел бы я чтобы такая девочка научила меня проектировать мультиплеерные кнопки.
438 1021651
>>21644
Ну типа стиль хороший, но это ж не годетта, а просто какая то девонька.
439 1021654
>>21651
Ну так это не годетта, а ГОДО-ЧАН - надпись под GODOT
440 1021655
>>21644
Почему у неё нет мышиных ушей? Дорисуй плиз, 4 мышиных уха.
>>21649

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


Вот пожалуйста, учись >>19336
image.png1,3 Мб, 640x911
441 1021659
>>21655

>синглтон

442 1021661
>>21659
Ну и сиди как сыч без мультиплеера.
443 1021666
>>21659
симплтон
445 1021671
Где искать людей, которые занимаются созданием карт для кс2?
446 1021672
>>21670
Твое? Неплохо смотрится
447 1021673
>>21672
Нет, я так не умею.
448 1021674
>>21671
https://www.reddit.com/r/csmapmakers/
И сабреддиты по версиям кс.
449 1021675
>>21672

>отсутствие текстур, сплошная заливка цветом и целл шейдинг


>Неплохо смотрится


Смотрится ПО-ДЕТСКИ!
450 1021676
>>21674
Я по ним прошелся, там практически нулевая активность и в мастерской стима тоже как ни странно 2 темы в неделю создается с почти всегда нулевым количеством комментариев
451 1021677
>>21675
я на вайб больше ориентировался жепа понравилась
452 1021689
Может ли физический движок ГОДОТа в упругие тела?
453 1021695
>>21689
Ознакомься >>1004757 →
454 1021701
Не получается поставить игру на паузу во время показа interstitial-рекламы. Пробовал такой вариант

@onready var yandex_ads: YandexAds = $YandexAds

func _ready():
get_tree().paused = true
yandex_ads.show_interstitial()
yandex_ads.load_interstitial()
get_tree().paused = false

Но игра сразу возобновляется, не дожидаясь закрытия рекламы. Как правильно реализовать паузу на время показа рекламы и возобновление после её закрытия?
(аддон рекламы РСЯ от Noctis Salamandra)
455 1021711
>>21701

> Как правильно реализовать паузу


Загляни в документацию к этому своему yandex_ads. Ищи там сигналы наподобие showing_ended() затем ожидаешь этот сигнал:

> func _ready():


> get_tree().paused = true


> yandex_ads.show_interstitial()


> yandex_ads.load_interstitial()


> await yandex_ads.end_signal()


> get_tree().paused = false


Это будет самое правильное. Если похожего сигнала нет, тебе придётся найти переменную типа состояния, и найти нужное тебе состояние. И плясать уже оттуда.
456 1021712
>>21701
А вообще он что не предоставляет примеры использования? Изучи их.
457 1021715
>>21701
По сути твой код аналогичен такому:
paused = true
$Label.show()
paused = false
То есть этот код выполнится мгновенно говоря абстрактно, не считая время которое может уйти на load()
Алсо, выглядит странно что ты сначала что то покаываешь, и только потом загружаешь.
458 1021776
спасибо аноны, на годоте 3 оно как то само работало
cover1.png424 Кб, 630x500
459 1021829
Сделал игру, ебало? Вы тоже делайте, раз-раз и готово. На самом деле, начал делать игру на подводный хоррор джем, но из-за работы не успел, был готов только скелет, так что не спеша доделал и выпустил.

https://rouw-x.itch.io/disposable
460 1021830
>>21829
Веб билд будешь делать?
461 1021831
>>21829
От всей души поздравляю.
462 1021832
>>21829

>Noesis


О, это ты. Рад что жив. Респектую за уже вторую игру, потом погоняю.
463 1021833
>>21830
Нет, никогда не пробовал в веб и как-то не хочется
>>21831
Спасибо, анон!
>>21832
Скоро третью выложим с товарищем, через пару недель наверное.
image.png1,3 Мб, 750x1000
464 1021838
>>21829
>>21833
Настоящие мужики, пришли, сделали, сделали еще, сделали еще, все релизнули и денег попросили. А не вот это вот бесконечное мяние сисек, ожидание идеальной идеи с идеальной реализацией при нуле опыта, тряска за воровство, пиздец доебало уже. Успехов.
Бизнес шиза.jpg275 Кб, 688x656
465 1021839
>>21838
Двачую, анон. Спасибо.
466 1021840
>>21833
Но я бы на твоем месте освоил за пару дней (сам экспорт делается одним кликом, но конечно надо некоторые вещи настроить - типа размера окна, может быть музыки) - на итче джемах люди стали часто просто скипать игру, которую можно только скачать, и которую нельзя сразу запустить на страничке. Конечно желательно еще и оптимизаций навернуть чтобы тяжелое 3д не было.
467 1021859
>>21858 (Del)
Покажи что-нибудь из своих рисовак. Не обязательно из игры.
468 1021860
>>21858 (Del)
В ии генерируешь что надо и забиваешь на рисование.
469 1021862
>>21861 (Del)
Как знаешь. Я бы, возможно, советы по рисовке дал. Наверняка у тебя есть пара спрайтов которые не вошли в игру. А весь код своей игры не покажу, конечно, но релевантные куски - запросто, и сколько-то тредов назад показывал свое про сигналы и сохранения и еще что-то.
470 1021866
>>21861 (Del)
>>21858 (Del)
Не относится к движку, опять набег какого то тролля.
Не кормите тролля, который даже пруфов не предоставляет. Вы прям как первый день на имиджборде.
471 1021870
>>21866
Да ладно, даже если тролль - никакого срача пока не произошло, так что ящитаю все ок, можно пообсуждать. А если обсуждать _только_ движок то, например, и свою игру ИТТ нельзя запостить, и вообще, не то чтобы у нас тут треды в бамплимит за час улетают.
image.png9 Кб, 511x224
472 1021871
>>21869 (Del)
Все уже накидано до нас: https://lospec.com/palette-list
Сделай там как на скрине, включая сортировку.
473 1021876
>>21866
Ладно, ты прав.
474 1021877
>>21872 (Del)
А ты типа тот самый троль? Создаешь атмосферу дурки как у себя в больнице? Наверни GdScript-а, уебище.
1720768299377.png54x9
475 1021879
>>21873 (Del)
Держи, лягух, твою палитру. Теперь у тебя кончились отмазки.
1747455622458.png13x15
476 1021903
>>21881 (Del)

> палитру от анона


Держи.
477 1021904
>>21903
Это же лицо из Snood
478 1021905
>>21904

> Узнал знакомое лицо в 5 пикселях


Вот именно поэтому мы помним видеоигры детства намного более красочными и детальными, чем они оказываются при попытке поностальгировать на эмуляторе.
479 1021907
Аноны, а что на счет графики? Я не анон выше
Вот делаю я игру в 3d. И например, хочу сделать стену. В каких случая мне нужно заказывать модель, а в каких текстурку? Ведь можно обставить уровень готовыми моделями, а можно и примитивами с натянутыми текстурками или вообще совместить два подхода. Но в 3d графике я не шарю. Можете объяснить на пальцах или дать норм гайд?
480 1021910
>>21907
А похож на анона выше, сорян уж.

Смотря какой стиль и какая стена тебе нужна. Разделяй в уме геометрию и текстуры. Нужна новая геометрия стены, например частично разломанная стена - делаешь новую модель. Нужна стена не кирпичная а каменная - делаешь новую текстуру.
Screenshot20250517112255.jpg67 Кб, 2408x1080
481 1021928
482 1021929
Мир в террарии состоит из 20 миллионов блоков и примерно 15к текстур в тайлсете. Можно ли на годоте сделать что-то подобное, чтобы такой мир грузился моментально на любом калькуляторе? На ютубе я видел туториалы, но там дощик обычно делает процедурную генерация пары сотен блоков и называет это клоном террарии, что не совсем то, о чем я спрашиваю.
483 1021930
>>21929
Такое можно сделать на любом API, который умеет выводить на экран двухмерные изображения. Террария сделана на MonoGame, C#. Старбаунд сделан на SDL, C++.
484 1021931
>>21930
Мы в треде о годоте и я спрашивал про годот. Я прекрасно знаю, на чем сделана террария.
485 1021937
>>21931
Твоя проблема не годот или юнити или что ты там возьмёшь, а то, как ты организуешь управление этими двухстами миллионами блоков. По факту все что тебе надо рисовать - пару десятков тысяч блоков на экране и за его пределами, сотню мобов (в лучшем случае, а скорее десяток) и может иметь предел в пару тысяч поднимаемых (интерактивных) объектов. С этим справятся почти все движки из представленных, а вот справишься ли ты с оптимизацией подгрузки/выгрузки чанков мира, сохранением отредактированных игроком чанков и удержание в памяти активных объектов с сохранением их функциональности вне зависимости от дальности к ним игрока - вопрос только к тебе и твоим ментальным и профессиональным возможностям.
486 1021941
>>21929
Ты думаешь террария грузит все эти 20 миллионов/15к текстур? Нет, она делит мир на чанки, и грузит только нужные, как и майнкрафт. Так что вопрос твоего скилла.
487 1021947
>>21941
В первых версия террарии не было чанков. Там был обычный массив из тайлов. Может потом добавили, хз.
488 1021948
Хочу сделать игру вроде Oxygen not Included, но нихуя не знаю о гейдеве, а годот ставил когда-то много лет назад просто для теста. Стоит вкатываться с такими кртнжовыми идеями в игрострой?
489 1021949
>>21948
Почему нет? Попробуй. Какой-нибудь DeepSeek поможет тебе набросать скрипты.
490 1021959
>>21941
Да вот кстати важная тема. Если есть большой 3д уровень, то большие обьекты или ландшафт надо разрезать на более мелкие. Чтобы подгружать
при приближении игрока и выгружать при отдалении. И при выгрузки из физического 3д пространства все обьекты попадают в логическое пространство с сильно упрощенными расчетами их взаимодействий.
Помню видео где разработчик гта вайс сити делал код ревью для реверс инжинереной гта ревс. Расказывал что в команде был один поляк который спал прямо в офисе. И програмировал тяжелые вычисления в игре. Одиночкам такое трудно вытянуть. Может есть готовые решения, или отлаженые методы?
image.png1,8 Мб, 1346x1346
491 1021961
>>21959
Поищи плагины или туториалы на ютубе - клоны майнкрафтов точно делали. А по-секрету тебе скажу что геймдев в одиночку вообще сложно вытянуть. Одна из самых комплексных, разносторонних и геморройных айтишных залуп.
492 1021962
>>21959
Не знаю что там этот поляк программировал, но физика колёс есть в любом движке на выбор, даже в годотя-буилтин физике. По факту вся суть упрощения сводится к следующему - нпс и автомобили ездят по рельсам(заранее рассчитанным маршрутам), а как только вступают в контакт с игроком - сьезжают с рельс и начинают взаимодействовать с физикой. При таком подходе считать много не надо, хотя настроить взаимодействия заранее и управлять ими чтобы минимально давать нпс сходить с рельс - задача тяжёлая, но не по сложности вычислений, а по сложности организации. А поляк мог заниматься рендером или кастомной физикой и спать в офисе, да. Но сейчас это лишнее, твоя задача только правильно пнуть уже готовые решения по навигации, рендеру и подшрузкам локаций, физические решения. Это не сложно но требует время и усилия.
493 1021965
>>21947
значит в первой версии не было 15к тайлсетов.
494 1021971
>>21961

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


Пиздеж, единственное что было сложно это рисовать для тех, кто не может рисовать. Сегодня вообще поебать, спрашиваешь у ии и получаешь свои тайлы.
495 1021976
>>21971
Удачи довести такими темпами свой проект до прибыльности.
496 1021983
>>21976
маминому художнику НЕПРИЯТНО
497 1021993
>>21962

>Не знаю что там этот поляк программировал


Движок?
498 1022000
>>21993
У движка есть модульные части, одни достаточно простые, другие сложные, третьи пиздец сложные, четвертые душные но не очень сложные. Какие-то части движка нужны всем играм (рендер), какие-то подавляющему большинству игр (ui, физика), ещё какие-то нужны многим играм (навигация, сохранения, локализация, анимационная стейтмашина и т.д.) И все это имеет разные уровни сложности и разную степень проработаности, а так же допускают разные степени квалифицированности реализатора. Потому я хз что там делал конкретно поляк, а тот парень в явном виде спросил какой уровень квалификации требуется на данный момент чтобы повторить бородатую гташку, приведя в пример умного поляка. Ну я и ответил, что в общем-то небольшой, но широкий.
499 1022003
>>21959
Чтобы не пришлось разрезать, просто не склеивай его изначально. Например домики, деревья спавнятся по координатам, значит ты можешь просто по чанкам показывать только те что надо. Делать модульно и т.д. Полагаться на гридмапы. (Районы могут быть разными гридмапами повернутыми под разными углами, чтобы не было однообразно)
Ландшафт скорее всего heighmap, а это 2д текстура, которую можно автоматически легко нарезать на тайлы.
Во вторых, в крупной игре надо разносить визуал и коллайдеры. Лучше если это будут отдельно массив коллайдеров и отдельно массив мешей.
Алсо, может быть постоянно загружен какой то лоуполи вариант коллайдеров. Я видел в геншине на отдалении титан спокойно ходит сквозь пол, потому что у него просто коллайдер одна большая коробка-поляна, и только при приближении всякие скалы начинают учитываться. Аналогично с навигацией если она отдельно от физики.
А так наверняка есть и готовые аддоны для разрезания, их уже столько клепают в том числе нейросетками что я за всеми не слежу. В 3-ке все аддоны знал.
500 1022009
И так, годачеры, у меня к вам два вопроса:

1) Внимание на 1 видео. Вопрос, почему у меня пидорасит пропорции куба, когда он сбоку поля зрения? Пидорасит не только его, но и в целом картинку. Как фиксить?

2) Решил я короче использовать ресурсы для предметов. Типа удобно, модно, молодежно. Ресурс содержит ссыль на модельку glb. Модель и ее коллизия загружаются вот таким образом для каждого предмета на уровне:

var model = item_data.Load_item_model()
# Настройка меша
var new_mesh = Find_new_mesh(model)
%Item_MeshInstance3D.mesh = new_mesh.mesh
%Item_MeshInstance3D.transform = new_mesh.transform #
%Item_MeshInstance3D.material_override = new_mesh.material_override
# Загружаем коллизию
var mesh_aabb = %Item_MeshInstance3D.get_aabb()
var box_shape = BoxShape3D.new()
box_shape.size = mesh_aabb.size * 1.1
%Item_CollisionShape3D.shape = box_shape
%Item_CollisionShape3D.position = mesh_aabb.get_center()

func Find_new_mesh(node):
if node is MeshInstance3D:
return node
for child in node.get_children():
var result = Find_new_mesh(child)
if result:
return result
return null

Только вот некоторые модели проваливаются сквозь CSGBox3D (видео 2). При чем если их сначала заспавнить на RigidBody3D, то они не проваливаются через него (видео 3), а еще не проваливаются и через CSGBox3D, если их потом скинуть на него. Какая-то магия ебучая.
Дипотсосик посоветовал мне использовать ConvexShape вместо BoxShape3D. И это действительно помогает, но при этом полностью пидорасит коллизии других моделек.

Короче нахуй я вообще в эти ресурсы полез. Бля буду, лучший вариант - это тупа нахуярить сцен для каждого из предметов и настроить все индивидуально
500 1022009
И так, годачеры, у меня к вам два вопроса:

1) Внимание на 1 видео. Вопрос, почему у меня пидорасит пропорции куба, когда он сбоку поля зрения? Пидорасит не только его, но и в целом картинку. Как фиксить?

2) Решил я короче использовать ресурсы для предметов. Типа удобно, модно, молодежно. Ресурс содержит ссыль на модельку glb. Модель и ее коллизия загружаются вот таким образом для каждого предмета на уровне:

var model = item_data.Load_item_model()
# Настройка меша
var new_mesh = Find_new_mesh(model)
%Item_MeshInstance3D.mesh = new_mesh.mesh
%Item_MeshInstance3D.transform = new_mesh.transform #
%Item_MeshInstance3D.material_override = new_mesh.material_override
# Загружаем коллизию
var mesh_aabb = %Item_MeshInstance3D.get_aabb()
var box_shape = BoxShape3D.new()
box_shape.size = mesh_aabb.size * 1.1
%Item_CollisionShape3D.shape = box_shape
%Item_CollisionShape3D.position = mesh_aabb.get_center()

func Find_new_mesh(node):
if node is MeshInstance3D:
return node
for child in node.get_children():
var result = Find_new_mesh(child)
if result:
return result
return null

Только вот некоторые модели проваливаются сквозь CSGBox3D (видео 2). При чем если их сначала заспавнить на RigidBody3D, то они не проваливаются через него (видео 3), а еще не проваливаются и через CSGBox3D, если их потом скинуть на него. Какая-то магия ебучая.
Дипотсосик посоветовал мне использовать ConvexShape вместо BoxShape3D. И это действительно помогает, но при этом полностью пидорасит коллизии других моделек.

Короче нахуй я вообще в эти ресурсы полез. Бля буду, лучший вариант - это тупа нахуярить сцен для каждого из предметов и настроить все индивидуально
501 1022011
>>22009

>1) Внимание на 1 видео. Вопрос, почему у меня пидорасит пропорции куба, когда он сбоку поля зрения? Пидорасит не только его, но и в целом картинку. Как фиксить?


Братан, ты в игры-то играл? Это FOV. Указывается в настройках редактора и камеры.

Второй пункт лень читать, спать пойду.
image.png64 Кб, 428x90
502 1022020
>>22011
а как по мне, то выше 90-95 наоборот руинит иммержен, тк будто смотрю в перевернутый бинокль
503 1022037
>>22009

> Решил я короче использовать ресурсы для предметов. Типа удобно, модно, молодежно.


Тебе неудобно - не используй.

> Ресурс содержит ссыль на модельку glb. Модель и ее коллизия загружаются вот таким образом для каждого предмета на уровне:


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


А что если ресурс будет содержать ссылку на готовую сцену? Тогда тебе не надо было бы маяться всей этой еботнёй, которую ты набойлерплейтил.

Тебе никто не запрещает нахуярить сцен, настроить их индивидуально, а после этого использовать ссылки на сцены в ресурсах!

> @export var visible_object: PackedScene


...

> if visible_object: var vis_obj_instns = visible_object.instantiate()


> if vis_obj_instns is Node3D: spawner_node.add_child(vis_obj_instns)

1747555107465.png272 Кб, 897x673
ПЕРЕКАТ 504 1022040
505 1022045
>>22009
А почему ты думаешь что дело в ресурсе? Ты спавнил точно такие же объекты в сценах для теста? Какого размера коллайдеры объектов? Какой толщины коллайдер пола? Выглядит так, что они слишком мелкие, и просто успевают набрать большую скорость чтобы пробить коллайдер и пройти его не заметив. Советы тут стандартные -
1) не делать слишком мелкие коллайдеры. Пол можно сделать и 10-100 метров толщиной если не видно что под ним.
2) не спавнить объекты на огромной высоте, спавнить их в 1-2 см над поверхностью (найти рейкастом например). Или в более простой игре вообще только на уровне пола, а на зданиях запретить.
3) если таки нужна физика где могут набираться высокие скорости падения, включить CI (continous integration), хотя по идее это влияет на перформанс с каждым таким объектом.
4) возможно надо подобрать параметры safe margin, на которых объект уже считается столкнувшимся
5) Если объекты слишком мелкие, типа 1см, подумать над тем, чтобы отмасштабировать всю физическую часть игры раз в 10. Вот тут рекомендованные параметры физики >>1015240 →
Если пол слишком огромный, например километры, то подумать о разделении его на мелкие квадраты по 100м. но надо учесть проблему стыков плит. Насколько я понимаю ни в одном физ движке ее окончательно не решили, хотя и постарались сделать подпрыгивание на стыке менее заметным
Менять BoxShape на Convex в такой ситуации не нужно. Бокс - один из самых быстро рассчитываемых объемных коллайдеров (быстрее наверное только сфера), конвекс же это цикл по всем треугольникам-поверхностям и более тяжелые рассчеты. Теоретически может быть что более долгие рассчеты и стали мешать пролетать тонкий пол, если мое предположение верно
Что такое "конвекс пидорасит другие коллайдеры" без контекста - не понятно. В Хоппе куча домиков с конвекс коллайдерами и ничего не портится, можно скакать по всем крышам.

В твой код вникать лень, но смысл его существования немного ускользает. Ведь меш, материал и шейп коллайдера - это и так ресурсы, которые переиспользуются движком для всех объектов. Которая загружается всего единожды.
505 1022045
>>22009
А почему ты думаешь что дело в ресурсе? Ты спавнил точно такие же объекты в сценах для теста? Какого размера коллайдеры объектов? Какой толщины коллайдер пола? Выглядит так, что они слишком мелкие, и просто успевают набрать большую скорость чтобы пробить коллайдер и пройти его не заметив. Советы тут стандартные -
1) не делать слишком мелкие коллайдеры. Пол можно сделать и 10-100 метров толщиной если не видно что под ним.
2) не спавнить объекты на огромной высоте, спавнить их в 1-2 см над поверхностью (найти рейкастом например). Или в более простой игре вообще только на уровне пола, а на зданиях запретить.
3) если таки нужна физика где могут набираться высокие скорости падения, включить CI (continous integration), хотя по идее это влияет на перформанс с каждым таким объектом.
4) возможно надо подобрать параметры safe margin, на которых объект уже считается столкнувшимся
5) Если объекты слишком мелкие, типа 1см, подумать над тем, чтобы отмасштабировать всю физическую часть игры раз в 10. Вот тут рекомендованные параметры физики >>1015240 →
Если пол слишком огромный, например километры, то подумать о разделении его на мелкие квадраты по 100м. но надо учесть проблему стыков плит. Насколько я понимаю ни в одном физ движке ее окончательно не решили, хотя и постарались сделать подпрыгивание на стыке менее заметным
Менять BoxShape на Convex в такой ситуации не нужно. Бокс - один из самых быстро рассчитываемых объемных коллайдеров (быстрее наверное только сфера), конвекс же это цикл по всем треугольникам-поверхностям и более тяжелые рассчеты. Теоретически может быть что более долгие рассчеты и стали мешать пролетать тонкий пол, если мое предположение верно
Что такое "конвекс пидорасит другие коллайдеры" без контекста - не понятно. В Хоппе куча домиков с конвекс коллайдерами и ничего не портится, можно скакать по всем крышам.

В твой код вникать лень, но смысл его существования немного ускользает. Ведь меш, материал и шейп коллайдера - это и так ресурсы, которые переиспользуются движком для всех объектов. Которая загружается всего единожды.
506 1022046
>>22009
>>22011
Не забывайте что FOV некоторые игры указывают горизонтальный, а некоторые вертикальный. Годот использует вертикальный.
507 1022047
>>22046
Это я к тому, что числа размера "120" в fov годота вводить не надо.
508 1022108
>>21948
Начни с не таких амбициозных проектов. Просто змейку, потом какой нибудь топ-даун аля вампир сурвайлайк.
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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