Godot #55 # OP 973473 В конец треда | Веб
Добро пожаловать в тред любви и взаимопомощи, общего пула айсикью и классических языков программирования!
Шапка:
https://hipolink.me/godothread
Предыдущий: >>970671 (OP)
Архивный: >>963889 (OP)
2 973483
Вы же сделали игры, верно? Отправляйте их сюда, время до 1 ноября:
https://godotengine.org/article/submissions-open-godot-2024-showreel/
x4cf36187.jpg50 Кб, 400x400
3 973485
>>3483

>Вы же сделали игры, верно?


Я от смеха очки IQ обронил...

>время до 1 ноября


Хорошо, я подожду.
4 973500
>>3483
До дедлайна минимум 2 крупнейших джема, там и сделаю.
5 973501
Пилю визуальную новеллу на годот. В чем я не прав?
17232239182981.jpg135 Кб, 573x604
6 973517
>>3501
Order Road 2?
7 973539
>>3501

> В чем я не прав?


Держишь от нас в секрете сюжет и твисты твоей новеллы.
image.png37 Кб, 959x343
8 973576
>>3483
Делаю игру для пикрил
9 973582
>>3576
Я тож. Че придумал? У меня будет постройка базы + защита от набегов.
10 973586
>>3582
Что-то типа пазл-платформера. Сначала проходишь уровень на чилле без опасных препятствий, потом начинается пиздорезная версия уровня, а его интенсивность зависит от того как именно ты прошел чилловую версию
11 973600
>>3586
Звучит прикольно. У меня была как то идея всех скидываемых врагов копить в одном подвале, а потом выпускать разом. Можно еще механики агро прикрутить, когда они злятся если видят как ты кого то убиваешь или прокрадываешься.
А я пока придумал, что будут ветрогенераторы, они какое то время позволяют накопить ресурсы, потом перед штормом штиль, а потом во время шторма будет небольшой бурст который можно потратить экстренно.
12 973603
>>973271 →

>написать интересный сценарий


Вот общая схема. Называется "hub and spoke". Отличается от обычного "waterfall" возвратом. Собственно, много играл в такое, мне нравится, несмотря на повторяемость и предсказуемость - полноценный геймплей с полной свободой, и без бесполезных "концовок" - играй, сколько хочешь. Останавливаешься в любом месте и можешь на минуточку заглянуть в любое время суток. Часто глобального сюжета нет, игрок волен делать что пожелает - прокачиваться, взаимодействовать с автономными NPC, которые тоже что-то делают параллельно действиям игрока и т.д. Эта схема обеспечивает высокую степень модульности, т.е. дополнительный контент без проблем стыкуется с имеющимся, если правильно всё организовать...
13 973634
>>3500
Какие?
15 973639
парни, я ретард, есть гайд с рисуночками, стрелочками всякими по тому, что за ебаная магия творится с векторами в дирекшене, велосити, мелосити.раундед и прочем кале, я нихуя не понимаю
17 973642
>>3641
Вох, наконец то. Я пару часов назад проверял и не было. Вот сейчас на джем залечу.
1725910852198.png45 Кб, 560x273
18 973647
У меня с global position какие-то чудеса, сейчас принялся за эффект взрыва астероида, в общем если не указывать глобальную позицию, то он как положено воспроизводится на нулевых координатах. Но как только я добавляю позицию астероида - все, партиклов нет. Для теста добавил лейбл - и он выводится где надо. Обычную позицию чистил, результата 0
20 973649
>>3648
Спасибо, работает
21 973652
>>3639

>гайд с рисуночками, стрелочками


>магия творится с векторами


Эти читал уже?
https://docs.godotengine.org/en/stable/tutorials/math/vector_math.html
https://docs.godotengine.org/en/stable/tutorials/math/vectors_advanced.html

Самый простой способ понять, что не так - самому нарисовать стрелочки на месте своих векторов.
22 973653
>>3642
Да ладно, чего спешишь, можно 3.6.1 подождать.
23 973654
>>3647
Рекомендую при знакомстве с чем-то новым читать документацию, потом тыкать во все кнопки. Увидел свойство в документации - сразу потыкал в него. Так быстрее запомнишь, что, к чему и зачем.
24 973671
почему в 2д Y это вниз, а -Y это вверх? в 3д Y это вверх, а -Y это вниз, хотя во всех 3д редакторах это вообще ось Z
это наверно везде так, почему так в геймдеве? ну типа я прочитал мотивацию, почему это в 2д, типа сверху вниз справа налево, но в 3д-то нахуя это лепить
image.png180 Кб, 600x503
25 973672
>>3671
Y - ось вверх/вниз, X - право/лево, следовательно Z - глубина
А вообще кто как хочет, так и дрочит
26 973673
>>3671
Исторические причины, а дальше бунт, антибунт и хаос.
27 973674
>>3672
>>3673
Да я могу понять, что допустим в 2д так, а потом добавляется глубина Z, окей, но в 2д же вверх это -Y, а в 3д вверх это +Y
Короче ладно, ответ так исторически сложилось меня вполне устроит, думал просто мало ли есть какое-то более очевидное объяснение.
image.png33 Кб, 500x283
28 973675
>>3674

>устроит


Эх ты, а мог бы устроить мувемент по стандартизации.
29 973676
>>3675
Да я в любом случае в крысу буду делать, как мне кажется правильным и в итоге изобрету неподдерживаемый велосипед. Стандарты меня не остановят.
30 973677
>>3671

> почему в 2д Y это вниз, а -Y это вверх?


У математмков на графиках Y была всегда наверх, но в 70-80х когда программмсты делали компы, они считали пиксели с левого верхнего угла. Ну потому что буквы то в текстовом режиме оттуда идутьна принтере/экране. Опенгл кстати снизу считает, и приходится каждый раз флипать
31 973678
>>3674
В Годотне и так в 3D вперёд это -Z, если бы ещё и -Y был бы вверх, то ебанулись бы все
32 973704
>>3677

>Опенгл кстати снизу считает


В OpenGL вообще из центра экрана отсчёт.

Центр экрана: (0.0; 0.0)
Левый верхний угол экрана: (-1.0; 1.0)
Правый нижний угол экрана: (1.0; -1.0)
Получается квадрат... На прямоугольный экран.

Чтоб вывести картинку ровно, нужно не просто перевернуть, а сжать в зависимости от отношения сторон экрана. Поэтому, наверное, в древних играх проблема с широкими экранами - они хардкодили соотношение 4:3, не думая о возможных других.

Хорошо хоть современные движки научились абстрагироваться от соотношений сторон экрана. Кидаешь камеру в сцену и не думаешь об экране.
33 973707
А можно как-то умно синхронизировать переключение сцен и скриптов? Заёбывает иногда, интерфейс немного странный в этом плане.
34 973708
>>3707
Open Dominant Script on Scene Change в настройках редактора.
35 973709
Объясните мне раз и навсегда, доступно, CSG меши медленные когда именно? Если я просто их отображаю - они медленнее обычных мешей? А если я начинаю их двигать? А если скалировать?
36 973710
>>3707

>синхронизировать переключение сцен и скриптов


Достаточно просто привыкнуть, что сцена не скрипт.

Сцена - это иерархическая композиция из нод.
Скрипт - это расширение встроенных объектов.

Ты можешь расширять любые объекты без сцен.
Можешь применять один скрипт в разных сценах.

Это принципиально разные вещи.

Так что организуй работу вокруг этих концепций.
37 973711
>>3708
во спс
38 973713
>>3710
Да это всё понятно, потом отключу.
39 973714
>>3709

>CSG меши медленные когда именно?


Фишка CSG мешей, ради которой они нужны - булевы операции над геометрией, т.е. сложение, вычитание, пересечение. Если тебе эти операции не нужны - не используй CSG ноды. Эти операции полезны для прототипирования геометрии уровня/объектов.

Соответственно, CSG ноды медленные, когда они производят заданные булевы операции - чтобы сгенерировать финальный меш. Например, если ты разместил 2 куба с операцией вычитания одного из другого, то перемещение одного из кубов будет требовать от движка сгенерировать новый меш - кубический с кубической дыркой в нём. Если ты перемещаешь результат, то регенерации не будет.

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

Рекомендуемый процесс работы с CSG нодами:
1. Быстро делаешь прототип уровня из CSG нод.
2. Играешь на своём компе, тестируя геймплей.
3. Правишь по необходимости, двигая CSG годы.
4. Экспортируешь уровень из Godot в Blender.
5. В Blender делаешь качественную модель.
6. Экспортируешь сцену из Blender в Godot.
7. Удаляешь CSG ноды, заменяя их мешем.
8. Публикуешь игру без CSG нод.

Замечу: в Blender тоже есть булевы операции над геометрией, но роль CSG нод в Godot - ускорить прототипирование, чтоб не нужно было метаться в отдельную программу ради мелких изменений.
40 973719
>>3714
В Блендере булевые операции тоже имеют риск создания всратых длинных треугольников?
41 973722
>>3719
Лишь немного экспериментировал, так что не могу сказать точно. Разница в том, что в Blender ты всю сетку вручную можешь поправить, а в Godot нет настолько продвинутого редактора мешей. Также в блендере нужно модификаторы навешивать для булевых операций (неудобно), а в Godot ты просто ноды друг в друга вкладываешь - быстрее выходит.

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

Короче, цели у них разные.
42 973723
>>3714
>>3722
Ок, спасибо, люблю тебя.
43 973724
Почему так мало гайдов по lightmapам?
44 973725
>>3724
Потому что мало кто делает игры где они нужны. В основном 2д и лоуполи 3д.
45 973726
>>3724

>Почему так мало


Тебе официального не хватает?
https://docs.godotengine.org/en/stable/tutorials/3d/global_illumination/using_lightmap_gi.html

>>3725

>игры где они нужны


Любая 3D игра с неподвижным светом.

>лоуполи 3д


У тебя из-за "лоуполи" света в игре нет?
46 973728
>>3726
У меня из 3д есть два проекта: один огромный город, где все динамично и запекать смысла нет, и 3д для веба, где все что можно пришлось отключить.
47 973729
>>3728

>3д для веба


Это технология древних цивилизаций:

>Despite their lack of flexibility, baked lightmaps typically offer both the best quality and performance at the same time in (mostly) static scenes. This makes lightmaps still popular in game development, despite lightmaps being the oldest technique for global illumination in video games.


Рендеринг в вебе доступен:

>On Android and web platforms, only rendering lightmaps that were baked on a desktop PC is supported.


Или у тебя 3.6? Там тоже есть.
https://docs.godotengine.org/en/3.6/tutorials/3d/baked_lightmaps.html

>все динамично


Если есть помещения, то можно запечь свет в них. К примеру, в GTA VC/SA так делали - динамичный свет снаружи, а внутри помещений обычно свет запечён.

>один огромный город


Здесь показывать будешь?
48 973732
>>3726

>Тебе официального не хватает?


Да. В руководстве - примеры на примитивах. Я никогда свет не запекал и сложно понять, как правильно запечь обставленную комнату. Придётся тыкаться и набивать шишки.
49 973733
>>3603
можно примеры таких игр?
50 973734
>>3732
есть ещё вариант попробовать почитать уроки в других движках и потом прикинуть на Годот, логику ты уже будешь понимать, останется только реолизовать
51 973737
>>3733
Я по первому пику подумал что речь про ДС1.
мимо
image869 Кб, 1280x720
52 973744
Dev snapshot: Godot 4.4 dev 2
https://godotengine.org/article/dev-snapshot-godot-4-4-dev-2/

Погодите, это реально?
53 973745
>>3744
Погодите, вчера 3.6 вышел. В каком таймлайне я нахожусь?
54 973746
>>3745
Успеть бы насладиться. А то таймлайн тревожный.
Срочно пилим по 1 игре в неделю! Я уже начал ждать 4.4.1, вот тогда точно начну!
55 973747
>>3746

>Успеть бы насладиться. А то таймлайн тревожный.


А я вам говорю - делайте игры, а вы все не делаете, ждете. Вот так и умрете не сделав ни одной игры.
56 973748
>>3744
Интересно что если пробежаться по авторам заметных коммитов, то некоторые из них совсем ноунеймы. В релизе упоминается некий https://github.com/Hilderin, у него пустой профиль и Понг в проектах. А фичу он сделал сложную и полезную. Как это происходит? Откуда такие волонтеры, герои в плащах и масках?
57 973752
Помогите, аноны. Как максимально быстро сделать доп-даун шутер или рпг аля дьябло, если нет времени читать субтитры?
Есть хоть кто-нибудь на русском, кто рассказывает про годот 4?
Я пока смотрю Паштета и ролики двухлетней давности.
58 973754
>>3752
Я максимально быстро делаю так:
Делаю сцену игрового уровня, сцену игрока (готовый контроллер из ассетов либо сам пишу, там немного), сцену врагов которые спавнятся, игровую логику, ну там пульки всякие в группах или слоях, ну и потом анимации вставляю.
59 973756
>>3752
Я по мере надобности включаю иностранцев но с переводом от хуяндекс, основная суть переводится, да и по большей части самому нужен только код
60 973757
>>3756
>>3752
Почему Хуан и прочие кор-разрабы годота смогли в английский сидя в своей Бразилии, а вы еще не?
61 973758
>>3757
Я в пятерочке работал
62 973759
>>3758
Мое почтение. Сделай симулятор кассира типа papers please.
63 973765
А тут же вроде кто то делал игру стратегию на гексовом поле, у него вроде даже тред был. Там какие домики строить надо было и решать паззлы.
64 973787
Анончики, а можно сделать шейдер ваншотным? И можно ли запускать шейдер через скрипт?
65 973788
>>3787
Ну в целом да, вопрос чего ты пытаешься добиться, как вар куда смотреть * общее направление, партикл шейдеры в редакторе онашотятся, про запуск из кода - да, у тебя очевидно у шейдера есть параметры ( если ты их указал конечно ) вот отсюда и пляши. Но это в общем, тут еще есть поправка на версию годо если память не изменяет (только в 4.х этим занимался про 3ю не уверен)
66 973790
>>3788

>вопрос чего ты пытаешься добиться


У меня есть компьютер в игре, решил добавить туда файлик jpg, при нажатие картинка появляется слой за слоем, как в бородатые времена. "Слой за слоем" сделал шейдером, вот хочу запускать его при нажатие на кнопку и чтобы он срабатывал один раз. Работаю в 4.3
67 973791
>>3748

>совсем ноунеймы


А ты-то кто, чтобы обвинять их в ноунеймости?

>пустой профиль и Понг в проектах


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

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

В-третьих, для тестов движка есть чужие проекты. Разработчики игр просят фичи/багфиксы - разрабы движка вносят исправления - разрабы игр тестят. Разрабатывать сразу движок и игру не нужно.

>Откуда такие волонтеры


Самый популярный опенсурс движок. Куда им ещё вкладываться, в ноунейм васянку на дне гитхаба?
68 973793
>>3787 >>3790
Изучай вьюпорты:
https://docs.godotengine.org/en/stable/classes/class_subviewport.html
https://docs.godotengine.org/en/stable/tutorials/rendering/viewports.html

Вкратце алгоритм:
1. Создаёшь отдельный вьюпорт:
render_target_update_mode = UPDATE_DISABLED
2. Настраиваешь его как тебе угодно.
3. Вставляешь текстуру из него куда хочешь.
4. Когда нужно обновить состояние текстуры:
render_target_update_mode = UPDATE_ONCE
5. Вьюпорт делает 1 проход и отключается.
69 973794
>>3793
Спасибо, буду пробывать
70 973795
>>3752

>если нет времени читать субтитры?


А зачем ты видео смотришь? Читай документацию.

По геймдизайну есть книги, по левел дизайну есть книги, по всему книги. По движку - документация. Принципиально нового в видео "туториалах" нет, пережёванная сотню раз информация от древних цивилизаций, обнаруженная зумерами в архивах.

Вы б ещё в тиктоке геймдеву обучались...

>>3758

>Я в пятерочке работал


С рождения и 24/7? Английский в школе обязателен. Даже получая тройки за присутствие я в кои-то веки научился читать документацию на английском.

Ну и если у тебя нет игрового опыта - у тебя намного серьёзнее проблемы, чем отсутствие туториалов. Туториалы не научат тебя делать то, что ты никогда самостоятельно не изучал... А большинство игр на английском или с очень кривым переводом, так что проще играть на английском, чем с переводом.
71 973796
>>3752
И вообще:

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


>если нет времени


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

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

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

>С рождения и 24/7? Английский в школе обязателен


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

>читать документацию


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

>отсутствие туториалов


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

>так что проще играть на английском, чем с переводом.


Я мыслю на русском, поэтому предпочитаю наш православный
73 973803
>>3799

>очевидно разработка игры начнет буксовать


При чём тут разработка, речь о "сделать быстро, не тратя время на просмотр видео с СУБТИТРАМИ". Странный акцент на субтитры, если язык знаешь.

>технические документы тяжело даются


>обычно учусь на своих ошибках


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

>типа как с наставником


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

>Я мыслю на русском


После обучения новому языку на достаточном уровне начинаешь непроизвольно мыслить на нём... Вообще, мышление от языка не зависит - речь о "внутреннем диалоге", который, внезапно, далеко не у всех людей.
74 973804
>>3803

>При чём тут разработка


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

>Туториалы тоже бесполезно смотреть


Почему?

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


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

>После обучения новому...


Ну да
75 973815
>>3804

>Почему?


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

>но через современную нейронку - ок.


1. Объём знаний у нейронки шире, чем у типичного туториальщика. Ни нейронка, ни туториальщик игр не делали, но нейронка хотя бы переварила сотни книжек, пока туториальщик придумывал кликбейт получше, пережёвывая украденную у соседнего туториальщика популярную сейчас банальщину.
2. У нейронки ты можешь уточнить что-то, скинуть ей кучу кода и цитат из документации, она это всё проанализирует и даст хоть какой-то ответ, с чем ты можешь пойти гуглить или думать своей головой. На ютубе спросишь туториальщика, а он тебе вообще никак не ответит или ответит "понятия не имею".
3. У нейронки можешь запросить короткий ответ и получить сразу то, что хотел. В туториалах на ютубе придётся долго и мучительно мотать видео, чтобы пропустить лишнее и найти нужное, особенно если туториальщик неопытный и при этом болтливый.

Так что да, если выбирать из двух стульев, то запрос нейронке лучше тебя обучит чему-то, чем какой-томясной мешок, решивший подзаработать на ютубе.
76 973818
>>3815

>Потому что если ничего сам не делаешь, а только смотришь как кто-то делает - так и не научишься


А туториалы тут причем?

>Тирада о прекрасных нейронках


Не ну если тебе это действительно помогало, ничего против не имею, мне нейронка выдавала противоречащую но правдоподобную инфу, что никак не помогало, с таким же запросом проще зайти в гугл/двач, где люди хотя бы поймут что ты хочешь. Ну и на ютубе ты видишь что у человека всё работает, и если повторишь то будет работать у тебя, а там дальше со временем будешь отсебятину добавлять и думать почему один код не сочетается с другим
77 973827
>>3818

>А туториалы тут причем?


Тебе видео туториал записать нужно? >>3803

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


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

А ещё есть такое понятие - "tutorial hell":

>Tutorial hell in programming is a cycle where beginner programmers get stuck in a loop of constantly following tutorials to learn new skills, but struggle to apply that knowledge independently. It involves completing tutorials, realizing missing skills when trying to build something, then repeating the cycle. It's a challenging space to break out of without a clear understanding of what you don't know.



>нейронка выдавала противоречащую


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

>проще зайти в гугл


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

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

>двач, где люди хотя бы поймут что ты хочешь


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

>видишь что у человека всё работает


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

Ладно если туториал о чём-то ВИЗУАЛЬНОМ, скажем, дизайн уровня. Но туториал про программированию? Полный бред. Читайте книги по программированию.
77 973827
>>3818

>А туториалы тут причем?


Тебе видео туториал записать нужно? >>3803

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


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

А ещё есть такое понятие - "tutorial hell":

>Tutorial hell in programming is a cycle where beginner programmers get stuck in a loop of constantly following tutorials to learn new skills, but struggle to apply that knowledge independently. It involves completing tutorials, realizing missing skills when trying to build something, then repeating the cycle. It's a challenging space to break out of without a clear understanding of what you don't know.



>нейронка выдавала противоречащую


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

>проще зайти в гугл


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

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

>двач, где люди хотя бы поймут что ты хочешь


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

>видишь что у человека всё работает


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

Ладно если туториал о чём-то ВИЗУАЛЬНОМ, скажем, дизайн уровня. Но туториал про программированию? Полный бред. Читайте книги по программированию.
78 973828
>>3827
Хорошо быть таким умным. Игры свои покажи
orig.webp27 Кб, 600x525
79 973830
>>3828

>Игры свои покажи

80 973832
>>3827

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


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

>Так не спрашивай у неё


А нахуя у неё что-то спрашивать, если тогда можно сразу открыть документацию и все по ней делать? А то ОКАЗЫВАЕТСЯ, нейронка может что-то не знать.

>список


Если что-то не работает, и человек намерен учиться, он разберется и всё будет работать, даже если версии разные. Это и есть обучение
81 973836
>>3832

>туториалы это плохо, или на них можно обучаться?


>если тогда можно сразу открыть документацию и все по ней делать?


А ты определись, тебе нужно пережёвывать инфу из документации и класть в рот с чайной ложечки или самостоятельно прочитать документацию можешь?
82 973837
>>3836
Я считаю, к каждому человеку нужен свой подход, и обучить можно всех и всему. Если не получается читать документации, значит пробуй по другому. Иначе знаешь такое чувство будто забуксовал? Где-то свернул не туда?
А ты мне про какие-то нейронки которые для порнухи только и годятся
83 973838
>>3837

>значит пробуй по другому


Да, иди смотреть более 9001 туториалов...

>такое чувство будто забуксовал


Это потому что базу не изучал, только туториалы.

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


Не их вина, что ты только порнухой увлекаешься.
84 973839
>>3838

>иди смотреть более 9001 туториалов


Так не надо все подряд смотреть, только по надобности

>потому что базу не изучал


Тот же официальный тутор от годот, где основы объясняются ну который сайт. Тебе просто индусы неправильные попадались вот и ругаешься
image.png121 Кб, 530x2675
85 973848
>>3752

>быстро сделать доп-даун шутер


>>3837

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


Вот, например, хорошо поясняет за топ-даун шутер.
Ошибку 3.x -> 4.x понимаешь тупо загуглив классы.
86 973850
>>3848
Порекомендую кстати claude от antropic. По коду на гдскрипте лучшее что я видел, еще и свой контекст докидывать можно, заставлять артефакты запоминать. ГПТ тоже неплох. Лам новых не трогал, хз.
87 973851
>>3848
Как будет объяснять туториальщик:

>Здравствуйте, здравствуйте, дорогие ребята и не ребята, то есть тянучки, хехе... Сегодня будем... Ээээ... Крхх-крхх... Чёт микрофон барахлит... Сегодня будем делать топ-даун... Даун, ха-ха-ха! Топ-даун... Ха... Шутер. Дааа... Шутер, значит. Что нужно шутеру? Ну, скажите мне! Ага... Мяу... А, это моя кошка, она недавно родила семеро котят... Такие милые... Вот, в общем, шутеру нужны котята. Ой. То есть меха. Хаха. Механики. Ну вы поняли, да? Гыы... В общем, сегодня мы будем делать главную механику: меню паузы. Потому что я вот ненавижу когда в шутерах нет меню паузы. Ну в смысле вот я играл в соревновательный шутер, а там, прикиньте, паузы нет. Ну то есть, да... Но для всего лобби. А мы будем делать сингл плеер. В смысле, не плеер... А игру, да. Ну это слово английское такое, "плеер"... Не помню, как оно переводится. Крхххх... Ой, это у меня соседи ремонт делают, вот ведь козлы. Ррхххх... Крркр... Кккэххх... Ппщшшш... И вот так у нас получается меню... Тут три кнопки: выход, настройки и назад... В бой, то есть... Вы наверное спросите, а как делать меню настроек? А хрен его знает, я никогда не делал. Будем с вами вместе делать на стриме в воскресенье вечером. Всё, всем чмоки, подписывайтесь, ставьте лайки, посмотрите это видео несколько раз - алгоритмы это любят. В следующей серии будем делать платформер, потому что мне надоели шутеры... Пока.

88 973854
>>3851
Как правильно выше заметили, у тебя просто туториальщика хорошего не было.
89 973866
Господа, пробовал ли кто вести более открытую разработку? Заливать билды на итч, делать инкрементальные апдейты и вести девблоги, собирать багрепорты и фидбеки? Выхлоп с этой суеты есть?
90 973871
>>3851
Это бич всех русских туториальщиков по любому игровому движку. Объясняют какую-то хуйню вплоть до интерфейса, хотя у самих уже есть 15 видео с названиями "ГАЙД ДЛЯ НОВЧИКА В ГОВДОТЕ", "КУРС ДЛЯ САМЫХ МАЛЕНЬКИХ", "ОСНОВЫ ДВИЖКА"
91 973872
>>3866
Звучит как говно какое-то, лично я хуярю от души. Ты ещё предложи гит завести хрррртьпфу
92 973873
>>3872
Не поверишь.
93 973874
>>3873
Я признаю только один контроль версий - 10 папок на рабочем столе.
94 973875
>>3866
Я пробую, выхлопа пока особо нет, один челик на бусти подписался, 96 на итч, и появился преданный подпещек, который качает каждый апдейт и дает фидбек.
2024-09-12 12-09-53.mkv13,9 Мб, mp4,
1920x1080, 0:46
95 973876
Причина тряски?
96 973891
>>3876
Для интенсивно-физической игры не используешь jolt.
97 973893
>>3875

>появился преданный подпещек, который качает каждый апдейт и дает фидбек.


Я бы ради этого чувака продолжил бы разработку. Он же тот самый второстепенный персонаж - друг, который приходит на выручку ГГ в самый тяжёлый момент.
98 973895
Существуют ли вакансии на годот?
99 973896
>>3895
Разработка ПО для машин в казино:
https://hh.ru/vacancy/105459040
Разработка GUI для электромобиля:
https://hh.ru/vacancy/106244218
Базированные вакансии для Godot.
100 973898
>>3866

>Заливать билды на итч, делать инкрементальные апдейты и вести девблоги, собирать багрепорты и фидбеки?


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

>>3872

>Ты ещё предложи гит завести хрррртьпфу


Согласен. Архивы для чего придумали? Архивируйте.

>>3874

>10 папок на рабочем столе


Зачем на рабочем столе? Надо красиво:

>Users > UserName > Documents > MyGames > Genre > ProjectName > ProjectName.v0.6.9 > game > game.tscn


Архивы примерно такие:

>ProjectName-YYYY.MM.DD-HHmm-v0.6.9-(type).zip


Чтобы сортировка по имени была удобной.
Кидаешь архивы на разные накопители.

>>3875

>появился преданный подпещек, который качает каждый апдейт и дает фидбек.


Как же я тебе завидую... Дело полезное делаешь...

>>3893

>ради этого чувака продолжил бы разработку


Но не стоит себя насиловать, если проект оказался неудачным, даже если у него есть фанаты. Лучше оставить проект фанатам, открыв все исходники в опенсурс - кому действительно нужно, подхватят разработку и продолжат делать опенсурс. Многие поступили так, а кто не поступил - копираст-жмот.
101 973901
Как же хочется быть разработчиком. Делаешь игру, тебе донатят на итче или патреоне, занимаешься творчеством + делаешь игру. Душа.
102 973902
>>3876
1. Попробуй разделить пол на несколько частей. У GodotPhysics тряска, если твой пол имеет площадь больше пары сотен метров в длину. Это связано с погрешностью у вещественных чисел в формулах.
2. Если можешь, увеличивай размер объектов. Со слишком мелкими объектами физические движки плохо работают опять же из-за погрешностей в вещественных числах. Кроме того, игроку будет намного проще целиться/подбирать/попадать.
3. Попробуй включить это, может помочь с мелкими объектами, если должны много двигаться по сцене:
https://docs.godotengine.org/en/stable/classes/class_rigidbody3d.html#class-rigidbody3d-property-continuous-cd
4. Если тебе не нужно пинать кирпичи ногами, то упавшие неподвижные имеет смысл заморозить:
https://docs.godotengine.org/en/stable/classes/class_rigidbody3d.html#class-rigidbody3d-property-freeze
Хотя по-хорошему за это sleeping отвечать должен, однако такая тряска почему-то не даёт им уснуть.
5. Также можно увеличить angular_damp/linear_damp: значения по умолчанию слишком мелкие и объекты стремятся слишком долго вращаться/катиться. Эти значения, по-хорошему, должны зависеть от формы объекта, т.к. симулируют сопротивление воздуха.
6. Попробуй поднять массу и добавить трение. Если объекты слишком лёгкие, они больше подвержены колебаниям. Трение должно тормозить объект на поверхности другого объекта (но не полностью).

Альтернативные физические движки:
https://github.com/godot-jolt/godot-jolt
https://github.com/appsinacup/godot-rapier-physics
Идеальных решений нет, везде свои нюансы.
103 973903
>>3898

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


Ты можешь их... СДЕЛАТЬ!
9f9c4a468494896381a516d9236f5b3d.jpg40 Кб, 1024x731
104 973907
>>3893
Литералли
JUST DO IT.mp44,2 Мб, mp4,
1280x720, 1:04
105 973908
>>3901

>Как же хочется

1726139658023.png145 Кб, 460x460
106 973918
Там Годоньер новый видос запилил!
Бросайте делать игоры и го Годоньера смотреть!
https://www.youtube.com/watch?v=cZ5Ang_Ji8E
107 973923
>>3918

>particle systems


>дождь на превью


А разве дождь делают частицами?
108 973924
Пилил один проектик как хобби, щяс понимаю что даже если что то нормальное и выйдет, то скорее всего нахуй никому не нужно.
Появилось идея совершенно в другой области adult наклепать игру, интереса всяко по итогу должно быть больше.

И вот думаю, есть ли смысл все таки допилить первый проект до хотя бы рабочего билда или просто заморозить навсегда до лучших времён и начать новый?
109 973927
>>3924

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


Да, всегда да. Ценный опыт, пригодится тебе в будущем, приучит доводить проекты до конца, и куча других профитов.
110 973935
На что вы живете? Никто же тут не делает игры по-настоящему. Не все же на пенсии по шизе живут? Или все?
111 973936
>>3935
Мы тут все синьоры-помидоры с 50кк в запасе и пассивными доходами со своих стартапов, можем себе позволить.

Оффтоп, пчел. Игры делай и не задавай вопросов.
112 973937
>>3927

>приучит доводить проекты до конца


Херня это всё. Лучше сбросить балласт, чем тянуть

>ПАТАМУШТА ПОПЫТ, ПАТАМУШТА ПРЕУЧИЛЬСЯ!!!



>>3924

>допилить первый проект до хотя бы рабочего билда


Что ты понимаешь под "хотя бы рабочим билдом"? Что тебе для него нужно?

Для базовой игры нужен только какой-то игровой процесс. Желательно, чтобы он представлял из себя цикл (core loop), и этот цикл было интересно повторять снова и снова. Какие-то там менюшки, гуйюшки, картинки, модельки, свистелки, перделки - это всё не обязательно, пока имеется игровой цикл с которым игрок может играть. Ты и сам наверняка много часов уже наиграл в свою игру даже без "билда", просто запуская из редактора для теста, верно? Ну вот упакуй эту играбельную часть, выложи на итч как "прототип", и... ну, не знаю, расскажи знакомым, или запости ссылку куда-то. Чтоб поиграли и сказали, как оно вообще, нужно ли им такое, нужно ли тебе продолжать. Будет обратная связь и сможешь определиться, нужна тебе эта игра или лучше бросить.

>Появилось идея совершенно в другой области adult наклепать игру


Советую подождать пока. Несколько дней, а то и недели две. У всех геймдевов часто такие мимолётные идеи возникают, типа "было бы круто сделать такую-то игру", особенно если ты недавно во что-то поиграл, что-то где-то увидел. Но такие идеи быстро оказываются либо скучными, либо вообще неосуществимыми, и ты теряешь интерес. Особенно это касается порнушных игр - пока не подрочишь, кажется чем-то очень крутым, а как подрочишь, то как-то уже и не нужно оно тебе. Или нарисуешь картинку и подрочишь. В любом случае, легко потерять мотивацию, когда ты только придумал идею и ещё ничего не имеешь кроме неё. Поэтому стоит подождать и посмотреть на свои ощущения - действительно ли хочется, или ну её, эту идею? Конечно, это в первую очередь касается хобби, но даже если ты хочешь делать игру ради прибыли, то тебе как соло инди нужно быть увлечённым проектом, иначе накатит депрессия с апатией из-за отсутствия прибыли в первые несколько лет работы. Вот если эта идея будет тебя упорно посещать на протяжении многих недель/месяцев, тогда можешь начинать её осуществлять.
112 973937
>>3927

>приучит доводить проекты до конца


Херня это всё. Лучше сбросить балласт, чем тянуть

>ПАТАМУШТА ПОПЫТ, ПАТАМУШТА ПРЕУЧИЛЬСЯ!!!



>>3924

>допилить первый проект до хотя бы рабочего билда


Что ты понимаешь под "хотя бы рабочим билдом"? Что тебе для него нужно?

Для базовой игры нужен только какой-то игровой процесс. Желательно, чтобы он представлял из себя цикл (core loop), и этот цикл было интересно повторять снова и снова. Какие-то там менюшки, гуйюшки, картинки, модельки, свистелки, перделки - это всё не обязательно, пока имеется игровой цикл с которым игрок может играть. Ты и сам наверняка много часов уже наиграл в свою игру даже без "билда", просто запуская из редактора для теста, верно? Ну вот упакуй эту играбельную часть, выложи на итч как "прототип", и... ну, не знаю, расскажи знакомым, или запости ссылку куда-то. Чтоб поиграли и сказали, как оно вообще, нужно ли им такое, нужно ли тебе продолжать. Будет обратная связь и сможешь определиться, нужна тебе эта игра или лучше бросить.

>Появилось идея совершенно в другой области adult наклепать игру


Советую подождать пока. Несколько дней, а то и недели две. У всех геймдевов часто такие мимолётные идеи возникают, типа "было бы круто сделать такую-то игру", особенно если ты недавно во что-то поиграл, что-то где-то увидел. Но такие идеи быстро оказываются либо скучными, либо вообще неосуществимыми, и ты теряешь интерес. Особенно это касается порнушных игр - пока не подрочишь, кажется чем-то очень крутым, а как подрочишь, то как-то уже и не нужно оно тебе. Или нарисуешь картинку и подрочишь. В любом случае, легко потерять мотивацию, когда ты только придумал идею и ещё ничего не имеешь кроме неё. Поэтому стоит подождать и посмотреть на свои ощущения - действительно ли хочется, или ну её, эту идею? Конечно, это в первую очередь касается хобби, но даже если ты хочешь делать игру ради прибыли, то тебе как соло инди нужно быть увлечённым проектом, иначе накатит депрессия с апатией из-за отсутствия прибыли в первые несколько лет работы. Вот если эта идея будет тебя упорно посещать на протяжении многих недель/месяцев, тогда можешь начинать её осуществлять.
17173565675080.jpg711 Кб, 1566x2048
113 973938
>>3935

>на пенсии по шизе живут


У тебя с этим какие-то проблемы?
114 973939
>>3937
Да твое-то весомое мнение мы уже заранее знаем, господин олимпиадник-занудник. Чего там, архитектуру кнопок нащупал верную? Через сколько лет ожидать как ты, аки гром и молния, поразишь весь мир своим чудо-проектом?
115 973940
>>3939

> архитектуру кнопок нащупал верную


Предпочитаю классическую архитектуру обработчиков событий. Так функционал легко масштабируется до мультиплатформинга. А что?
i.jpg142 Кб, 1280x1108
116 973941
>>3939

>Через сколько лет ожидать чудо-проект


Много чего постил, а в ответ - тишина.
Мотивация упала, поднять тяжело...

>>3940

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


А кнопки с поддержкой мультиплеера?
1726149393239.png960 Кб, 1080x1485
117 973942
>>3938
Он думал, что со мной говорит, поэтому я ему и не отвечаю. Дождался, пока ты ответил, и теперь он думает, что ты это я.
1726149461390.jpg82 Кб, 900x900
118 973943
>>3941
И с поддержкой мультиплеера.
119 973945
>>3927
>>3937
Спасибо за ответы. Я внезапно пришел к промежуточному варианту. Я придумал как в свой первый проект где уже есть мало-мальски рабочие механики прикрутить порно состовляющую. Допиливать по коду там по минимуму, сейчас все упирается только в графику.

Уже скачал криту, графический планшет уже пару недель как куплен. В общем буду вкатываться в рисование. а скорее обрисовку чужих артов
120 973953
Парни, дайте норм гайд на Basis. Я вроде читаю документацию, все слова знакомые, но что-то вообще нихуя не укладывается в голове, как баран на новые ворота смотрю. Какие-то колонки, x, y, z, вектор3 на каждый, ваще не понимаю нихуя.
121 973955
>>3953

>Basis


Более четырёх лет ковыряюсь в Godot 3D, но так и не разобрался, что это за базис и зачем он нужен, когда можно накрутить какой-то херни на нодах и rotate() и оно just works. Хотя иногда я всё-таки беру Z из Basis, чтобы определить, куда объект смотрит, чтобы использовать этот вектор в формуле приложения силы к RigidBody...

В общем, пока оно тебе не сильно надо - не парься...

А вообще, это из математики:
https://ru.wikipedia.org/wiki/Базис
https://en.wikipedia.org/wiki/Basis_(linear_algebra)
В Godot просто удобная обёртка над этой концепцией.

Лови мемы в тему.
122 973959
>>3955
Понял, спасибо.
124 973982
Зачем участвовать в джемах ради отработки идеи игры, если можно пройтись по успешным джемовым играм, своровать идею у них, минимально изменить, налепить свой арт и продать?
125 973983
>>3982
просто так, чтобы отточить какую то идею, поставить себе дедлайны, набить какое никакое партфолио.
Зависит еще от позиции которую в разработке ты занимаешь.
126 973984
>>3983

>ПАТАМУШТА ПОПЫТ, ПАТАМУШТА ПАРТФЕЛИО!!!


Пустая трата времени. Бери отточенную идею и делай.
127 973988
>>3984
Хорошо.
image.png1018 Кб, 1116x628
128 973995
>>3875

>один челик на бусти подписался


Сколько челик тебе денег дает?
129 974001
>>3995
200 рублей. Оплатил за 3 месяца на 600
130 974005
>>3982

> своровать идею у них


У меня вообще не встаёт хуй на чужие идеи. Хочется реализовать именно своё.
131 974008
>>4005
Не сравнивай чужие идеи со своими. Чужие - это одна из тысячи, которая выстрелила. А свои чтобы привести в порядок - надо очень серьезно поработать. Умение удачно спиздить чужую идею и вложить в нее свою душу это и есть то как человечество эволюционировало до этой точки.
Чужих идей вообще не бывает. Все принадлежит общему пулу идей. Колосально много ресурсов было потрачено на фуфловые идеи. И многие хорошие идеи затерялись потому что задохнулись от недостачи внимания и ресурсов.
132 974009
>>4008
База
133 974012
>>4008
Я думаю, он имеет в виду, что не хочет воровать идею игры про фурри, глотающего живьём других фурри, или что-то подобное, чего много на итчио. А те идеи, которые он хочет реализовать, ещё никто не делал (или трудно найти сделанное).

>человечество эволюционировало


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

И вот предпочтения в развлекательном контенте (условно, вкусы жвачки) у всех людей разные.
134 974014
>>3982

>Зачем участвовать в джемах


Для развлечения. Это что-то вроде киберспорта.

>ради отработки идеи игры


Кто тебе это сказал? На джемах обычно тебе дают конкретную идею (тему), и ты что-то с этой идеей должен сделать, чтобы получилось интересно.

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


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

>своровать идею у них, минимально изменить


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

>налепить свой арт


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

>и продать?


А тут нужен бюджет на маркетинг, впаривание игры игрокам по всем социальным каналам несколько месяцев подряд, нагнетание хайпа или создание вокруг игры крепкой фанбазы. Ты не сможешь повторить успех флаппи берд, потому что успех заключался не в "идее" игры (идея-то говно, как и исполнение), а в удачном стечении обстоятельств. Большинство игроков даже бесплатно в твою игру играть не будут, не то, что покупать её, и нужно вкладывать деньги, чтоб заставить их играть.
135 974015
>>3982

>и продать?


Забыл ещё упомянуть монетизацию. У игр с итч.ио, особенно джемных, обычно крайне малый объём контента. Вся игра порой приходится за пару минут, потому что больше за два дня джема не сделать. Возникает вопрос масштабируемости: будет ли эта игра интересна, если у неё контента на два часа? А меньше двух часов ты продать в стиме не можешь, потому что по правилам игрок может вернуть игру, если не наиграл два часа. Плюс игроки ожидают от каждой игры по сотне часов минимум. И очень ненавидят, когда время растягивают гриндом...

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

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

Короче, геймджемы - это киберспортивная игра. Собираются киберкотлеты и меряются, кто из них сможет собрать лучшую игру за наименьшее время.
136 974020
>>4015
Дальше первой строчки тебя не читал, графоман. Еще раз, украсть идею, а не игру. Кор идея часто развивается на 3-4 полноценных игры, чем ААА студии и занимаются. Кроме того, твои аргументы "РАСТЯГИВАТЬ ПЛОХО" разбиваются успешными джем-играми, допиленными до стимовских версий.

Тебе лишь бы ничего не делать и графоманить. Страшно представить твой код.
137 974024
>>4020
>>4015
Ладно, сорян, я погорячился. Графомань дальше. Отвечать мне тебе лень, но поинты ты иногда интересные пишешь.
138 974025
>>4020

>Еще раз, украсть идею, а не игру.


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

>чем ААА студии и занимаются.


Штамповкой они занимаются. А говноеды жрут.

>РАСТЯГИВАТЬ ПЛОХО


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

>успешными джем-играми, допиленными до


Таких единицы. Ну, иди допиливай, чего ждёшь?

>Тебе лишь бы ничего не делать и графоманить.


Дыа. А ты сюда со своей гениальной идеей воровать гениальные идеи и ничего не делать зачем пришёл? Воруй гениальные идеи молча и ничего не делай.

>Страшно представить твой код.


Стараюсь писать меньше кода. Если разрастается в неуправляемую лапшу - бросаю и пишу с нуля.
139 974040
>>4012

>Это как жвачка


Книги, аудио и видео развлечения тоже жвачка. И тоже могут оказать сильное воздействие на развитие личности, расширить кругозор, и дать пощупать то что невозможно облачить в простые слова.
Возможно в будущем намного проще будет спрвится с технической частью, и приманит в игрострой намного больше гениев с уникальным мышлением.
140 974045
>>4040

>Книги, аудио и видео


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

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

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

>гениев с уникальным мышлением


И что они сделают? Очередную интеллектуальную историю, которая соберёт от силы 1000 отзывов?

Никто не запрещает писать литРПГ про попаданца.
Никто не запрещает снимать смешные видосики.
Никто не запрещает делать тупые игры для тупых.
Но не стоит думать, будто вы сейчас придумаете (своруете) гениальную идею игры, что повлияет на развитие всего человечества. Просто делайте то, что нравится вам самим и может понравиться кому-то. Это совсем не та сфера, которая двигает весь мир. И в ближайшее лет 10 ничего не изменится даже с ИИ.
1726243052240.png2 Мб, 1200x675
141 974067
>>4045

> И в ближайшее лет 10 ничего не изменится даже с ИИ.


Забавно, что этот пост написан в 2024 году, за 10 лет до очередного предсказанного конца света в 2034 году будет сдвиг земной коры на 15 градусов.
ыыыыы.jpg47 Кб, 666x466
142 974070
Есть одна тридэигра... Давно хочу сделать игру с процедурной генерацией, но всё что-то не то. Короч, прихожу к выводу, что бессмысленно избегать 3D моделирования: лучше сначала налепить побольше моделек, а потом уже решать, как их процедурно соединять в игровом мире. А то без моделек любой подход к генерации выглядит как белый шум; всё разнообразие может сходиться к текстуркам... Эх.

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

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

Фраза "графон не главное" всё же принима только когда графон есть и он достаточно разнообразен, пускай и не фотореалистичен/не очень детален.
143 974074
>>4070
Это же очевидно, что тебе нужно вкатываться в моддинг, а не в геймдев. Вот там у тебя будет готовый опенворлд-скайрим, а ты туда будешь просто свои домики деревянные впиливать.
144 974077
>>4074

>вкатываться в моддинг


И костылить. Потому что в готовой игре обязательно найдётся какой-то фатальный недостаток, из-за чего задуманное не сделать. Некоторые моды на Майн отвалились от него в самостоятельную игру - ведь, несмотря на свободу, Майн всё-таки ограничивает. Инструменты моддинга ещё зачастую неудобные...

>готовый опенворлд-скайрим,


>просто свои домики деревянные впиливать.


Чтоб это всё выглядело прилично, нужно делать на уровне оригинала. Кривые лоупольки могут быть хорошей альтернативой только на фоне таких же кривых лоуполек, чтоб это выглядело как Стиль™. Условный Скайрим я 100% не смогу сам сделать.

Взять, хотя бы, Unturned:
https://store.steampowered.com/app/304930/

>Очень положительные (91% из 545,763)


Стартовало оно как мод на Roblox, но выросло в полностью самостоятельную игру. Графика будто игрушечная, лоупольно-бестекстурная, но контента огромное количество. Механик много, но если ты рассмотришь эти механики на голой плоскости без моделек - будет очень скучно и быстро надоест. Прятаться от квадратных зомби в бестекстурных квадратных домиках не так-то весело, если бы не огромное количество разнообразного контента.

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

Считай, это мысли вслух. Чтоб другие почитали и не ковырялись в прототипах механик несколько лет, надеясь найти "ту самую" формулу успеха, которая вывезет на себе всю игру вообще без контента.
145 974078
>>4070
Скачиваешь ассеты и процедурно генерируешь из них, если игра получится веселой и интересной, тогда постепенно заменяешь ассеты на свои
image.png744 Кб, 564x752
146 974080
Есть ли хоть сколько-то внятные туториалы по новым 2D скелетам? Я так понял в 4.3 их перелопатили, теперь непонятно как делать инверс кинематику и биндить спрайты/полигоны к костям
147 974081
>>4080

>Я так понял в 4.3 их перелопатили


С чего ты взял? В 4.3 изменили 3D скелеты - чтобы привести их в соответствие 2D скелетам. Т.е. теперь анимационный стек работает и для тех, и для других.

Или ты с 3.x переходишь?
image.png23 Кб, 850x229
148 974093
>>4081
Я имел в виду что поменяли интерфейс в редакторе, теперь старых кнопок типа "создать IK-цепь прямо из спрайтов" нет, приходится ебаться с SkeletonModificationStack2D
149 974106
>>4093

>SkeletonModificationStack2D


Так его ещё в 4.0 добавили:
https://docs.godotengine.org/en/4.0/classes/class_skeletonmodificationstack2d.html
Смотри туториалы по переходу с 3.x на 4.0.
150 974117
>>4045
Ты про симуляции забыл, умник . Широкое разнообразие симуляций которые можно встретить в играх. Логических, технических, социальных, политических, физических, и других которые я не назвал.

>И что они сделают? Очередную интеллектуальную историю, которая соберёт от силы 1000 отзывов?


Они смогут впихнуть в этот формат вещи которые не смогли впихнуть до этого.

Как же отвратительно читать твое старческое ворчание. Я понимаю что это своего рода реализм, но блядь, ты такой невежда, и только и спешишь поскорее поныть.
151 974119
>>4067
Еще забавнее, что я буквально неделю назад писал, какой прорыв может появиться в играх, если туда добавить ИИ-геймдизайнера, оценивающего смысл действий игрока.
152 974184
>>4078

>Скачиваешь ассеты


Или можно использовать CSG ноды...
Потому что найти даже платные ассеты нереально.
153 974190
>>4184
Можно еще самому делать, представьте.
154 974194
>>4190

>самому делать


Если б все могли сами себе делать, никаких проблем бы не было.

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

Воруешь из интернета -> не твоя игра, а ворованная -> неинтересно.
Покупаешь -> не твоя игра, а купленная -> дорого и бессмысленно.
155 974195
>>4194
Стиль > графоний. Стиль тоже скилл, конечно, но прокачивается он в разы быстрее, а применяется легче.
156 974196
>>4190
Представь, чтобы скачать и вставить модельки отсюда >>939370 →
займет 1-2-3 дня. За такое время такое же количество ты не сделаешь сам, ага.
157 974204
>>3902
Перепробовал всё что ты перечислил, но избавиться от кирпичечной вечеринки мне помог только джолт
Спасибо за развёрнутый ответ
158 974206
Как снизить фпс _process одной ноды? Чтобы не каждый фрейм отрабатывало, а, допустим, каждый 3. Помимо if frames % 3 == 0: return

Короче, что делать если для моей задачи использование таймеров - слишком медленное, а _process - слишком быстрое?
159 974208
>>4206
Прибавляй единичку к переменной, когда она равна трем обнуляй
160 974211
>>4206

>снизить фпс _process одной ноды


Скорее всего, тебе нужен _physics_process, который по умолчанию фиксирован на 60 тиков в секунду, но в принципе можно снизить ещё больше, если физика не особо нужна. А вот _process зависит от частоты обновления экрана/установленного лимита кадров и у современных геймеров может быть хоть 240, хоть 480. Действительно ли тебе нужно привязывать что-то к кадрам?

>Помимо if frames % 3 != 0: return


Для прототипа сойдёт, а потом разберёшься, переделывать или оставить.
161 974226
>>4211
>>4208
Физикс процесс мне активно нужен, резать ему фпс ради этого не хочется. Вот у партиклей есть опция фпс - такое бы каждой ноде.
162 974240
Аноны, что в годоте с разрушаемостью?
В анриле Chaos Desctruction, в Unity есть RayFire. А в годоте онли васянские плагины?
163 974242
>>4240
Да всё так. Вали нахуй из треда.
164 974248
>>4242
а ты кто вообще?
165 974256
>>4240

>разрушаемость


Ну, смотри, даже в ААА тайтлах "разрушаемость" не настоящая - там фейковые катсцены, запечённые в продвинутой проге типа Blender. Игровой движок не занимается такими вещами. Я посмотрел по твоим ссылкам - там тоже васянки, имитирующие Blender.

Дело в том, что ты не можешь "разрушить" 3D меш. Возможно математически его разрезать - но это чрезвычайно дорогая операция и она подвержена артефактам/ошибкам округления и т.д. Крайне не рекомендую использовать разрезание мешей в реальном времени, от этого нет пользы игроку.

На практике, то, что тебе нужно - то, что используют даже в дорогих ААА играх - это набор из нескольких отдельных мешей и коллизий. Базовая модель - это целый объект, плюс один или несколько "осколков" отдельными объектами. Когда игрок "разрушает" базовую модель, ты всего лишь заменяешь её на несколько "осколков". Этого достаточно для всех современных игр - и даже избыточно. Т.е. тебе не обязательно давать обломкам коллизии и крутить симуляцию в физическом движке - обычно вся эта "разрушаемость" - простая анимация. Особенно это касается больших объектов вроде зданий, мостов и прочего, что рассыпается на множество осколков - современные компы и особенно приставки не тянут подобную масштабность, что бы тебе ни говорили.

Так что Godot в этом плане ничем не отличается, но требует чуть больше работы, т.к. нет автоматизации процесса из коробки: если надо, делай инструмент самостоятельно, всё необходимое для этого есть.

Главное помнить, что разрушаемость не является самостоятельной игровой механикой. Конечно, есть игры вроде Teardown, но это нишевые продукты - их ниша, судя по всему, уже давно переполнена. Зачем создавать ещё один симулятор разрушения, когда можно просто поиграть в уже существующий? Там математика очень сложная, а результат - ну такое. Придумай лучше какую-то интересную механику.

>>4242
Ты чего такой злой сегодня? Не с той ноги встал?
166 974262
Просто воксели ебашьте, хуле вы тут
167 974263
>>4262

>воксели


Сложно. И затратно, если они мелкие.

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

Есть ли выход? Можно, конечно, заготовить много отдельных мешей, но их как-то соединять нужно, чтоб зазоров не оставалось между разными "вокселями".
168 974266
>>4263

>И затратно, если они мелкие.


Клаудпанк и тирдаун работают шустро.
169 974268
>>4266

>Клаудпанк


Там только стиль воксельный.

>тирдаун


Там специализированный движок.

Для Godot есть это:
https://github.com/Zylann/godot_voxel
Но там же вроде число под ландшафт. Пробовал его сборку движка - там совсем не то, что ты обычно делаешь с 3D модельками. Сложно разобраться.

Пока не будет поддержки видеокартами на том же уровне, что и растры, о вокселях можно забыть. А видеокартам для поддержки вокселей нужно очень много памяти. Которой NVIDIA не хочет делиться...
170 974273
Сделал прикольный индикатор. Если где-то нужна текстура, а рисовать лень - берите из SubViewport.

Формально это процедурная текстура...
171 974276
>>4273
Круто
172 974282
Сильно ли влияет комплексная но скрытая из виду меш на производительность? Условно, если я спрячу модель йоба ангела из дьяблы под пол - он будет ебать мой фпс?
173 974285
>>4282
Насколько я помню, некоторые расчеты продолжают выполняться, например octotree. Но сколько это в фпс, хз. Может быть 0.1%? Возьми сам и померь, делов то.
174 974286
>>4273
Там есть некоторые нюансы. Во-первых где настраивать антиалиасинг, во-вторых раньше много вьюпортов просаживало перформанс, так что много таких штук делать было рисковано (как в 4 не знаю). Хотя, в некоторых случаях можно сгруппировать несколько иконок на одном вьюпорте, хм.
175 974301
>>4286

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


Если в сабвьюпорте - сглаживается то, что в текстуре.

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


render_target_update_mode = UPDATE_ONCE

>сгруппировать несколько иконок


Можно вообще что угодно генерировать...
176 974304
>>4282

>если я спрячу модель... под пол


По умолчанию она продолжит рендериться под полом, пока ты смотришь в её направлении:
https://docs.godotengine.org/en/stable/tutorials/3d/occlusion_culling.html
Но если у модели visible = false, то проблем нет.
177 974389
Почему не постите прогресс по своим играм?
178 974398
>>4389
Это же очевидно, игорь тонет!
Видео 15-09-2024 224112.mp423,3 Мб, mp4,
1012x584, 0:59
179 974400
>>4389
Добавил недавно мутантов в игру, лицехвата и что-то типа кентавра. Да и вообще, кучу всего по мелочи. Ещё оказалось что у всех игра просаживалась до 20 фпс, а я этого как-то не замечал. Оказалось что из-за того что я все анимированные объекты просто ставил на сцену, из-за большого количества анимейшен плееров всё просаэживалось. Сделал по итогу спавн когда камера заходит в область спавна челика/объекта, и теперь минимум 200 - 300 фпс есть на большой карте хотя мне кажется можно ещё увеличить, учитывая что на маленьких локах у меня 1500 фпс, но я пока не думаю об этом
180 974401
>>4389
Ты тредом ошибся? Это тред движка, а не прогресса своих игр.
181 974406
>>4389
Не хочется связывать свои проекты и свою интернет-личность с двачем.
182 974408
>>4301

>Если в сабвьюпорте - сглаживается то, что в текстуре.


Я попробовал в 4-ке и что-то не выходит. Может что-то упускаю.
Пик 1 - просто линия
Пик 2 - линия в сабвьюпорте -> вьюпорт текстура прогресс контрола
Пик 3 - настройки сабвьюпорта, вообще нет пункта anisotropic
Пик 4 - настройки зеленого контрола.
Размер контрола = размер сабвьюпорта = 512х512
(В настройках проекта по умолчанию Rendering->Textures->Anisotropic Filter-> 4x Fast
Потыкал рендеры, вроде и в GL Compatibility и в Forward+ одинаково.

>UPDATE_ONCE


Во-первых, как это поможет если делать много анимированных индикаторов как из примера выше?
Во-вторых тут мне лень измерять, но скорее всего они все идут с оверхедом, может быть видеопамять или что-то еще.
183 974409
>>4406
Просто делаешь рофельные проекты специально для двача, готово.
184 974424
Я правильно понимаю, что в природе на ютубе не существует полноценных туториалов по созданию пошаговой тактической игры (с боями, как в xcom, jagged alliance и т.п.), потому что пошел я нахрен это куда более не тривиальная задача, чем очередной 2д платформер?

Пока нашел только видосы с теоритическими выкладками или по отдельным темам, но хотелось бы на сам код глянуть
185 974425
>>4256
А в red fuction разве тоже фейк разрушаемость? Да даже если так - это все равно какие-то забытые технологии.
Меня вот взаимодействие с миром и в т.ч. разрушаемость поражает больше, чем любой графон. Прям вау эффект испытываю всегда
186 974426
>>4424
Игра и состоит из суммы элементов. Смотришь туториал по 2д тактической рпг, смотришь туториал по 3д анимациям, прикручиваешь, бац, готово.
187 974428
Сделайте кто-нибудь туториалы по мультиплеерным кнопкам...
188 974430
>>4428
Я бы сделал, но на одном компе тестить тяжело...
189 974431
>>4424

>хотелось бы на сам код глянуть


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

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

>пошаговой тактической игры


>очередной 2д платформер


ИМХО, пошаговые игры проще платформеров, но у пошаговых игр очень узкая ниша, в то время как платформеры хорошо отражают суть экшн игр. Большинство игроков предпочитают экшн игры, а геймдевом обычно увлекаются игроки. Никому не выгодно делать туториал на, скажем, виртуальные шахматы - механически они проще платформера, но смотреть такой туториал мало кто будет.

Вкратце: двигаешь фигурки - ждёшь ход. Сложно?
190 974432
191 974433
>>4432
Идея в том, чтобы два игрока мышкой пытались отобрать друг у друга кнопку. У меня есть несколько мышек, но винда позволяет управлять только одним курсором. И если кликнуть по второму окну, другие потеряют фокус (ввод с клавиатуры/геймпада). Тут нужен отдельный компьютер/телефон, но тогда демо придётся записывать на реальную камеру.

Мультиплеерные кнопки так и останутся мечтой...
192 974434
>>4433
Я еще лет 20 назад играл на винде в хотсит матч-3 с несолькими мышками. Очевидно это можно закодить самому (различать USB мышки по HID?) или поставить какую то прогу мультиплексор, правда на гитхабе опенсорсных не нашел.
Конечно нагуглить название игры не получилось, вылезают только ответы что это невозможно, лол.
193 974435
>>4428
Тебе повезло, потому что я делал мультиплеерные кнопки
Для начала тебе надо разобраться с @rpc вызовами
https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html
Не буду пересказывать, только скажу, что в целом это похоже на сигналы. Ты не вызываешь функцию, а отправляешь запрос, rpc не возвращает результат функции, а статус, например дисконнект. Ах да, в идеале надо каждый вызов rpc проверять на ошибку, а еще желательно перед каждым вызовом проверять, подключен ли до сих пор клиент.
Можно навелосипедить что-то вроде await rpc
https://www.reddit.com/r/godot/comments/11zgria/have_you_ever_wanted_to_use_await_on_an_rpc_call/

Так же, важный момент, нельзя передавать аргументами rpc функции объекты, ноды, ресурсы, текстуры и так далее. Но можно строки (а значит, можно передать путь к ноде в дереве, но там вроде какой то флаг надо, readable node names), цифры (то есть можно сказать - нажми 3-ю кнопку), и словари (а значит, если написать свой сериализатор, можно передавать любые данные)
%%P.s. я не пробовал репликацию сцен в 4. Тут есть описание, не знаю насколько актуально. https://godotengine.org/article/multiplayer-in-godot-4-0-scene-replication/
55

Итак, когда кнопка нажата, ее надо задисейблить (и настроить визуал чтобы она стала серой) и отправить вызов серверу. Также на клиенте можно запустить таймер кулдауна, после которого она отлипнет.
При таймауте отправки желательно показать на клиенте какой-то красный треугольнчек (и отлепить кнопку)
Сервер может отправить потдтверждение при получении. Потом он может отсчитать кулдаун и отправить разрешение на отлипание.
Понятно что у обоих подходов свои минусы. Наверняка вы играли в ммо, где нажимаешь уже откатившуюся кнопку, а она не срабатывает, потому что на сервере таймер то стартанул чуть позже, и значит на сервере время еще не вышло. А если ждать подтверждения с сервера, то кнопка будет нажиматься с запаздыванием.

Ладно, теперь пару слов про архитектуру многопользовательских кнопок. У меня было маленькое приложение, поэтому я общий клиент-серверный код поместил в одном файле.
Не забывай, что rpc фунция может определить через if, запущена она на сервере или клиенте. А также, есть вызов rpc_id, который укажет на чем запустить функцию. А еще есть специальные аннотации, которые указывают, можно ли запустить функцию локально, может ли клиент сам себе ее вызвать по сети, и прочее.

В конце хочу поднять вопрос безопасности. И C#. и gdscript легко декомпилируются. И если просто в клиенте написать, вот эта функция вызывается только с сервера, то хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти. Надо прогонять все запросы через сервер и проверять их там. В идеале, надо чтобы в клиенте были только кнопки, а вся логика закрыта в сервере, но так не получается из за лага, поэтому добавляют все эти интерполяции, экстраполяции, предсаказания и остальное.
193 974435
>>4428
Тебе повезло, потому что я делал мультиплеерные кнопки
Для начала тебе надо разобраться с @rpc вызовами
https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html
Не буду пересказывать, только скажу, что в целом это похоже на сигналы. Ты не вызываешь функцию, а отправляешь запрос, rpc не возвращает результат функции, а статус, например дисконнект. Ах да, в идеале надо каждый вызов rpc проверять на ошибку, а еще желательно перед каждым вызовом проверять, подключен ли до сих пор клиент.
Можно навелосипедить что-то вроде await rpc
https://www.reddit.com/r/godot/comments/11zgria/have_you_ever_wanted_to_use_await_on_an_rpc_call/

Так же, важный момент, нельзя передавать аргументами rpc функции объекты, ноды, ресурсы, текстуры и так далее. Но можно строки (а значит, можно передать путь к ноде в дереве, но там вроде какой то флаг надо, readable node names), цифры (то есть можно сказать - нажми 3-ю кнопку), и словари (а значит, если написать свой сериализатор, можно передавать любые данные)
%%P.s. я не пробовал репликацию сцен в 4. Тут есть описание, не знаю насколько актуально. https://godotengine.org/article/multiplayer-in-godot-4-0-scene-replication/
55

Итак, когда кнопка нажата, ее надо задисейблить (и настроить визуал чтобы она стала серой) и отправить вызов серверу. Также на клиенте можно запустить таймер кулдауна, после которого она отлипнет.
При таймауте отправки желательно показать на клиенте какой-то красный треугольнчек (и отлепить кнопку)
Сервер может отправить потдтверждение при получении. Потом он может отсчитать кулдаун и отправить разрешение на отлипание.
Понятно что у обоих подходов свои минусы. Наверняка вы играли в ммо, где нажимаешь уже откатившуюся кнопку, а она не срабатывает, потому что на сервере таймер то стартанул чуть позже, и значит на сервере время еще не вышло. А если ждать подтверждения с сервера, то кнопка будет нажиматься с запаздыванием.

Ладно, теперь пару слов про архитектуру многопользовательских кнопок. У меня было маленькое приложение, поэтому я общий клиент-серверный код поместил в одном файле.
Не забывай, что rpc фунция может определить через if, запущена она на сервере или клиенте. А также, есть вызов rpc_id, который укажет на чем запустить функцию. А еще есть специальные аннотации, которые указывают, можно ли запустить функцию локально, может ли клиент сам себе ее вызвать по сети, и прочее.

В конце хочу поднять вопрос безопасности. И C#. и gdscript легко декомпилируются. И если просто в клиенте написать, вот эта функция вызывается только с сервера, то хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти. Надо прогонять все запросы через сервер и проверять их там. В идеале, надо чтобы в клиенте были только кнопки, а вся логика закрыта в сервере, но так не получается из за лага, поэтому добавляют все эти интерполяции, экстраполяции, предсаказания и остальное.
194 974436
>>4433
Если игра сделана без сингтонов с глобальными переменными, то она помещается в сцену. А значит, можно сделать мета-игру-сцену, в которой добавлено несколько сцен-игр.
195 974437
>>4408

>377.5%


Зачем так приближать? Насколько я понимаю, все элементы GUI/HUD должны оставаться на 100%...

>Пик 1 - просто линия


Здесь видеокарта закрашивает треугольники одним сплошным цветом, поэтому края будут гладкими вне зависимости от растягивания/приближения.

>Пик 2 - линия в сабвьюпорте


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

>anisotropic


Зачем тебе анизотропный фильтр? Он используется только когда текстура накладывается на плоскость под острым углом относительно камеры, тогда как у тебя текстура лежит строго в плоскости экрана:
https://ru.wikipedia.org/wiki/Анизотропная_фильтрация
Возможно, ты спутал с антиализингом (MSAA).

>mipmap


Мипмапы здесь тоже не нужны. Они нужны только когда ты накладываешь текстуру на очень мелкие объекты (далеко от камеры). У мипмапов меньшее разрешение, чем у оригинальной текстуры:
https://ru.wikipedia.org/wiki/MIP-текстурирование
Мипмапы в 2D могут пригодиться только если ты сжимаешь картинку меньше 100%, скажем, до 50%.

>>UPDATE_ONCE


>как это поможет если много анимированных


Ты хоть иногда документацию читай. UPDATE_ONCE рендерит картинку ОДНОКРАТНО, переключая этот вьюпорт в состояние UPDATE_DISABLED. Ничто не запустит повторный рендеринг, пока ты сам не переключишь этот параметр. Анимация вообще не взаимодействует с вьюпортом и его текстурой.

>идут с оверхедом, может быть видеопамять


У тебя, по сути, всего два пути (не считаем .svg):
- нарисовать текстуру 512x512 в любом растровом редакторе и импортировать её в Godot в виде .png;
- рендерить сцену в текстуру 512x512 прям в Godot, составляя её из любых удобных нод и шейдеров.
В обоих случаях выделяется память под 512x512 пикселей. В первом случае эти пиксели хранятся на диске. Во втором случае хранится описание сцены, а также используются дополнительные ноды. Но в первом случае у тебя будет полностью статичная картинка, а во втором - процедурно генерируемая.

Как и в случае с CSG нодами, это способ быстро и удобно прототипировать текстуры-плейсхолдеры. Ты можешь по-быстрому набросать форму из Line2D, не переключаясь в отдельный редактор и даже без скачивания каких-то специальных аддонов. И ещё сохранить доступ к её компонентам, чтобы быстро поправить, без переключения на внешний редактор. Позже нарисуешь финальную графику в отдельном редакторе, а пока хватит и такого. Просто в тот же прогресс-бар нельзя вставить ничего кроме текстур.
195 974437
>>4408

>377.5%


Зачем так приближать? Насколько я понимаю, все элементы GUI/HUD должны оставаться на 100%...

>Пик 1 - просто линия


Здесь видеокарта закрашивает треугольники одним сплошным цветом, поэтому края будут гладкими вне зависимости от растягивания/приближения.

>Пик 2 - линия в сабвьюпорте


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

>anisotropic


Зачем тебе анизотропный фильтр? Он используется только когда текстура накладывается на плоскость под острым углом относительно камеры, тогда как у тебя текстура лежит строго в плоскости экрана:
https://ru.wikipedia.org/wiki/Анизотропная_фильтрация
Возможно, ты спутал с антиализингом (MSAA).

>mipmap


Мипмапы здесь тоже не нужны. Они нужны только когда ты накладываешь текстуру на очень мелкие объекты (далеко от камеры). У мипмапов меньшее разрешение, чем у оригинальной текстуры:
https://ru.wikipedia.org/wiki/MIP-текстурирование
Мипмапы в 2D могут пригодиться только если ты сжимаешь картинку меньше 100%, скажем, до 50%.

>>UPDATE_ONCE


>как это поможет если много анимированных


Ты хоть иногда документацию читай. UPDATE_ONCE рендерит картинку ОДНОКРАТНО, переключая этот вьюпорт в состояние UPDATE_DISABLED. Ничто не запустит повторный рендеринг, пока ты сам не переключишь этот параметр. Анимация вообще не взаимодействует с вьюпортом и его текстурой.

>идут с оверхедом, может быть видеопамять


У тебя, по сути, всего два пути (не считаем .svg):
- нарисовать текстуру 512x512 в любом растровом редакторе и импортировать её в Godot в виде .png;
- рендерить сцену в текстуру 512x512 прям в Godot, составляя её из любых удобных нод и шейдеров.
В обоих случаях выделяется память под 512x512 пикселей. В первом случае эти пиксели хранятся на диске. Во втором случае хранится описание сцены, а также используются дополнительные ноды. Но в первом случае у тебя будет полностью статичная картинка, а во втором - процедурно генерируемая.

Как и в случае с CSG нодами, это способ быстро и удобно прототипировать текстуры-плейсхолдеры. Ты можешь по-быстрому набросать форму из Line2D, не переключаясь в отдельный редактор и даже без скачивания каких-то специальных аддонов. И ещё сохранить доступ к её компонентам, чтобы быстро поправить, без переключения на внешний редактор. Позже нарисуешь финальную графику в отдельном редакторе, а пока хватит и такого. Просто в тот же прогресс-бар нельзя вставить ничего кроме текстур.
196 974438
>>4437
Придется завтра еще раз проверять. Я на ноуте попробовал повторить, а лесенки нет. Может настройки проекта отличаются. Может быть ты прав что метод проверки неправильный, завтра еще в лупу на пискели посмотрю без зума.
image.png129 Кб, 479x144
197 974439
>>4434
Вспомнил
https://web.archive.org/web/20100706162106/https://store.steampowered.com/app/7440

>Using the revolutionary Mouse Party, you can play with multiple players on the same computer


>OS: Windows 2000, Windows XP, Windows Vista


>Release Date: Dec 22, 2004

198 974441
>>4439
Плохие новости - винда блокирует чтение через HID мышки чтобы мешать кейлоггерам
https://github.com/signal11/hidapi/issues/247
Хорошие новости - как то же эти три-четыре проги работают
https://softwarerecs.stackexchange.com/questions/79650/need-two-mouse-pointers-on-windows-10-11
199 974442
Заодно наткнулся на что-то полезное про управление мышкой камеры
https://yosoyfreeman.github.io/article/godot/tutorial/achieving-better-mouse-input-in-godot-4-the-perfect-camera-controller/
200 974464
>>4435

>И C#. и gdscript легко декомпилируются.


В годоте же есть возможно зашифровать свой код?
201 974470
>>4464
https://godot.community/topic/35/protecting-your-godot-project-from-decompilation
не то?
202 974471
>>4464
Ты не читаешь, что тебе пишут. Он пишет, что все запросы надо через сервак прогонять и верифицировать. Шифрование там есть, но ключ вшит в экзешник. Ты не сможешь защитить свой код от васянов, пока не купишь Денуву.
203 974472
>>4464
Это совсем от школьников. Чтобы игра работала, она должна быть расшифрована на компе игрока, а значит ключ тоже на компе игрока.
Правда я немного погорячился, декомпилятор пока не обновили до 4.1 и нового байткода (но могут через месяцок-другой обновить)
204 974479
>>4470
>>4471
>>4472
Очень сложно все. И почему декомпилировать легально? Почему еще какие-то проекты публичные для этого есть? Охуеть

Как еще можно защитить кусочек своего кода? Обфусцировать его в кашу - реальный ли вариант?
image29 Кб, 283x803
205 974480
Какие разделы мануала обязательно стоит прочитать и понять, прежде чем двигаться дальше после туториалов(your first 2d/3d game)?
206 974481
>>4479

> декомпилировать легально?


Если лицензия позволяет, то легально. Если нет, то нет.

> Почему еще какие-то проекты публичные для этого есть? Охуеть


Да.

> Как еще можно защитить кусочек своего кода?


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

> Обфусцировать его в кашу - реальный ли вариант?


Это блять. Читай что тебе пишут.
207 974490
>>4481
Пусть окажется на торрентах через день, я даже за. Не хочу чтобы мой код читали, там 360 айкью гениальные решения. Они мои личные. Как мои трусы. Личные.
image969 Кб, 953x711
208 974492
>>4490

> Как мои трусы. Личные.


не все с этим согласятся
209 974496
>>4494 (Del)
Чойта ты порвался? Кто из местных тебя обидел?
210 974498
>>4494 (Del)
оу май
211 974507
>>4479
Сложно сделать. Я пробовал с++ обфусцировать, и строки в памяти обфусцировать, но это так муторно, с учетом оптимизаций компилятора, а еще это иногда ведет к багам и UB. А чтобы сломать, часто надо пару байтов нужных исправить.
Задумался вот, сейчас делаю игру на ECS, интересно ее сложнее сломать или проще? С одной стороны код проще, компоненты четче. С другой отладка сложнее, запутано где чьи компоненты. Можно конечно поугорать делая y-координату XOR второго байта хитпоинтов или что-то подобное.
212 974514
>>4480
Изучи едитор - вопросов будет меньше к анонам.
изображение.png143 Кб, 1093x790
213 974518
>>4480
Можешь загуглить обзор существующих нод и посмотреть пару раз, чтобы понять какие вообще существуют.
Скриптинг желательно весь конечно. Сигналы.
Если 3д, то полезно Rendering - Materials, Shadows, Lights
Полезно Input - Using InputEvent
Введение в ГУЙ есть в Step by step - Designing main menu
Из продвинутых тем - Math- Vector Math и далее, AnimationTree, шейдеры, Misc - Pausing Game, Saving Game, Network - High level multiplayer.
Tool-скипты (Misc - Running code in editor)

Можешь почитать https://kidscancode.org/godot_recipes/4.x/basics/index.html (есть и для 3)
Там вообще много полезных рецептов.
image.png7 Кб, 337x100
214 974531
>>4479
Любой код декомпилируется. Всегда так было. Это никого не волнует до тех пор, пока код программы нельзя открыть буквально как plain text. Начиная с 4.3 годо обфускация идет как побочный эффект третьей опции (и второй, ЕМНИП) в gdscript export mode. Этого хватит, разрешаю не трястись.
image.png12 Кб, 438x119
215 974542
>>4531
Отставить отмену тряски.
image.png31 Кб, 575x141
216 974543
>>4542
А по-моему ты не прав.
https://github.com/godotengine/godot/pull/87634
217 974547
>>3787

>можно сделать шейдер ваншотным?


Можно шейдер контролировать через внешний параметр, а сам параметр уже в анимации/скрипте.
218 974548
>>4543
Тут пока что барьер только низкая популярность годота. В java и .net есть декомпиляторы которые из байткода собирают читаемый код, в частности потому что компилятор то по одним шаблонам его генерит.
1726493704882.jpg46 Кб, 408x439
219 974550

> Как еще можно защитить кусочек своего кода?


На сегодняшний день только денува, насколько я знаю.
220 974557
>>4548
И? В чем вопрос-то состоит? Чего хотите добиться? Кода, который не будет способен понять человек, но поймет компьютер? Как вы себе представляете такое? Любой код вскрывается и приводится в читаемый вид - то вопрос времени. А простейшая деобфускация огородит от васянов. И в большем реальные разработчики реального даже проприетарного софта не нуждаются. Не еби мозги.
mood.jpg177 Кб, 1000x1000
221 974558
>>4401

>Это тред движка, а не прогресса своих игр.


Ты явно новичок или вообще мимо проходил.

В этом ИТТ треде поощряется постить о прогрессе разработки своих игр на Godot. Самые интересные будут добавлены в шапку следующего треда на почётное место рядом с Годеттой или лого Godot. Обсуждали это несколько раз за последние годы.
# OP 222 974563
>>4558
ЗЫС
223 974566
>>4557
Байткод намного проще восстанавливается в читаемый код, чем компилированный с/с++. Прикинь, написав на с++, ты ставишь барьер, который городит не только от васянов, но уже и от толиков.
224 974568
>>4558
Поощрается != требовать постить прогресс. Это не субшота. Конечно никто не против когда кто-то постит про устройство игр, показывает как что можно сделать.
1726496119207.png101 Кб, 957x840
225 974570
>>4566

> на с++, ты ставишь барьер, который городит не только от васянов, но уже и от толиков


Посмотри на пикчу. Я васян или толян?
17202577186450.jpg70 Кб, 749x680
226 974571
Есть возможность прохудить экспорт проекта без потерь времени и каких-нибудь возможных зависимостей? А то почти пустой проект в 100 мб это перебор, ящитаю. Года джва назад весь движок с эдитором 40-50 мб весил, а сейчас один только движок с ничем в сотню обходится. Не нравится мне все это. Блоатварь чертова и до робота родненького добралась.
227 974572
>>4571

>без потерь времени


Серьезных, я имею в виду. Так я, конечно, готов потратить время. Но не очень много. Если можно.
228 974574
>>4571

>Есть возможность


А, ну да, еще забыл сказать, что вопрос состоит скорее не в том "а есть ли возможность?", но больше в смысле "как это сделать, если все же возможно?". Все-таки хотелось бы экспорт уменьшить на практике, одного знания мало будет.
229 974577
>>4568

>требовать постить прогресс


Требую делать игры.
230 974579
>>4571
Какая версия у тебя? Краем глаза в 4.3 чейнджлоге видел что-то про уменьшение размеров.
изображение.png20 Кб, 652x44
231 974580
>>4570
Ты глазан.
232 974581
>>4435

>хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти


>вся логика закрыта в сервере


Это тебя должно заботить только если ты делаешь:
- ММО: потому что у тебя вся экономика завязана на честный геймплей, игроки будут бугуртить с читов;
- соревнования: очевидно, будет бугурт, если читеры обходят всех в таблицах лидеров и нагибают нубов;
- гача-игры: чтобы не собрали всех тянок за 1 день, а заходили каждый день гриндить или донатить.
В остальном, на читеров насрать. Если игрок играет с читером - пускай играет, а если не хочет - просто отключается от него и играет с кем-то другим. Если игроки создают свои сервера, они имеют полное право создавать сервера специально для читеров.

Хуже читеров только анти-читы, которые банят всех подряд за "подозрительные" действия. Лучше пускай читеры балуются, но играют, а не так, что у тебя 90% плеербазы парится в бане за какую-то мелочь вроде неправильно установленного драйвера мыши.

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

>>4479

>И почему декомпилировать легально?


Потому что сам по себе процесс декомпиляции не является чем-то плохим. Компиляция - это перевод с одного компьютерного языка на другой. Вот можно перевести с русского на английский - и это легально, почему тогда должно быть нелегально переводить с английского на русский? Тут та же тема. Ты можешь перевести с машинного кода на скриптовый язык - проблемы нет, кроме лицензионного соглашения между тобой и создателем этого кода. Что это за лицензионное соглашение? Автор статьи в блоге в интернете, например, может написать "я запрещаю переводить мои статьи на другие языки" - и тогда ты нарушаешь с ним соглашение, если переводишь. Но следить за исполнением должен сам автор статьи.

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

>какие-то проекты публичные для этого есть?


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

>защитить кусочек своего кода?


Защитить от чего? От чтения? Тогда не публикуй.

>>4490

>чтобы мой код читали, там 360 айкью


Скорее всего, у тебя там потешные костыли, которые никому не нужны. Ты бы лучше боялся, что над твоей программой смеяться будут (как над ЯндереДевом).
232 974581
>>4435

>хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти


>вся логика закрыта в сервере


Это тебя должно заботить только если ты делаешь:
- ММО: потому что у тебя вся экономика завязана на честный геймплей, игроки будут бугуртить с читов;
- соревнования: очевидно, будет бугурт, если читеры обходят всех в таблицах лидеров и нагибают нубов;
- гача-игры: чтобы не собрали всех тянок за 1 день, а заходили каждый день гриндить или донатить.
В остальном, на читеров насрать. Если игрок играет с читером - пускай играет, а если не хочет - просто отключается от него и играет с кем-то другим. Если игроки создают свои сервера, они имеют полное право создавать сервера специально для читеров.

Хуже читеров только анти-читы, которые банят всех подряд за "подозрительные" действия. Лучше пускай читеры балуются, но играют, а не так, что у тебя 90% плеербазы парится в бане за какую-то мелочь вроде неправильно установленного драйвера мыши.

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

>>4479

>И почему декомпилировать легально?


Потому что сам по себе процесс декомпиляции не является чем-то плохим. Компиляция - это перевод с одного компьютерного языка на другой. Вот можно перевести с русского на английский - и это легально, почему тогда должно быть нелегально переводить с английского на русский? Тут та же тема. Ты можешь перевести с машинного кода на скриптовый язык - проблемы нет, кроме лицензионного соглашения между тобой и создателем этого кода. Что это за лицензионное соглашение? Автор статьи в блоге в интернете, например, может написать "я запрещаю переводить мои статьи на другие языки" - и тогда ты нарушаешь с ним соглашение, если переводишь. Но следить за исполнением должен сам автор статьи.

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

>какие-то проекты публичные для этого есть?


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

>защитить кусочек своего кода?


Защитить от чего? От чтения? Тогда не публикуй.

>>4490

>чтобы мой код читали, там 360 айкью


Скорее всего, у тебя там потешные костыли, которые никому не нужны. Ты бы лучше боялся, что над твоей программой смеяться будут (как над ЯндереДевом).
233 974583
>>4581
у меня соревновательная ммо гача.
234 974586
>>4581

> Ты бы лучше боялся, что над твоей программой смеяться будут (как над ЯндереДевом).


У тебя травма какая-то? Над тобой смеялись? Скажи мне кто и я заспамлю их игры негативным отзывами!
235 974587
>>4579
Да, я про 4.3 и говорил. Он большие файлы даже с компрессией экспортирует.
236 974589
>>4571

>прохудить экспорт проекта без потерь


Можно для начала почитать документацию:
https://docs.godotengine.org/en/stable/contributing/development/compiling/optimizing_for_size.html

>каких-нибудь возможных зависимостей


1. Делаешь игру на официальной сборке.
2. Определяешь, что из зависимостей нужно.
3. Удаляешь всё остальное по ссылке выше.
4. Публикуешь кастомный билд.
5. Если в будущем потребуется что-то из того, что ты удалил, делаешь новый билд с этой зависимостью.

>100 мб


Это в разжатом виде, в сжатом около 50 Мб. Если в файловой системе включено сжатие, то меньше 100.

>Блоатварь


Это по-прежнему самый компактный движок из универсальных "всё включено" с удобными GUI инструментами и малым числом багов. После перехода на 4.0 движок раздуло из-за того, что поторопились выкатить новейший вулкан, и до 4.2 фокус был на багфиксах, теперь (4.3-4.4+) обещают уделять больше внимания оптимизации размера.
237 974592
>>4583

>у меня соревновательная ммо гача


Звучит как диагноз. Земля тебе донатами, товарищ...

Если серьёзно:
1. Соревновательным играм нужен чёткий баланс и дорогущий маркетинг, иначе просто не взлетит.
2. ММО и гачам нужно доставлять новый контент ежемесячно, иначе игрокам надоест и разбегутся.

И это не говоря об общих проблемах мультиплеера...

Даже более-менее крупные команды проигрывают. Да что там, даже ААА проваливаются. В соло или с парой друзей такое тащить на себе нереально. Если, конечно, не называть ММО сервер на 3.5 игрока...
238 974598
>>4592
Ну ладно, про соревновательную я пошутил. Хотя, лидерборд можно прикрутить для мотивации. Контента готово на несколько лет вперед, успевать бы все вставлять...
239 974602
>>4589

>Можно для начала почитать документацию


Внезапно. Не ждал, что такая тема затрагивается в документации. Документация вообще мне редко помогала. Прошлый раз ее читал, когда хотел разобраться с тем, как оформлять обновления в маленькие сорт оф diff PCK-файлы, а не выкатывать перекомпилированный исполняемый файл с перекомпилированным и полным PCK. Ответа там я не нашел, пришлось обидеться на оф. документацию. Такая вот история. Но вообще у кого-то чего-то спрашивать обычно не моя стратегия, я просто сегодня бездельничаю. Зашел вот к вам.

>4. Публикуешь кастомный билд.


Движка билд? Зачем публиковать?

>Если в файловой системе включено сжатие, то меньше 100.


У меня в сжимающейся btrfs сотню показывает. Или ты другое имеешь в виду?

>Это по-прежнему самый компактный движок из универсальных "всё включено"


Разумеется. Я считаю его лучшим из предложенных, и учитывая проприетарные, разумеется. Но всегда можно лучше.

>теперь (4.3-4.4+) обещают уделять больше внимания оптимизации размера.


Это чудесно, я очень рад таким новостям. Неиронично.
240 974604
>>4589
А, спасибо забыл сказать. Спасибо.
241 974606
>>4571
Зависимости чего от чего? Ты о чем вообще? Если у тебя 99% занимает .exe, то ты его перекомпилировать только можешь, а там модули и так независимые.
Алсо, https://docs.godotengine.org/en/stable/contributing/development/compiling/optimizing_for_size.html
242 974610
>>4602
Патчи можно делать и внешней утилитой, вообще то. А экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.
243 974611
>>4606
Да, мне скинули уже эту ссылку. Спасибо.

>Зависимости чего от чего?


>модули и так независимые


Ну вот как параграф по ссылке, например - зарезать 3D за ненужность в 2D игре. Ну или физику движковую. Я ее не использую тоже. Напрямую, по крайней мере.
>>4610

>Патчи можно делать и внешней утилитой


Какой?

>экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.


А я по-другому считаю.
244 974613
>>4602

>маленькие сорт оф diff PCK-файлы


Стабильная версия:
https://docs.godotengine.org/en/stable/tutorials/export/exporting_pcks.html
Версия времён динозавров:
https://docs.godotengine.org/en/3.1/getting_started/workflow/export/exporting_pcks.html

>Движка билд? Зачем публиковать?


Ты ж игру вместе с движком публикуешь обычно.

>btrfs


Я про NTFS в Windows, точно число не помню.

>Но всегда можно лучше.


Тогда делай proposals, pull requests, issues и т.д.

>>4610

>просто копируется тот же самый.


Там, вроде, есть нюансы:
- можно менять иконку и другие записи в exe;
- можно склеить pck и exe в один файл;
- для Android процесс намного сложнее.
245 974616
>>4613

>https://docs.godotengine.org/en/stable/tutorials/export/exporting_pcks.html


Да, именно за эту страничку я и обиделся. Это надо в релизе с расчетом на последующие патчи и багфиксы писать код на подгруз дополнительных PCK с конкретным именами и в случае их наличия. Глупость полная. Ну если я, конечно, правильно все понял. Можно было бы просто заменять маленькие бинарники, а не плодить архивы патчей в корне. Меня вообще идея одного исполняемого файла и архива с незнакомым (для конечного пользователя) расширением в директории софтинки всегда пугала. А один большой исполняемый файл это еще страшнее. Но это наверно не все поймут. Я сам не понимаю.

>Ты ж игру вместе с движком публикуешь обычно.


А, ты про это. Теперь ясно.

>Тогда делай proposals, pull requests, issues и т.д.


Естественно.
246 974632
>>4616

>Глупость полная.


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

>не плодить архивы патчей в корне


Можешь в любой другой папке их хранить. Знаешь, как обновляется GTA Online? Они выпускают много бесплатных обновлений, которые создают в папке с игрой дополнительные папки с "DLC". Отказаться от этого невозможно, если хочешь играть онлайн.

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


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

>большой исполняемый файл это еще страшнее


Хех, погугли "llamafile", почитай что там пишут.

Вообще, с Godot ты можешь распространять свою игру как распакованный проект. Т.е. тебе не нужно упаковывать игру в pck, достаточно вложить в папку проекта движок, запаковать папку в zip и кидать её игрокам через файлообменник или площадку. Да, конечно, они смогут прочитать и изменить все твои исходники, но разве ты не этого хочешь? Некоторые древние игры на ПК так и распространялись, и часть древних движков сохранила эту возможность - т.е. считывают голые .png, .obj, скрипты и т.д.

В таком случае "патч" у тебя будет крайне прост - распаковать zip-файл в папку игры с заменой.

Алсо, площадки вроде Стим предоставляют свои инструменты для патчей. Не знаю, как это работает.
247 974635
>>4518
Спасибо!
248 974639
>>4632

>Это избавляет от головной боли


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


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

>Знаешь, как обновляется GTA Online?


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

>Все игровые движки обычно делают что-то похожее.


Разве? А по-моему в общем случае игра/программа это директорая, внутри которой много других директорий с бинарниками и прочими ресурсами. И распаковать патч в такую директорию рука прям чешется. Ты же понимаешь наверняка, что это просто звучит правильно и понятно. Вообще я осознаю, что болтаю и жалуюсь буквально ни о чем, ведь большинству игроков будет плевать на то, как это устроено изнутри - их устроит и огромный стандалон .exe на винде, .appimage на линуксе или .app на макоси.

>Хех, погугли "llamafile", почитай что там пишут.


Модели это не так страшно. А вот если бы это были .exe на 30 гигов, меня б удар хватил.

>Вообще, с Godot ты можешь распространять свою игру как распакованный проект.


О, вот это прям открытие. Сейчас попробовал. Работает и правда. Заметил очень много ошибок в терминале. Думал, что экспортировал чего не так. А нет, эти ошибки просто не крашат игру и висели в дебаггере все время. Плохой я разработчик.

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


А вот не знаю, если честно. Я очень люблю FOSS и пользуюсь эксклюзивно свободным ПО, но это, как понимаешь, не может относиться к играм, потому что опенсорс игр просто нет. Так сложилось. И я уже могу имаджинировать как рескины моей игры продают в стиме за 30 рублей. Мои действия? Пишу на почту Free Software Foundation и жалуюсь на то, что меня буллят в интернете, нарушая GPL. Печально все это.

>В таком случае "патч" у тебя будет крайне прост - распаковать zip-файл в папку игры с заменой.


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

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


Интересно, не слышал о таком.
В любом случае, удовлетворительный выход из этой ситуации я найду. Я люблю жаловаться и искать недостатки во всяком, даже в любимых своих штуках. Ты слишком стараешься мне помочь, это необязательно. Но я очень это ценю, спасибо!
248 974639
>>4632

>Это избавляет от головной боли


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


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

>Знаешь, как обновляется GTA Online?


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

>Все игровые движки обычно делают что-то похожее.


Разве? А по-моему в общем случае игра/программа это директорая, внутри которой много других директорий с бинарниками и прочими ресурсами. И распаковать патч в такую директорию рука прям чешется. Ты же понимаешь наверняка, что это просто звучит правильно и понятно. Вообще я осознаю, что болтаю и жалуюсь буквально ни о чем, ведь большинству игроков будет плевать на то, как это устроено изнутри - их устроит и огромный стандалон .exe на винде, .appimage на линуксе или .app на макоси.

>Хех, погугли "llamafile", почитай что там пишут.


Модели это не так страшно. А вот если бы это были .exe на 30 гигов, меня б удар хватил.

>Вообще, с Godot ты можешь распространять свою игру как распакованный проект.


О, вот это прям открытие. Сейчас попробовал. Работает и правда. Заметил очень много ошибок в терминале. Думал, что экспортировал чего не так. А нет, эти ошибки просто не крашат игру и висели в дебаггере все время. Плохой я разработчик.

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


А вот не знаю, если честно. Я очень люблю FOSS и пользуюсь эксклюзивно свободным ПО, но это, как понимаешь, не может относиться к играм, потому что опенсорс игр просто нет. Так сложилось. И я уже могу имаджинировать как рескины моей игры продают в стиме за 30 рублей. Мои действия? Пишу на почту Free Software Foundation и жалуюсь на то, что меня буллят в интернете, нарушая GPL. Печально все это.

>В таком случае "патч" у тебя будет крайне прост - распаковать zip-файл в папку игры с заменой.


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

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


Интересно, не слышал о таком.
В любом случае, удовлетворительный выход из этой ситуации я найду. Я люблю жаловаться и искать недостатки во всяком, даже в любимых своих штуках. Ты слишком стараешься мне помочь, это необязательно. Но я очень это ценю, спасибо!
249 974641
>>4639

>опенсорс игр просто нет


Сейчас разрабы всяких nethack, battle for wesnoth и cataclysm dda охуели
250 974643
>>4639
А вслед за упомянутыми выше олдами. охуели тысячи современных разрабов, которые открывают исходники на джемах типа Ludum dare
image.png184 Кб, 349x337
251 974644
>>4639
Буквально каждые выходные гоняю в опенсорсный пикрил.
252 974652
>>4611

>>Патчи можно делать и внешней утилитой


>Какой?


Ну например itch.io/butler умеет делать локальные патчи, а не только отправлять на итч. Лицензия MIT.
Да вообще на гитхабе вылезает много Game Patcher
По большому счету, это то что делает diff/patch в линуксе или git merge. Копирует совпадающие части файла и заменяет отличающиеся.

>>экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.


>А я по-другому считаю.


А ты мог бы просто побайтово сравнить после экспорта.
Ну считать то ты можешь конечно, только компилятор с++ с либами для сборки весил бы пару гигов, а не 100мб. Игрушечные компиляторы не рассматриваем.
Да и вообще, вместо шаблона экспорта, можно подложить в папку с .pck сам редактор годота и так же все будет работать.

>можно менять иконку и другие записи в exe;


Да это правда, я такие нюансы не стал рассматривать. Это примитивная операция над бинарником - развинуть место между заголовком и блоками кода, втиснуть картинку, подправить смещения-указатели.
>>4632

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


Написано что он разрезает файл на 1Мб кусочки и потом отправляет только изменившиеся мегабайты. Понятно что это не работает с zip или шифрованым файлом, так как он будет перефаршировываться целиком, также будет плохо если куски сильно переезжают - текстура была вначале, стала в конце. А потом эти кусочки уже на стороне стима сжимаются и шифруются. Хз честно говоря, какой формат у .pck в этом плане.
>>4639

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


В крупных играх так не делают, там какой нибудь один .dat. Скорее всего файловая система дает оверхед, поэтому программистам проще написать свою структуру, а там глядишь и файл получится просто memory map в память подгрузить. Да и своего шифрования можно навернуть. (Но шифрование конфликтует с патчами...)
253 974655
254 974660
>>4655
А я все это знал, я молодец.
255 974663
>>4655
Пункты 2,3,4 не знал. Спасибо.
image.png47 Кб, 700x700
256 974664
>>4652

>вообще на гитхабе вылезает много Game Patcher


Это класс, только я попросил твоей рекомендации лично, не гитхаба.

>itch.io/butler


>это то что делает diff/patch в линуксе или git merge


Спасибо. Это то что надо.

>А ты мог бы просто побайтово сравнить после экспорта.


А я сравниввл мд5 уже, потому что слышал про одинаковые экзешники в случае внешнего PCK на выходе. Поэтому и есть мнение. Но если вдруг в итоге окажется, что я не прав или чего-то не так проверял, то я ОЧЕНЬ сильно расстроюсь.

>Ну считать то ты можешь конечно


Буду считать. Но если тебя это будет беспокоить, то ты дай знать.

>я такие нюансы не стал рассматривать. Это примитивная операция над бинарником


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


Ну ты молодец, конечно, много знаешь разного. А сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку? А Ежи?

>В крупных играх так не делают


Не знаю, может мы о разных вещах говорим. цп2077 - наверно единственное, что я запускал свежее 2014-2015 года выпуска и смотрел примерно чего и как там выглядит в директории игры. Может быть, это недостаточно большая игра. Может, крупная игра это калофдути. С одним .dat-файлом на добрые 160 гб. Может, сейчас все делают, как ты сказал. Не могу знать.
1726547753568.png115 Кб, 1010x775
# OP 257 974665

> >Вообще, с Godot ты можешь распространять свою игру как распакованный проект.


> О, вот это прям открытие.


Бля. Надо что-то с шапкой делать. Давайте думать. Предлагайте. Как бы нам сделать-то. Пакрасате.
258 974692
Есть character3d, который при очень низкой скорости застревает на подъеме, в месте стыка пола и склона. Я могу повысить его минимально допустимую скорость и все станет ок. Еще я обнаружил что проблема застревания решается если я меняю max_slides в его свойствах на 1, и хочу узнать - чем это чревато?
размеры.png8 Кб, 640x200
259 974693
>>4602

>сжимающейся btrfs сотню показывает


Пикрил. NTFS сжатие в Windows 10. Если из экспорта выбросить лишнее (3D, физика и т.д.) - будет меньше.

>>4639

>Почему не сделать, как хочу я?


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

>в общем случае игра/программа это директорая


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

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

>если бы это были .exe на 30 гигов


В Windows .exe не может быть больше 4 Гб, но вот на Линуксе, вроде бы, можно и 30 Гб. Лламафайл - это гигантский .exe с моделью внутри, хотя можно и без модели использовать. Но всё равно, в ML почему-то гигантские исполняемые файлы, DLL на гиг - это для них фигня, никогого такие масштабы не волнуют...

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

>Заметил очень много ошибок в терминале.


По умолчанию эти ошибки пишутся в файл где-то в системе. Не знаю, где на Линуксе, но поищи в папке пользователя или где там обычно программы/игры хранят собственные "сохранения" (%appdata%).

>опенсорс игр просто нет


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

>рескины моей игры продают в стиме за 30 руб


Ну и что? Оперсурс позволяет так делать. Никто не запрещает сделать форк Godot и продавать его на отдельной странице, просто это никому не нужно.

>слишком стараешься мне помочь


Я таким образом прокрастинирую.

>>4664

>сравнивал мд5


С чем сравнивал? Главное, как экспортировал? Там специальные поля в исполняемом файле, где указан разработчик, адрес для баг-репортов, номер билда и подобное - Godot эти поля может перезаписать при желании. Тогда хэш-сумма будет отличаться. Но это необязательные операции для "запуска" .pck-файла.

>сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку?


Лично я - да, но только на Windows:
https://en.wikipedia.org/wiki/Resource_Hacker
Даже игру делал чисто на этих ресурсах (на Delphi).

>С одним .dat-файлом на добрые 160 гб.


Никто не говорит про один файл на 160 Гб. Ресурсы разрезают на отдельные файлы. Говорю же, глянь устройство GTA 5... Нет, даже GTA 3/VC/SA - там эти огромные .img-файлы - это архивы с ресурсами в специфическом формате (его давно расшифровали, используют специальные архиваторы для модов).

>>4665

>Надо что-то с шапкой делать.


Тщетно бытие, зумеры даже документацию больше не уважают, что им твоя шапка? Им нужно летсплей игроделания записать - со смешнявками и мемами.
https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html#running-the-game
Можно даже отдельные скрипты запускать, чтобы выполнять какие-то мелкие задачи а-ля Python.
размеры.png8 Кб, 640x200
259 974693
>>4602

>сжимающейся btrfs сотню показывает


Пикрил. NTFS сжатие в Windows 10. Если из экспорта выбросить лишнее (3D, физика и т.д.) - будет меньше.

>>4639

>Почему не сделать, как хочу я?


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

>в общем случае игра/программа это директорая


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

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

>если бы это были .exe на 30 гигов


В Windows .exe не может быть больше 4 Гб, но вот на Линуксе, вроде бы, можно и 30 Гб. Лламафайл - это гигантский .exe с моделью внутри, хотя можно и без модели использовать. Но всё равно, в ML почему-то гигантские исполняемые файлы, DLL на гиг - это для них фигня, никогого такие масштабы не волнуют...

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

>Заметил очень много ошибок в терминале.


По умолчанию эти ошибки пишутся в файл где-то в системе. Не знаю, где на Линуксе, но поищи в папке пользователя или где там обычно программы/игры хранят собственные "сохранения" (%appdata%).

>опенсорс игр просто нет


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

>рескины моей игры продают в стиме за 30 руб


Ну и что? Оперсурс позволяет так делать. Никто не запрещает сделать форк Godot и продавать его на отдельной странице, просто это никому не нужно.

>слишком стараешься мне помочь


Я таким образом прокрастинирую.

>>4664

>сравнивал мд5


С чем сравнивал? Главное, как экспортировал? Там специальные поля в исполняемом файле, где указан разработчик, адрес для баг-репортов, номер билда и подобное - Godot эти поля может перезаписать при желании. Тогда хэш-сумма будет отличаться. Но это необязательные операции для "запуска" .pck-файла.

>сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку?


Лично я - да, но только на Windows:
https://en.wikipedia.org/wiki/Resource_Hacker
Даже игру делал чисто на этих ресурсах (на Delphi).

>С одним .dat-файлом на добрые 160 гб.


Никто не говорит про один файл на 160 Гб. Ресурсы разрезают на отдельные файлы. Говорю же, глянь устройство GTA 5... Нет, даже GTA 3/VC/SA - там эти огромные .img-файлы - это архивы с ресурсами в специфическом формате (его давно расшифровали, используют специальные архиваторы для модов).

>>4665

>Надо что-то с шапкой делать.


Тщетно бытие, зумеры даже документацию больше не уважают, что им твоя шапка? Им нужно летсплей игроделания записать - со смешнявками и мемами.
https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html#running-the-game
Можно даже отдельные скрипты запускать, чтобы выполнять какие-то мелкие задачи а-ля Python.
260 974694
>>4692
Добавлю что мои поверхностные тесты не выявили никаких проблем от единички. Но хуй его знает.
261 974695
>>4692
Физику используешь встроенную?

Что ты используешь в роли коллизий?
- цилиндр: застревает уголком;
- капсула: застревает из-за трения;
- рейкаст: не застревает, но резко прыгает.
Попробуй посадить персонажа на рейкаст:
https://docs.godotengine.org/en/stable/classes/class_separationrayshape3d.html

>max_slides в его свойствах на 1


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

Далеко не все параметры по умолчанию выбраны адекватно, так что не стоит считать их идеальными.
262 974704
>>4695
Спасибо за ответ. В общем, это я сам проебался, смешав логику нахождения на полу и в воздухе. Как итог в точке стыка на персонажа слишком давило, и он не мог подняться при низкой скорости.

А max_slides потестил еще и понял что лучше не ставить его в 1 - все управление становится менее плавным, втыкаясь в углы проводишь в них больше времени прежде чем соскользнешь.
2024.09.14.mp49 Мб, mp4,
754x440, 2:23
263 974717
>>4400

>Сделал по итогу спавн когда камера заходит в область спавна челика/объекта, и теперь минимум 200 - 300 фпс есть на большой карте


Молодец. А когда пофиксишь скольжение ног?

Если правильно помню, твоя карта генерируется?
Что-нибудь читал/смотрел по дизайну уровней?

>>4568

>про устройство игр


Придумал вот как занерфить лебёдку.

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

На днях попробовал добавить спецэффект к работе лебёдки и эта проблема стала ещё острее. В итоге придумал сделать "перегрев" лебёдки. Каждый тик _physics_process изменяется параметр:

>heat += delta × (heat_rise_factor


>if state == State.REEL_IN # намотка


>else heat_drop_factor) # размотка/бездействие


Если heat > 0.99, лебёдка отключается. Как можно догадаться, "...factor" равный 1 равен 1 секунде до "перегрева" или полного "охлаждения" лебёдки.

Всё ещё нужно сбалансировать, но смысл в том, что теперь нельзя тупо зажимать кнопку. Если реже используешь сматывание, то у тебя есть ≈1 секунда непрерывного ускорения без ожидания, а вот если постоянно дёргать кнопку, придётся часто кликать с ожиданием отката ("охлаждения") способности.

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

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

Ещё короче - недостаточно знать движок, чтобы сделать собственную интересную игру...

Кстати, кто-нибудь знает, что теперь с инверсной кинематикой? Её обещали переделать вроде бы, и существующее решение было нестабильно. Хочу персонажа нормально анимировать, но как?..
2024.09.14.mp49 Мб, mp4,
754x440, 2:23
263 974717
>>4400

>Сделал по итогу спавн когда камера заходит в область спавна челика/объекта, и теперь минимум 200 - 300 фпс есть на большой карте


Молодец. А когда пофиксишь скольжение ног?

Если правильно помню, твоя карта генерируется?
Что-нибудь читал/смотрел по дизайну уровней?

>>4568

>про устройство игр


Придумал вот как занерфить лебёдку.

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

На днях попробовал добавить спецэффект к работе лебёдки и эта проблема стала ещё острее. В итоге придумал сделать "перегрев" лебёдки. Каждый тик _physics_process изменяется параметр:

>heat += delta × (heat_rise_factor


>if state == State.REEL_IN # намотка


>else heat_drop_factor) # размотка/бездействие


Если heat > 0.99, лебёдка отключается. Как можно догадаться, "...factor" равный 1 равен 1 секунде до "перегрева" или полного "охлаждения" лебёдки.

Всё ещё нужно сбалансировать, но смысл в том, что теперь нельзя тупо зажимать кнопку. Если реже используешь сматывание, то у тебя есть ≈1 секунда непрерывного ускорения без ожидания, а вот если постоянно дёргать кнопку, придётся часто кликать с ожиданием отката ("охлаждения") способности.

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

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

Ещё короче - недостаточно знать движок, чтобы сделать собственную интересную игру...

Кстати, кто-нибудь знает, что теперь с инверсной кинематикой? Её обещали переделать вроде бы, и существующее решение было нестабильно. Хочу персонажа нормально анимировать, но как?..
264 974718
>>4664

>А сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку? А Ежи?


Да, давно как то копался в PE формате, к чему вопрос?
image367 Кб, 640x640
265 974726
парни, вот $Zalupa это короткая запись от get_node("Zalupa"), я также слышал, что в данном случае "Zalupa" это тип Строка и тратится время на конвертацию в тип Путь, поэтому в идеале использовать get_node(^"Zalupa"), это типа лучше и быстрее, а есть ли тогда короткая запись для ^"Zalupa"? Типа там какой-нибудь $^Zaloopa или что-то такое?
266 974727
267 974728
>>4727
разве это не какое-то там уникальное имя, которое дополнительно надо где-то устанавливать и только потом исползовать в коде?
268 974731
>>4728
Оно.
269 974732
>>4731
ну тогда это не то, что мне надо, видимо ответ тогда нет
270 974733
>>4726
Делай гет_нод(похуй_как) ровно ОДИН раз и загоняй в переменную - самое быстрое будет. Можешь даже в онреди пихнуть.
271 974734
272 974741
>>4733
Удваиваю и добавлю, что есть причина, почему онреди лучше.
Каждый раз делая $Zalupa, ты как бы повторно вызываешь get_node("Zalupa"), что не оч хорошо для производительности. Онреди полностью устраняет эту проблему, выполняя get_node всего один раз, а дальше в переменной хранится только указатель. То есть, даже если $ встречается всего лишь в одном месте, наверняка это место выполняется чаще, чем один раз за игру.
Кто-то скажет, что это преждевременная оптимизация, а я скажу, что лучше сразу привыкать писать хороший код без дополнительных трудозатрат, дабы избавить себя от лишнего труда на этапе оптимизации.
273 974756
>>4741
А какой выигрыш это в принципе может дать? Я не эксперт, но звучит как "++i быстрее чем i++ на доли процента, используйте префиксные операторы чтобы потом ваш код кроме вас хуй кто понял"
Мимо
274 974777
Бля, в следующий раз просто украду чужую уже взлетевшую идею.
275 974790
>>4777
Взлетевшую идею не выйдет украсть, потому что автор уже заработал свой миллион. Кради идеи из треда идей >>605406 (OP)
276 974793
Как сделать так, чтобы Godot 4.3 не зависал каждые 15 минут без всякой причины? Работаю-работаю, раз завис на 30 секунд, отвис, работаю дальше.
277 974796
>>4790
Даже ААА-хуи бессовестно воруют друг у друга, иногда вплоть до визуала и моделек. Тут достаточно визуал сменить и насыпать, так сказать, спайсов своих.
278 974799
>>4796
Дада!! Вот из недавнего: авторки нашумевшей игры Dustborn спиздили ассеты в ГТАонлайн.
279 974800
>>4756

>А какой выигрыш это в принципе может дать?


Если вызов в одном объекте пару раз за его работу - практически никакого. Если в сотне мобов каждый кадр - охуенный выигрыш, вплоть до того, что с ним сотню можно было бы заменить на тысячу.
Главный выигрыш - в формировании полезной привычки на случай, когда это реально повлияет на производительность.
280 974830
>>4717

>А когда пофиксишь скольжение ног?


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

>твоя карта генерируется?


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

>Что-нибудь читал/смотрел по дизайну уровней?


Нет
281 974849
>>4717

>что теперь с инверсной кинематикой? Её обещали переделать вроде бы, и существующее решение было нестабильно. Хочу персонажа нормально анимировать, но как?..


Тебе для удобства анимирования или чтоб сажать ступни на пол в движке? Если первое, то блендерный ригифи в связке с game rig tools в целом делают хорошо. Ну или если хочешь запотеть, то сам ее (IK) сделай. Так еще четче выйдет, анимации по ощущениям без даже малейших изменений переносятся.
282 975045
Как считается FOV камер при импорте gltf в годо? Ставлю 40 в блендере, получаю 23 с копейками в годо. 70 в блендере равно 43 в годо. В обоих софтинах в градусах все. Притом конечный результат одинаковый. То, что вижу в блендере, получаю в годо. Но кто врет в числах по итогу?
283 975087
>>5045
Я не знаю.
284 975090
>>5045
Документацию читать пробовал?
Горизонтальный в вертикальный превращается умножением на коэффициент aspect rate, и получаются ровно твои цифры.
image.png3 Кб, 350x46
285 975094
>>5090

>Документацию читать пробовал?


Дальше не читал. Шучу. Пробовал.

>получаются ровно твои цифры.


У меня не получаются. Поэтому и спросил здесь.
286 975095
>>5094
А, бля, там наверно пи еще фигурирует. Ну я и глупышка!
287 975097
>>5095
Вернее там тригонометрия, через синус придумал как посчитать. Короче, пидорасы.
288 975117
Как же трудно игры делать. Придумай, собери, реализуй, будь мастером на все руки от кодера до арт-директора и левел-дизайнера, а потом наблюдай как банана-кликалка уделывает все ваши инди вместе взятые.
289 975121
>>5117
Легко и просто
ScreenRecorderProject2.mp411,1 Мб, mp4,
1920x1080, 0:52
290 975129
Я несколько часов потел и ИДЕАЛЬНО напрогромировал, чтоб фраза играла, когда игрок коллайдится с лучом, а годот всё делает НАОБОРОТ! Фраза играется, когда игрок выходит из луча! НУ ПОЧЕМУ?!
291 975130
Захотел запилить проект с мультиплеером. Ну, хотя бы попробовать.
Читаю вот это >>972401 → и душусь. Предисловие. предисловие, предисловие, вода, вода, это я знаю, вода, это я знаю, вода, вода, это мне не надо, вода, это я знаю... Да блин, когда уже пойдёт нужная мне информация?
Кароч. Для понимания нетворкинга мне достаточно годотской доки. А вот другой момент, которого я не понимаю, вот его-то я там так и не нашёл.
Вопрос знатокам. Как выстраивать структуру проекта, чтобы туда впиливать мультиплеер?
Сейчас у меня структура такая:
- несколько синглтонов-менеджеров, в которых хранится состояние игры и прочая всегда нужная инфа
- Менюшки, гуй, худ
- Нода, в которую ребёнком подцепляется уровень
На уровне, соответственно дохуя всяких статических объектов, но есть и динамические, которые бы надо синхронизировать с сервером.
Спрашивается: как это адаптировать под мультиплеер? В общих словах. Любые размышления по теме, любая критика и "ты нихуя не понимаешь, надо так" приветствуется, кроме синглтоны_не_нужны шизы, с этим можешь сразу нахуй идти.
image.png19 Кб, 915x132
292 975131
>>5129
Я уже отвечал на подобный вопрос в прошлом.
process срабатывает много раз в кадр. И каждый раз обнаруживает рейкаст, ведь это не oneshot событие. И перезапускает аудио, потому что Play() играет с самого начала аудио, а не "продолжай играть если уже играешь". Когда же ты выходишь из рейкаста, дроч рейкаста прекращается и файлу дает проиграться до конца. Ведь ты его не останавливаешь.
293 975132
>>5131
Забыл ссылку на документацию прикрепить.
294 975133
>>5132
Документация открывается в редакторе по ctrl+клику.
295 975135
>>5133
Где об этом сказано? В документации? Ссылку приложи, пожалуйста.
image.png260 Кб, 2020x1160
296 975136
Как в 4.3 сделать smooth транзишн при смене направления во время движения 3D меша? look_at делает это инста.
297 975137
>>5135
Документацию на что?
298 975138
image.png18 Кб, 737x123
299 975139
>>5136
Я для тройки так делал.
300 975140
>>5131
Спасибо. Буду пытаться убить аудио ноду после первого проигрывания фразы
1726770947211.png691 Кб, 900x676
301 975142
>>5140
Это такой троллинг?
302 975146
>>5142
Судя по всему, какой то набег.
>>5140
Зачем? Потом придется заново грузить файл аудио. И остановка звука будет обрывать фразу на полуслове.
Надо наоборот обрабатывать старт. Например перед стартом проверить, что звук еще не играет. Возможно написать/скачать аудиоменеджер, который еще будет следить сколько в игре одновременно звуков играет.
303 975149
>>5130
Сложный вопрос, надо подумать. В 4-ке я пока не делал многопользовательский, посмотрел бы в сторону MultiplayerSpawner, MultiplayerSynchronizer, SceneReplication и синхронизировал только динамическкие объекты; в принципе и игровое состояние можно синхронизировать если оно не синглтон
Но встает вопрос - а что именно синхрониировать? Допустим простой шутер. Синхронизировать абстрактную позицию? Визуал с мешем, анимацией? Физику? Коллайдер? Ареа хитбокс? Агент навигации?
Например нужен ли коллайдер? Чтобы каждый клиент рассчитывал дорогостоящие столкновения с полом/стенами. Или это может рассчитать сервер, а на клиентах только синхронизировать уже положение меша. Аналогично с анимациями. Надо ли их синхронизировать один в один? Или достаточно чтобы каждый клиент сам подбирал подходящие действиям анимации на основе данных/событий
image.png24 Кб, 948x146
304 975154
Юзеры всегда изобретут как удалить гланды через жопу и удивляться багам.
305 975160
>>5149
Пока что выяснил что из коробки пока нет роллбэка/интерполяции
Так что я пожалуй не буду его пока рекомендовать
https://github.com/godotengine/godot-proposals/issues/7280
Дальше надо будет чекнуть аддон https://godotengine.org/asset-library/asset/2450
306 975186
>>4550
>>4490
А что насчёт облачных вычислений, с гениальными решениями на гениально упрятанными на твоём сервере?
307 975187
>>5186
Инпут лаг...
Но пошаговую игру я именно так делаю
308 975189
>>5154
Мало кто знает, что за папки такие с точкой в начале.
309 975197
>>5187

>Инпут лаг...


Есть ответ - негатив летенси...
310 975216
Хз чего вы на CSG гоните. Я теперь блендер не открываю даже, нарезаю CSG булевыми операциями прямо в годоте как мне надо, перегоняю результат в меш и для лоуполи заебись. Ебать годот охуенен, заменил мне 3д редактор.
311 975219
>>5142
Я не тролль, я Кирилл
312 975239
Сижу тут короче ковыряю всякое, возник вопрос. Вот есть пик1 стандартный код из туториалов. Заметил, что от размера RAY_LENGTH меняется точность(?) луча, RayCast3D и Camera3D находятся в одном месте. Сама нода с мааркером и всему детьми находятся над объектом., т.е. тут всё норм, кастится сверху вниз, тут уже не важно, те ноды или не те. Суть в том, что если длина луча стоит 1000, то точность очень большая, а если стоит 100, то как-будто всё смещается, хз как объяснить, попытался нарисовать на пик2(красный квадрат, где срабатывает коллизия). Коллизия подстроена под этот плоский фиолетовый кубик по форме.
Короче получается как-то криво считается вектор.
Включил в дебаггере коллижен шейпы и да, видно, что центр смещается относительно места, где был клик(обозначил синим крестиком).
Как решать такое?
п.с.: Да, я знаю, что ещё можно делать через PhysicsRayQueryParameters3D(кстати хз, есть ли там такая проблема), но сейчас я ковыряю именно ноду.
313 975240
>>5239
Видно, что чем дальше от центра, тем больше искажение, типа я так понимаю из-за того, что камера Perspective, окей, а как сделать-то, чтобы нормально было?
image2 Кб, 307x309
314 975241
Теперь бля вообще перестал детектить коллизии, хотя я просто поменял длину луча пару раз.
Уже было у меня такое, пришлось заново проект создавать, так и не понял, в чём дело было.
315 975246
>>5241
Там разве нет галочки в отладке которая показывает рейкасты?
316 975247
>>5239
У тебя нет масштабирования 2д? Может координаты мыши не такие как ты думал.
image87 Кб, 836x507
317 975249
>>5246
не, только такое
да дело тут в другом, оно сначала работает, потом я меняю просто длину луча и всё, оно перестаёт работать вообще, даже если меняю всё обратно, может баг какой-то

просто я вот например пробовал так делать: пишу `print(raycast.target_position)`, потом эти цифры вручную вбиваю в таргет позешен ноды RayCast3D, вижу, что луч проходитчерез нужную мне коллизию, но это никак не детектится

>>5247
да я вроде нигде ничего не менял, чистый проект создаётся, масштаб менял только мешей и коллизий, но они все 3д, а ничего другого не менял
318 975254
>>5239
Проверь может быть у рейкаста глобальные/мировые, а не локальные координаты, я подзабыл. В таком случае при сдвиге камеры все "сдвинется"
319 975255
>>5254
ты походу прав
бля, я кажись понял, где я обосрался, ебать я долбоёб
я короче ручками перемещал рейкаст в точку камеры, и ещё дополнительно прибавлял эти самые координаты, поэтому источник луча был в другом месте
сам я догадался до этого, когда просто убрал from и не стал её прибавлять к финальной точке
короче просто так теперь работает нормально, как и ожидается, но вот не понятно, нахуя в примерах везде прибавляют from, пока писал - думал, что из-за того, что я руками переместил ноду рейкаста, но вот сейчас вернул её в 0,0,0 и попробовал с from, как в туториалах, и нихуя не получилось, хз короче
320 975284
Если мне нужно воткнуть полупрозрачную текстуру в 3д мир - лучше в свойствах материала чекнуть транспарент или alpha scissor? Второе дает какую-то всратую пикселяцию, непонятно зачем он нужен.
321 975286
>>5284

>непонятно зачем он нужен.


Сам спросил - сам отвечаю. Быстрее чем транспаренси.
322 975292
Насколько глобальная (во всем проекте) статическая типизация объектов быстрее чем динамическая? Учитывая, что большинство методов во всех моих классах ничего не возвращает, но "-> void" я не пропишу, например.
Или лучше перефразирую:
Насколько будет велика разница в производительности между двух проектов, где в одном каждый объект и метод имеет статический тип, а в другом - без необходимости - нет? При прочих равных. Понятно, что it depends. Но о какого порядка числах разницы в производительности идет речь?
323 975294
>>4256
Меня лично как игрока бесит что в игре я могу махать охуенной хайполи балдой в виде меча по хай поли 4к ультра хд противнику, но по итогу все что я имею это анимацию "урона" и потом анимацию смерти.
Как беее, мне конечно не хочется жаловаться и я не тот кто сдвинет этот статус кво, но я один вижу в этом проблему?
Т.е. иными словами текущие технологии могут позволить мне только преназначить места "отрывания"? Меня полная разрушаемость мира не интересует, только врагов.
изображение.png21 Кб, 714x154
324 975296
какой скам этот годот
типа всег 120мб и можно разрабатывать
а это что?
хули я качаю какое-то говно на 1 гиг и со скоростью будто с диалапа?
325 975300
>>5296
Ты дебил прост, сорян. Может кто тебе по делу ответит, но я тебе просто на плешь плюну, скам.
326 975301
>>5296

>типа всег 120мб и можно разрабатывать


А нельзя? Можешь сурцы с экзешником в корне проекта распространять. Экзешники у игр одни и те же, найди в интернете. Оно запустится без эдитора, будет полноценная игра.

>а это что?


Export templates, дебил. Написано же. Разрабатывай на 120 мб сколько влезет, но для экспорта нужны templates.

>со скоростью будто с диалапа


Скачай с оф. сайта.
327 975303
>>5301
>>5300
всё всё гододики
прекращайте тряску
выводы сделаны
если годом даже в таких мелочах скамит
то где-то в недрах есть лютое наебалово
328 975304
>>5303
Конечно, Хуан уже ограбил твой банковский аккаунт, беги проверяй. Додик пиздец.
чё за хуйня.mp414 Мб, mp4,
1920x1080, 1:04
329 975306
>>5146
Ещё раз спасибо за советики.

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

Есть другой вопросикс. Почему может анимация удара не проигрываться, а зависать на первом кадре?

(Она и раньше зависала, до фикса фразы)
330 975309
>>5306
По той же самой причине, по которой аудиоплеер зависал.
Добавь ещё один абулиан для анимации удара.
331 975313
>>5309
Попробую.

Но вот не могут понять. Есть анимация ходьбы и она привязана к длинному лучу так же, как и анимация удара привязана к ближнему. И анимация ходьбы играет нормально, не зависая на первом кадре.
332 975314
>>5313

> Но вот не могут понять.


Обесняю.

У тебя намешано условий и ты в них запутался.

Тебе надо использовать стейтмашину.

Суть такова, что при появлении условий стейтмашина ОДИН РАЗ переходит в новое состояние.

В этом новом состоянии ты ОДИН РАЗ запускаешь все звуки и анимации, которые тебе нужны. Потом состояние завершается и машина переходит в предыдущее состояние. А там - хуяк - и условия никуда не делись. И хуяк - опять переход.
333 975315
>>5314
Спасибо, буду разбираться со стейт машиной
334 975365
>>5292
бамп
335 975368
>>5365
Ты сначала игру сделай, а потом оптимизацией занимайся.

Я юзаю типизацию, потому что я старый дед паскалист. А подавляющее большинство годотеров не юзает типизацию без нужды. В целом типизацию юзают в основном для удобства, чтобы интелисенц подсказывал методы.

В целом, я повторюсь. Сначала сделай игру, а потом, когда начнутся пропуки выясняй, где оптимизировать.
image.png38 Кб, 995x384
336 975369
>>5292
>>5365
Тредов 6 назад я приносил эту статистику с разбором. Откуда ее брал уже не помню. Шапка-анон воткнул ее в шапку.

Имей ввиду что это касается чисто gdscript'а. Рендериться залупа с миллиардом полигонов быстрее от этого не станет.
image.png47 Кб, 639x435
337 975372
338 975373
>>5368

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


Это меня уже волнует.
LSP не всегда показывает внутренние методы и поля -> Типизирую -> Нраица. Хочу, чтоб это было стандартом -> Включаю предупреждения об отсутствии типизации -> Получаю сотни варнов (уже не так нраица) -> Фиксию. Отсюда и вопрос взялся - а стоит ли ударяться в эту крайность, есть ли какие-то сопутствующие профиты? Ясно, что есть, так и написано в документации. Но насколько оно быстрее работает - не написано.
>>5369
>>5372
Вот спасибо. В таком формате и хотелось это увидеть.
339 975404
Что можно почитать про лучшие практики проектирования интерфейса? Мне интересна не эргономика и удобство пользователя, а как правильно управлять например скрытием/показыванием меню по нажатию на ескейп, про навигацию в подменюхах и прочее
340 975405
>>5404
Такое лучше в общем чате спрашивать. Я просто запускаю популярные игры и смотрю как там сделано и просто тупо повторяю.
341 975406
>>5405
Не, я именно про организацию сцен. Например лучше ли мне делать сцену меню и инвентаря отдельными сценами, или одной большой, которая будет скрывать отдельные элементы в зависимости от состояния игры.
342 975407
>>5404
Это долго и сложно, придется архитектуру кнопок переделывать, мультиплеер учитывать...
image.png124 Кб, 1210x665
343 975410
Кто говорил что на инди нельзя заработать?
344 975460
так ребята поясните нуфагу
почему нельзя делать огромную прозрачную кнопку
и отлавливать нажатие на неё одной строчкой кода
чтобы скрывать панели при нажатии вне этих панелей?
345 975461
короче я так у себя реализовал
надеюсь полиция гододиков не трахнет
346 975465
>>5460
можно
347 975488
>>5460
Главное кнопку отключай, когда панели скрываешь. А то потом захочешь где-нибудь отловить _unhandled_input, а он у тебя весь handled.
image.png222 Кб, 480x320
348 975507
Пиздец, 6 месяцев ковыряю годот и только щас узнаю про @тул

https://www.youtube.com/watch?v=EsCmqptNwOk
image121 Кб, 545x458
349 975551
ебать что нашёл, пока листал всякое на ютабе, даже не знаю, хорошо это или плохо
image.png35 Кб, 550x620
350 975552
>>5551
Отечественный геймдев с колен.
351 975555
>>5552
велико
352 975557
353 975564
>>5507
На самом деле и хорошо. Для использования @tool надо понабраться опыта и понимания работы движка.
354 975573
>>5564

>На самом деле и хорошо.


>надо понабраться опыта и понимания


Это обоюдострая тема. Я с годо начал играться несколько лет назад, почти сразу узнал о туле и по незнанке наловил багов. Ну так они теперь отловлены, задокументированы, зарепорчены и исправлены. Потенциальная фрустрация и дроп движка превратились в контрибуции. В чем я не прав?
355 975574
>>5551

> даже не знаю, хорошо это или плохо


Это плохо.
Если кто-то хочет кириллицу, пусть пилит отдельный модуль языка, в котором все токены будут на кириллице.
356 975624
>>5573
Повезло. Обычно ситуация обратная - не зная движок, не разобравшись, принять штатное поведение + свой косяк за баг. Сплошь и рядом такое.
357 975628
Я забил на свои попытки разобраться с шейдерами, и тупо делаю их через ИИ, конкретно сейчас через Claude. Портануть шейдер с годота 3 на 4? Вычистить из ворованного шейдера лишний монохром? Добавить блум? Все через нейронку, 2-3 промта и рабочий шейдер. Ебал я короче сам эти шейдеры пердолить, вот.

Держу в курсе.
358 975634
>>5628
Спасибо!
359 975643
>>5507
Ну вообще в треде регулярно упоминаются.
Но это правда, они опасные, потому что модифицируют сцену и можно запороть проект.
360 975675
Какие решения и паттерны используете в проектировании своих игр? Ну кроме композишена. А какой-нибудь strategy или ещё чего такого модульного? Композишен самый простой прикол для понимания, наверно. Можно упороться и каждый пук выделить отдельно, а можно не особо напрягаться. А вот тот же strategy мне пока сложно понять. Ну т.е. концептульно я понимаю(по видосам), но если попросить повторить или объяснить, то пук-сереньк.

пример https://www.youtube.com/watch?v=sZDJJeDNe_M
361 975682
>>5675
Command очень нравится мне. Настолько нравится, что кажется я его использую даже там, где не совсем уместно - очень уж удобным, структурированным и интуитивным все становится, как только разберешься. Разве что примеров по этому паттерну конкретно в godot хороших я не нашел, поэтому самому пришлось выдумывать реализацию по схемке с рефакторинг гуру.
362 975709
>>5675
Мне нравится паттерн "не зацикливаюсь на хуйне, поправлю в следующей игре, все равно всем похуй на мой код пока фпс не падает"

Еще экспорты-переменные люблю больше чем сигналы.
363 975733
>>5675

> Какие решения и паттерны используете в проектировании своих игр?


Состояние.
Наблюдатель.
Шина сигналов.
364 975800
Сап, годобояре. Заканчиваем с другом проект, осталась наверное пара недель работы. Как бороться с сомнением? Будто бы я сделал игру недостаточно хорошо, как можно было бы. Конечно, для первого проекта, получилось просто шикарно, но чем ближе к концу, тем больше сомнений.
365 975801
>>5800
А сам как думаешь?
366 975804
>>5801
Что думаю?
367 975806
>>5804
Никуда не уйдут нервы и сомнения, ты либо будешь вечно улучшать, либо примешь что есть косяки и выпустишь
368 975807
>>5800
Скидывай сюда, я оценю. Там уже решим.
369 975809
>>5806
Понятно
>>5807
Когда закончу, скину.
370 975830
>>5800
Ты сделал недостаточно хорошо. Для этого и глядеть ничего не надо.
371 975844
>>5800

> Как бороться с сомнением?


Вот так:

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

1727282563366.png1,8 Мб, 1280x800
372 975845
Хочу сделать экстракшен шутер на годоте. Эскейп фром сёрд персон демо.

Нужна команда разрабов, умеющих в архитектуру с мультикнопками.

Резюме направляйте ИТТ.
373 975847
>>5845
Записывайся в очередь, я в ближашие полгода недоступен для найма.
374 975856
>>5847
Да я уже 6 лет жду. Подожду ещё год. Изи.
375 975878
Делайте игры прямо сейчас.
376 975879
>>5878
Не, я прямо сейчас байтоебствую.
Пророк Санбою Тяжело.mp4366 Кб, mp4,
640x360, 0:06
377 975880
378 975885
>>5878
Не замтавляй меня, лутше убей...
379 975933
>>5878
Не беси меня, сученыш.

Куда смотрит администрация сайта, пока хулиганы ведут себя по беспределу.
380 975934
>>5933
Подтверждаю. Я все видел. Он хотел чтобы мы делали игры, и у него был нож.
381 975944
Я дико извиняюсь, что поднял какой-то старый тред случайно (я попал в него через ссылку в закреплённом треде), повторю здесь свой вопрос на всякий

Сап! Я делаю арканоид как свой первый проект и у меня супер дебильная проблема: Я платформу сделал как CharacterBody2D и мяч как RigidBody2D... и когда мяч стукается об платформу, то платформа от удара сползает вниз чуток, как это исправить лол?
382 975945
>>5944

> как это исправить лол?


Инфинит инерцию вруби.
383 975947
>>5945
Её же убрали в годот4, не?
384 975950
>>5947
Значит вместо неё что-то аналогичное есть.
385 975964
>>5947
>>5950
Вместо инерции сейчас one way collision, когда платформа может влиять на мяч, а мяч на платформу - нет.
386 975972
>>5964

> one way collision


Раньше это было когда сверху коллизия есть, а снизу нет. Заебали переименовывать постоянно. Когда уже они успокоятся?
387 975996
>>5972
Подожди, сейчас еще архитектуру мультиплеерных кнопок переделаю и заживем.
388 976004
>>5944
Скорее всего ты использовал move_and_slide(). Но вот эта часть "slide" ноды CharacterBody нужна для персонажей, чтобы они продолжали двигаться уперевшись в стены под углом. Она и сдвигает платформу
Ты можешь:
1. воспользоваться move_and_collide() если тебе нужна логика аля лифт, который можно заблокировать предметом
2. двигать платформы анимацией, например так https://kidscancode.org/godot_recipes/4.x/2d/moving_platforms/index.html или так https://www.youtube.com/watch?v=iwNQ2sqH2cw (можно рисовать PathFollowing)
P.s. а если тебе надо, чтобы платформа отталкивала мяч, то возможно надо еще кода типа этого написать https://kidscancode.org/godot_recipes/4.x/physics/character_vs_rigid/index.html#applying-impulses
>>5972
Это какой то троллинг. Никто не переименовывал, one way и работает как раньше.
389 976011
>>6004
Также проверь Motion Mode, хотя в данном случае он наверное не повлияет.
Еще варианты:
3. Двигать translate/position. Не пробовал с CharacterBody, может быть им надо такой же трюк как с RigidBody.
По идее аниматор именно это и делает - просто меняет позицию проламываясь как паровоз. Но тут не помню, есть ли задержка в кадр, которой у аниматора по идее быть не должно.
4. Либо если такое подходит, заблокировать движение по одной оси. Хотя такая опция есть только для 3д. В 2д это можно сделать перезаписывая Y после движения, но это получится вариант 3 только хуже
5. Использовать RigidBody для платформ? С огромной массой и задавать им вектор тяги.
390 976022
>>5996

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


Недавно узнал, что при синхронизации по сети в первый момент объект спавнится в 0,0, триггеря коллизии и возможно расталкивая соседей. Так что надо что-то придумывать, например отключать коллайдеры на первые кадры. Или делать специальный загон в нулевых координатах и спавнить там вновь прибывших по очереди.
391 976046
>>6022

> объект спавнится в 0,0


У ноды есть трансформ и его можно задать до того как нода добавлена в дерево.
image.png5,3 Мб, 2048x1536
392 976152
2343254.jpg41 Кб, 607x759
393 976201
Как мне сделать так чтобы при выборе перка (круглые кнопочки) кнопка оставалась подсвеченной (текстура меняется на светлую) ? Повторный клик оставляет ее подсвеченной, ничего не меняется. Но если кликнуть на другой перк, то подсветка пропадет.

Есть toggle mode, но он меняет состояние кнопки при каждом клике, мне это не надо. Есть свойство button_pressed, но оно работает только с тоггл модом. Запутался.
394 976206
>>6201

>Но если кликнуть на другой перк, то подсветка пропадет.


Разве не в этом суть твоих перков - что выбрать можно только один? из трех Соответственно фокус только на одном.

Если нужно больше одного перка включать/выключать, то я бы как раз toggle_mode использовал.
395 976234
>>6206

>Разве не в этом суть


Ну я этого и добиваюсь. Пока не получается.
396 976236
>>6206
>>6234
Ладно, ок. Это решается с помощью button focused.
397 976239
>>6234
>>6236
Значит я не понял твой вопрос. А так да, через фокус, маладца.
image.png41 Кб, 658x282
398 976379
Теперь можно херачить на гдскрипте и получать производительность с++?

https://godotengine.org/asset-library/asset/3373
https://reddit.com/r/godot/comments/1fq4p1r/gdscript_to_c_c_converter_available_in_assetlib/
399 976418
>>6379
Ну не знаю. Лично я жду релиз 4.4.
400 976444
>>6418
а что в 4.4?
401 976446
>>6444
Молочные реки и кисельные берега.
И триплы всем раздают
402 976450
>>6379

>Теперь


Таким тулзам лет 5. Тебе только этого не хватало чтобы игры делать?
403 976455
>>6450
У них слабая реклама и следовательно о них мало кто знает. Я как-то пилил нечто подобное в треде блочных языков, а мне анон говорит "ты что ли транспилер пилишь?" а я такой и думаю себе "что за слово очередное выдумали зумеры?" иду в гугл, да, транспилер. "Да", отвечаю в тред, "транспилер".
404 976462
>>6455
Это опенсорс аддоны, а не какие то продукты чтобы их рекламировать. Они все лежат на гитхабе, сам идешь и смотришь.
405 976463
>>6450
Не хватает чтобы лично ты меня уговорил.
406 976472
Без гомогейства в современном геймдеве никак
407 976478
>>6472
А к чему чел приплел деньги? Типа, если платит то может говорить что угодно? Так нигде не работает, даже Абу пасскод отнимает и деньги не возвращает за нарушения.
408 976480
>>6472
А как связаны вокнутость и уе5?
>>6478
Ты продолжил бы нести деньги Абу, если бы он тебя забанил?
image.png96 Кб, 589x496
409 976483
>>6472
Мне на их леваков-праваков-гомогеев поебать, но комьюнити менеджер там реально ебнутая жируха, засравшая мой фид какой-то нерелевантной дрысней. Ну вот что это? Зачем мне это? Это типа лучшая реклама движка, которую она нашла? Не знаю кто раньше твиттером занимался, но раньше лудше было. Она же вообще не в теме. Ее с улицы подобрали.
1727624201007.png21 Кб, 610x231
410 976511
>>6462

> сам идешь и смотришь


Чтобы пойти и посмотреть, я должен о них знать. Но я о них не знал. Вот и оказывается, что реклама нужна не только для коммерческих продуктов.
изображение.png47 Кб, 1276x319
411 976532
>>6511
Я же о них знал. Значит и ты мог узнать. Я пролистывал все ассеты начиная с первого (правда это было до релиза 4-ки, их все же было поменьше). Также шерстил гитхаб по тегам. К сожалению, не все ставят тег в репозиториях. Что-то находил гугл, что-то упоминалось на реддите. Так что тут только желание погружаться во все это. А реклама нужна только чтобы что-то выделилось на фоне других. Ассету транспилера это не надо, возможность конвертации одного ЯП в другой - довольно общие АйТи знания.
412 976535
>>6532

>Я же о них знал. Значит и ты мог узнать.


Медальку тебе, а по делу - нет ничего плохого в раскидывании по интернету инфы о полезных проектах, даже если ТЫ лично о них знаешь. А то ты как те несносные мудаки с каких-нибудь яплакалей, с их "боян боян". Ты знаешь, другие нет.
image.png22 Кб, 622x101
413 976569
>>6472
Ждите ЗАЯВЛЕНИЕ.
414 976599
Сап.
Есть игровое поле - сетка NxN, состоящая из клеток. Каждая клетка - это инстанс сцены Cell. По умолчанию часть поля покрыта туманом (у каждой клетки Cell есть спрайт чёрный квадрат, который находится поверх неё).
И этот самый туман надо раскрывать в определенном радиусе, когда игрок ставит фигурку на поле. Решил не запариваться и сделал так:
1. Игрок ставит фигурку на клетку.
2. В этой точке спавнится объект, у которого есть Area2D.
3. У всех клеток, которые попали в эту арею - я просто скрываю спрайт тумана через hide().
4. Уничтожаю объект.
Это вообще нормальная реализация? Может быть чем-то чревато?

И ещё - мне не нравится как в гдскрипт сделаны 2-х мерные массивы, и потому я храню все клетки в dictionary, где ключом выступает вектор2 с координатами клетки, типа так: Vector2(0, 1) - ссылка на клетку. Выглядит тоже как-то криво имхо, как вы поступаете с подобными случаями?
415 976604
>>6599
Я бы тоже сделал через арею. Ну или рейкастами. Чем чревато не вижу. Я бы вообще арею-детектор в игрока вставил, зачем ее отдельно спавнить.
image.png401 Кб, 524x499
416 976637
Кнопки то переделали?
16572127928020.png1,8 Мб, 1144x1280
417 976649
Че за хуйня происходит? Я надеюсь этой ебанутой менеджерке не платят из фонда, потому что это пиздец. Буквально нашли шизичку на таблетках и посадили на смм.
418 976650
>>6483
Ну тут я могу это объяснить тем, что это пошло ещё до условного "хайпа" Годота, они просто репостили абсолютно всех, кто пользовался их движком. Движок вырос, репостить продолжают, количество кала в ленте увеличилось заметно. Нужно короче фильтровать уже. Но зато прикинь, ты делаешь залупу на годоте, высрал на нулевом аккаунте пост про это и тебя репостит САМ движок, ПООООГ, лук ат зыс.
419 976657
>>6649
таков рыночек, растёшь, делаешь продукт влияния, будь добр иметь филиал сфит пидор инк
420 976670
>>6480
бля, первое что я получил, приобретя самый дорогой пасскод на этой борде, это бан
421 976671
Как родившийся в СССР, я на месте сиреневоголовых гендерфлюидов вижу ударниц-комсомолок с речами про партию. Государственная идеология она государственная идеология и есть.
422 976674
>>6671
Как другой родившийся в СССР, не вижу сходства вообще.
423 976675
>>6650

>они просто репостили абсолютно всех, кто пользовался их движком


Нифига. Я за 3 года 3 игры сделал, спамя в твиттер соответствующий контент с соответствующими тегами. Из 3 репостнули 1. В этом году они даже делали пост-объяснялку, что "не могут репостить всех, так что спок, обиженки". И действительно, если полистать теги то игр гораздо, гораздо больше чем репостов в оф аккаунте годота.

Жируха просто хуиту выбирает, потому что она не в теме геймдева.
424 976676
>>6675
Понял, принял, обнял.
425 976681
Движок Godot уже форкнули и народ собирается в комьюнити вокруг это форка, под названием Redot. Разработчики обещают не ввязываться в политический активизм и заниматься разработкой движка.
426 976682
>>6681
Посмотрим как долго он протянет на одной лишь жепной тяги с драмы от ебанутой менеджерши
427 976685
>>6681
закончит также, как и форк раста, который просто копирует ВСЁ с основного репа и больше ничего
428 976686
>>6681
Логотип уже лучше чем у вокота.
429 976688
>>6681
Не полетит. По техническим аспектам доебаться не до чего, киллер фич не заявлено и не предвидится, просто политический ход в ответ на политический ход. Но как пинок ок.
image639 Кб, 832x508
430 976689
>>6688

> политический ход в ответ на политический ход


при этом заявляют, что не будут делать политических хъодов, вейт а минат...
image.png106 Кб, 1157x567
431 976692
Мочух из дискорда годота.
432 976694
>>6692
Эх, ну и куда теперь идти? На моногейм? Юнити? Переписывать всё на плюсах на УЕ5?
sage 433 976698
>>6694
Все успешные игры сейчас програмируются в Роблоксе. Ну или подожди, пока базовики сделают тут тред для Редота
434 976700
>>6698
Что-то в редот я не очень верю, обидно терять все наработки и переписывать с нуля на новом движке
435 976701
>>6694
Да спок, еще даже официального заявления от годот фонда не было. Ультимативно там все зависит от Хуана и еще нескольких технарей, а Хуан, как я понял полистав его (закрытые) твиты, сам в ахуе от происходящего и согласен что происходящее a bit excessive.
436 976702
>>6692
ясно, дальше первых предложений второго абзаца можно не читать
в принципе бабки я им не плачу, так что мне в этом плане похуй, но видимо и не буду, если когда-нибудь будет возможность(не будет)
437 976703
>>6700
нового ничего не будет, будет как с форком раста, они просто сделают форк основной ветки, будут мержить все апдейты и делать вид, что борются с пидорасами таким образом под собственным логотипом
438 976705
>>6703
Мне кажется даже этого не будет: спустя некоторое время перестанут мержить к себе и в принципе забьют
439 976706
>>6705
Двачую. Сколько-то лет назад еще гимп громко форкали, внезапно оскорбившись на его название и разведя драму. Дальше смены лого-названия дело не пошло.

А если сейчас пойдет, то я ничего плохого не вижу. Это не абсолютно другой движок с другим техническим фундаментом. Это годот, новые версии которого пилят другие люди.
image55 Кб, 960x540
440 976711
Так что же это получается? Без соевых пидорасов невозможна индустрия? ХОУЛИ МОУЛИ
441 976713
>>6706

> гимп громко форкали, внезапно оскорбившись на его название


Что оскорбительного в "ГНУ Имедж Манипулейшн Програм"?
442 976714
>>6711
Не. Прост на истериках и эмоциях ничего построить невозможно, не важно соевые вы или мамкины альтрайты. Нужен долгий, упорный, безэмоциональный труд.
image.png354 Кб, 394x732
443 976717
>>6713
Есть другое значение.
444 976720
>>6713
гимп для англоговорящего будет как К.А.Л.Е.Ч. для русскоговорящего. В целом то не сказать чтобы название не подходило к редактору, но некоторыми снежинками слово считается "неприличным", примерно как евреев жидами называть
446 976726
>>6724
Но ведь их никто не харассил
447 976727
>>6726
Ты только что меня захарасил
448 976733
ок
image14 Кб, 781x140
449 976736
ОЙ ВЕЙ
450 976738
>>6724

>2


уволена 2 недели назад
451 976739
>>6738
Хананах и шизуха - разные персонажи
452 976740
>>6739
упс, да
ханнанах это шиз из дискорда
453 976741
Манагер сообщества

Сообщество - это ВЫ
454 976744

> he/him


> she/they


> он/его/ему/его/им/нём

455 976745
>>6741

>Манагер сообщества


Чисто политическое назначение. Ну шо сказать, повезло таким родиться в нужной стране в нужную эпоху, иначе бы ждала их работа на кассе с конкурентной зарплатой 27 тысяч рублей.
456 976746
>>6741
Этот жирный боров - мужик?
457 976747
>>6746
Тяночька
image.png16 Кб, 1173x70
458 976749
>>6740
Блять, сорян за продолжающийся оффтоп, но думал вы тут угарите. Проблема с Занаксом якобы из-за пикрелейтеда, сказал что-то про негров 8 лет назад
осемь лет ёмаё
1727702686386.jpeg221 Кб, 558x907
459 976751
>>6749

> что-то про негров

460 976753
https://www.reddit.com/r/godot/comments/1fsvcdg/from_the_godot_foundation_board/

Официальная дискуссия. Можете повбрасывать, кому не лень.
461 976761
>>6751
араб-муслим-атесит называет кого-то сноу-ниггерами и санд-ниггерами, хехе
462 976770
а в годо можно использовать тайл мапу как пол в 3д уровне, со всеми свойствами тайлмапы?
если да, можно организовать на этой основе(ну или вообще)..ээ.. тайлмапу с вертикальной осью, храня меши в тайлсете как будто картинки в атласе, хз, извините за абстрактность. хочу 2д игру в 3д сделать, вертикальный геймплей не добавляется никакой, причины эстетические что ли.
1727710730378.mp4640 Кб, webm,
1068x720, 0:10
# OP 463 976815
Ммм... Сколько вариантов для оп-поста переката.

> Добро пожаловать в тред любви и взаимопомощи, позитивной токсичности, местоимений thot/khem и розово-голубых волос!

image.png2,1 Мб, 1280x870
464 976824
>>6818 (Del)
Воки. Так всяких трансов называют из-за их повышенной волосатости, как я понимаю.
465 976830
Что хорошего сделано на Годовом, кроме Cruelty Squad?
sage 466 976846
>>6830
Ничего. Спи дальше.
467 976855
>>6854 (Del)
Они просто не читали Протопопова "Трактат о любви..."
После прочтения трактата у тебя не останется никаких заблуждений по поводу дискриминации и угнетения. И конечно же ты получишь в руки оружие для борьбы.
468 976886
>>6863 (Del)
>>6867 (Del)
Слежу за вами обоими и вижу что вы нихуя игры не делаете.
469 976894
>>6830
Вот эта игра мне в свое время больше всего понравилась
Но учитывая твой заход, ты скорее всего подменяешь "хорошее" и "продажи".
https://www.youtube.com/watch?v=r96EaDJWNaY
470 976925
>>6914 (Del)
Какая разница на каком движке твоя игра, если ее нет? Иди делай. Раз-раз.
471 976929
>>6925

>Иди делай


мы в треде ждём выхода 4.4, на самом деле даже 4.4.1 хотя бы, тогда уже можно подумать о создании игры
472 976942
>>6674
Наверное он имел в виду, что и ранние комсомолки, и сегодняшние вертолётосексуалы – агрессивные промытки, которые насаждают "свои" прогрессивные взгляды всем до кого дотянутся, но тупят и исходят на говно от любого выражения несогласия. Только если раньше это делали в специально обитом пробкой месте на партсобраниях, то теперь они голосят на весь Интернет в твиторе.
Ж*нщины, хуле
473 976945
Аноны, как из блендера переносить частицы в годо?
474 976960
>>6671
>>6675
люди работают, понимать надо
475 976999
>>6894
Cruelty Squad дохуя продался, ага.

И я имею в виду то, что имею: игру с геймплеем, в которую интересно играть человеку. Даже пример вон привел - всратый, но геймплейно пиздец какой сильный.
sage 476 977005
>>6845 (Del)

>человек это часть улья


Чел, если б все было так, то Сортирный Союз бы не развалился, а сожрал бы весь мир
477 977012

>Cruelty Squad


Охуеть. Охуеть блядь. Вот это пиздец конечно
478 977013
>>6886

> Слежу за вами


А мог бы игры делать.
479 977014
>>7012
Самый лучший иммерсив сим, вообще-то. Лучше деус экса и систем шока
480 977015
>>7012
Не ведись на это. Такое взлетает с шансом 1 из 1000, да и этот 1 объясняется чемоданчиком валюты пьюдипаю или чем-нибудь ещё.
481 977016
>>7013
Ну я одним глазом слежу, другим игру делаю.
1727778667506.jpg72 Кб, 1024x737
# OP 482 977017
Предлагайте арт для переката.
483 977018
>>7017
Можно пожалуйста с лоличками.
Godoticon.svg (0-00-00-00).png86 Кб, 1024x1024
484 977019
485 977020
Погодите, это реально?
486 977022
>>6599

> И ещё - мне не нравится как в гдскрипт сделаны 2-х мерные массивы, и потому я храню все клетки в dictionary, где ключом выступает вектор2 с координатами клетки, типа так: Vector2(0, 1) - ссылка на клетку. Выглядит тоже как-то криво имхо, как вы поступаете с подобными случаями?


Рассматриваю одномерный массив, как записанные по очереди элементы массива нужной мне размерности.
Например, массив (0,1,2,3,4,5,6,7,8) можно воспринимать, как
0,1,2
3,4,5
6,7,8
где при известном числе столбцов (ось X), можно легко вытянуть элемент по координатам, по формуле X_MAX • Y + X
я хочу три столбца, следовательно элемент (х=1, у=2) будет 3 • 2 + 1 = 7

Обратное преобразование не сложнее, если по известному индексу нужно вычислить координаты, то Y - это индекс делёный нацело на число столбцов. Поделив нацело, мы спустились вниз на нужную строку, теперь просто смотрим на остаток от деления и это наш X.

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

Чтобы самому реализовать удаление элемента без нарушения структуры строк-столбцов, нужно вместо удаления вставлять специальную константу, которую лично ты будешь воспринимать как отсутствие данных.
487 977024
>>7019
Это шестцв... запр... Ах ты ж зараза.
488 977030
>>7019
Смотри на бутылку не уедь. Сейчас не знаешь от кого прилетит, от этих или от тех.
1727783752073.jpg230 Кб, 960x960
ПЕРЕКАТ # OP 489 977040
>>977039 (OP)
>>977039 (OP)
>>977039 (OP)

Продолжайте наблюдение, а я ушёл работать.
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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