Godot #67 1040245 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и фраз-триггеров!
Шапка: https://hipolink.me/godothread
Предыдущий: >>1030839 (OP)
Архивный: >>1026834 (OP)
2 1040270
В вашем движке возможен норм 3д графон, не пс1 пиксельпорно, а что-то на что не стыдно взглянуть?
4 1040323
>>0270

>что-то на что не стыдно взглянуть


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

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

Также учитывай, что основная работа при создании трёхмерной графики в самом меше и его текстурах, которые никак от движка не зависят. Качественно выполненная моделька будет и на движке из 90-х достаточно прилично смотреться. Вот Max Payne разрабатывали в конце 90-х, а графически он рвёт большинство недавних попыток в "фотореализм" - поскольку новые попытки лепят из говна и палок, собранных с интернета, а Max Payne делался под конкретный стиль с кастомными фотографиями. Получилось бы улучшить Max Payne с помощью новомодных алгоритмов? Возможно. Но если твои модельки и текстурки изначально говно, никакой новомодный алгоритм тебе ничем не поможет.
5 1040327
>>0323
Стилизация > Технический уровень графики.
Один из самых наглядных для меня примеров графоуни третего варика. До ремастера даже. И ремастер ему без нужды был, т.к. этот графон натянутый на 1.5 полигона смотрелся одинаково заебись тогда и сейчас, не старел вообще.
6 1040329
Здравствуйте, это же ведь тред взаимопомощи, так как мне создать игру не умея создавать игры?
7 1040339
>>0327

>Стилизация > Технический уровень графики


И это тоже. Max Payne нуарненько стилизован. А современные "фотореализм" игры часто не имеют определённого стиля - тупо сборка чужих ассетов.

>>0329

>как мне создать игру не умея создавать игры?


Научиться создавать игры, естественно. Вот так:
https://docs.godotengine.org/ru/4.x/getting_started/first_2d_game/index.html
8 1040340
>>0329
Первое, что ты должен понять, это то, что твоя игра будет успешной только если ты сплагиатишь успешный геймдизайн, игровые механики, визуальный стиль. Когда определился с тем, какой продукт ты готовишь игрокам, начни искать гайды по разработке нужных механик, готовые ассеты и скрипты, а также используй нейросети для поверхностных вопросов по движку и работе с ним.

Если нужно поконкретнее, вот тебе план действий:
1. Скачат и установил движок
1.1. создал проект
2. Чатгпт, как мне %вопрос по движку%?
3. Экспорт проекта
4. profit

мимо доделал 0 игр 😎
9 1040343
>>0340

>будет успешной только если ты сплагиатишь


Что и у кого сплагиатил данный шедевр на Godot?
https://store.steampowered.com/app/1388770/

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


Именно так рождаются мёртвые игры на дне Steam: абсолютный новичок делает свой первый игровой проектик, рассчитывая что-то с него заработать, и, естественно, ничего с него не зарабатывает. У всех успешных геймдевов был какой-то опыт "в стол", за чрезвычайно редким исключением. Без практики на "игрушечных" проектах делать "серьёзно" не выйдет.

>нейросети для поверхностных вопросов по движку


>Чатгпт, как мне %вопрос по движку%?


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

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

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

Так что пока лучше пользоваться классическими туториалами, руководствами пользователя и т.д. Естественно, бывают плохие туториалы. Но плохие зарабатывают негативные отзывы других людей, в отличие от чата с нейросетью, который приватный и не контролируется знающими людьми со стороны (хвалёный RLHF может научить нейронку тщательно вылизывать задницу пользователю, с чем оказалось очень сложно бороться даже лидерам LLM рынка, от галлюцинаций он не избавляет и может их добавить).

>мимо доделал 0 игр


Мог и не писать очевидное.
10 1040344
>>0343
Я постоянно пользую гпт, скорее как собеседник и быстрая напоминалка всякого. Но именно с годотом галлюцинации там адовые. Вплоть до того, что синтаксис гдскрипта стабильно игнорируется и пишется какой-то видоизмененный жс или си. Ну и самая стандартная вещь - выдумываются возожности, несуществующие функции всякие, и это может быть до бесконечности с одной и той же фичей. Спрашиваешь, гпт врет, переспрашиваешь уточняя что вот тут ты пиздишь такого нет, гпт выдает "оооой, перепутал" и начинает галлюцинировать по новому кругу. Чаще по тем же вопросам, что в гпт отправляются, можно достаточно быстро найти ответ в гугле. Хотя всегда есть шанс, что проблема слишком специфична.
И в целом все же от нейронки больше пользы, чем вреда, если относиться к ней скептически. Рефакторит говнокод ниче так, быстро. С другими нейронкамми может будет лучше.
errorBullshit.mp4632 Кб, mp4,
1344x720, 0:23
11 1040358
Всем спасибо за помощь! Проблемы растут как снежный ком, и даже там, где их ну совсем не ждешь. Тут для ее описания записал видик, получился почему-то шакальным, но там в целом видно. Ошибка Parse Error: Mixed use of tabs and spaces for indentation. ГугОл говорит, что ошибка может быть при вставке копированного кода. Но как видно (надеюсь), я ничего не вставлял.
12 1040365
>>0358

> и даже там, где их ну совсем не ждешь.


У тебя кстати видео не грузится.
13 1040367
А перед созданием игры мечты нужно нужно иметь опыт в программировании? Я в компутерах и кодах энтих ваших не разбираюсь... Нужно книжки вумные читать или на сухую врываться?

Посоветуйте хорошие источники информации для первичного ознакомления с программированием, чтоб хотя бы понять устройство движка, того что я печатаю и почему всё это работает.
14 1040368
>>0358

>Mixed use of tabs and spaces for indentation


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

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

>>0365
Это ошибка кодировки в браузере, можно скачать и посмотреть видео в нативном плеере. Он какой-то нестандартный рекордер использовал, видимо. В метаданных куча явно лишней информации типа 'is_ai_video:0, is_ai_music:0", кого этим обманешь?..
15 1040369
>>0367

>игры мечты


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

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

Если английский знаешь, вот интерактивные уроки, основанные непосредственно на GDScript, там всё объясняется с основ и можно сразу попробовать:
https://www.gdquest.com/learn-to-code-from-zero/
Без английского будет тяжелее учиться геймдеву...

Ну и в целом. Если ты не умеешь искать в интернете информацию, то далеко ты не уедешь. Все основы находятся в поисковиках легко, по крайней мере, на английском языке всё ищется. Каких-то секретных знаний на самом начальном уровне нет. К тому же у разных людей разные особенности восприятия новой информации... Что одному - хороший урок, тому может вообще быть непонятно, поэтому много обучающих материала в самых разных форматах и стилях...
16 1040374
>>0367
Судя по туториалам - не нужно, их часто совсем нулевые записывают, но ооооочень приветствуется. Сам же будешь тупить над многими вещами без базы, многое будет выглядеть магией. Но непроходимым препятсвием это не является. Ну и движкописательство и код для игры это не одно тоже, для второго достаточно знать что движок умеет, нахрена и как, а не быть в состоянии вышку защищать по этой теме.
Годот из тех технологий, который изи ту лерн, хард ту мастер. Как и остальные движки наверно, чем больше будешь погружаться тем больше головняков и нюансов, но на старте он будет выглядеть типа "я только подумал а он уже все сделала ахуенна".
1708657108747.webm1 Мб, webm,
1920x1080, 0:18
17 1040376
18 1040381
>>0344
Неправильно ты, дядя Федор, нейронку юзаешь. Ты ее вспоминать(галлюцинировать) заставляешь, а должен давать ей пример из справки годота и требовать адаптировать под твою задачу.
19 1040390
>>0381
Когда есть достаточный пример не нужны нейронки.
20 1040436
>>0369
ГДКвест база. И официальные туториалы из документации годота.

>>0344
Там в гпт кстати завезли learn mode - рекомендую.
21 1040471
>>0376
Реймарчинг? Нойс.
image.png151 Кб, 2560x1392
22 1040480
>>0368

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


Что-то я не нашел такой настройки
23 1040495
>>0480
Расширенные настройки...
24 1040509
>>0329
Делай только чтобы делать, и не важен результат. И тогда ты осознаешь что тебе принадлежат все закрытые ворота, все открытые дороги, но тебе не нужно это, в пустоту направлен взгляд.
25 1040576
>>0509
И когда позади меня не останется открытых мостов, они оглянутся и спросят меня, "что ты сделал?" А я скажу "Я сделал Игру".
image.png11 Кб, 286x107
26 1040581
А итч вообще учитывает оценку игры при ранжировании в выдаче? Просто кнопка "оценить" так далеко запрятана будто итч не хочет чтобы люди рейтинг ставили.
m2-res1080p.mp414,4 Мб, mp4,
1920x1080, 0:28
27 1040602
Новый Батлфилд 6 показал свой официальный редактор пользовательских карт. На Годоте.
1753993075238.jpg101 Кб, 703x528
29 1040609
>>0603
>>0602
Это... это... я... ебааать! Это как ваще?
30 1040612
>>0602
А я думал, че за интерфейс такой знакомый...
31 1040621
>>0612
Это уже малость пугает.
С одной стороны хорошо, что годот так беспощадно ебет.
С другой - внимание к нему от всякие контор пидорасов печалька. Купят и прикроют.
32 1040622
>>0621

>Купят и прикроют.


С опенсорсом это не так работает. Смотри историю с редотом/баззитом и кто там еще форкался.
33 1040626
Зашёл написать Годот круто 3 раза, юнети сосать
34 1040629
>>0622
Опенсурс зависит от разработчиков. У Godot всего несколько ключевых людей, тесно друг с другом взаимодействующих, остальные приходят и уходят. Теоретически, большая компания может выкупить разработчика, пообещав ему горы золотые и потом загрузив работой на 24/7/365... Кто будет движок разрабатывать?.. На практике, конечно, разработкой занимаются в основном идейные люди, вряд ли они согласятся работать на корпорацию всё своё время.

Также есть риск, что основные разработчики просто поссорятся из-за какой-нибудь фигни и разойдутся. В опенсурсе периодически такое случается. В Godot уже минимум одна такая драма произошла (после 2022).

Также движок - сложный агрегат из самых разных компонентов. К примеру, Godot Physics 3D в таком печальном состоянии долгое время находится из-за отсутствия человека, разбирающегося в его коде. Случайный C++ программист с улицы не сможет моментально разобраться в коде и сделать что-то существенное хотя бы для одного компонента.

Так что риск всегда есть. Движок не становится по настоящему бессмертным только из-за опенсурса. Недостаточно иметь исходники чего-то, что лежало совершенно без движения много лет. Особенно если начнутся изменения в айти, связанные с бумом AI (процессоры могут поменять, и весь софт под них переделывать придётся, как один вариантов).
35 1040633
>>0609

>Это как ваще?


Battlefield на Frostbite, а это закрытый движок. У них, очевидно, есть свои инструменты для создания карт, однако, пользоваться ими наверняка сложно и будет сложно релизнуть урезанную версию для мододелов. Возможно разработать отдельный редактор, но зачем изобретать велосипед? Godot хорошо подходит как фундамент для редактора пользовательских карт - дружелюбный интерфейс, модифицируемость и MIT лицензия, позволяющая скрывать модификации. Конвертировать tscn в какой-то закрытый формат стороннего движка проще, чем изобретать новый или ограничивать внутренний редактор карт.

Так что они просто сэкономили средства компании, задёшево получив конкурентное преимущество (мало дорогих игр имеют проработанный редактор карт, т.к. казуальный игрок всё равно не будет пользоваться).
36 1040655
>>0436

>Там в гпт кстати завезли learn mode - рекомендую.


А шейдеры он может научить писать?
37 1040656
>>0655
Если бы ты хотел учиться, ты бы выучил шейдеры по статьям о GLSL на английском языке. Тебя бы ничего не остановило.
38 1040657
>>0656
Я до их изучения не добрался еще, но у меня в башке крутится что такую кажущуюся сложной тему (по крайней мере для меня это сейчас магией выглядит) хорошо бы сразу начать учить по чему-то самому удобному из возможного. Поэтому спрашиваю о гпт.
39 1040673
>>0629
На практике, когда припрет и когда проект востребованный, люди находятся. Сейчас вон даже древнючие иксы закопать не могут не смотря на все усилия - нашелся некромант, взявшийся пилить дальше. А с годот физикс другая история. Там большую часть времени ждали когда Джолт допилят, поэтому все воспринимали занятие годот физиксом как бесполезное - все равно ж скоро заменят.
40 1040749
>>0673

>ждали когда Джолт допилят


Это уже потом. До джолта было много багов, которые фиксить было просто некому - единственный умелец потерялся из-за того, что нашёл какую-то работу, если ничего не путаю. Это было несколько лет назад. Все использовали Bullet просто потому что багов меньше.

>когда припрет и когда проект востребованный


Увы, Godot востребован в основном у нищих 2D инди. Беженцы с юнити хотят всё готовое и не могут в C++.

>>0657

>для меня это сейчас магией выглядит


>>0655

>шейдеры научить писать


Всё минимально необходимое в доках:
https://docs.godotengine.org/en/stable/tutorials/shaders/index.html
Вкратце, для многих простых эффектов достаточно запомнить и понимать API. И ещё усвоить факт, что видеокарта выполняет твой код в несколько сотен независимых потоков как минимум, поэтому твой код ограничен локально доступной и заранее полученной информацией - обычно это разнообразные текстуры. Множество динамических эффектов - это "sin(TIME)". Базовая геометрия и тригонометрия очень помогут. Постарайся избегать ветвления в коде (if) и лишнего использования ALPHA вывода (полупрозрачность). Остальное проще всего усвоить на практике, тупо редактируя чей-то код и наблюдая эффект на экране.
41 1040759
>>0756 (Del)
Никто на такое не жалуется, один ты, значит что? Проблема на твоей стороне.
42 1040771
>>0764 (Del)
Логи лежат в юзердате проекта, над котором ты работаешь. Либо можешь через консольку запустить, дождаться виса и посмотреть чего напишет.

>>0766 (Del)

>Try enabling Single Window Mode in the editor settings (Interface → Editor)

43 1040774
>>0756 (Del)
Псст, парень, всегда есть 3-я версия.
44 1040779
>>0774
>>0771
Годаны, не кормим, молча репортим.
45 1040785
>>0779
Не, я больше не поддерживаю вахтерство.
46 1040791
>>0778 (Del)
Запускай через console ярлык. И в cmd окошке будет видно почему. В линуксе тройка например вылетает по монокрашу при рандомном ребилде проекта раза через 5-15 ребилдов. На винде 4 и 3 нормально работают у меня и на красных, и на зеленых и на синих. Какая версия кстати?
47 1040795
>>0778 (Del)
Какия видеокарта? Сколько оперативки? Не засунул ли ты в тайлмэн 16К текстуру? Справа сверху смени Forward+ на Compability и перезапусти редактор
48 1040796
>>0795

>тайлмэн


тайлмэп
fix
49 1040812
>>0756 (Del)
Такие фризы + краши обычно являются ошибкой пользователя (написал while true в коде), но в редких случаях это действительно внутренний баг движка.

Что делать, если это твоя ошибка:
1. Локализовать проблему, запуская проект по частям, удаляя лишнее из тестовой сцены, добавляя до краша. Обычно это не занимает много времени.
2. Внимательно изучить локализованную проблему. Например, "добавляю текстуру в тайлсет - краш, но как импортируется эта текстура, сколько памяти требует?".
3. Искать решение в интернете по ключевым словам, например, "Godot crash when adding tileset texture".

Что делать, если это ошибка движка:
1. Поискать отчёты об ошибках на github.com.
2. Подготовить минимальный проект, на котором воспроизводится проблема, запомнить свои шаги.
3. Собрать журналы ошибок, если есть (%appdata%).
4. Ознакомиться с правилами отчётов об ошибках.
5. Написать отчёт, добавив минимальный проект.
50 1040827
>>0815 (Del)
Анончик, никто не держит. Есть дефолд с луа который реально похож на питон, а не косит под него как гдс, есть кокос с js. Выбор движков есть. В конце концов можно освоить нормальный язык и взять платный движок. У тебя или дрова не стоят, или стоят но кривые. Лог ты не показываешь, ни у кого годот снихуя не падает.
51 1040837
>>0827

>луа который реально похож на питон


Похож по низкой скорости выполнения? Lua больше напоминает языки семейства Pascal, только более динамический. Много совпадающих решений.

>ни у кого годот снихуя не падает


Да. После всех багфиксов 4.x стабилизировались.

>>0815 (Del)

>моя ошибка - выбрать годот


А чем был мотивирован этот выбор, если не секрет? Возможно, твою игру действительно проще будет разработать на каком-нибудь тонком фреймворке. Рассматривал использование PyGame или RenPy?

>помогло


Возможно, у твоей GPU слабая поддержка Vulkan?

Характеристики компьютера ты так и не написал.
52 1040847
>>0815 (Del)

>Вот это помогло.



>С версией GeForce Game Ready 576.88 участились случаи


возникновения черного экрана

Попробуй откатить драйвера на более раннюю версию, скорее всего проблема в них, хуанг может прогревать обладателей более старых видеокарт на покупку новых
53 1040849
>>0838 (Del)
Можешь ещё попробовать удалить папку .godot в папке с проектом и вернуть Forward+
54 1040855
>>0853 (Del)
А для пиксельной графики 3-ка тоже лучше
55 1040857
>>0827
А мне луа никогда не нравится. Больше на руби похож, который я терпеть не могу с его эндами всратыми. ГДСкрипт для меня, неиронично, самый беспроблемный язык для геймдева, никакого мозгоебства и хитростей, пришел и написал без необходимости тратить 10 лет на становление сенсеем как в плюсах.

В этом плане Го еще приятный. Но для геймдева увы не взлетел. Я сделал пару игр на его ebiten движке и перекатился на годот.
56 1040870
>>0837

>Похож по низкой скорости выполнения?


По своему уебищному атрибутному ооп. Синтаксис - мелочи.
>>0838 (Del)
У меня 3070ти лаптоп, годот 3 и 4 работает как часы (не считая того что в линуксе тройка падает с monocrash) с дровами из драйвербустера 2022 года под виндой. Всё шикарно работает всё режимы. Посмотри еще может в логах системы есть чето интересное, например внезапно умирает видеодрайвер или годот стартует на встройке по какой-то причине, хз.
57 1040875
Есть ли органика у бесплатных играх в ВК играх (аналог стима)
58 1040877
>>0875
Я не знаю как ответить на этот вопрос.
59 1040938
Там настоящая студия настоящих разрабов перешли на Годот, напилили в него кучу аддонов, поют движку дифирамбы https://youtu.be/1OzmWcorOzw
60 1040980
>>0938
Сначала подумал что это те которые Unrailed 2. На годот много кто переходит, так-то.
61 1040990
>>0980
Тру инди это только опенсорс. Потому что какое же это инди, если движок подают платный, за который надо мзду сплатить, да ещё и кодкуколд соблюдать.
62 1041004
>>0938
>>0990
Все так. Самое удобное - возможность модифицировать сам движок, а с годотом это делается удивительно легко. Рекомендую всем ИТТ модифицировать движок.
zi8fPe.jpg117 Кб, 794x447
63 1041068
Товарищи, как сделать в 3д проекте, полное отключение филтрации текстур? менял и в настройках, и в импорте после чего переимпортировал все ресурсы, все четно, движок ругается мол невозможно, вручную каждый материал? слишком геморно, делаю карты через тренчбрум, знатоки кто напарывался на подобный геморой?
64 1041082
>>1068
Я на тройке, не знаю меняли ли это в четверке, но я сделал себе пресеты импорта - работает.
65 1041086
>>1068

>движок ругается мол невозможно


Скопируй/скриншоть сообщение об ошибке сюда.

>делаю карты через тренчбрум


В каком формате/через какой аддон импорт?

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

Если аддон - смотри в настройках аддона...
66 1041115
>>1086
та просто через obj, он уже имеет свои материалы, из текстур в папке, собственно тренчбрум и настроен оттуда их юзать, чет щас голов не выдало, видать надо бы снести билд и заново загрузить, но по смыслу что то вроде "отключение фильтрации не возможно для текстур которые используют 3д обьекты"
>>1086
67 1041116
>>1068

> каждый материал? слишком геморно,


Зачем вручную? Тулскрипт напиши.
69 1041118
>>1116
я о в принципе текстурировании вручную хотя и то незнаю позволит ли это избежать проблемы
70 1041142
>>1115 >>1117
Погуглил - в 4.x нужно менять это каждому материалу:
https://github.com/godotengine/godot-proposals/issues/5228
Опция в настройках - для 2D, а для 3D - см. материал.

>obj, он уже имеет свои материалы


Эти материалы нельзя изменять? Замени внешними.

P.S. Лучше переключи интерфейс Godot на английский. Во-первых, все основные материалы в геймдеве - на английском, все термины, обсуждения, багрепорты. Поэтому даже русский в UI геймдев программ (Godot, Blender и т.д.) использовать не рекомендуется - я все программы на английский переключаю. Во-вторых, мы находимся на русском форуме - в других языках разбираться мало кто может здесь, поэтому понять содержимое скриншота большинству будет сложно.

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

Касается всех скриншотов в треде не на английском.
71 1041144
А, ещё кое-что:
>>1068

>делаю карты через тренчбрум


>>1115

>просто через obj


Никогда не пробовал TrenchBroom, там есть какие-то параметры экспорта в obj? В документации онлайн ничего найти не получается по этому вопросу...

Почему не использовал Qodot?
https://qodotplugin.github.io/docs/materials.html
Вроде бы можно настроить материал по умолчанию.

Если хочешь продолжить использовать obj:
https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_3d_scenes/import_configuration.html#extracting-materials-to-separate-files

>Extracting materials to separate files


>You want to use a different texture filtering mode, as this option is configured in the material since Godot 4.0 (and not in the image).


>To be able to modify the 3D scene's materials in the Godot editor, you need to use external material resources.

72 1041151
>>1142
В 3-ке это было свойство текстуры, а в 4-ке стало свойсто CanvasItem или материала, вроде как с мотивировкой - чтобы одно изображение как ресурс было загружено один раз но могло выводиться с разными режимами фильтрации.
73 1041153
>>1116

>Тулскрипт напиши.


Ты бы пример кода написал, если знаешь.

Я вот знаю как материалы редактировать через API, неоднократно делал это в коде. Но как в его случае реализовать сохранение материалов отдельно от импортированного obj? Писать отдельный скрипт ResourceFormatLoader, что будет отвечать за obj?
https://docs.godotengine.org/en/stable/classes/class_resourceformatloader.html
Выглядит сложно - я вот не знаю, откуда начать...

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

>>1151
Да, но общей настройки для всех текстур в 3D нет.
74 1041157
>>1153

>но общей настройки для всех текстур


Потому что это больше не свойство текстуры.
75 1041166
>>1157
Хорошо, я вижу, ты любишь докапываться до слов:

>общей настройки для всех МАТЕРИАЛОВ в 3D нет.


Так лучше? Доволен точностью формулировки?
sticker.webp25 Кб, 512x512
76 1041171
ну, спасибо за помощь, попробую что-то с этим сделать, насчет языка сори, но блин ЛЕНЬ учитвая то что сами по себе параметры те же
77 1041187
Автообновление игры.jpg101 Кб, 830x685
78 1041195
>>0245 (OP)
Что думаете о том, чтоб игра сама себя обновляла? Технически, игра на Godot может установить себе обновление из интернета без перезапуска - нужно использовать возможности .pck-файлов (всё есть в документации движка). Есть только одна проблема - теоретически, если кто-то украдёт/выкупит сервер обновлений, он сможет закинуть вирусы игрокам...

Какой хостинг будет самым надёжным? Достаточно размещать "холодные" файлы с HTTPS доступом, т.е. скриптовать на сервере совершенно не обязательно. Кажется, некоторые программы используют GitHub - непонятно, разрешено ли его так использовать? Есть вероятность словить бан за хостинг .pck файлов без исходников? Если нет, то было бы удобно, наверное.

Игры, разумеется, у меня нет - обновлять нечего.
79 1041201
>>1195
С гитхаба - разрешено. Туда и бинарные блобы льют, и линуксовые пакеты, и экзешники, и шелл-скрипты, которые запускаются на серверах напрямую с гитхаба.

Есть другая проблема. Кто-нибудь заметит скачивание с хуй пойми откуда и поднимет визг, а ты доказывай что не верблюд. Я в одну игру встроил аналитику с game-analytics, и то недовольный пробежал, не смотря на то что сервис известный, с говорящим доменом и его использование строго ограничено аналитикой.
80 1041204
>>1195
Ты только что все лаунчеры.
81 1041209
>>1201

>разрешено. Туда и бинарные блобы льют


Там и малварь найти можно, но легально ли? Просто огромная разница между "так делают" и "разрешено".

>заметит скачивание с хуй пойми откуда


Можно ведь в GUI встроить два окна:

>Check updates (internet required)? [Yes/No/Never]


>Game update 2 found. Download? [Yes/No/Skip]


Многие игры вне стима качают апдейты сами себе.

>Я в одну игру встроил аналитику


Это другое. Скачивание обновления - HTTP(S)-запрос к файловой помойке, ему нужно только IP адрес спалить. "Аналитика" подразумевает сбор данных пользователя: характеристики компьютера, дата запуска игры, время игровой сессии, сколько раз игрок нажал кнопку "пук", сколько мл спермы накачал внутрь NPC "медсестра", и прочее подобное. Далеко не все хотят эту информацию передавать рандому на рассмотрение, даже если игра обещает "анонимизировать" данные (т.е. будет только количество спермы, но не с какого IP она поступила). В некоторых странах введены ограничения, по которым требуется разрешать отказ от сбора аналитики в ПО. В рунете сбор аналитики называют "анальный зонд", в остальном интернете это сравнивают со spyware:

>Audacity has faced accusations of being spyware due to its new data collection practices after being acquired by Muse Group, which may involve sharing user data with third parties and governments.


Так что бугурт твоего игрока вполне оправдан, если ты забыл предупредить или встроить в игру окно отказа.

>>1204
Лаунчер обычно отдельно от игры существует. Если не перекатываться на новый Godot, лаунчер может быть компонентом самой игры, даже без перезапуска игры. Вопрос в том, есть ли у этого подводные камни кроме украденного мошенником доступа к файлопомойке с последующим заливом туда какого-нибудь вируса.
82 1041216
>>1209

>Скачивание обновления - HTTP(S)-запрос к файловой помойке, ему нужно только IP адрес спалить


Вообще не обязательно, можно что угодно отправить. Как минимум можно и даже нужно не разрешать скачку без авторизации игрока.
83 1041229
>>1216

>можно что угодно отправить


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

>нужно не разрешать скачку без авторизации


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

Если у тебя платная игра и ты боишься пиратства, то пираты в любом случае один раз купят игру, сломают её защиту и введут другой IP адрес для встроенной системы обновлений, а твои файлы будут хостить на своём хостинге. Как-то так пиратские сервера к ММО-играм и создаются - берётся клиент и модифицируется, чтобы обращался к самодельному пиратскому серверу, после чего игра полностью отвязана от оригинальной инфраструктуры и ты над ней никакого контроля не имеешь.

Если игра - бесплатный синглплеер, и интернет нужен только для обновления, то лучше не ставить игроку лишних преград и позволять обновление без авторизации. Зачем игроку авторизироваться в игре для её обновления, если он может скачать эту же игру с твоего же сайта без авторизации?
image.png24 Кб, 284x341
84 1041265
>>1209
Audacity это опенсорс, от него всегда требуют этических стандартов выше, чем от проприетарщины. Плюс там вопрос к даташарингу. А по факту аналитику собирают все. Винда, линукс, браузер, двач, итч и игра, которую ты скачал с итча.

Зато аналитика в игре здорово помогает находить и фиксить баги. Потому что средний багрепорт от игрока это пык мык, если он вообще долетает.
85 1041403
>>1265

>аналитику собирают все


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

>помогает находить и фиксить баги


Как? То, что у тебя 99% игроков не прошли третий уровень, не значит, что третий уровень багнутый. Может, твоя игра невыносима из-за фоновой музыки, которая начинает бесить через минуту. А может твою игру в 99% случаев запускают малолетки и не могут решить головоломку, которая не для них предназначена. Но скорее всего просто управление кривое, к которому ты уже привык.

>багрепорт от игрока


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

Зато багрепорты пишут самые заинтересованные игроки. Если игроку плевать на игру, он её просто бросит и не вернётся. Если он решил уделить время на багрепорт - он явно заинтересован. Если ты не даёшь писать багрепорты вручную или не отвечаешь на них, ты отстраняешься от игрока, как бы говоришь ему "твоё присутствие здесь не имеет значения, просто развернись и уходи". Имхо.
86 1041405
Как сделать так чтобы говно в корзинку падало? Корзинку как двигать у меня есть скрипт, а вот говно просто сравнится в точке но не падает.
87 1041422
>>1412 (Del)
Что ок?
88 1041628
>>1405
Лучше бы про мультиплеерные кнопки спросил.

Ну а так - добавь физику своему говну, или в процессе двигай сам. Или сделай игру про говно в невесомости.
89 1041836
>>1405

>characterbody2d


>govno.gd



physics_process():
velocity.y = 200
move_and_slide()
90 1041873
>>1628
>>1836
Работает, а как теперь сделать чтобы говно в тарелке оставалось когда её двигаешь а то оно просто падать продолжает.
91 1042020
>>1873
Чел, ну харош. Тут тебе не враги сидят, чтобы засирать тред троллингом, тут такие же аноны как ты, которые пытаются что-то сделать. Если ты серьезно это спрашиваешь - пройди хотя бы официальные туториалы и вопросы отпадут. Иначе прекращай троллить тупостью.
image.jpg51 Кб, 818x635
92 1042222
>>1405 >>1873
Можно вот так, если я правильно понял задачу. Но учитывай, что это будет не совсем реалистично. Для реалистичной физики придётся много возиться с поведением RigidBody... сложно описать на словах. Наиболее сложной будет физика мягких тел...

Перепутал цвета в правом верхнем углу...
image.jpg9 Кб, 300x300
94 1042247
Что посоветуете для шутера от третьего лица?

Я вот не могу понять, как сместить камеру за плечо. Вращается странно, если точка вращения - голова... Рейкастить из камеры тоже как-то неловко выходит. Получается только если камера строго за затылком.
95 1042261
>>2247
Ну ты точкой вращения торс тогда делай, вообще тебе лучше потыкать разные шутеры от третьего лица и посмотреть внимательно как себя ведёт там камера
96 1042277
>>2261
Дык, около 18 лет в 3D игры от третьего лица играю, непонятно, почему не получается. Знаю, что камера смещается в некоторых играх при прицеливании, но хотелось бы избежать такого отдельного режима...
97 1042285
>>2277
в большинстве классических шутеров камера в районе солнечного сплетения
image.png203 Кб, 1088x672
98 1042286
что-то такое.png20 Кб, 865x857
99 1042294
>>2261

>точкой вращения торс тогда делай


>>2285

>камера в районе солнечного сплетения


Я не понимаю, что это меняет на практике?

Камера справа вращается как-то странно...
100 1042313
>>2247
В любом TPS туториале тебе покажут как настроить ноду SpringArm3D с камерой
101 1042322
>>2313

>как настроить ноду SpringArm3D с камерой


Да я настроил её в 2020 и с тех пор юзаю. Но если её немножко сдвинуть вбок, получается какая-то тупая карусель, а не камера как в обычных TPV играх.

Я об этой проблеме давно знал, но забил и вообще не задумывался. А сейчас захотелось сделать пыщ-пыщ палку-стрелялку и вопрос прицеливания встал остро.
102 1042342
>>2322
Я думаю что у тебя есть некий eye_direction:Vector3 у головы, т.е. направление в котором смотрит голова, а камера должна делать что-то типа look_at(eye_direction * 1000), в теории должно работать, т.е. камера не смотрит так-же как и голова, она смотрит в некую точку на каком-то растсоянии в направлении, куда смотрит голова
103 1042350
>>2322
Хотя забей на >>2342, я не знаю что у тебя есть, как ты хочешь сделать. Ты бы привёл пример игры и показал что у тебя есть для начала.
104 1042357
>>2342
По идее, должно быть наоборот. Это игрок управляет камерой, а персонаж на это как-то реагирует. Суть проблемы во вращении камеры по орбите вокруг персонажа, чтоб это было удобно для прицеливания.

>>2350
Не узнать олдфага треда, эх...

Ладно, потом видео запишу, когда ещё раз попробую.
105 1042364
Кто-нибудь знает что там с тройкой и новой версией гугл-апи? Гугл обновил требования до 35 версии апи, в тройке только 34. В прошлый раз они незадолго до гугловского дедлайна минорную версию выкатили с нужным апи.
106 1042368
>>2364
Нет, впервые слышу. А что это такое, гугл АПИ?
107 1042376
>>2368
Уровень апи, которое твое приложение использует в гугл-плее. Гугл его стабильно повышает раз в год, если ты отстал то идешь нахуй из гугл плея. Даже если твое приложение не делает ничего нового, ты обязан ежегодно пересобираться под новый апи.

В яблочном аппсторе такая же тема, только там еще деньги плотишь каждый год.
108 1042378
>>2376
Заебись конечно, маршируем строем по кругу.
109 1042380
>>2364

>в тройке только 34


В смысле? Ты ж в настройках экспорта можешь указать версию API. По идее, если у тебя уже установлена Android SDK нужной версии на компе, то от Godot требуется только передать ей запрос на сборку нужной версии, а этот запрос формируется из настроек экспорта. Файлы шаблонов экспорта, по идее, менять никак не нужно, если ты не пользуешься новыми функциями из новых API.

Но это моё понимание проблемы, я могу ошибаться. Со сборкой на Android я только поверхностно знаком, и насколько могу понять, требование к повышению уровня API гугл выдвигает в рамках программы запланированного устаревания смартфонов, планшетов и т.д. Чтобы пользователи не могли скачать и установить на свой древний смартфон новую игру, которая технически пошла бы, но гугл этого не хочет. Почему не отключают со стороны маркета? Наверное, чтобы пиратские сайты не могли распространять для устаревших устройств... Жестокая практика, конечно, но ничего не поделаешь, пока гугл монополист на этом рынке.
110 1042382
>>2380

>Файлы шаблонов экспорта, по идее, менять никак не нужно


В крайнем случае - можно самостоятельно из исходников пересобрать.
111 1042392
>>2380

>Ты ж в настройках экспорта можешь указать версию API


Там варнингами сыпет, но гуглу я пока не заливал такой билд. Сейчас попробую - посмотрю съест ли его.
112 1042393
>>2392

> Там варнингами сыпет


А мы тут значит все телепаты, варнинги твои и так уловили уже, скриншотить не надо.
113 1042399
>>2393
О, значит ты уже знаешь что гугл съел билд без вопросов, провел свои автоматизированные чеки и я ему на публикацию отправил. Поднял апи до аж 36. Сначала хотел до 37, но им он подавился, сказав что слишком высоко. Ну, на пару лет хватит.

Спасибо.

А годоте варнинги были про "API version N is untested and unstable".
ы.jpg88 Кб, 582x582
114 1042400
>>2357

>когда ещё раз попробую


Стоп, у меня несколько версий одной камеры в разных проектах...
115 1042407
Я устал делать игру
116 1042443
Хочу сделать типа когда создаётся инстанс картинки вместе с ней идёт её id. Ну типа чтоб потом по этому id с ней манипулировать. Проблема в том, что я чёт не понимаю как это лучше сделать.

Ну допустим в сцене есть 10 картинок. Как мне узнать у какой пикчи какой id лучше всего? Есть идея использовать не id, а делать инстанс сразу в массив и использовать индекс, но звучит как-то не очень. Типа а если я захочу одну картинку в id0, а вторую в id99 этож мне тогда весь массив забивать калом. Короче нужен совет.
117 1042444
>>2443
а ты не массив хуярь, а словарь

var gay_pictures = { id1 : picture1, id2 : picture2, ........ } или наоборот picture : id
118 1042445
>>2444
О. Звучит умно. Спс.
image.png8 Кб, 362x106
119 1042454
Короче пилю игру. Есть картинки персонажей. Хочу сделать, что когда картинка появляется, то она как бы из прозрачной в полную идёт за два фрейма. И наоборот когда исчезает такой же эффект. Такой типа Fade in/out у картинок. Сами картинки буду инстансами делать.

Короче добавил AnimationPlayer и в него засунул дорожку анимации на оригинальную (Char_Picture) ноду от которой и буду инстансы делать. Вопрос как сменить на какой ноде будет играть анимация. Как сменить конкретно вот этот вот "Char_Picture" на другую ноду.

Или может есть вообще другой способ и я какой-то хуйнёй страдаю?
120 1042461
>>2454
Чем тебе твины не угодили? И почему именно по два фрейма? Ты видел эти два фрейма?
121 1042464
>>2461
Хуясе ебать. Первый раз про них слышу. Нагуглил, вроде оно. Спасибо. Два фрейма от пезды взял потом сделаю как надо.
122 1042491
>>2222
Спасибо чел
123 1042528
Какую библиотеку посоветуюте для написания сложной диалоговой системы, как в Аркануме? Для версии 4.4.
124 1042529
>>2528
У меня есть свой велосипед. Устраивает. Но мои вкусы специфичны, люблю жрать свое говно.
125 1042534
>>2529
Bruh...
126 1042541
Как быть с проблемой, когда нужно выжать максимум производительности, но трогать что-то кроме GDScript совершенно не хочется? Я так привык к его удобству...
127 1042543
>>2529
Тож самое. Красава, бро.
128 1042548
>>2528

>как в Аркануме


>Данный товар недоступен в вашем регионе


Литералли ху? Ноунейм какой-то, откуда нам знать?

>написания сложной диалоговой системы


Что ты имеешь в виду? Как буквы печатать?

https://twinery.org/ попробуй...
129 1042549
>>2541
Транслятор?
130 1042554
>>2528

>сложной системы


>как в Аркануме?


Вроде несложная...
131 1042563
>>2454

>сменить на какой ноде будет играть анимация


Зачем менять? Делаешь такую сцену:

>Sprite2D


>_ AnimationPlayer2D


Сохраняешь отдельно в .tscn.

Если нужен другой спрайт, меняй Sprite2D.texture.

>>2461

>Чем тебе твины не угодили?


>>2464

>Нагуглил, вроде оно. Спасибо.


Твины подходят только для простой анимации.
132 1042565
>>2563

>Твины подходят только для простой анимации.


У него там modulate. Если твины для этого не годятся, то вообще ни для чего.
133 1042567
>>2563
Спс. Твины оказались реально темой. У меня же там типа динамика все дела, ноды там инстанциируются и всё такое. Мне просто картинку флешнуть. С помощью этой штуки как раз оно и получается.
134 1042575
Тут всегда такие клоуны сидят? Или это парочка особо активных индивидов?
135 1042577
Rare Metal SubShot.mp4201 Кб, mp4,
600x600, 0:03
136 1042580
>>2565

>У него там modulate.


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

На твинах можно пикрил сделать чисто технически, но AnimationPlayer добавляет массу удобств (хоть и проигрывает таймлайну в Blender).

Да, это я в Godot анимировал.

>>2567

>ноды там инстанциируются


Не понимаю, как это что-то меняет. Разница лишь в том, где прописаны действия - в .gd или .tscn/.tres. Анимировать, кстати, можно любые поля, и даже состояния твоего кода, вызовы функций и т.д.
137 1042583
>>2580

>Не понимаю, как это что-то меняет.


Просто через аниматионплауер тогда мне нужно было бы менять в дорожке на какую ноду я собрался анимацию играть. Или? Короче да.

Про поля я знаю (догадался по ключам ага), а вот про стостояния кода и вызовы функций интересно. Где-то можно про это подробней узнать с примерами или только самому ковыряться?
138 1042586
>>2443

>инстанс сразу в массив и использовать индекс


>этож мне тогда весь массив забивать


Тебе уже советовали Dictionary, но изучи API:
https://docs.godotengine.org/en/stable/classes/class_dictionary.html
Структуру "Dictionary" ещё называют "ассоциативный массив", и её действительно можно юзать как самый обычный массив, но без лишнего заполнения нулями:

>var textures: Dictionary[int, Texture2D]


>textures[1] = first_texture


>textures[99] = last_texture


>print(textures.keys(), "\n", textures.values())


>for id in textures: print(id, ": ", textures[id])


>textures.erase(1)


>if 1 in textures: print("wtf?")


>print(textures.find_key(last_texture))


По скорости из GDScript почти как обычный массив.
139 1042588
>>2575
Да, я оккупировал этот тред. Дайте идеи для кликеров.
140 1042593
>>2583

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


Описал же выше: ты можешь иметь AnimationPlayer в каждой сцене, которой требуется анимация. Сцена не обязательно хранит единственный спрайт, его можно поменять в ноде. Т.е. у тебя есть один общий "шаблон персонажа" с анимацией, физикой, звуками прочим, а конкретные данные ты можешь вставлять из кода. Преимущество в абстракции шаблона от кода, т.е. эту анимацию можно будет поменять в одном месте без изменений в разных участках кода персонажей.

Конечно, если персонажей тысячи на экране, то там необходимы оптимизации... Для простой игры иметь несколько AnimationPlayer и AnimationTree не плохо.

Tween больше для анимаций GUI нужны, где сложно предугадать положение элементов на экране, а сами анимации никогда не будут слишком сложными. Для персонажей как минимум один AnimationPlayer нужен.

>стостояния кода


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

>вызовы функций


https://docs.godotengine.org/en/stable/tutorials/animation/animation_track_types.html#call-method-track

>про это подробней узнать с примерами


Ты документацию вообще не открывал?
https://docs.godotengine.org/en/stable/tutorials/animation/index.html
141 1042653
>>2588

>Дайте идеи для кликеров.


Есть идеи порнушных кликеров...

Лучше оставлю при себе.
image.png255 Кб, 1920x1080
142 1042662
JetBrains (Rider) теперь платиновые спосоры годота.

https://godotengine.org/article/jetbrains-joins-dev-fund-supports-godot/
image.png14 Кб, 379x131
143 1042663
>>2662
А еще скоро 100к попугаев звездочек на гитхабе.
144 1042682
>>2554

> post83196ru-2307650080.jpg maxresdefault1-2-3246526380.jpg 1680217174papik-pro-p-arkanum-klub-romantiki-posteri-19-472031136.jpg FJVAJ4WWYAEU1PJ.jpg


Ну и гниды! Я выжму всю кровь из их мерзкого тела!
переходит в боевой режим
image.png964 Кб, 740x520
145 1042935
Вставлял звуковые эффекты. Запускаю игру, триггерю хлопающую дверь - задержка звука, небольшая но явная. Покопался в настройках годота и импорта, затримил аудиофайл, ускорил его, подобрал другой - задержка. Помучал гугл и нейронки, проверил настройки, которые они мне нагаллюцинировали - задержка. Проверил настройки системы - задержка.

А все почему? А потому что в ушах у меня блютуз наушники. Такие дела.
146 1042946
>>2935

>задержка звука, небольшая но явная


>потому что в ушах у меня блютуз наушники


1. Почему раньше об этом не знал? Недавно купил?
2. Разве задержка не ощущается в обычном плеере?

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

Блютуз вообще штука слабая и капризная. Какой-то морально устаревший формат для передачи текста максимум метров на 10. Зачем он сегодня нужен...
147 1042975
>>2946
1. Купил давно, поэтому забыл.
2. В плеере не замечаю, потому что нет привязки к визуалу. А тут я подгонял звук к нужному визуальному моменту. В каком-нибудь каэсике тоже заметно было бы, но в них я не играю.
148 1043006
>>2975
Странно. У меня все блютузное, включая мышку, не замечал. Окей, однажды был заметный лаг с мышкой, если та уходила в сон ради экономии энергии без движения. То есть заново подключалась можно сказать, не удивительно.
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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