Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 489 131 80
Godot #55 Аноним # OP 08/09/24 Вск 21:24:10 973473 1
ОП-пикча 167Кб, 600x600
600x600
Вариант организ[...] 93Кб, 681x907
681x907
Добро пожаловать в тред любви и взаимопомощи, общего пула айсикью и классических языков программирования!
Шапка:
https://hipolink.me/godothread
Предыдущий: >>970671 (OP)
Архивный: >>963889 (OP)
Аноним 08/09/24 Вск 23:31:28 973483 2
Аноним 08/09/24 Вск 23:42:10 973485 3
x4cf36187.jpg 50Кб, 400x400
400x400
>>973483
>Вы же сделали игры, верно?
Я от смеха очки IQ обронил...

>время до 1 ноября
Хорошо, я подожду.
Аноним 09/09/24 Пнд 01:17:08 973500 4
>>973483
До дедлайна минимум 2 крупнейших джема, там и сделаю.
Аноним 09/09/24 Пнд 02:39:09 973501 5
Пилю визуальную новеллу на годот. В чем я не прав?
Аноним 09/09/24 Пнд 06:01:16 973517 6
17232239182981.jpg 135Кб, 573x604
573x604
Аноним 09/09/24 Пнд 11:20:05 973539 7
>>973501
> В чем я не прав?
Держишь от нас в секрете сюжет и твисты твоей новеллы.
Аноним 09/09/24 Пнд 14:22:12 973576 8
image.png 37Кб, 959x343
959x343
>>973483
Делаю игру для пикрил
Аноним 09/09/24 Пнд 14:58:36 973582 9
>>973576
Я тож. Че придумал? У меня будет постройка базы + защита от набегов.
Аноним 09/09/24 Пнд 15:29:43 973586 10
>>973582
Что-то типа пазл-платформера. Сначала проходишь уровень на чилле без опасных препятствий, потом начинается пиздорезная версия уровня, а его интенсивность зависит от того как именно ты прошел чилловую версию
Аноним 09/09/24 Пнд 16:36:04 973600 11
>>973586
Звучит прикольно. У меня была как то идея всех скидываемых врагов копить в одном подвале, а потом выпускать разом. Можно еще механики агро прикрутить, когда они злятся если видят как ты кого то убиваешь или прокрадываешься.
А я пока придумал, что будут ветрогенераторы, они какое то время позволяют накопить ресурсы, потом перед штормом штиль, а потом во время шторма будет небольшой бурст который можно потратить экстренно.
Аноним 09/09/24 Пнд 16:51:11 973603 12
схема.png 34Кб, 925x925
925x925
белочки.mp4 852Кб, 640x496, 00:00:05
640x496
карусель.mp4 304Кб, 500x280, 00:00:01
500x280
>>973271 →
>написать интересный сценарий
Вот общая схема. Называется "hub and spoke". Отличается от обычного "waterfall" возвратом. Собственно, много играл в такое, мне нравится, несмотря на повторяемость и предсказуемость - полноценный геймплей с полной свободой, и без бесполезных "концовок" - играй, сколько хочешь. Останавливаешься в любом месте и можешь на минуточку заглянуть в любое время суток. Часто глобального сюжета нет, игрок волен делать что пожелает - прокачиваться, взаимодействовать с автономными NPC, которые тоже что-то делают параллельно действиям игрока и т.д. Эта схема обеспечивает высокую степень модульности, т.е. дополнительный контент без проблем стыкуется с имеющимся, если правильно всё организовать...
Аноним 09/09/24 Пнд 21:18:33 973634 13
Аноним 09/09/24 Пнд 21:51:38 973638 14
изображение.png 58Кб, 1223x363
1223x363
изображение.png 15Кб, 555x110
555x110
Аноним 09/09/24 Пнд 21:52:56 973639 15
парни, я ретард, есть гайд с рисуночками, стрелочками всякими по тому, что за ебаная магия творится с векторами в дирекшене, велосити, мелосити.раундед и прочем кале, я нихуя не понимаю
Аноним 09/09/24 Пнд 22:12:25 973641 16
Аноним 09/09/24 Пнд 22:22:38 973642 17
>>973641
Вох, наконец то. Я пару часов назад проверял и не было. Вот сейчас на джем залечу.
Аноним 09/09/24 Пнд 22:41:25 973647 18
1725910852198.png 45Кб, 560x273
560x273
У меня с global position какие-то чудеса, сейчас принялся за эффект взрыва астероида, в общем если не указывать глобальную позицию, то он как положено воспроизводится на нулевых координатах. Но как только я добавляю позицию астероида - все, партиклов нет. Для теста добавил лейбл - и он выводится где надо. Обычную позицию чистил, результата 0
Аноним 09/09/24 Пнд 22:45:18 973648 19
Аноним 09/09/24 Пнд 22:48:32 973649 20
>>973648
Спасибо, работает
Аноним 09/09/24 Пнд 22:58:43 973652 21
Аноним 09/09/24 Пнд 23:03:55 973653 22
>>973642
Да ладно, чего спешишь, можно 3.6.1 подождать.
Аноним 09/09/24 Пнд 23:07:41 973654 23
>>973647
Рекомендую при знакомстве с чем-то новым читать документацию, потом тыкать во все кнопки. Увидел свойство в документации - сразу потыкал в него. Так быстрее запомнишь, что, к чему и зачем.
Аноним 10/09/24 Втр 01:26:53 973671 24
почему в 2д Y это вниз, а -Y это вверх? в 3д Y это вверх, а -Y это вниз, хотя во всех 3д редакторах это вообще ось Z
это наверно везде так, почему так в геймдеве? ну типа я прочитал мотивацию, почему это в 2д, типа сверху вниз справа налево, но в 3д-то нахуя это лепить
Аноним 10/09/24 Втр 01:36:10 973672 25
image.png 180Кб, 600x503
600x503
>>973671
Y - ось вверх/вниз, X - право/лево, следовательно Z - глубина
А вообще кто как хочет, так и дрочит
Аноним 10/09/24 Втр 01:40:25 973673 26
>>973671
Исторические причины, а дальше бунт, антибунт и хаос.
Аноним 10/09/24 Втр 01:44:45 973674 27
>>973672
>>973673
Да я могу понять, что допустим в 2д так, а потом добавляется глубина Z, окей, но в 2д же вверх это -Y, а в 3д вверх это +Y
Короче ладно, ответ так исторически сложилось меня вполне устроит, думал просто мало ли есть какое-то более очевидное объяснение.
Аноним 10/09/24 Втр 01:50:25 973675 28
image.png 33Кб, 500x283
500x283
>>973674
>устроит
Эх ты, а мог бы устроить мувемент по стандартизации.
Аноним 10/09/24 Втр 01:53:56 973676 29
>>973675
Да я в любом случае в крысу буду делать, как мне кажется правильным и в итоге изобрету неподдерживаемый велосипед. Стандарты меня не остановят.
Аноним 10/09/24 Втр 02:09:21 973677 30
>>973671
> почему в 2д Y это вниз, а -Y это вверх?
У математмков на графиках Y была всегда наверх, но в 70-80х когда программмсты делали компы, они считали пиксели с левого верхнего угла. Ну потому что буквы то в текстовом режиме оттуда идутьна принтере/экране. Опенгл кстати снизу считает, и приходится каждый раз флипать
Аноним 10/09/24 Втр 02:27:12 973678 31
>>973674
В Годотне и так в 3D вперёд это -Z, если бы ещё и -Y был бы вверх, то ебанулись бы все
Аноним 10/09/24 Втр 13:43:55 973704 32
>>973677
>Опенгл кстати снизу считает
В OpenGL вообще из центра экрана отсчёт.

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

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

Хорошо хоть современные движки научились абстрагироваться от соотношений сторон экрана. Кидаешь камеру в сцену и не думаешь об экране.
Аноним 10/09/24 Втр 14:32:27 973707 33
А можно как-то умно синхронизировать переключение сцен и скриптов? Заёбывает иногда, интерфейс немного странный в этом плане.
Аноним 10/09/24 Втр 14:45:44 973708 34
>>973707
Open Dominant Script on Scene Change в настройках редактора.
Аноним 10/09/24 Втр 14:52:39 973709 35
Объясните мне раз и навсегда, доступно, CSG меши медленные когда именно? Если я просто их отображаю - они медленнее обычных мешей? А если я начинаю их двигать? А если скалировать?
Аноним 10/09/24 Втр 14:55:25 973710 36
>>973707
>синхронизировать переключение сцен и скриптов
Достаточно просто привыкнуть, что сцена не скрипт.

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

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

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

Так что организуй работу вокруг этих концепций.
Аноним 10/09/24 Втр 15:01:31 973711 37
Аноним 10/09/24 Втр 15:01:46 973713 38
>>973710
Да это всё понятно, потом отключу.
Аноним 10/09/24 Втр 15:11:25 973714 39
>>973709
>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 - ускорить прототипирование, чтоб не нужно было метаться в отдельную программу ради мелких изменений.
Аноним 10/09/24 Втр 16:05:47 973719 40
>>973714
В Блендере булевые операции тоже имеют риск создания всратых длинных треугольников?
Аноним 10/09/24 Втр 16:31:36 973722 41
>>973719
Лишь немного экспериментировал, так что не могу сказать точно. Разница в том, что в Blender ты всю сетку вручную можешь поправить, а в Godot нет настолько продвинутого редактора мешей. Также в блендере нужно модификаторы навешивать для булевых операций (неудобно), а в Godot ты просто ноды друг в друга вкладываешь - быстрее выходит.

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

Короче, цели у них разные.
Аноним 10/09/24 Втр 16:33:05 973723 42
Аноним 10/09/24 Втр 16:34:14 973724 43
Почему так мало гайдов по lightmapам?
Аноним 10/09/24 Втр 16:39:04 973725 44
>>973724
Потому что мало кто делает игры где они нужны. В основном 2д и лоуполи 3д.
Аноним 10/09/24 Втр 16:47:17 973726 45
ginone.webp 178Кб, 1280x720
1280x720
gilightmapgidir[...].webp 348Кб, 1280x720
1280x720
Аноним 10/09/24 Втр 16:55:06 973728 46
>>973726
У меня из 3д есть два проекта: один огромный город, где все динамично и запекать смысла нет, и 3д для веба, где все что можно пришлось отключить.
Аноним 10/09/24 Втр 17:08:41 973729 47
>>973728
>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 так делали - динамичный свет снаружи, а внутри помещений обычно свет запечён.
>один огромный город
Здесь показывать будешь?
Аноним 10/09/24 Втр 17:23:11 973732 48
>>973726
>Тебе официального не хватает?
Да. В руководстве - примеры на примитивах. Я никогда свет не запекал и сложно понять, как правильно запечь обставленную комнату. Придётся тыкаться и набивать шишки.
Аноним 10/09/24 Втр 17:49:55 973733 49
>>973603
можно примеры таких игр?
Аноним 10/09/24 Втр 17:50:00 973734 50
>>973732
есть ещё вариант попробовать почитать уроки в других движках и потом прикинуть на Годот, логику ты уже будешь понимать, останется только реолизовать
Аноним 10/09/24 Втр 17:59:14 973737 51
>>973733
Я по первому пику подумал что речь про ДС1.
мимо
Аноним 10/09/24 Втр 20:30:16 973744 52
image 869Кб, 1280x720
1280x720
Аноним 10/09/24 Втр 20:36:25 973745 53
>>973744
Погодите, вчера 3.6 вышел. В каком таймлайне я нахожусь?
Аноним 10/09/24 Втр 20:41:15 973746 54
>>973745
Успеть бы насладиться. А то таймлайн тревожный.
Срочно пилим по 1 игре в неделю! Я уже начал ждать 4.4.1, вот тогда точно начну!
Аноним 10/09/24 Втр 20:47:18 973747 55
>>973746
>Успеть бы насладиться. А то таймлайн тревожный.
А я вам говорю - делайте игры, а вы все не делаете, ждете. Вот так и умрете не сделав ни одной игры.
Аноним 10/09/24 Втр 20:52:31 973748 56
>>973744
Интересно что если пробежаться по авторам заметных коммитов, то некоторые из них совсем ноунеймы. В релизе упоминается некий https://github.com/Hilderin, у него пустой профиль и Понг в проектах. А фичу он сделал сложную и полезную. Как это происходит? Откуда такие волонтеры, герои в плащах и масках?
Аноним 10/09/24 Втр 21:47:32 973752 57
Помогите, аноны. Как максимально быстро сделать доп-даун шутер или рпг аля дьябло, если нет времени читать субтитры?
Есть хоть кто-нибудь на русском, кто рассказывает про годот 4?
Я пока смотрю Паштета и ролики двухлетней давности.
Аноним 10/09/24 Втр 21:58:19 973754 58
>>973752
Я максимально быстро делаю так:
Делаю сцену игрового уровня, сцену игрока (готовый контроллер из ассетов либо сам пишу, там немного), сцену врагов которые спавнятся, игровую логику, ну там пульки всякие в группах или слоях, ну и потом анимации вставляю.
Аноним 10/09/24 Втр 22:24:31 973756 59
>>973752
Я по мере надобности включаю иностранцев но с переводом от хуяндекс, основная суть переводится, да и по большей части самому нужен только код
Аноним 10/09/24 Втр 23:15:53 973757 60
>>973756
>>973752
Почему Хуан и прочие кор-разрабы годота смогли в английский сидя в своей Бразилии, а вы еще не?
Аноним 10/09/24 Втр 23:52:47 973758 61
>>973757
Я в пятерочке работал
Аноним 10/09/24 Втр 23:56:50 973759 62
>>973758
Мое почтение. Сделай симулятор кассира типа papers please.
Аноним 11/09/24 Срд 01:37:31 973765 63
А тут же вроде кто то делал игру стратегию на гексовом поле, у него вроде даже тред был. Там какие домики строить надо было и решать паззлы.
Аноним 11/09/24 Срд 13:29:15 973787 64
Анончики, а можно сделать шейдер ваншотным? И можно ли запускать шейдер через скрипт?
Аноним 11/09/24 Срд 13:38:58 973788 65
>>973787
Ну в целом да, вопрос чего ты пытаешься добиться, как вар куда смотреть * общее направление, партикл шейдеры в редакторе онашотятся, про запуск из кода - да, у тебя очевидно у шейдера есть параметры ( если ты их указал конечно ) вот отсюда и пляши. Но это в общем, тут еще есть поправка на версию годо если память не изменяет (только в 4.х этим занимался про 3ю не уверен)
Аноним 11/09/24 Срд 13:50:29 973790 66
>>973788
>вопрос чего ты пытаешься добиться
У меня есть компьютер в игре, решил добавить туда файлик jpg, при нажатие картинка появляется слой за слоем, как в бородатые времена. "Слой за слоем" сделал шейдером, вот хочу запускать его при нажатие на кнопку и чтобы он срабатывал один раз. Работаю в 4.3
Аноним 11/09/24 Срд 13:50:54 973791 67
>>973748
>совсем ноунеймы
А ты-то кто, чтобы обвинять их в ноунеймости?

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

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

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

>Откуда такие волонтеры
Самый популярный опенсурс движок. Куда им ещё вкладываться, в ноунейм васянку на дне гитхаба?
Аноним 11/09/24 Срд 13:58:23 973793 68
>>973787 >>973790
Изучай вьюпорты:
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 проход и отключается.
Аноним 11/09/24 Срд 14:04:44 973794 69
>>973793
Спасибо, буду пробывать
Аноним 11/09/24 Срд 14:12:29 973795 70
>>973752
>если нет времени читать субтитры?
А зачем ты видео смотришь? Читай документацию.

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

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

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

Ну и если у тебя нет игрового опыта - у тебя намного серьёзнее проблемы, чем отсутствие туториалов. Туториалы не научат тебя делать то, что ты никогда самостоятельно не изучал... А большинство игр на английском или с очень кривым переводом, так что проще играть на английском, чем с переводом.
Аноним 11/09/24 Срд 14:24:06 973796 71
>>973752
И вообще:
>максимально быстро сделать
>если нет времени
Геймдев, особенно в соло - это долгий и трудоёмкий процесс. Да, есть короткие джемы - это спортивное состязание типа "кто дальше закинет камень", там необходимо иметь подготовку и делать абы как, минимально рабочий продукт. Если тебе нужно разработать полноценную игру, тебе в любом случае понадобится много времени, терпения, усидчивости. Если не можешь вынести просмотр короткого видео с субтитрами - наверное, это хобби не подходит тебе.

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

А если хочешь участвовать в геймджеме прям щас, тогда делай то, что уже умеешь - учиться поздно, на геймджеме демонстрируют уже имеющиеся скиллы.
Аноним 11/09/24 Срд 14:31:29 973799 72
>>973795
>С рождения и 24/7? Английский в школе обязателен
У всех разный жизненный опыт, ну вот например я щас безработный, и в следующем году снова придется пердолить на галеру чтобы прокормить себя, очевидно разработка игры начнет буксовать а вот когда уволюсь уухх ебать... как бульдозер буду выдавать обновления.... Размусоливать это не вижу смысла, скажу только что в идеальном мире, на улице я бы встречал только хуанов.
>читать документацию
Мне технические документы тяжело даются, и теория в целом, обычно учусь на своих ошибках и пошагово, типа как с наставником кого ютуб вполне себе компенсирует, в какой-то момент сам начинаешь всё кодить, хоть и с костылями.
>отсутствие туториалов
Так они есть, просто на инглише в основном, но онлайн перевод вполне себе компенсирует отсутствие полных знаний языка. Ну и бля, каждый по своему усваивает информацию, главное чтобы усвоил и смог что-то сам сварганить, и чтобы было интересно.
>так что проще играть на английском, чем с переводом.
Я мыслю на русском, поэтому предпочитаю наш православный
Аноним 11/09/24 Срд 14:59:36 973803 73
>>973799
>очевидно разработка игры начнет буксовать
При чём тут разработка, речь о "сделать быстро, не тратя время на просмотр видео с СУБТИТРАМИ". Странный акцент на субтитры, если язык знаешь.

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

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

>Я мыслю на русском
После обучения новому языку на достаточном уровне начинаешь непроизвольно мыслить на нём... Вообще, мышление от языка не зависит - речь о "внутреннем диалоге", который, внезапно, далеко не у всех людей.
Аноним 11/09/24 Срд 15:16:24 973804 74
>>973803
>При чём тут разработка
Ну он игры вроде хотел делать, ты обвиняешь его в том что он тупой и в школе на тройки не учился, а я говорю чтобы просто включил онлайн перевод, и тогда будет прогресс.
>Туториалы тоже бесполезно смотреть
Почему?
>С нейронкой попробуй... Только нужно чётко задачу сформулировать, типа "распиши по пунктам, как мне научиться делать игры такого-то жанра, что мне для этого необходимо изучить и освоить".
Это наверное самый не чётко сформулированный вопрос, на который ответит любой забулдыга. А так, хз че тебе не нравится обучение через туториалы, но через современную нейронку - ок.
>После обучения новому...
Ну да
Аноним 11/09/24 Срд 17:55:21 973815 75
>>973804
>Почему?
Потому что если ничего сам не делаешь, а только смотришь как кто-то делает - так и не научишься. Кроме того, в туториалах часто ошибки, которые невозможно поправить без перезалива видео, а авторам, как правило, насрать, пока их смотрят. Рискуешь вляпаться в порочный круг просмотра туториалов, которые никак не помогают, но зато накручивают просмотры на канале автора...

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

Так что да, если выбирать из двух стульев, то запрос нейронке лучше тебя обучит чему-то, чем какой-томясной мешок, решивший подзаработать на ютубе.
Аноним 11/09/24 Срд 18:21:18 973818 76
>>973815
>Потому что если ничего сам не делаешь, а только смотришь как кто-то делает - так и не научишься
А туториалы тут причем?
>Тирада о прекрасных нейронках
Не ну если тебе это действительно помогало, ничего против не имею, мне нейронка выдавала противоречащую но правдоподобную инфу, что никак не помогало, с таким же запросом проще зайти в гугл/двач, где люди хотя бы поймут что ты хочешь. Ну и на ютубе ты видишь что у человека всё работает, и если повторишь то будет работать у тебя, а там дальше со временем будешь отсебятину добавлять и думать почему один код не сочетается с другим
Аноним 11/09/24 Срд 21:07:56 973827 77
>>973818
>А туториалы тут причем?
Тебе видео туториал записать нужно? >>973803
>Туториалы тоже бесполезно смотреть, если ты не повторяешь всё за ним или повторяешь бездумно.
Думаю, многие тупо смотрят видосики на ютубе и считают, что они чему-то обучаются, а потом двух слов связать не могут и "это движок виноват".

А ещё есть такое понятие - "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 может испытывать проблемы на некоторых компьютерах; физический движок не гарантирует повторяемость);
- банально баг движка из-за которого ты даже всё повторяя шаг за шагом получаешь иной результат.
И в большинстве случаев туториалы сводятся либо к "как нарисовать сову", либо к "перепечатайте всё то, что я делаю, а объяснять зачем это всё я не буду".

Ладно если туториал о чём-то ВИЗУАЛЬНОМ, скажем, дизайн уровня. Но туториал про программированию? Полный бред. Читайте книги по программированию.
Аноним 11/09/24 Срд 21:11:13 973828 78
>>973827
Хорошо быть таким умным. Игры свои покажи
Аноним 11/09/24 Срд 21:16:55 973830 79
orig.webp 27Кб, 600x525
600x525
>>973828
>Игры свои покажи
Аноним 11/09/24 Срд 21:49:04 973832 80
>>973827
>Туториалы тоже бесполезно смотреть, если ты не повторяешь всё за ним или повторяешь бездумно
Ты уже определись, туториалы это плохо, или на них можно обучаться? Ты как нейронка потеряла связь буквально через пару постов.
>Так не спрашивай у неё
А нахуя у неё что-то спрашивать, если тогда можно сразу открыть документацию и все по ней делать? А то ОКАЗЫВАЕТСЯ, нейронка может что-то не знать.
>список
Если что-то не работает, и человек намерен учиться, он разберется и всё будет работать, даже если версии разные. Это и есть обучение
Аноним 11/09/24 Срд 21:59:21 973836 81
>>973832
>туториалы это плохо, или на них можно обучаться?
>если тогда можно сразу открыть документацию и все по ней делать?
А ты определись, тебе нужно пережёвывать инфу из документации и класть в рот с чайной ложечки или самостоятельно прочитать документацию можешь?
Аноним 11/09/24 Срд 22:01:55 973837 82
>>973836
Я считаю, к каждому человеку нужен свой подход, и обучить можно всех и всему. Если не получается читать документации, значит пробуй по другому. Иначе знаешь такое чувство будто забуксовал? Где-то свернул не туда?
А ты мне про какие-то нейронки которые для порнухи только и годятся
Аноним 11/09/24 Срд 22:07:09 973838 83
>>973837
>значит пробуй по другому
Да, иди смотреть более 9001 туториалов...
>такое чувство будто забуксовал
Это потому что базу не изучал, только туториалы.
>нейронки которые для порнухи только и годятся
Не их вина, что ты только порнухой увлекаешься.
Аноним 11/09/24 Срд 22:13:04 973839 84
>>973838
>иди смотреть более 9001 туториалов
Так не надо все подряд смотреть, только по надобности
>потому что базу не изучал
Тот же официальный тутор от годот, где основы объясняются ну который сайт. Тебе просто индусы неправильные попадались вот и ругаешься
Аноним 11/09/24 Срд 23:13:18 973848 85
image.png 121Кб, 530x2675
530x2675
>>973752
>быстро сделать доп-даун шутер
>>973837
>нейронки которые для порнухи только и годятся
Вот, например, хорошо поясняет за топ-даун шутер.
Ошибку 3.x -> 4.x понимаешь тупо загуглив классы.
Аноним 11/09/24 Срд 23:20:25 973850 86
>>973848
Порекомендую кстати claude от antropic. По коду на гдскрипте лучшее что я видел, еще и свой контекст докидывать можно, заставлять артефакты запоминать. ГПТ тоже неплох. Лам новых не трогал, хз.
Аноним 11/09/24 Срд 23:27:21 973851 87
>>973848
Как будет объяснять туториальщик:
>Здравствуйте, здравствуйте, дорогие ребята и не ребята, то есть тянучки, хехе... Сегодня будем... Ээээ... Крхх-крхх... Чёт микрофон барахлит... Сегодня будем делать топ-даун... Даун, ха-ха-ха! Топ-даун... Ха... Шутер. Дааа... Шутер, значит. Что нужно шутеру? Ну, скажите мне! Ага... Мяу... А, это моя кошка, она недавно родила семеро котят... Такие милые... Вот, в общем, шутеру нужны котята. Ой. То есть меха. Хаха. Механики. Ну вы поняли, да? Гыы... В общем, сегодня мы будем делать главную механику: меню паузы. Потому что я вот ненавижу когда в шутерах нет меню паузы. Ну в смысле вот я играл в соревновательный шутер, а там, прикиньте, паузы нет. Ну то есть, да... Но для всего лобби. А мы будем делать сингл плеер. В смысле, не плеер... А игру, да. Ну это слово английское такое, "плеер"... Не помню, как оно переводится. Крхххх... Ой, это у меня соседи ремонт делают, вот ведь козлы. Ррхххх... Крркр... Кккэххх... Ппщшшш... И вот так у нас получается меню... Тут три кнопки: выход, настройки и назад... В бой, то есть... Вы наверное спросите, а как делать меню настроек? А хрен его знает, я никогда не делал. Будем с вами вместе делать на стриме в воскресенье вечером. Всё, всем чмоки, подписывайтесь, ставьте лайки, посмотрите это видео несколько раз - алгоритмы это любят. В следующей серии будем делать платформер, потому что мне надоели шутеры... Пока.
Аноним 11/09/24 Срд 23:55:20 973854 88
>>973851
Как правильно выше заметили, у тебя просто туториальщика хорошего не было.
Аноним 12/09/24 Чтв 00:45:13 973866 89
Господа, пробовал ли кто вести более открытую разработку? Заливать билды на итч, делать инкрементальные апдейты и вести девблоги, собирать багрепорты и фидбеки? Выхлоп с этой суеты есть?
Аноним 12/09/24 Чтв 01:50:11 973871 90
>>973851
Это бич всех русских туториальщиков по любому игровому движку. Объясняют какую-то хуйню вплоть до интерфейса, хотя у самих уже есть 15 видео с названиями "ГАЙД ДЛЯ НОВЧИКА В ГОВДОТЕ", "КУРС ДЛЯ САМЫХ МАЛЕНЬКИХ", "ОСНОВЫ ДВИЖКА"
Аноним 12/09/24 Чтв 01:51:47 973872 91
>>973866
Звучит как говно какое-то, лично я хуярю от души. Ты ещё предложи гит завести хрррртьпфу
Аноним 12/09/24 Чтв 01:56:43 973873 92
Аноним 12/09/24 Чтв 01:58:24 973874 93
>>973873
Я признаю только один контроль версий - 10 папок на рабочем столе.
Аноним 12/09/24 Чтв 02:20:03 973875 94
>>973866
Я пробую, выхлопа пока особо нет, один челик на бусти подписался, 96 на итч, и появился преданный подпещек, который качает каждый апдейт и дает фидбек.
Аноним 12/09/24 Чтв 06:16:54 973876 95
2024-09-12 12-0[...].mkv 14281Кб, 1920x1080, 00:00:46
1920x1080
Причина тряски?
Аноним 12/09/24 Чтв 10:27:14 973891 96
>>973876
Для интенсивно-физической игры не используешь jolt.
Аноним 12/09/24 Чтв 10:42:30 973893 97
>>973875
>появился преданный подпещек, который качает каждый апдейт и дает фидбек.
Я бы ради этого чувака продолжил бы разработку. Он же тот самый второстепенный персонаж - друг, который приходит на выручку ГГ в самый тяжёлый момент.
Аноним 12/09/24 Чтв 11:17:59 973895 98
Существуют ли вакансии на годот?
Аноним 12/09/24 Чтв 11:29:40 973896 99
Аноним 12/09/24 Чтв 11:56:23 973898 100
>>973866
>Заливать билды на итч, делать инкрементальные апдейты и вести девблоги, собирать багрепорты и фидбеки?
Буквально мечтаю о таком, но я безыгорный же. Как мне заливать билды, если у меня игорьтонет?

>>973872
>Ты ещё предложи гит завести хрррртьпфу
Согласен. Архивы для чего придумали? Архивируйте.

>>973874
>10 папок на рабочем столе
Зачем на рабочем столе? Надо красиво:
>Users > UserName > Documents > MyGames > Genre > ProjectName > ProjectName.v0.6.9 > game > game.tscn
Архивы примерно такие:
>ProjectName-YYYY.MM.DD-HHmm-v0.6.9-(type).zip
Чтобы сортировка по имени была удобной.
Кидаешь архивы на разные накопители.

>>973875
>появился преданный подпещек, который качает каждый апдейт и дает фидбек.
Как же я тебе завидую... Дело полезное делаешь...

>>973893
>ради этого чувака продолжил бы разработку
Но не стоит себя насиловать, если проект оказался неудачным, даже если у него есть фанаты. Лучше оставить проект фанатам, открыв все исходники в опенсурс - кому действительно нужно, подхватят разработку и продолжат делать опенсурс. Многие поступили так, а кто не поступил - копираст-жмот.
Аноним 12/09/24 Чтв 12:22:52 973901 101
Как же хочется быть разработчиком. Делаешь игру, тебе донатят на итче или патреоне, занимаешься творчеством + делаешь игру. Душа.
Аноним 12/09/24 Чтв 12:24:33 973902 102
>>973876
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
Идеальных решений нет, везде свои нюансы.
Аноним 12/09/24 Чтв 12:30:09 973903 103
>>973898
>Как мне заливать билды, если у меня игорьтонет?
Ты можешь их... СДЕЛАТЬ!
Аноним 12/09/24 Чтв 13:26:23 973907 104
9f9c4a468494896[...].jpg 40Кб, 1024x731
1024x731
Аноним 12/09/24 Чтв 13:48:46 973908 105
JUST DO IT.mp4 4261Кб, 1280x720, 00:01:04
1280x720
Аноним 12/09/24 Чтв 14:14:52 973918 106
1726139658023.png 145Кб, 460x460
460x460
Аноним 12/09/24 Чтв 14:44:21 973923 107
>>973918
>particle systems
>дождь на превью
А разве дождь делают частицами?
Аноним 12/09/24 Чтв 14:46:20 973924 108
Пилил один проектик как хобби, щяс понимаю что даже если что то нормальное и выйдет, то скорее всего нахуй никому не нужно.
Появилось идея совершенно в другой области adult наклепать игру, интереса всяко по итогу должно быть больше.

И вот думаю, есть ли смысл все таки допилить первый проект до хотя бы рабочего билда или просто заморозить навсегда до лучших времён и начать новый?
Аноним 12/09/24 Чтв 15:06:20 973927 109
>>973924
>есть ли смысл все таки допилить первый проект до хотя бы рабочего билда
Да, всегда да. Ценный опыт, пригодится тебе в будущем, приучит доводить проекты до конца, и куча других профитов.
Аноним 12/09/24 Чтв 16:33:15 973935 110
На что вы живете? Никто же тут не делает игры по-настоящему. Не все же на пенсии по шизе живут? Или все?
Аноним 12/09/24 Чтв 16:37:57 973936 111
>>973935
Мы тут все синьоры-помидоры с 50кк в запасе и пассивными доходами со своих стартапов, можем себе позволить.

Оффтоп, пчел. Игры делай и не задавай вопросов.
Аноним 12/09/24 Чтв 16:40:13 973937 112
>>973927
>приучит доводить проекты до конца
Херня это всё. Лучше сбросить балласт, чем тянуть
>ПАТАМУШТА ПОПЫТ, ПАТАМУШТА ПРЕУЧИЛЬСЯ!!!

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

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

>Появилось идея совершенно в другой области adult наклепать игру
Советую подождать пока. Несколько дней, а то и недели две. У всех геймдевов часто такие мимолётные идеи возникают, типа "было бы круто сделать такую-то игру", особенно если ты недавно во что-то поиграл, что-то где-то увидел. Но такие идеи быстро оказываются либо скучными, либо вообще неосуществимыми, и ты теряешь интерес. Особенно это касается порнушных игр - пока не подрочишь, кажется чем-то очень крутым, а как подрочишь, то как-то уже и не нужно оно тебе. Или нарисуешь картинку и подрочишь. В любом случае, легко потерять мотивацию, когда ты только придумал идею и ещё ничего не имеешь кроме неё. Поэтому стоит подождать и посмотреть на свои ощущения - действительно ли хочется, или ну её, эту идею? Конечно, это в первую очередь касается хобби, но даже если ты хочешь делать игру ради прибыли, то тебе как соло инди нужно быть увлечённым проектом, иначе накатит депрессия с апатией из-за отсутствия прибыли в первые несколько лет работы. Вот если эта идея будет тебя упорно посещать на протяжении многих недель/месяцев, тогда можешь начинать её осуществлять.
Аноним 12/09/24 Чтв 16:44:36 973938 113
17173565675080.jpg 711Кб, 1566x2048
1566x2048
>>973935
>на пенсии по шизе живут
У тебя с этим какие-то проблемы?
Аноним 12/09/24 Чтв 16:49:26 973939 114
>>973937
Да твое-то весомое мнение мы уже заранее знаем, господин олимпиадник-занудник. Чего там, архитектуру кнопок нащупал верную? Через сколько лет ожидать как ты, аки гром и молния, поразишь весь мир своим чудо-проектом?
Аноним 12/09/24 Чтв 16:53:06 973940 115
>>973939
> архитектуру кнопок нащупал верную
Предпочитаю классическую архитектуру обработчиков событий. Так функционал легко масштабируется до мультиплатформинга. А что?
Аноним 12/09/24 Чтв 16:56:03 973941 116
i.jpg 142Кб, 1280x1108
1280x1108
>>973939
>Через сколько лет ожидать чудо-проект
Много чего постил, а в ответ - тишина.
Мотивация упала, поднять тяжело...

>>973940
>масштабируется до мультиплатформинга
А кнопки с поддержкой мультиплеера?
Аноним 12/09/24 Чтв 16:57:10 973942 117
1726149393239.png 960Кб, 1080x1485
1080x1485
>>973938
Он думал, что со мной говорит, поэтому я ему и не отвечаю. Дождался, пока ты ответил, и теперь он думает, что ты это я.
Аноним 12/09/24 Чтв 16:58:15 973943 118
1726149461390.jpg 82Кб, 900x900
900x900
>>973941
И с поддержкой мультиплеера.
Аноним 12/09/24 Чтв 17:04:26 973945 119
>>973927
>>973937
Спасибо за ответы. Я внезапно пришел к промежуточному варианту. Я придумал как в свой первый проект где уже есть мало-мальски рабочие механики прикрутить порно состовляющую. Допиливать по коду там по минимуму, сейчас все упирается только в графику.

Уже скачал криту, графический планшет уже пару недель как куплен. В общем буду вкатываться в рисование. а скорее обрисовку чужих артов
Аноним 12/09/24 Чтв 18:49:34 973953 120
Парни, дайте норм гайд на Basis. Я вроде читаю документацию, все слова знакомые, но что-то вообще нихуя не укладывается в голове, как баран на новые ворота смотрю. Какие-то колонки, x, y, z, вектор3 на каждый, ваще не понимаю нихуя.
Аноним 12/09/24 Чтв 19:04:14 973955 121
omqkngx6wds61.jpg 233Кб, 800x990
800x990
904.jpg 37Кб, 476x257
476x257
7d7.gif 781Кб, 498x278
498x278
>>973953
>Basis
Более четырёх лет ковыряюсь в Godot 3D, но так и не разобрался, что это за базис и зачем он нужен, когда можно накрутить какой-то херни на нодах и rotate() и оно just works. Хотя иногда я всё-таки беру Z из Basis, чтобы определить, куда объект смотрит, чтобы использовать этот вектор в формуле приложения силы к RigidBody...

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

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

Лови мемы в тему.
Аноним 12/09/24 Чтв 19:15:39 973959 122
Аноним 12/09/24 Чтв 21:39:35 973979 123
Аноним 12/09/24 Чтв 22:43:00 973982 124
Зачем участвовать в джемах ради отработки идеи игры, если можно пройтись по успешным джемовым играм, своровать идею у них, минимально изменить, налепить свой арт и продать?
Аноним 12/09/24 Чтв 22:56:25 973983 125
>>973982
просто так, чтобы отточить какую то идею, поставить себе дедлайны, набить какое никакое партфолио.
Зависит еще от позиции которую в разработке ты занимаешь.
Аноним 12/09/24 Чтв 22:58:19 973984 126
>>973983
>ПАТАМУШТА ПОПЫТ, ПАТАМУШТА ПАРТФЕЛИО!!!
Пустая трата времени. Бери отточенную идею и делай.
Аноним 12/09/24 Чтв 23:30:31 973988 127
Аноним 13/09/24 Птн 02:10:53 973995 128
image.png 1018Кб, 1116x628
1116x628
>>973875
>один челик на бусти подписался
Сколько челик тебе денег дает?
Аноним 13/09/24 Птн 02:50:39 974001 129
>>973995
200 рублей. Оплатил за 3 месяца на 600
Аноним 13/09/24 Птн 07:44:04 974005 130
>>973982
> своровать идею у них
У меня вообще не встаёт хуй на чужие идеи. Хочется реализовать именно своё.
Аноним 13/09/24 Птн 10:33:07 974008 131
>>974005
Не сравнивай чужие идеи со своими. Чужие - это одна из тысячи, которая выстрелила. А свои чтобы привести в порядок - надо очень серьезно поработать. Умение удачно спиздить чужую идею и вложить в нее свою душу это и есть то как человечество эволюционировало до этой точки.
Чужих идей вообще не бывает. Все принадлежит общему пулу идей. Колосально много ресурсов было потрачено на фуфловые идеи. И многие хорошие идеи затерялись потому что задохнулись от недостачи внимания и ресурсов.
Аноним 13/09/24 Птн 10:38:48 974009 132
Аноним 13/09/24 Птн 11:22:05 974012 133
>>974008
Я думаю, он имеет в виду, что не хочет воровать идею игры про фурри, глотающего живьём других фурри, или что-то подобное, чего много на итчио. А те идеи, которые он хочет реализовать, ещё никто не делал (или трудно найти сделанное).

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

И вот предпочтения в развлекательном контенте (условно, вкусы жвачки) у всех людей разные.
Аноним 13/09/24 Птн 11:39:57 974014 134
>>973982
>Зачем участвовать в джемах
Для развлечения. Это что-то вроде киберспорта.
>ради отработки идеи игры
Кто тебе это сказал? На джемах обычно тебе дают конкретную идею (тему), и ты что-то с этой идеей должен сделать, чтобы получилось интересно.
>пройтись по успешным джемовым играм
Как ты поймёшь, что игра на джеме успешна лишь благодаря идее, а не благодаря исполнению или вообще благодаря фанбазе конкретного автора? Глобально это может быть провальная идея.
>своровать идею у них, минимально изменить
Если идея действительно успешна и ты её изменишь, возможно, ты испортишь её успешность, если ты не понимаешь, почему она вообще оказалась успешна.
>налепить свой арт
Арт нужно сначала как-то сделать. От качества арта зависит, будет ли кто-то на твою идею обращать внимание или нет - идея ничего не стоит без качественного исполнения - у всех есть идеи. Т.е. создание качественного арта дороже идеи, и ты, возможно, не потянешь создание арта для игры даже с костылями вроде нейросетей.
>и продать?
А тут нужен бюджет на маркетинг, впаривание игры игрокам по всем социальным каналам несколько месяцев подряд, нагнетание хайпа или создание вокруг игры крепкой фанбазы. Ты не сможешь повторить успех флаппи берд, потому что успех заключался не в "идее" игры (идея-то говно, как и исполнение), а в удачном стечении обстоятельств. Большинство игроков даже бесплатно в твою игру играть не будут, не то, что покупать её, и нужно вкладывать деньги, чтоб заставить их играть.
Аноним 13/09/24 Птн 11:54:49 974015 135
>>973982
>и продать?
Забыл ещё упомянуть монетизацию. У игр с итч.ио, особенно джемных, обычно крайне малый объём контента. Вся игра порой приходится за пару минут, потому что больше за два дня джема не сделать. Возникает вопрос масштабируемости: будет ли эта игра интересна, если у неё контента на два часа? А меньше двух часов ты продать в стиме не можешь, потому что по правилам игрок может вернуть игру, если не наиграл два часа. Плюс игроки ожидают от каждой игры по сотне часов минимум. И очень ненавидят, когда время растягивают гриндом...

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

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

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

Тебе лишь бы ничего не делать и графоманить. Страшно представить твой код.
Аноним 13/09/24 Птн 12:46:24 974024 137
>>974020
>>974015
Ладно, сорян, я погорячился. Графомань дальше. Отвечать мне тебе лень, но поинты ты иногда интересные пишешь.
Аноним 13/09/24 Птн 12:50:53 974025 138
>>974020
>Еще раз, украсть идею, а не игру.
Приведи конкретные примеры "идей". Лучше из популярных игр - разберёмся, в чём их популярность.
>чем ААА студии и занимаются.
Штамповкой они занимаются. А говноеды жрут.
>РАСТЯГИВАТЬ ПЛОХО
Нет, не плохо, но не всё можно растянуть и при этом сохранить все ощущения, делающие короткую игру успешной. Есть такие понятия: короткометражка, рассказ и т.д. Если начать растягивать в сериал или многотомный роман, это будет что-то не то.
>успешными джем-играми, допиленными до
Таких единицы. Ну, иди допиливай, чего ждёшь?

>Тебе лишь бы ничего не делать и графоманить.
Дыа. А ты сюда со своей гениальной идеей воровать гениальные идеи и ничего не делать зачем пришёл? Воруй гениальные идеи молча и ничего не делай.
>Страшно представить твой код.
Стараюсь писать меньше кода. Если разрастается в неуправляемую лапшу - бросаю и пишу с нуля.
Аноним 13/09/24 Птн 14:31:19 974040 139
>>974012
>Это как жвачка
Книги, аудио и видео развлечения тоже жвачка. И тоже могут оказать сильное воздействие на развитие личности, расширить кругозор, и дать пощупать то что невозможно облачить в простые слова.
Возможно в будущем намного проще будет спрвится с технической частью, и приманит в игрострой намного больше гениев с уникальным мышлением.
Аноним 13/09/24 Птн 15:05:56 974045 140
>>974040
>Книги, аудио и видео
Есть разница между технической, научно-популярной литературой и тупой графоманией про очередного попаданца-достигатора в стиле литРПГ. Есть разница между образовательными видео и тупыми высерами большинства ютуберов и особенно тиктокеров. Есть полезная информация и есть "цифровой мусор".

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

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

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

Никто не запрещает писать литРПГ про попаданца.
Никто не запрещает снимать смешные видосики.
Никто не запрещает делать тупые игры для тупых.
Но не стоит думать, будто вы сейчас придумаете (своруете) гениальную идею игры, что повлияет на развитие всего человечества. Просто делайте то, что нравится вам самим и может понравиться кому-то. Это совсем не та сфера, которая двигает весь мир. И в ближайшее лет 10 ничего не изменится даже с ИИ.
Аноним 13/09/24 Птн 18:58:08 974067 141
1726243052240.png 2012Кб, 1200x675
1200x675
>>974045
> И в ближайшее лет 10 ничего не изменится даже с ИИ.
Забавно, что этот пост написан в 2024 году, за 10 лет до очередного предсказанного конца света в 2034 году будет сдвиг земной коры на 15 градусов.
Аноним 13/09/24 Птн 19:20:55 974070 142
ыыыыы.jpg 47Кб, 666x466
666x466
Есть одна тридэигра... Давно хочу сделать игру с процедурной генерацией, но всё что-то не то. Короч, прихожу к выводу, что бессмысленно избегать 3D моделирования: лучше сначала налепить побольше моделек, а потом уже решать, как их процедурно соединять в игровом мире. А то без моделек любой подход к генерации выглядит как белый шум; всё разнообразие может сходиться к текстуркам... Эх.

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

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

Фраза "графон не главное" всё же принима только когда графон есть и он достаточно разнообразен, пускай и не фотореалистичен/не очень детален.
Аноним 13/09/24 Птн 20:06:23 974074 143
>>974070
Это же очевидно, что тебе нужно вкатываться в моддинг, а не в геймдев. Вот там у тебя будет готовый опенворлд-скайрим, а ты туда будешь просто свои домики деревянные впиливать.
Аноним 13/09/24 Птн 20:35:43 974077 144
>>974074
>вкатываться в моддинг
И костылить. Потому что в готовой игре обязательно найдётся какой-то фатальный недостаток, из-за чего задуманное не сделать. Некоторые моды на Майн отвалились от него в самостоятельную игру - ведь, несмотря на свободу, Майн всё-таки ограничивает. Инструменты моддинга ещё зачастую неудобные...

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

Взять, хотя бы, Unturned:
https://store.steampowered.com/app/304930/
>Очень положительные (91% из 545,763)
Стартовало оно как мод на Roblox, но выросло в полностью самостоятельную игру. Графика будто игрушечная, лоупольно-бестекстурная, но контента огромное количество. Механик много, но если ты рассмотришь эти механики на голой плоскости без моделек - будет очень скучно и быстро надоест. Прятаться от квадратных зомби в бестекстурных квадратных домиках не так-то весело, если бы не огромное количество разнообразного контента.

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

Считай, это мысли вслух. Чтоб другие почитали и не ковырялись в прототипах механик несколько лет, надеясь найти "ту самую" формулу успеха, которая вывезет на себе всю игру вообще без контента.
Аноним 13/09/24 Птн 21:04:14 974078 145
>>974070
Скачиваешь ассеты и процедурно генерируешь из них, если игра получится веселой и интересной, тогда постепенно заменяешь ассеты на свои
Аноним 13/09/24 Птн 21:37:57 974080 146
image.png 744Кб, 564x752
564x752
Есть ли хоть сколько-то внятные туториалы по новым 2D скелетам? Я так понял в 4.3 их перелопатили, теперь непонятно как делать инверс кинематику и биндить спрайты/полигоны к костям
Аноним 13/09/24 Птн 21:47:31 974081 147
>>974080
>Я так понял в 4.3 их перелопатили
С чего ты взял? В 4.3 изменили 3D скелеты - чтобы привести их в соответствие 2D скелетам. Т.е. теперь анимационный стек работает и для тех, и для других.

Или ты с 3.x переходишь?
Аноним 13/09/24 Птн 23:28:46 974093 148
image.png 23Кб, 850x229
850x229
>>974081
Я имел в виду что поменяли интерфейс в редакторе, теперь старых кнопок типа "создать IK-цепь прямо из спрайтов" нет, приходится ебаться с SkeletonModificationStack2D
Аноним 14/09/24 Суб 00:32:32 974106 149
Аноним 14/09/24 Суб 03:02:22 974117 150
>>974045
Ты про симуляции забыл, умник . Широкое разнообразие симуляций которые можно встретить в играх. Логических, технических, социальных, политических, физических, и других которые я не назвал.

>И что они сделают? Очередную интеллектуальную историю, которая соберёт от силы 1000 отзывов?
Они смогут впихнуть в этот формат вещи которые не смогли впихнуть до этого.

Как же отвратительно читать твое старческое ворчание. Я понимаю что это своего рода реализм, но блядь, ты такой невежда, и только и спешишь поскорее поныть.
Аноним 14/09/24 Суб 03:21:43 974119 151
>>974067
Еще забавнее, что я буквально неделю назад писал, какой прорыв может появиться в играх, если туда добавить ИИ-геймдизайнера, оценивающего смысл действий игрока.
Аноним 14/09/24 Суб 16:28:44 974184 152
>>974078
>Скачиваешь ассеты
Или можно использовать CSG ноды...
Потому что найти даже платные ассеты нереально.
Аноним 14/09/24 Суб 16:50:09 974190 153
>>974184
Можно еще самому делать, представьте.
Аноним 14/09/24 Суб 17:27:22 974194 154
>>974190
>самому делать
Если б все могли сами себе делать, никаких проблем бы не было.

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

Воруешь из интернета -> не твоя игра, а ворованная -> неинтересно.
Покупаешь -> не твоя игра, а купленная -> дорого и бессмысленно.
Аноним 14/09/24 Суб 17:33:27 974195 155
>>974194
Стиль > графоний. Стиль тоже скилл, конечно, но прокачивается он в разы быстрее, а применяется легче.
Аноним 14/09/24 Суб 17:39:11 974196 156
>>974190
Представь, чтобы скачать и вставить модельки отсюда >>939370 →
займет 1-2-3 дня. За такое время такое же количество ты не сделаешь сам, ага.
Аноним 14/09/24 Суб 19:40:31 974204 157
>>973902
Перепробовал всё что ты перечислил, но избавиться от кирпичечной вечеринки мне помог только джолт
Спасибо за развёрнутый ответ
Аноним 14/09/24 Суб 20:28:47 974206 158
Как снизить фпс _process одной ноды? Чтобы не каждый фрейм отрабатывало, а, допустим, каждый 3. Помимо if frames % 3 == 0: return

Короче, что делать если для моей задачи использование таймеров - слишком медленное, а _process - слишком быстрое?
Аноним 14/09/24 Суб 21:01:46 974208 159
>>974206
Прибавляй единичку к переменной, когда она равна трем обнуляй
Аноним 14/09/24 Суб 21:50:25 974211 160
>>974206
>снизить фпс _process одной ноды
Скорее всего, тебе нужен _physics_process, который по умолчанию фиксирован на 60 тиков в секунду, но в принципе можно снизить ещё больше, если физика не особо нужна. А вот _process зависит от частоты обновления экрана/установленного лимита кадров и у современных геймеров может быть хоть 240, хоть 480. Действительно ли тебе нужно привязывать что-то к кадрам?

>Помимо if frames % 3 != 0: return
Для прототипа сойдёт, а потом разберёшься, переделывать или оставить.
Аноним 15/09/24 Вск 01:52:29 974226 161
>>974211
>>974208
Физикс процесс мне активно нужен, резать ему фпс ради этого не хочется. Вот у партиклей есть опция фпс - такое бы каждой ноде.
Аноним 15/09/24 Вск 08:44:10 974240 162
Аноны, что в годоте с разрушаемостью?
В анриле Chaos Desctruction, в Unity есть RayFire. А в годоте онли васянские плагины?
Аноним 15/09/24 Вск 09:12:44 974242 163
>>974240
Да всё так. Вали нахуй из треда.
Аноним 15/09/24 Вск 10:25:17 974248 164
Аноним 15/09/24 Вск 11:29:08 974256 165
>>974240
>разрушаемость
Ну, смотри, даже в ААА тайтлах "разрушаемость" не настоящая - там фейковые катсцены, запечённые в продвинутой проге типа Blender. Игровой движок не занимается такими вещами. Я посмотрел по твоим ссылкам - там тоже васянки, имитирующие Blender.

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

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

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

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

>>974242
Ты чего такой злой сегодня? Не с той ноги встал?
Аноним 15/09/24 Вск 11:55:51 974262 166
Просто воксели ебашьте, хуле вы тут
Аноним 15/09/24 Вск 12:01:52 974263 167
>>974262
>воксели
Сложно. И затратно, если они мелкие.

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

Есть ли выход? Можно, конечно, заготовить много отдельных мешей, но их как-то соединять нужно, чтоб зазоров не оставалось между разными "вокселями".
Аноним 15/09/24 Вск 12:07:44 974266 168
>>974263
>И затратно, если они мелкие.
Клаудпанк и тирдаун работают шустро.
Аноним 15/09/24 Вск 12:25:51 974268 169
>>974266
>Клаудпанк
Там только стиль воксельный.
>тирдаун
Там специализированный движок.

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

Пока не будет поддержки видеокартами на том же уровне, что и растры, о вокселях можно забыть. А видеокартам для поддержки вокселей нужно очень много памяти. Которой NVIDIA не хочет делиться...
Аноним 15/09/24 Вск 12:42:38 974273 170
как-то так.png 22Кб, 600x230
600x230
test.gif 200Кб, 60x120
60x120
Сделал прикольный индикатор. Если где-то нужна текстура, а рисовать лень - берите из SubViewport.

Формально это процедурная текстура...
Аноним 15/09/24 Вск 12:46:56 974276 171
Аноним 15/09/24 Вск 13:00:43 974282 172
Сильно ли влияет комплексная но скрытая из виду меш на производительность? Условно, если я спрячу модель йоба ангела из дьяблы под пол - он будет ебать мой фпс?
Аноним 15/09/24 Вск 13:05:33 974285 173
>>974282
Насколько я помню, некоторые расчеты продолжают выполняться, например octotree. Но сколько это в фпс, хз. Может быть 0.1%? Возьми сам и померь, делов то.
Аноним 15/09/24 Вск 13:07:23 974286 174
>>974273
Там есть некоторые нюансы. Во-первых где настраивать антиалиасинг, во-вторых раньше много вьюпортов просаживало перформанс, так что много таких штук делать было рисковано (как в 4 не знаю). Хотя, в некоторых случаях можно сгруппировать несколько иконок на одном вьюпорте, хм.
Аноним 15/09/24 Вск 13:43:56 974301 175
>>974286
>где настраивать антиалиасинг
Если в сабвьюпорте - сглаживается то, что в текстуре.

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

>сгруппировать несколько иконок
Можно вообще что угодно генерировать...
Аноним 15/09/24 Вск 13:48:26 974304 176
Аноним 15/09/24 Вск 21:42:28 974389 177
Почему не постите прогресс по своим играм?
Аноним 15/09/24 Вск 22:17:10 974398 178
>>974389
Это же очевидно, игорь тонет!
Аноним 15/09/24 Вск 22:51:39 974400 179
Видео 15-09-202[...].mp4 23824Кб, 1012x584, 00:00:59
1012x584
>>974389
Добавил недавно мутантов в игру, лицехвата и что-то типа кентавра. Да и вообще, кучу всего по мелочи. Ещё оказалось что у всех игра просаживалась до 20 фпс, а я этого как-то не замечал. Оказалось что из-за того что я все анимированные объекты просто ставил на сцену, из-за большого количества анимейшен плееров всё просаэживалось. Сделал по итогу спавн когда камера заходит в область спавна челика/объекта, и теперь минимум 200 - 300 фпс есть на большой карте хотя мне кажется можно ещё увеличить, учитывая что на маленьких локах у меня 1500 фпс, но я пока не думаю об этом
Аноним 15/09/24 Вск 22:54:03 974401 180
>>974389
Ты тредом ошибся? Это тред движка, а не прогресса своих игр.
Аноним 15/09/24 Вск 23:31:20 974406 181
>>974389
Не хочется связывать свои проекты и свою интернет-личность с двачем.
Аноним 15/09/24 Вск 23:40:25 974408 182
изображение.png 29Кб, 834x413
834x413
изображение.png 35Кб, 895x430
895x430
изображение.png 47Кб, 273x550
273x550
изображение.png 26Кб, 275x347
275x347
>>974301
>Если в сабвьюпорте - сглаживается то, что в текстуре.
Я попробовал в 4-ке и что-то не выходит. Может что-то упускаю.
Пик 1 - просто линия
Пик 2 - линия в сабвьюпорте -> вьюпорт текстура прогресс контрола
Пик 3 - настройки сабвьюпорта, вообще нет пункта anisotropic
Пик 4 - настройки зеленого контрола.
Размер контрола = размер сабвьюпорта = 512х512
(В настройках проекта по умолчанию Rendering->Textures->Anisotropic Filter-> 4x Fast
Потыкал рендеры, вроде и в GL Compatibility и в Forward+ одинаково.

>UPDATE_ONCE
Во-первых, как это поможет если делать много анимированных индикаторов как из примера выше?
Во-вторых тут мне лень измерять, но скорее всего они все идут с оверхедом, может быть видеопамять или что-то еще.
Аноним 15/09/24 Вск 23:41:51 974409 183
>>974406
Просто делаешь рофельные проекты специально для двача, готово.
Аноним 16/09/24 Пнд 02:09:59 974424 184
Я правильно понимаю, что в природе на ютубе не существует полноценных туториалов по созданию пошаговой тактической игры (с боями, как в xcom, jagged alliance и т.п.), потому что пошел я нахрен это куда более не тривиальная задача, чем очередной 2д платформер?

Пока нашел только видосы с теоритическими выкладками или по отдельным темам, но хотелось бы на сам код глянуть
Аноним 16/09/24 Пнд 02:14:10 974425 185
>>974256
А в red fuction разве тоже фейк разрушаемость? Да даже если так - это все равно какие-то забытые технологии.
Меня вот взаимодействие с миром и в т.ч. разрушаемость поражает больше, чем любой графон. Прям вау эффект испытываю всегда
Аноним 16/09/24 Пнд 02:19:18 974426 186
>>974424
Игра и состоит из суммы элементов. Смотришь туториал по 2д тактической рпг, смотришь туториал по 3д анимациям, прикручиваешь, бац, готово.
Аноним 16/09/24 Пнд 02:22:31 974428 187
Сделайте кто-нибудь туториалы по мультиплеерным кнопкам...
Аноним 16/09/24 Пнд 02:55:43 974430 188
>>974428
Я бы сделал, но на одном компе тестить тяжело...
Аноним 16/09/24 Пнд 03:11:28 974431 189
>>974424
>хотелось бы на сам код глянуть
1. Разбираться в чужом коде всегда сложнее, чем придумывать собственный. Поэтому в туториалах максимально упрощают, делая код, который ты не должен использовать в реальной большой игре.

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

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

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

Мультиплеерные кнопки так и останутся мечтой...
Аноним 16/09/24 Пнд 04:19:44 974434 192
>>974433
Я еще лет 20 назад играл на винде в хотсит матч-3 с несолькими мышками. Очевидно это можно закодить самому (различать USB мышки по HID?) или поставить какую то прогу мультиплексор, правда на гитхабе опенсорсных не нашел.
Конечно нагуглить название игры не получилось, вылезают только ответы что это невозможно, лол.
Аноним 16/09/24 Пнд 04:22:18 974435 193
>>974428
Тебе повезло, потому что я делал мультиплеерные кнопки
Для начала тебе надо разобраться с @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 легко декомпилируются. И если просто в клиенте написать, вот эта функция вызывается только с сервера, то хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти. Надо прогонять все запросы через сервер и проверять их там. В идеале, надо чтобы в клиенте были только кнопки, а вся логика закрыта в сервере, но так не получается из за лага, поэтому добавляют все эти интерполяции, экстраполяции, предсаказания и остальное.
Аноним 16/09/24 Пнд 04:27:43 974436 194
>>974433
Если игра сделана без сингтонов с глобальными переменными, то она помещается в сцену. А значит, можно сделать мета-игру-сцену, в которой добавлено несколько сцен-игр.
Аноним 16/09/24 Пнд 04:49:59 974437 195
>>974408
>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, не переключаясь в отдельный редактор и даже без скачивания каких-то специальных аддонов. И ещё сохранить доступ к её компонентам, чтобы быстро поправить, без переключения на внешний редактор. Позже нарисуешь финальную графику в отдельном редакторе, а пока хватит и такого. Просто в тот же прогресс-бар нельзя вставить ничего кроме текстур.
Аноним 16/09/24 Пнд 05:10:37 974438 196
>>974437
Придется завтра еще раз проверять. Я на ноуте попробовал повторить, а лесенки нет. Может настройки проекта отличаются. Может быть ты прав что метод проверки неправильный, завтра еще в лупу на пискели посмотрю без зума.
Аноним 16/09/24 Пнд 05:36:18 974439 197
image.png 129Кб, 479x144
479x144
Аноним 16/09/24 Пнд 06:13:54 974441 198
Аноним 16/09/24 Пнд 06:15:29 974442 199
Аноним 16/09/24 Пнд 11:25:42 974464 200
>>974435
>И C#. и gdscript легко декомпилируются.
В годоте же есть возможно зашифровать свой код?
Аноним 16/09/24 Пнд 12:37:49 974470 201
>>974464
https://godot.community/topic/35/protecting-your-godot-project-from-decompilation
не то?
Аноним 16/09/24 Пнд 12:40:20 974471 202
>>974464
Ты не читаешь, что тебе пишут. Он пишет, что все запросы надо через сервак прогонять и верифицировать. Шифрование там есть, но ключ вшит в экзешник. Ты не сможешь защитить свой код от васянов, пока не купишь Денуву.
Аноним 16/09/24 Пнд 12:44:13 974472 203
>>974464
Это совсем от школьников. Чтобы игра работала, она должна быть расшифрована на компе игрока, а значит ключ тоже на компе игрока.
Правда я немного погорячился, декомпилятор пока не обновили до 4.1 и нового байткода (но могут через месяцок-другой обновить)
Аноним 16/09/24 Пнд 13:11:03 974479 204
>>974470
>>974471
>>974472
Очень сложно все. И почему декомпилировать легально? Почему еще какие-то проекты публичные для этого есть? Охуеть

Как еще можно защитить кусочек своего кода? Обфусцировать его в кашу - реальный ли вариант?
Аноним 16/09/24 Пнд 13:20:31 974480 205
image 29Кб, 283x803
283x803
Какие разделы мануала обязательно стоит прочитать и понять, прежде чем двигаться дальше после туториалов(your first 2d/3d game)?
Аноним 16/09/24 Пнд 13:31:24 974481 206
>>974479
> декомпилировать легально?
Если лицензия позволяет, то легально. Если нет, то нет.
> Почему еще какие-то проекты публичные для этого есть? Охуеть
Да.
> Как еще можно защитить кусочек своего кода?
На сегодняшний день только денува, насколько я знаю. Во всех остальных случаях твоя драгоценная игра окажется на торрентах через день.
> Обфусцировать его в кашу - реальный ли вариант?
Это блять. Читай что тебе пишут.
Аноним 16/09/24 Пнд 13:51:34 974490 207
>>974481
Пусть окажется на торрентах через день, я даже за. Не хочу чтобы мой код читали, там 360 айкью гениальные решения. Они мои личные. Как мои трусы. Личные.
Аноним 16/09/24 Пнд 13:53:31 974492 208
image 969Кб, 953x711
953x711
>>974490
> Как мои трусы. Личные.
не все с этим согласятся
Аноним 16/09/24 Пнд 14:00:38 974496 209
>>974494
Чойта ты порвался? Кто из местных тебя обидел?
Аноним 16/09/24 Пнд 14:08:17 974498 210
Аноним 16/09/24 Пнд 14:36:07 974507 211
>>974479
Сложно сделать. Я пробовал с++ обфусцировать, и строки в памяти обфусцировать, но это так муторно, с учетом оптимизаций компилятора, а еще это иногда ведет к багам и UB. А чтобы сломать, часто надо пару байтов нужных исправить.
Задумался вот, сейчас делаю игру на ECS, интересно ее сложнее сломать или проще? С одной стороны код проще, компоненты четче. С другой отладка сложнее, запутано где чьи компоненты. Можно конечно поугорать делая y-координату XOR второго байта хитпоинтов или что-то подобное.
Аноним 16/09/24 Пнд 14:47:04 974514 212
>>974480
Изучи едитор - вопросов будет меньше к анонам.
Аноним 16/09/24 Пнд 15:11:31 974518 213
изображение.png 143Кб, 1093x790
1093x790
>>974480
Можешь загуглить обзор существующих нод и посмотреть пару раз, чтобы понять какие вообще существуют.
Скриптинг желательно весь конечно. Сигналы.
Если 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)
Там вообще много полезных рецептов.
Аноним 16/09/24 Пнд 16:01:08 974531 214
image.png 7Кб, 337x100
337x100
>>974479
Любой код декомпилируется. Всегда так было. Это никого не волнует до тех пор, пока код программы нельзя открыть буквально как plain text. Начиная с 4.3 годо обфускация идет как побочный эффект третьей опции (и второй, ЕМНИП) в gdscript export mode. Этого хватит, разрешаю не трястись.
Аноним 16/09/24 Пнд 16:16:05 974542 215
image.png 12Кб, 438x119
438x119
>>974531
Отставить отмену тряски.
Аноним 16/09/24 Пнд 16:21:22 974543 216
image.png 31Кб, 575x141
575x141
Аноним 16/09/24 Пнд 16:30:31 974547 217
>>973787
>можно сделать шейдер ваншотным?
Можно шейдер контролировать через внешний параметр, а сам параметр уже в анимации/скрипте.
Аноним 16/09/24 Пнд 16:32:33 974548 218
>>974543
Тут пока что барьер только низкая популярность годота. В java и .net есть декомпиляторы которые из байткода собирают читаемый код, в частности потому что компилятор то по одним шаблонам его генерит.
Аноним 16/09/24 Пнд 16:35:40 974550 219
1726493704882.jpg 46Кб, 408x439
408x439
> Как еще можно защитить кусочек своего кода?
На сегодняшний день только денува, насколько я знаю.
Аноним 16/09/24 Пнд 16:59:09 974557 220
>>974548
И? В чем вопрос-то состоит? Чего хотите добиться? Кода, который не будет способен понять человек, но поймет компьютер? Как вы себе представляете такое? Любой код вскрывается и приводится в читаемый вид - то вопрос времени. А простейшая деобфускация огородит от васянов. И в большем реальные разработчики реального даже проприетарного софта не нуждаются. Не еби мозги.
Аноним 16/09/24 Пнд 17:01:31 974558 221
mood.jpg 177Кб, 1000x1000
1000x1000
>>974401
>Это тред движка, а не прогресса своих игр.
Ты явно новичок или вообще мимо проходил.

В этом ИТТ треде поощряется постить о прогрессе разработки своих игр на Godot. Самые интересные будут добавлены в шапку следующего треда на почётное место рядом с Годеттой или лого Godot. Обсуждали это несколько раз за последние годы.
Аноним # OP 16/09/24 Пнд 17:09:10 974563 222
Аноним 16/09/24 Пнд 17:12:47 974566 223
>>974557
Байткод намного проще восстанавливается в читаемый код, чем компилированный с/с++. Прикинь, написав на с++, ты ставишь барьер, который городит не только от васянов, но уже и от толиков.
Аноним 16/09/24 Пнд 17:13:41 974568 224
>>974558
Поощрается != требовать постить прогресс. Это не субшота. Конечно никто не против когда кто-то постит про устройство игр, показывает как что можно сделать.
Аноним 16/09/24 Пнд 17:15:55 974570 225
1726496119207.png 101Кб, 957x840
957x840
>>974566
> на с++, ты ставишь барьер, который городит не только от васянов, но уже и от толиков
Посмотри на пикчу. Я васян или толян?
Аноним 16/09/24 Пнд 17:16:32 974571 226
17202577186450.jpg 70Кб, 749x680
749x680
Есть возможность прохудить экспорт проекта без потерь времени и каких-нибудь возможных зависимостей? А то почти пустой проект в 100 мб это перебор, ящитаю. Года джва назад весь движок с эдитором 40-50 мб весил, а сейчас один только движок с ничем в сотню обходится. Не нравится мне все это. Блоатварь чертова и до робота родненького добралась.
Аноним 16/09/24 Пнд 17:17:52 974572 227
>>974571
>без потерь времени
Серьезных, я имею в виду. Так я, конечно, готов потратить время. Но не очень много. Если можно.
Аноним 16/09/24 Пнд 17:26:59 974574 228
>>974571
>Есть возможность
А, ну да, еще забыл сказать, что вопрос состоит скорее не в том "а есть ли возможность?", но больше в смысле "как это сделать, если все же возможно?". Все-таки хотелось бы экспорт уменьшить на практике, одного знания мало будет.
Аноним 16/09/24 Пнд 17:32:11 974577 229
>>974568
>требовать постить прогресс
Требую делать игры.
Аноним 16/09/24 Пнд 17:33:07 974579 230
>>974571
Какая версия у тебя? Краем глаза в 4.3 чейнджлоге видел что-то про уменьшение размеров.
Аноним 16/09/24 Пнд 17:33:26 974580 231
изображение.png 20Кб, 652x44
652x44
Аноним 16/09/24 Пнд 17:36:17 974581 232
>>974435
>хакер просто уберет аннотацию и вызовет ее сам, прибавив себе сотни нефти
>вся логика закрыта в сервере
Это тебя должно заботить только если ты делаешь:
- ММО: потому что у тебя вся экономика завязана на честный геймплей, игроки будут бугуртить с читов;
- соревнования: очевидно, будет бугурт, если читеры обходят всех в таблицах лидеров и нагибают нубов;
- гача-игры: чтобы не собрали всех тянок за 1 день, а заходили каждый день гриндить или донатить.
В остальном, на читеров насрать. Если игрок играет с читером - пускай играет, а если не хочет - просто отключается от него и играет с кем-то другим. Если игроки создают свои сервера, они имеют полное право создавать сервера специально для читеров.

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

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

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

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

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

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

>>974490
>чтобы мой код читали, там 360 айкью
Скорее всего, у тебя там потешные костыли, которые никому не нужны. Ты бы лучше боялся, что над твоей программой смеяться будут (как над ЯндереДевом).
Аноним 16/09/24 Пнд 17:38:06 974583 233
>>974581
у меня соревновательная ммо гача.
Аноним 16/09/24 Пнд 17:48:50 974586 234
>>974581
> Ты бы лучше боялся, что над твоей программой смеяться будут (как над ЯндереДевом).
У тебя травма какая-то? Над тобой смеялись? Скажи мне кто и я заспамлю их игры негативным отзывами!
Аноним 16/09/24 Пнд 17:50:36 974587 235
>>974579
Да, я про 4.3 и говорил. Он большие файлы даже с компрессией экспортирует.
Аноним 16/09/24 Пнд 17:56:05 974589 236
>>974571
>прохудить экспорт проекта без потерь
Можно для начала почитать документацию:
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+) обещают уделять больше внимания оптимизации размера.
Аноним 16/09/24 Пнд 18:09:40 974592 237
>>974583
>у меня соревновательная ммо гача
Звучит как диагноз. Земля тебе донатами, товарищ...

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

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

Даже более-менее крупные команды проигрывают. Да что там, даже ААА проваливаются. В соло или с парой друзей такое тащить на себе нереально. Если, конечно, не называть ММО сервер на 3.5 игрока...
Аноним 16/09/24 Пнд 18:16:15 974598 238
>>974592
Ну ладно, про соревновательную я пошутил. Хотя, лидерборд можно прикрутить для мотивации. Контента готово на несколько лет вперед, успевать бы все вставлять...
Аноним 16/09/24 Пнд 18:21:57 974602 239
>>974589
>Можно для начала почитать документацию
Внезапно. Не ждал, что такая тема затрагивается в документации. Документация вообще мне редко помогала. Прошлый раз ее читал, когда хотел разобраться с тем, как оформлять обновления в маленькие сорт оф diff PCK-файлы, а не выкатывать перекомпилированный исполняемый файл с перекомпилированным и полным PCK. Ответа там я не нашел, пришлось обидеться на оф. документацию. Такая вот история. Но вообще у кого-то чего-то спрашивать обычно не моя стратегия, я просто сегодня бездельничаю. Зашел вот к вам.
>4. Публикуешь кастомный билд.
Движка билд? Зачем публиковать?
>Если в файловой системе включено сжатие, то меньше 100.
У меня в сжимающейся btrfs сотню показывает. Или ты другое имеешь в виду?
>Это по-прежнему самый компактный движок из универсальных "всё включено"
Разумеется. Я считаю его лучшим из предложенных, и учитывая проприетарные, разумеется. Но всегда можно лучше.
>теперь (4.3-4.4+) обещают уделять больше внимания оптимизации размера.
Это чудесно, я очень рад таким новостям. Неиронично.
Аноним 16/09/24 Пнд 18:27:43 974604 240
>>974589
А, спасибо забыл сказать. Спасибо.
Аноним 16/09/24 Пнд 18:32:09 974606 241
Аноним 16/09/24 Пнд 18:37:45 974610 242
>>974602
Патчи можно делать и внешней утилитой, вообще то. А экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.
Аноним 16/09/24 Пнд 18:42:55 974611 243
>>974606
Да, мне скинули уже эту ссылку. Спасибо.
>Зависимости чего от чего?
>модули и так независимые
Ну вот как параграф по ссылке, например - зарезать 3D за ненужность в 2D игре. Ну или физику движковую. Я ее не использую тоже. Напрямую, по крайней мере.
>>974610
>Патчи можно делать и внешней утилитой
Какой?
>экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.
А я по-другому считаю.
Аноним 16/09/24 Пнд 18:47:38 974613 244
>>974602
>маленькие сорт оф 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 и т.д.

>>974610
>просто копируется тот же самый.
Там, вроде, есть нюансы:
- можно менять иконку и другие записи в exe;
- можно склеить pck и exe в один файл;
- для Android процесс намного сложнее.
Аноним 16/09/24 Пнд 19:08:30 974616 245
>>974613
>https://docs.godotengine.org/en/stable/tutorials/export/exporting_pcks.html
Да, именно за эту страничку я и обиделся. Это надо в релизе с расчетом на последующие патчи и багфиксы писать код на подгруз дополнительных PCK с конкретным именами и в случае их наличия. Глупость полная. Ну если я, конечно, правильно все понял. Можно было бы просто заменять маленькие бинарники, а не плодить архивы патчей в корне. Меня вообще идея одного исполняемого файла и архива с незнакомым (для конечного пользователя) расширением в директории софтинки всегда пугала. А один большой исполняемый файл это еще страшнее. Но это наверно не все поймут. Я сам не понимаю.
>Ты ж игру вместе с движком публикуешь обычно.
А, ты про это. Теперь ясно.
>Тогда делай proposals, pull requests, issues и т.д.
Естественно.
Аноним 16/09/24 Пнд 20:59:59 974632 246
>>974616
>Глупость полная.
Нет. Это избавляет от головной боли, когда движок автоматически вместо тебя какую-то фигню грузит у пользователя и ломается, а ты не понимаешь, в чём проблема может быть. Сейчас ты полностью сам контролируешь, что и когда тебе нужно загрузить.

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

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

>большой исполняемый файл это еще страшнее
Хех, погугли "llamafile", почитай что там пишут.

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

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

Алсо, площадки вроде Стим предоставляют свои инструменты для патчей. Не знаю, как это работает.
Аноним 16/09/24 Пнд 22:00:11 974635 247
Аноним 16/09/24 Пнд 22:30:25 974639 248
>>974632
>Это избавляет от головной боли
>Сейчас ты полностью сам контролируешь, что и когда тебе нужно загрузить.
Да понятно, конечно, что у этого есть свои плюсы. Но я б хотел по-другому. Почему не сделать, как хочу я?
>Знаешь, как обновляется GTA Online?
Да ничего удивительного, наверно, что это не пойми во что превратилось, учитывая столь длительный жизненный цикл игры.
>Все игровые движки обычно делают что-то похожее.
Разве? А по-моему в общем случае игра/программа это директорая, внутри которой много других директорий с бинарниками и прочими ресурсами. И распаковать патч в такую директорию рука прям чешется. Ты же понимаешь наверняка, что это просто звучит правильно и понятно. Вообще я осознаю, что болтаю и жалуюсь буквально ни о чем, ведь большинству игроков будет плевать на то, как это устроено изнутри - их устроит и огромный стандалон .exe на винде, .appimage на линуксе или .app на макоси.
>Хех, погугли "llamafile", почитай что там пишут.
Модели это не так страшно. А вот если бы это были .exe на 30 гигов, меня б удар хватил.
>Вообще, с Godot ты можешь распространять свою игру как распакованный проект.
О, вот это прям открытие. Сейчас попробовал. Работает и правда. Заметил очень много ошибок в терминале. Думал, что экспортировал чего не так. А нет, эти ошибки просто не крашат игру и висели в дебаггере все время. Плохой я разработчик.
>они смогут прочитать и изменить все твои исходники, но разве ты не этого хочешь?
А вот не знаю, если честно. Я очень люблю FOSS и пользуюсь эксклюзивно свободным ПО, но это, как понимаешь, не может относиться к играм, потому что опенсорс игр просто нет. Так сложилось. И я уже могу имаджинировать как рескины моей игры продают в стиме за 30 рублей. Мои действия? Пишу на почту Free Software Foundation и жалуюсь на то, что меня буллят в интернете, нарушая GPL. Печально все это.
>В таком случае "патч" у тебя будет крайне прост - распаковать zip-файл в папку игры с заменой.
Да, хотелось бы еще иметь подобную возможность и у скомпилированной и ужатой игры.
>площадки вроде Стим предоставляют свои инструменты для патчей.
Интересно, не слышал о таком.
В любом случае, удовлетворительный выход из этой ситуации я найду. Я люблю жаловаться и искать недостатки во всяком, даже в любимых своих штуках. Ты слишком стараешься мне помочь, это необязательно. Но я очень это ценю, спасибо!
Аноним 16/09/24 Пнд 22:42:23 974641 249
>>974639
>опенсорс игр просто нет
Сейчас разрабы всяких nethack, battle for wesnoth и cataclysm dda охуели
Аноним 16/09/24 Пнд 22:47:06 974643 250
>>974639
А вслед за упомянутыми выше олдами. охуели тысячи современных разрабов, которые открывают исходники на джемах типа Ludum dare
Аноним 16/09/24 Пнд 22:51:35 974644 251
image.png 184Кб, 349x337
349x337
>>974639
Буквально каждые выходные гоняю в опенсорсный пикрил.
Аноним 16/09/24 Пнд 23:47:53 974652 252
>>974611
>>Патчи можно делать и внешней утилитой
>Какой?
Ну например itch.io/butler умеет делать локальные патчи, а не только отправлять на итч. Лицензия MIT.
Да вообще на гитхабе вылезает много Game Patcher
По большому счету, это то что делает diff/patch в линуксе или git merge. Копирует совпадающие части файла и заменяет отличающиеся.
>>экзешник и не перекомпилируется при экспорте, он просто копируется тот же самый.
>А я по-другому считаю.
А ты мог бы просто побайтово сравнить после экспорта.
Ну считать то ты можешь конечно, только компилятор с++ с либами для сборки весил бы пару гигов, а не 100мб. Игрушечные компиляторы не рассматриваем.
Да и вообще, вместо шаблона экспорта, можно подложить в папку с .pck сам редактор годота и так же все будет работать.
>можно менять иконку и другие записи в exe;
Да это правда, я такие нюансы не стал рассматривать. Это примитивная операция над бинарником - развинуть место между заголовком и блоками кода, втиснуть картинку, подправить смещения-указатели.
>>974632
>Стим предоставляют свои инструменты для патчей. Не знаю, как это работает.
Написано что он разрезает файл на 1Мб кусочки и потом отправляет только изменившиеся мегабайты. Понятно что это не работает с zip или шифрованым файлом, так как он будет перефаршировываться целиком, также будет плохо если куски сильно переезжают - текстура была вначале, стала в конце. А потом эти кусочки уже на стороне стима сжимаются и шифруются. Хз честно говоря, какой формат у .pck в этом плане.
>>974639
>А по-моему в общем случае игра/программа это директорая, внутри которой много других директорий с бинарниками и прочими ресурсами
В крупных играх так не делают, там какой нибудь один .dat. Скорее всего файловая система дает оверхед, поэтому программистам проще написать свою структуру, а там глядишь и файл получится просто memory map в память подгрузить. Да и своего шифрования можно навернуть. (Но шифрование конфликтует с патчами...)
Аноним 17/09/24 Втр 00:05:49 974655 253
Аноним 17/09/24 Втр 02:16:43 974660 254
>>974655
А я все это знал, я молодец.
Аноним 17/09/24 Втр 07:16:21 974663 255
>>974655
Пункты 2,3,4 не знал. Спасибо.
Аноним 17/09/24 Втр 07:18:49 974664 256
image.png 47Кб, 700x700
700x700
>>974652
>вообще на гитхабе вылезает много Game Patcher
Это класс, только я попросил твоей рекомендации лично, не гитхаба.
>itch.io/butler
>это то что делает diff/patch в линуксе или git merge
Спасибо. Это то что надо.
>А ты мог бы просто побайтово сравнить после экспорта.
А я сравниввл мд5 уже, потому что слышал про одинаковые экзешники в случае внешнего PCK на выходе. Поэтому и есть мнение. Но если вдруг в итоге окажется, что я не прав или чего-то не так проверял, то я ОЧЕНЬ сильно расстроюсь.
>Ну считать то ты можешь конечно
Буду считать. Но если тебя это будет беспокоить, то ты дай знать.
>я такие нюансы не стал рассматривать. Это примитивная операция над бинарником
>развинуть место между заголовком и блоками кода, втиснуть картинку, подправить смещения-указатели.
Ну ты молодец, конечно, много знаешь разного. А сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку? А Ежи?
>В крупных играх так не делают
Не знаю, может мы о разных вещах говорим. цп2077 - наверно единственное, что я запускал свежее 2014-2015 года выпуска и смотрел примерно чего и как там выглядит в директории игры. Может быть, это недостаточно большая игра. Может, крупная игра это калофдути. С одним .dat-файлом на добрые 160 гб. Может, сейчас все делают, как ты сказал. Не могу знать.
Аноним # OP 17/09/24 Втр 07:36:27 974665 257
1726547753568.png 115Кб, 1010x775
1010x775
> >Вообще, с Godot ты можешь распространять свою игру как распакованный проект.
> О, вот это прям открытие.
Бля. Надо что-то с шапкой делать. Давайте думать. Предлагайте. Как бы нам сделать-то. Пакрасате.
Аноним 17/09/24 Втр 11:40:18 974692 258
image.png 21Кб, 820x174
820x174
image.png 3Кб, 798x503
798x503
Есть character3d, который при очень низкой скорости застревает на подъеме, в месте стыка пола и склона. Я могу повысить его минимально допустимую скорость и все станет ок. Еще я обнаружил что проблема застревания решается если я меняю max_slides в его свойствах на 1, и хочу узнать - чем это чревато?
Аноним 17/09/24 Втр 11:43:11 974693 259
размеры.png 8Кб, 640x200
640x200
>>974602
>сжимающейся btrfs сотню показывает
Пикрил. NTFS сжатие в Windows 10. Если из экспорта выбросить лишнее (3D, физика и т.д.) - будет меньше.

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

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

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

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

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

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

>опенсорс игр просто нет
Вообще-то есть, и довольно много. Есть даже срачи между разработчиками с расколом игры на набор независимых форков - всё в духе оперсурса.
>рескины моей игры продают в стиме за 30 руб
Ну и что? Оперсурс позволяет так делать. Никто не запрещает сделать форк Godot и продавать его на отдельной странице, просто это никому не нужно.

>слишком стараешься мне помочь
Я таким образом прокрастинирую.

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

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

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

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

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

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

Далеко не все параметры по умолчанию выбраны адекватно, так что не стоит считать их идеальными.
Аноним 17/09/24 Втр 13:14:41 974704 262
>>974695
Спасибо за ответ. В общем, это я сам проебался, смешав логику нахождения на полу и в воздухе. Как итог в точке стыка на персонажа слишком давило, и он не мог подняться при низкой скорости.

А max_slides потестил еще и понял что лучше не ставить его в 1 - все управление становится менее плавным, втыкаясь в углы проводишь в них больше времени прежде чем соскользнешь.
Аноним 17/09/24 Втр 14:16:41 974717 263
2024.09.14.mp4 9251Кб, 754x440, 00:02:23
754x440
>>974400
>Сделал по итогу спавн когда камера заходит в область спавна челика/объекта, и теперь минимум 200 - 300 фпс есть на большой карте
Молодец. А когда пофиксишь скольжение ног?

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

>>974568
>про устройство игр
Придумал вот как занерфить лебёдку.

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

На днях попробовал добавить спецэффект к работе лебёдки и эта проблема стала ещё острее. В итоге придумал сделать "перегрев" лебёдки. Каждый тик _physics_process изменяется параметр:
>heat += delta × (heat_rise_factor
>if state == State.REEL_IN # намотка
>else heat_drop_factor) # размотка/бездействие
Если heat > 0.99, лебёдка отключается. Как можно догадаться, "...factor" равный 1 равен 1 секунде до "перегрева" или полного "охлаждения" лебёдки.

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

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

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

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

Кстати, кто-нибудь знает, что теперь с инверсной кинематикой? Её обещали переделать вроде бы, и существующее решение было нестабильно. Хочу персонажа нормально анимировать, но как?..
Аноним 17/09/24 Втр 14:18:53 974718 264
>>974664
>А сам-то хоть раз кому-нибудь раздвигал место между бинарником и заголовком, втискивал свою картинку? А Ежи?
Да, давно как то копался в PE формате, к чему вопрос?
Аноним 17/09/24 Втр 14:58:18 974726 265
image 367Кб, 640x640
640x640
парни, вот $Zalupa это короткая запись от get_node("Zalupa"), я также слышал, что в данном случае "Zalupa" это тип Строка и тратится время на конвертацию в тип Путь, поэтому в идеале использовать get_node(^"Zalupa"), это типа лучше и быстрее, а есть ли тогда короткая запись для ^"Zalupa"? Типа там какой-нибудь $^Zaloopa или что-то такое?
Аноним 17/09/24 Втр 15:01:28 974727 266
Аноним 17/09/24 Втр 15:03:07 974728 267
>>974727
разве это не какое-то там уникальное имя, которое дополнительно надо где-то устанавливать и только потом исползовать в коде?
Аноним 17/09/24 Втр 15:06:52 974731 268
Аноним 17/09/24 Втр 15:14:59 974732 269
>>974731
ну тогда это не то, что мне надо, видимо ответ тогда нет
Аноним 17/09/24 Втр 15:20:19 974733 270
>>974726
Делай гет_нод(похуй_как) ровно ОДИН раз и загоняй в переменную - самое быстрое будет. Можешь даже в онреди пихнуть.
Аноним 17/09/24 Втр 15:48:37 974734 271
Аноним 17/09/24 Втр 16:46:33 974741 272
>>974733
Удваиваю и добавлю, что есть причина, почему онреди лучше.
Каждый раз делая $Zalupa, ты как бы повторно вызываешь get_node("Zalupa"), что не оч хорошо для производительности. Онреди полностью устраняет эту проблему, выполняя get_node всего один раз, а дальше в переменной хранится только указатель. То есть, даже если $ встречается всего лишь в одном месте, наверняка это место выполняется чаще, чем один раз за игру.
Кто-то скажет, что это преждевременная оптимизация, а я скажу, что лучше сразу привыкать писать хороший код без дополнительных трудозатрат, дабы избавить себя от лишнего труда на этапе оптимизации.
Аноним 17/09/24 Втр 18:04:44 974756 273
>>974741
А какой выигрыш это в принципе может дать? Я не эксперт, но звучит как "++i быстрее чем i++ на доли процента, используйте префиксные операторы чтобы потом ваш код кроме вас хуй кто понял"
Мимо
Аноним 17/09/24 Втр 19:35:18 974777 274
Бля, в следующий раз просто украду чужую уже взлетевшую идею.
Аноним 17/09/24 Втр 20:24:56 974790 275
>>974777
Взлетевшую идею не выйдет украсть, потому что автор уже заработал свой миллион. Кради идеи из треда идей >>605406 (OP)
Аноним 17/09/24 Втр 20:32:16 974793 276
Как сделать так, чтобы Godot 4.3 не зависал каждые 15 минут без всякой причины? Работаю-работаю, раз завис на 30 секунд, отвис, работаю дальше.
Аноним 17/09/24 Втр 20:43:49 974796 277
>>974790
Даже ААА-хуи бессовестно воруют друг у друга, иногда вплоть до визуала и моделек. Тут достаточно визуал сменить и насыпать, так сказать, спайсов своих.
Аноним 17/09/24 Втр 20:54:22 974799 278
>>974796
Дада!! Вот из недавнего: авторки нашумевшей игры Dustborn спиздили ассеты в ГТАонлайн.
Аноним 17/09/24 Втр 21:02:29 974800 279
>>974756
>А какой выигрыш это в принципе может дать?
Если вызов в одном объекте пару раз за его работу - практически никакого. Если в сотне мобов каждый кадр - охуенный выигрыш, вплоть до того, что с ним сотню можно было бы заменить на тысячу.
Главный выигрыш - в формировании полезной привычки на случай, когда это реально повлияет на производительность.
Аноним 18/09/24 Срд 00:30:22 974830 280
>>974717
>А когда пофиксишь скольжение ног?
Не знаю, мне лень если честно. Я хочу закончить условную сюжетку до конца года, чтобы можно было с чистой душой в случае чего дропнуть игру, либо развивать в ином плане, улучшать и тп.
>твоя карта генерируется?
Нет, но вот как раз после сюжетки хочу с генерацией поиграть, для эскейп фром тарков сегмента, где нужно арты собирать и выживать
>Что-нибудь читал/смотрел по дизайну уровней?
Нет
Аноним 18/09/24 Срд 07:27:15 974849 281
>>974717
>что теперь с инверсной кинематикой? Её обещали переделать вроде бы, и существующее решение было нестабильно. Хочу персонажа нормально анимировать, но как?..
Тебе для удобства анимирования или чтоб сажать ступни на пол в движке? Если первое, то блендерный ригифи в связке с game rig tools в целом делают хорошо. Ну или если хочешь запотеть, то сам ее (IK) сделай. Так еще четче выйдет, анимации по ощущениям без даже малейших изменений переносятся.
Аноним 19/09/24 Чтв 08:49:08 975045 282
Как считается FOV камер при импорте gltf в годо? Ставлю 40 в блендере, получаю 23 с копейками в годо. 70 в блендере равно 43 в годо. В обоих софтинах в градусах все. Притом конечный результат одинаковый. То, что вижу в блендере, получаю в годо. Но кто врет в числах по итогу?
Аноним 19/09/24 Чтв 12:47:06 975087 283
Аноним 19/09/24 Чтв 13:08:12 975090 284
image.png 82Кб, 1235x552
1235x552
image.png 57Кб, 697x839
697x839
>>975045
Документацию читать пробовал?
Горизонтальный в вертикальный превращается умножением на коэффициент aspect rate, и получаются ровно твои цифры.
Аноним 19/09/24 Чтв 13:20:22 975094 285
image.png 3Кб, 350x46
350x46
>>975090
>Документацию читать пробовал?
Дальше не читал. Шучу. Пробовал.
>получаются ровно твои цифры.
У меня не получаются. Поэтому и спросил здесь.
Аноним 19/09/24 Чтв 13:23:47 975095 286
>>975094
А, бля, там наверно пи еще фигурирует. Ну я и глупышка!
Аноним 19/09/24 Чтв 13:28:46 975097 287
>>975095
Вернее там тригонометрия, через синус придумал как посчитать. Короче, пидорасы.
Аноним 19/09/24 Чтв 17:36:47 975117 288
Как же трудно игры делать. Придумай, собери, реализуй, будь мастером на все руки от кодера до арт-директора и левел-дизайнера, а потом наблюдай как банана-кликалка уделывает все ваши инди вместе взятые.
Аноним 19/09/24 Чтв 17:59:47 975121 289
Аноним 19/09/24 Чтв 19:19:24 975129 290
ScreenRecorderP[...].mp4 11392Кб, 1920x1080, 00:00:52
1920x1080
Я несколько часов потел и ИДЕАЛЬНО напрогромировал, чтоб фраза играла, когда игрок коллайдится с лучом, а годот всё делает НАОБОРОТ! Фраза играется, когда игрок выходит из луча! НУ ПОЧЕМУ?!
Аноним 19/09/24 Чтв 19:27:03 975130 291
Захотел запилить проект с мультиплеером. Ну, хотя бы попробовать.
Читаю вот это >>972401 → и душусь. Предисловие. предисловие, предисловие, вода, вода, это я знаю, вода, это я знаю, вода, вода, это мне не надо, вода, это я знаю... Да блин, когда уже пойдёт нужная мне информация?
Кароч. Для понимания нетворкинга мне достаточно годотской доки. А вот другой момент, которого я не понимаю, вот его-то я там так и не нашёл.
Вопрос знатокам. Как выстраивать структуру проекта, чтобы туда впиливать мультиплеер?
Сейчас у меня структура такая:
- несколько синглтонов-менеджеров, в которых хранится состояние игры и прочая всегда нужная инфа
- Менюшки, гуй, худ
- Нода, в которую ребёнком подцепляется уровень
На уровне, соответственно дохуя всяких статических объектов, но есть и динамические, которые бы надо синхронизировать с сервером.
Спрашивается: как это адаптировать под мультиплеер? В общих словах. Любые размышления по теме, любая критика и "ты нихуя не понимаешь, надо так" приветствуется, кроме синглтоны_не_нужны шизы, с этим можешь сразу нахуй идти.
Аноним 19/09/24 Чтв 20:01:34 975131 292
image.png 19Кб, 915x132
915x132
>>975129
Я уже отвечал на подобный вопрос в прошлом.
process срабатывает много раз в кадр. И каждый раз обнаруживает рейкаст, ведь это не oneshot событие. И перезапускает аудио, потому что Play() играет с самого начала аудио, а не "продолжай играть если уже играешь". Когда же ты выходишь из рейкаста, дроч рейкаста прекращается и файлу дает проиграться до конца. Ведь ты его не останавливаешь.
Аноним 19/09/24 Чтв 20:04:53 975132 293
>>975131
Забыл ссылку на документацию прикрепить.
Аноним 19/09/24 Чтв 20:06:10 975133 294
>>975132
Документация открывается в редакторе по ctrl+клику.
Аноним 19/09/24 Чтв 20:11:11 975135 295
>>975133
Где об этом сказано? В документации? Ссылку приложи, пожалуйста.
Аноним 19/09/24 Чтв 20:23:54 975136 296
image.png 260Кб, 2020x1160
2020x1160
Как в 4.3 сделать smooth транзишн при смене направления во время движения 3D меша? look_at делает это инста.
Аноним 19/09/24 Чтв 20:34:08 975137 297
>>975135
Документацию на что?
Аноним 19/09/24 Чтв 20:39:24 975138 298
Аноним 19/09/24 Чтв 20:45:48 975139 299
image.png 18Кб, 737x123
737x123
>>975136
Я для тройки так делал.
Аноним 19/09/24 Чтв 20:46:15 975140 300
>>975131
Спасибо. Буду пытаться убить аудио ноду после первого проигрывания фразы
Аноним 19/09/24 Чтв 21:36:28 975142 301
1726770947211.png 691Кб, 900x676
900x676
>>975140
Это такой троллинг?
Аноним 19/09/24 Чтв 22:14:15 975146 302
>>975142
Судя по всему, какой то набег.
>>975140
Зачем? Потом придется заново грузить файл аудио. И остановка звука будет обрывать фразу на полуслове.
Надо наоборот обрабатывать старт. Например перед стартом проверить, что звук еще не играет. Возможно написать/скачать аудиоменеджер, который еще будет следить сколько в игре одновременно звуков играет.
Аноним 19/09/24 Чтв 22:37:41 975149 303
>>975130
Сложный вопрос, надо подумать. В 4-ке я пока не делал многопользовательский, посмотрел бы в сторону MultiplayerSpawner, MultiplayerSynchronizer, SceneReplication и синхронизировал только динамическкие объекты; в принципе и игровое состояние можно синхронизировать если оно не синглтон
Но встает вопрос - а что именно синхрониировать? Допустим простой шутер. Синхронизировать абстрактную позицию? Визуал с мешем, анимацией? Физику? Коллайдер? Ареа хитбокс? Агент навигации?
Например нужен ли коллайдер? Чтобы каждый клиент рассчитывал дорогостоящие столкновения с полом/стенами. Или это может рассчитать сервер, а на клиентах только синхронизировать уже положение меша. Аналогично с анимациями. Надо ли их синхронизировать один в один? Или достаточно чтобы каждый клиент сам подбирал подходящие действиям анимации на основе данных/событий
Аноним 19/09/24 Чтв 23:27:03 975154 304
image.png 24Кб, 948x146
948x146
Юзеры всегда изобретут как удалить гланды через жопу и удивляться багам.
Аноним 19/09/24 Чтв 23:51:21 975160 305
Аноним 20/09/24 Птн 06:55:01 975186 306
>>974550
>>974490
А что насчёт облачных вычислений, с гениальными решениями на гениально упрятанными на твоём сервере?
Аноним 20/09/24 Птн 07:04:04 975187 307
>>975186
Инпут лаг...
Но пошаговую игру я именно так делаю
Аноним 20/09/24 Птн 07:20:44 975189 308
>>975154
Мало кто знает, что за папки такие с точкой в начале.
Аноним 20/09/24 Птн 10:35:34 975197 309
>>975187
>Инпут лаг...
Есть ответ - негатив летенси...
Аноним 20/09/24 Птн 13:48:43 975216 310
Хз чего вы на CSG гоните. Я теперь блендер не открываю даже, нарезаю CSG булевыми операциями прямо в годоте как мне надо, перегоняю результат в меш и для лоуполи заебись. Ебать годот охуенен, заменил мне 3д редактор.
Аноним 20/09/24 Птн 14:00:11 975219 311
>>975142
Я не тролль, я Кирилл
Аноним 20/09/24 Птн 16:59:03 975239 312
image 137Кб, 1375x632
1375x632
image 7Кб, 595x176
595x176
image 4Кб, 373x330
373x330
Сижу тут короче ковыряю всякое, возник вопрос. Вот есть пик1 стандартный код из туториалов. Заметил, что от размера RAY_LENGTH меняется точность(?) луча, RayCast3D и Camera3D находятся в одном месте. Сама нода с мааркером и всему детьми находятся над объектом., т.е. тут всё норм, кастится сверху вниз, тут уже не важно, те ноды или не те. Суть в том, что если длина луча стоит 1000, то точность очень большая, а если стоит 100, то как-будто всё смещается, хз как объяснить, попытался нарисовать на пик2(красный квадрат, где срабатывает коллизия). Коллизия подстроена под этот плоский фиолетовый кубик по форме.
Короче получается как-то криво считается вектор.
Включил в дебаггере коллижен шейпы и да, видно, что центр смещается относительно места, где был клик(обозначил синим крестиком).
Как решать такое?
п.с.: Да, я знаю, что ещё можно делать через PhysicsRayQueryParameters3D(кстати хз, есть ли там такая проблема), но сейчас я ковыряю именно ноду.
Аноним 20/09/24 Птн 17:02:17 975240 313
>>975239
Видно, что чем дальше от центра, тем больше искажение, типа я так понимаю из-за того, что камера Perspective, окей, а как сделать-то, чтобы нормально было?
Аноним 20/09/24 Птн 17:06:26 975241 314
image 2Кб, 307x309
307x309
Теперь бля вообще перестал детектить коллизии, хотя я просто поменял длину луча пару раз.
Уже было у меня такое, пришлось заново проект создавать, так и не понял, в чём дело было.
Аноним 20/09/24 Птн 17:32:25 975246 315
>>975241
Там разве нет галочки в отладке которая показывает рейкасты?
Аноним 20/09/24 Птн 17:34:09 975247 316
>>975239
У тебя нет масштабирования 2д? Может координаты мыши не такие как ты думал.
Аноним 20/09/24 Птн 17:41:37 975249 317
image 87Кб, 836x507
836x507
>>975246
не, только такое
да дело тут в другом, оно сначала работает, потом я меняю просто длину луча и всё, оно перестаёт работать вообще, даже если меняю всё обратно, может баг какой-то

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

>>975247
да я вроде нигде ничего не менял, чистый проект создаётся, масштаб менял только мешей и коллизий, но они все 3д, а ничего другого не менял
Аноним 20/09/24 Птн 18:57:38 975254 318
>>975239
Проверь может быть у рейкаста глобальные/мировые, а не локальные координаты, я подзабыл. В таком случае при сдвиге камеры все "сдвинется"
Аноним 20/09/24 Птн 19:13:57 975255 319
>>975254
ты походу прав
бля, я кажись понял, где я обосрался, ебать я долбоёб
я короче ручками перемещал рейкаст в точку камеры, и ещё дополнительно прибавлял эти самые координаты, поэтому источник луча был в другом месте
сам я догадался до этого, когда просто убрал from и не стал её прибавлять к финальной точке
короче просто так теперь работает нормально, как и ожидается, но вот не понятно, нахуя в примерах везде прибавляют from, пока писал - думал, что из-за того, что я руками переместил ноду рейкаста, но вот сейчас вернул её в 0,0,0 и попробовал с from, как в туториалах, и нихуя не получилось, хз короче
Аноним 21/09/24 Суб 11:31:44 975284 320
Если мне нужно воткнуть полупрозрачную текстуру в 3д мир - лучше в свойствах материала чекнуть транспарент или alpha scissor? Второе дает какую-то всратую пикселяцию, непонятно зачем он нужен.
Аноним 21/09/24 Суб 11:37:31 975286 321
>>975284
>непонятно зачем он нужен.
Сам спросил - сам отвечаю. Быстрее чем транспаренси.
Аноним 21/09/24 Суб 14:13:05 975292 322
Насколько глобальная (во всем проекте) статическая типизация объектов быстрее чем динамическая? Учитывая, что большинство методов во всех моих классах ничего не возвращает, но "-> void" я не пропишу, например.
Или лучше перефразирую:
Насколько будет велика разница в производительности между двух проектов, где в одном каждый объект и метод имеет статический тип, а в другом - без необходимости - нет? При прочих равных. Понятно, что it depends. Но о какого порядка числах разницы в производительности идет речь?
Аноним 21/09/24 Суб 15:57:55 975294 323
>>974256
Меня лично как игрока бесит что в игре я могу махать охуенной хайполи балдой в виде меча по хай поли 4к ультра хд противнику, но по итогу все что я имею это анимацию "урона" и потом анимацию смерти.
Как беее, мне конечно не хочется жаловаться и я не тот кто сдвинет этот статус кво, но я один вижу в этом проблему?
Т.е. иными словами текущие технологии могут позволить мне только преназначить места "отрывания"? Меня полная разрушаемость мира не интересует, только врагов.
Аноним 21/09/24 Суб 16:16:58 975296 324
изображение.png 21Кб, 714x154
714x154
какой скам этот годот
типа всег 120мб и можно разрабатывать
а это что?
хули я качаю какое-то говно на 1 гиг и со скоростью будто с диалапа?
Аноним 21/09/24 Суб 16:30:00 975300 325
>>975296
Ты дебил прост, сорян. Может кто тебе по делу ответит, но я тебе просто на плешь плюну, скам.
Аноним 21/09/24 Суб 16:30:31 975301 326
>>975296
>типа всег 120мб и можно разрабатывать
А нельзя? Можешь сурцы с экзешником в корне проекта распространять. Экзешники у игр одни и те же, найди в интернете. Оно запустится без эдитора, будет полноценная игра.
>а это что?
Export templates, дебил. Написано же. Разрабатывай на 120 мб сколько влезет, но для экспорта нужны templates.
>со скоростью будто с диалапа
Скачай с оф. сайта.
Аноним 21/09/24 Суб 16:47:36 975303 327
>>975301
>>975300
всё всё гододики
прекращайте тряску
выводы сделаны
если годом даже в таких мелочах скамит
то где-то в недрах есть лютое наебалово
Аноним 21/09/24 Суб 16:48:48 975304 328
>>975303
Конечно, Хуан уже ограбил твой банковский аккаунт, беги проверяй. Додик пиздец.
Аноним 21/09/24 Суб 17:38:24 975306 329
чё за хуйня.mp4 14386Кб, 1920x1080, 00:01:04
1920x1080
>>975146
Ещё раз спасибо за советики.

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

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

(Она и раньше зависала, до фикса фразы)
Аноним 21/09/24 Суб 18:09:14 975309 330
>>975306
По той же самой причине, по которой аудиоплеер зависал.
Добавь ещё один абулиан для анимации удара.
Аноним 21/09/24 Суб 19:15:54 975313 331
ScreenRecorderP[...].mp4 7544Кб, 1920x1080, 00:00:33
1920x1080
ScreenRecorderP[...].mp4 4984Кб, 1920x1080, 00:00:16
1920x1080
>>975309
Попробую.

Но вот не могут понять. Есть анимация ходьбы и она привязана к длинному лучу так же, как и анимация удара привязана к ближнему. И анимация ходьбы играет нормально, не зависая на первом кадре.
Аноним 21/09/24 Суб 19:30:01 975314 332
>>975313
> Но вот не могут понять.
Обесняю.

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

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

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

В этом новом состоянии ты ОДИН РАЗ запускаешь все звуки и анимации, которые тебе нужны. Потом состояние завершается и машина переходит в предыдущее состояние. А там - хуяк - и условия никуда не делись. И хуяк - опять переход.
Аноним 21/09/24 Суб 19:55:16 975315 333
>>975314
Спасибо, буду разбираться со стейт машиной
Аноним 22/09/24 Вск 11:45:14 975365 334
Аноним 22/09/24 Вск 12:03:48 975368 335
>>975365
Ты сначала игру сделай, а потом оптимизацией занимайся.

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

В целом, я повторюсь. Сначала сделай игру, а потом, когда начнутся пропуки выясняй, где оптимизировать.
Аноним 22/09/24 Вск 12:04:18 975369 336
image.png 38Кб, 995x384
995x384
>>975292
>>975365
Тредов 6 назад я приносил эту статистику с разбором. Откуда ее брал уже не помню. Шапка-анон воткнул ее в шапку.

Имей ввиду что это касается чисто gdscript'а. Рендериться залупа с миллиардом полигонов быстрее от этого не станет.
Аноним 22/09/24 Вск 12:09:24 975372 337
image.png 47Кб, 639x435
639x435
Аноним 22/09/24 Вск 12:18:56 975373 338
>>975368
>Сначала сделай игру, а потом, когда начнутся пропуки выясняй, где оптимизировать.
Это меня уже волнует.
LSP не всегда показывает внутренние методы и поля -> Типизирую -> Нраица. Хочу, чтоб это было стандартом -> Включаю предупреждения об отсутствии типизации -> Получаю сотни варнов (уже не так нраица) -> Фиксию. Отсюда и вопрос взялся - а стоит ли ударяться в эту крайность, есть ли какие-то сопутствующие профиты? Ясно, что есть, так и написано в документации. Но насколько оно быстрее работает - не написано.
>>975369
>>975372
Вот спасибо. В таком формате и хотелось это увидеть.
Аноним 22/09/24 Вск 16:12:00 975404 339
Что можно почитать про лучшие практики проектирования интерфейса? Мне интересна не эргономика и удобство пользователя, а как правильно управлять например скрытием/показыванием меню по нажатию на ескейп, про навигацию в подменюхах и прочее
Аноним 22/09/24 Вск 16:17:51 975405 340
>>975404
Такое лучше в общем чате спрашивать. Я просто запускаю популярные игры и смотрю как там сделано и просто тупо повторяю.
Аноним 22/09/24 Вск 16:24:02 975406 341
>>975405
Не, я именно про организацию сцен. Например лучше ли мне делать сцену меню и инвентаря отдельными сценами, или одной большой, которая будет скрывать отдельные элементы в зависимости от состояния игры.
Аноним 22/09/24 Вск 16:42:42 975407 342
>>975404
Это долго и сложно, придется архитектуру кнопок переделывать, мультиплеер учитывать...
Аноним 22/09/24 Вск 17:03:27 975410 343
image.png 124Кб, 1210x665
1210x665
Кто говорил что на инди нельзя заработать?
Аноним 23/09/24 Пнд 00:08:39 975460 344
так ребята поясните нуфагу
почему нельзя делать огромную прозрачную кнопку
и отлавливать нажатие на неё одной строчкой кода
чтобы скрывать панели при нажатии вне этих панелей?
Аноним 23/09/24 Пнд 00:10:45 975461 345
короче я так у себя реализовал
надеюсь полиция гододиков не трахнет
Аноним 23/09/24 Пнд 01:21:58 975465 346
Аноним 23/09/24 Пнд 11:30:27 975488 347
>>975460
Главное кнопку отключай, когда панели скрываешь. А то потом захочешь где-нибудь отловить _unhandled_input, а он у тебя весь handled.
Аноним 23/09/24 Пнд 14:23:26 975507 348
image.png 222Кб, 480x320
480x320
Аноним 23/09/24 Пнд 22:05:42 975551 349
image 121Кб, 545x458
545x458
ебать что нашёл, пока листал всякое на ютабе, даже не знаю, хорошо это или плохо
Аноним 23/09/24 Пнд 22:24:35 975552 350
image.png 35Кб, 550x620
550x620
>>975551
Отечественный геймдев с колен.
Аноним 23/09/24 Пнд 22:40:19 975555 351
Аноним 23/09/24 Пнд 23:54:14 975557 352
Аноним 24/09/24 Втр 01:22:44 975564 353
>>975507
На самом деле и хорошо. Для использования @tool надо понабраться опыта и понимания работы движка.
Аноним 24/09/24 Втр 06:43:04 975573 354
>>975564
>На самом деле и хорошо.
>надо понабраться опыта и понимания
Это обоюдострая тема. Я с годо начал играться несколько лет назад, почти сразу узнал о туле и по незнанке наловил багов. Ну так они теперь отловлены, задокументированы, зарепорчены и исправлены. Потенциальная фрустрация и дроп движка превратились в контрибуции. В чем я не прав?
Аноним 24/09/24 Втр 07:22:35 975574 355
>>975551
> даже не знаю, хорошо это или плохо
Это плохо.
Если кто-то хочет кириллицу, пусть пилит отдельный модуль языка, в котором все токены будут на кириллице.
Аноним 24/09/24 Втр 14:53:23 975624 356
>>975573
Повезло. Обычно ситуация обратная - не зная движок, не разобравшись, принять штатное поведение + свой косяк за баг. Сплошь и рядом такое.
Аноним 24/09/24 Втр 15:14:17 975628 357
Я забил на свои попытки разобраться с шейдерами, и тупо делаю их через ИИ, конкретно сейчас через Claude. Портануть шейдер с годота 3 на 4? Вычистить из ворованного шейдера лишний монохром? Добавить блум? Все через нейронку, 2-3 промта и рабочий шейдер. Ебал я короче сам эти шейдеры пердолить, вот.

Держу в курсе.
Аноним 24/09/24 Втр 15:54:50 975634 358
Аноним 24/09/24 Втр 16:35:09 975643 359
>>975507
Ну вообще в треде регулярно упоминаются.
Но это правда, они опасные, потому что модифицируют сцену и можно запороть проект.
Аноним 24/09/24 Втр 21:27:06 975675 360
Какие решения и паттерны используете в проектировании своих игр? Ну кроме композишена. А какой-нибудь strategy или ещё чего такого модульного? Композишен самый простой прикол для понимания, наверно. Можно упороться и каждый пук выделить отдельно, а можно не особо напрягаться. А вот тот же strategy мне пока сложно понять. Ну т.е. концептульно я понимаю(по видосам), но если попросить повторить или объяснить, то пук-сереньк.

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

Еще экспорты-переменные люблю больше чем сигналы.
Аноним 25/09/24 Срд 07:01:13 975733 363
>>975675
> Какие решения и паттерны используете в проектировании своих игр?
Состояние.
Наблюдатель.
Шина сигналов.
Аноним 25/09/24 Срд 14:37:36 975800 364
Сап, годобояре. Заканчиваем с другом проект, осталась наверное пара недель работы. Как бороться с сомнением? Будто бы я сделал игру недостаточно хорошо, как можно было бы. Конечно, для первого проекта, получилось просто шикарно, но чем ближе к концу, тем больше сомнений.
Аноним 25/09/24 Срд 14:40:00 975801 365
>>975800
А сам как думаешь?
Аноним 25/09/24 Срд 14:47:42 975804 366
Аноним 25/09/24 Срд 14:55:18 975806 367
>>975804
Никуда не уйдут нервы и сомнения, ты либо будешь вечно улучшать, либо примешь что есть косяки и выпустишь
Аноним 25/09/24 Срд 14:55:41 975807 368
>>975800
Скидывай сюда, я оценю. Там уже решим.
Аноним 25/09/24 Срд 15:03:39 975809 369
Аноним 25/09/24 Срд 16:50:44 975830 370
>>975800
Ты сделал недостаточно хорошо. Для этого и глядеть ничего не надо.
Аноним 25/09/24 Срд 19:38:19 975844 371
>>975800
> Как бороться с сомнением?
Вот так:
> для первого проекта, получилось просто шикарно
Аноним 25/09/24 Срд 19:43:22 975845 372
1727282563366.png 1830Кб, 1280x800
1280x800
Хочу сделать экстракшен шутер на годоте. Эскейп фром сёрд персон демо.

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

Резюме направляйте ИТТ.
Аноним 25/09/24 Срд 19:51:40 975847 373
>>975845
Записывайся в очередь, я в ближашие полгода недоступен для найма.
Аноним 25/09/24 Срд 21:13:44 975856 374
>>975847
Да я уже 6 лет жду. Подожду ещё год. Изи.
Аноним 26/09/24 Чтв 03:02:50 975878 375
Делайте игры прямо сейчас.
Аноним 26/09/24 Чтв 03:23:28 975879 376
>>975878
Не, я прямо сейчас байтоебствую.
Аноним 26/09/24 Чтв 04:14:30 975880 377
Пророк Санбою Т[...].mp4 366Кб, 640x360, 00:00:06
640x360
Аноним 26/09/24 Чтв 07:10:02 975885 378
1727323764973.jpg 57Кб, 540x508
540x508
1727323764992.jpg 53Кб, 604x504
604x504
>>975878
Не замтавляй меня, лутше убей...
Аноним 26/09/24 Чтв 16:28:29 975933 379
>>975878
Не беси меня, сученыш.

Куда смотрит администрация сайта, пока хулиганы ведут себя по беспределу.
Аноним 26/09/24 Чтв 16:39:55 975934 380
>>975933
Подтверждаю. Я все видел. Он хотел чтобы мы делали игры, и у него был нож.
Аноним 26/09/24 Чтв 18:09:17 975944 381
Я дико извиняюсь, что поднял какой-то старый тред случайно (я попал в него через ссылку в закреплённом треде), повторю здесь свой вопрос на всякий

Сап! Я делаю арканоид как свой первый проект и у меня супер дебильная проблема: Я платформу сделал как CharacterBody2D и мяч как RigidBody2D... и когда мяч стукается об платформу, то платформа от удара сползает вниз чуток, как это исправить лол?
Аноним 26/09/24 Чтв 18:13:05 975945 382
>>975944
> как это исправить лол?
Инфинит инерцию вруби.
Аноним 26/09/24 Чтв 18:27:24 975947 383
>>975945
Её же убрали в годот4, не?
Аноним 26/09/24 Чтв 18:35:17 975950 384
>>975947
Значит вместо неё что-то аналогичное есть.
Аноним 26/09/24 Чтв 19:34:34 975964 385
>>975947
>>975950
Вместо инерции сейчас one way collision, когда платформа может влиять на мяч, а мяч на платформу - нет.
Аноним 26/09/24 Чтв 19:51:20 975972 386
>>975964
> one way collision
Раньше это было когда сверху коллизия есть, а снизу нет. Заебали переименовывать постоянно. Когда уже они успокоятся?
Аноним 26/09/24 Чтв 22:30:05 975996 387
>>975972
Подожди, сейчас еще архитектуру мультиплеерных кнопок переделаю и заживем.
Аноним 26/09/24 Чтв 22:59:13 976004 388
>>975944
Скорее всего ты использовал 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
>>975972
Это какой то троллинг. Никто не переименовывал, one way и работает как раньше.
Аноним 26/09/24 Чтв 23:17:18 976011 389
>>976004
Также проверь Motion Mode, хотя в данном случае он наверное не повлияет.
Еще варианты:
3. Двигать translate/position. Не пробовал с CharacterBody, может быть им надо такой же трюк как с RigidBody.
По идее аниматор именно это и делает - просто меняет позицию проламываясь как паровоз. Но тут не помню, есть ли задержка в кадр, которой у аниматора по идее быть не должно.
4. Либо если такое подходит, заблокировать движение по одной оси. Хотя такая опция есть только для 3д. В 2д это можно сделать перезаписывая Y после движения, но это получится вариант 3 только хуже
5. Использовать RigidBody для платформ? С огромной массой и задавать им вектор тяги.
Аноним 26/09/24 Чтв 23:43:21 976022 390
>>975996
> архитектуру мультиплеерных кнопок
Недавно узнал, что при синхронизации по сети в первый момент объект спавнится в 0,0, триггеря коллизии и возможно расталкивая соседей. Так что надо что-то придумывать, например отключать коллайдеры на первые кадры. Или делать специальный загон в нулевых координатах и спавнить там вновь прибывших по очереди.
Аноним 27/09/24 Птн 06:36:32 976046 391
>>976022
> объект спавнится в 0,0
У ноды есть трансформ и его можно задать до того как нода добавлена в дерево.
Аноним 28/09/24 Суб 00:48:32 976152 392
image.png 5469Кб, 2048x1536
2048x1536
Аноним 28/09/24 Суб 11:41:47 976201 393
2343254.jpg 41Кб, 607x759
607x759
Как мне сделать так чтобы при выборе перка (круглые кнопочки) кнопка оставалась подсвеченной (текстура меняется на светлую) ? Повторный клик оставляет ее подсвеченной, ничего не меняется. Но если кликнуть на другой перк, то подсветка пропадет.

Есть toggle mode, но он меняет состояние кнопки при каждом клике, мне это не надо. Есть свойство button_pressed, но оно работает только с тоггл модом. Запутался.
Аноним 28/09/24 Суб 11:57:06 976206 394
>>976201
>Но если кликнуть на другой перк, то подсветка пропадет.
Разве не в этом суть твоих перков - что выбрать можно только один? из трех Соответственно фокус только на одном.

Если нужно больше одного перка включать/выключать, то я бы как раз toggle_mode использовал.
Аноним 28/09/24 Суб 15:04:18 976234 395
>>976206
>Разве не в этом суть
Ну я этого и добиваюсь. Пока не получается.
Аноним 28/09/24 Суб 15:08:41 976236 396
>>976206
>>976234
Ладно, ок. Это решается с помощью button focused.
Аноним 28/09/24 Суб 15:22:16 976239 397
>>976234
>>976236
Значит я не понял твой вопрос. А так да, через фокус, маладца.
Аноним 29/09/24 Вск 02:36:53 976379 398
image.png 41Кб, 658x282
658x282
Аноним 29/09/24 Вск 08:35:09 976418 399
>>976379
Ну не знаю. Лично я жду релиз 4.4.
Аноним 29/09/24 Вск 12:38:08 976444 400
Аноним 29/09/24 Вск 12:44:41 976446 401
>>976444
Молочные реки и кисельные берега.
И триплы всем раздают
Аноним 29/09/24 Вск 12:56:07 976450 402
изображение.png 121Кб, 1869x881
1869x881
изображение.png 149Кб, 1810x687
1810x687
изображение.png 83Кб, 1260x660
1260x660
изображение.png 95Кб, 1126x902
1126x902
>>976379
>Теперь
Таким тулзам лет 5. Тебе только этого не хватало чтобы игры делать?
Аноним 29/09/24 Вск 13:04:51 976455 403
>>976450
У них слабая реклама и следовательно о них мало кто знает. Я как-то пилил нечто подобное в треде блочных языков, а мне анон говорит "ты что ли транспилер пилишь?" а я такой и думаю себе "что за слово очередное выдумали зумеры?" иду в гугл, да, транспилер. "Да", отвечаю в тред, "транспилер".
Аноним 29/09/24 Вск 13:19:38 976462 404
>>976455
Это опенсорс аддоны, а не какие то продукты чтобы их рекламировать. Они все лежат на гитхабе, сам идешь и смотришь.
Аноним 29/09/24 Вск 13:22:12 976463 405
>>976450
Не хватает чтобы лично ты меня уговорил.
Аноним 29/09/24 Вск 14:11:20 976472 406
1727607471.jpg 98Кб, 441x375
441x375
1727607522.jpg 129Кб, 591x699
591x699
Без гомогейства в современном геймдеве никак
Аноним 29/09/24 Вск 14:34:26 976478 407
>>976472
А к чему чел приплел деньги? Типа, если платит то может говорить что угодно? Так нигде не работает, даже Абу пасскод отнимает и деньги не возвращает за нарушения.
Аноним 29/09/24 Вск 14:37:52 976480 408
>>976472
А как связаны вокнутость и уе5?
>>976478
Ты продолжил бы нести деньги Абу, если бы он тебя забанил?
Аноним 29/09/24 Вск 14:39:36 976483 409
image.png 96Кб, 589x496
589x496
>>976472
Мне на их леваков-праваков-гомогеев поебать, но комьюнити менеджер там реально ебнутая жируха, засравшая мой фид какой-то нерелевантной дрысней. Ну вот что это? Зачем мне это? Это типа лучшая реклама движка, которую она нашла? Не знаю кто раньше твиттером занимался, но раньше лудше было. Она же вообще не в теме. Ее с улицы подобрали.
Аноним 29/09/24 Вск 18:37:19 976511 410
1727624201007.png 21Кб, 610x231
610x231
>>976462
> сам идешь и смотришь
Чтобы пойти и посмотреть, я должен о них знать. Но я о них не знал. Вот и оказывается, что реклама нужна не только для коммерческих продуктов.
Аноним 29/09/24 Вск 20:24:25 976532 411
изображение.png 47Кб, 1276x319
1276x319
>>976511
Я же о них знал. Значит и ты мог узнать. Я пролистывал все ассеты начиная с первого (правда это было до релиза 4-ки, их все же было поменьше). Также шерстил гитхаб по тегам. К сожалению, не все ставят тег в репозиториях. Что-то находил гугл, что-то упоминалось на реддите. Так что тут только желание погружаться во все это. А реклама нужна только чтобы что-то выделилось на фоне других. Ассету транспилера это не надо, возможность конвертации одного ЯП в другой - довольно общие АйТи знания.
Аноним 29/09/24 Вск 20:34:06 976535 412
>>976532
>Я же о них знал. Значит и ты мог узнать.
Медальку тебе, а по делу - нет ничего плохого в раскидывании по интернету инфы о полезных проектах, даже если ТЫ лично о них знаешь. А то ты как те несносные мудаки с каких-нибудь яплакалей, с их "боян боян". Ты знаешь, другие нет.
Аноним 29/09/24 Вск 23:06:25 976569 413
image.png 22Кб, 622x101
622x101
>>976472
Ждите ЗАЯВЛЕНИЕ.
Аноним 30/09/24 Пнд 01:37:40 976599 414
Сап.
Есть игровое поле - сетка NxN, состоящая из клеток. Каждая клетка - это инстанс сцены Cell. По умолчанию часть поля покрыта туманом (у каждой клетки Cell есть спрайт чёрный квадрат, который находится поверх неё).
И этот самый туман надо раскрывать в определенном радиусе, когда игрок ставит фигурку на поле. Решил не запариваться и сделал так:
1. Игрок ставит фигурку на клетку.
2. В этой точке спавнится объект, у которого есть Area2D.
3. У всех клеток, которые попали в эту арею - я просто скрываю спрайт тумана через hide().
4. Уничтожаю объект.
Это вообще нормальная реализация? Может быть чем-то чревато?

И ещё - мне не нравится как в гдскрипт сделаны 2-х мерные массивы, и потому я храню все клетки в dictionary, где ключом выступает вектор2 с координатами клетки, типа так: Vector2(0, 1) - ссылка на клетку. Выглядит тоже как-то криво имхо, как вы поступаете с подобными случаями?
Аноним 30/09/24 Пнд 02:04:51 976604 415
>>976599
Я бы тоже сделал через арею. Ну или рейкастами. Чем чревато не вижу. Я бы вообще арею-детектор в игрока вставил, зачем ее отдельно спавнить.
Аноним 30/09/24 Пнд 10:34:59 976637 416
image.png 401Кб, 524x499
524x499
Кнопки то переделали?
Аноним 30/09/24 Пнд 11:22:17 976649 417
16572127928020.png 1829Кб, 1144x1280
1144x1280
Че за хуйня происходит? Я надеюсь этой ебанутой менеджерке не платят из фонда, потому что это пиздец. Буквально нашли шизичку на таблетках и посадили на смм.
Аноним 30/09/24 Пнд 11:24:25 976650 418
>>976483
Ну тут я могу это объяснить тем, что это пошло ещё до условного "хайпа" Годота, они просто репостили абсолютно всех, кто пользовался их движком. Движок вырос, репостить продолжают, количество кала в ленте увеличилось заметно. Нужно короче фильтровать уже. Но зато прикинь, ты делаешь залупу на годоте, высрал на нулевом аккаунте пост про это и тебя репостит САМ движок, ПООООГ, лук ат зыс.
Аноним 30/09/24 Пнд 11:42:51 976657 419
>>976649
таков рыночек, растёшь, делаешь продукт влияния, будь добр иметь филиал сфит пидор инк
Аноним 30/09/24 Пнд 12:41:42 976670 420
>>976480
бля, первое что я получил, приобретя самый дорогой пасскод на этой борде, это бан
Аноним 30/09/24 Пнд 12:52:32 976671 421
Как родившийся в СССР, я на месте сиреневоголовых гендерфлюидов вижу ударниц-комсомолок с речами про партию. Государственная идеология она государственная идеология и есть.
Аноним 30/09/24 Пнд 13:23:29 976674 422
>>976671
Как другой родившийся в СССР, не вижу сходства вообще.
Аноним 30/09/24 Пнд 13:27:13 976675 423
>>976650
>они просто репостили абсолютно всех, кто пользовался их движком
Нифига. Я за 3 года 3 игры сделал, спамя в твиттер соответствующий контент с соответствующими тегами. Из 3 репостнули 1. В этом году они даже делали пост-объяснялку, что "не могут репостить всех, так что спок, обиженки". И действительно, если полистать теги то игр гораздо, гораздо больше чем репостов в оф аккаунте годота.

Жируха просто хуиту выбирает, потому что она не в теме геймдева.
Аноним 30/09/24 Пнд 13:28:08 976676 424
>>976675
Понял, принял, обнял.
Аноним 30/09/24 Пнд 13:50:17 976681 425
photo2024-09-30[...].jpg 25Кб, 591x510
591x510
photo2024-09-30[...].jpg 58Кб, 583x647
583x647
Движок Godot уже форкнули и народ собирается в комьюнити вокруг это форка, под названием Redot. Разработчики обещают не ввязываться в политический активизм и заниматься разработкой движка.
Аноним 30/09/24 Пнд 13:52:29 976682 426
>>976681
Посмотрим как долго он протянет на одной лишь жепной тяги с драмы от ебанутой менеджерши
Аноним 30/09/24 Пнд 14:00:39 976685 427
>>976681
закончит также, как и форк раста, который просто копирует ВСЁ с основного репа и больше ничего
Аноним 30/09/24 Пнд 14:03:56 976686 428
>>976681
Логотип уже лучше чем у вокота.
Аноним 30/09/24 Пнд 14:06:47 976688 429
>>976681
Не полетит. По техническим аспектам доебаться не до чего, киллер фич не заявлено и не предвидится, просто политический ход в ответ на политический ход. Но как пинок ок.
Аноним 30/09/24 Пнд 14:09:07 976689 430
image 639Кб, 832x508
832x508
>>976688
> политический ход в ответ на политический ход
при этом заявляют, что не будут делать политических хъодов, вейт а минат...
Аноним 30/09/24 Пнд 14:17:56 976692 431
image.png 106Кб, 1157x567
1157x567
Мочух из дискорда годота.
Аноним 30/09/24 Пнд 14:21:04 976694 432
>>976692
Эх, ну и куда теперь идти? На моногейм? Юнити? Переписывать всё на плюсах на УЕ5?
30/09/24 Пнд 14:25:06 976698 433
>>976694
Все успешные игры сейчас програмируются в Роблоксе. Ну или подожди, пока базовики сделают тут тред для Редота
Аноним 30/09/24 Пнд 14:26:27 976700 434
>>976698
Что-то в редот я не очень верю, обидно терять все наработки и переписывать с нуля на новом движке
Аноним 30/09/24 Пнд 14:28:24 976701 435
>>976694
Да спок, еще даже официального заявления от годот фонда не было. Ультимативно там все зависит от Хуана и еще нескольких технарей, а Хуан, как я понял полистав его (закрытые) твиты, сам в ахуе от происходящего и согласен что происходящее a bit excessive.
Аноним 30/09/24 Пнд 14:28:28 976702 436
>>976692
ясно, дальше первых предложений второго абзаца можно не читать
в принципе бабки я им не плачу, так что мне в этом плане похуй, но видимо и не буду, если когда-нибудь будет возможность(не будет)
Аноним 30/09/24 Пнд 14:30:28 976703 437
>>976700
нового ничего не будет, будет как с форком раста, они просто сделают форк основной ветки, будут мержить все апдейты и делать вид, что борются с пидорасами таким образом под собственным логотипом
Аноним 30/09/24 Пнд 14:31:47 976705 438
>>976703
Мне кажется даже этого не будет: спустя некоторое время перестанут мержить к себе и в принципе забьют
Аноним 30/09/24 Пнд 14:34:38 976706 439
>>976705
Двачую. Сколько-то лет назад еще гимп громко форкали, внезапно оскорбившись на его название и разведя драму. Дальше смены лого-названия дело не пошло.

А если сейчас пойдет, то я ничего плохого не вижу. Это не абсолютно другой движок с другим техническим фундаментом. Это годот, новые версии которого пилят другие люди.
Аноним 30/09/24 Пнд 14:38:14 976711 440
image 55Кб, 960x540
960x540
Так что же это получается? Без соевых пидорасов невозможна индустрия? ХОУЛИ МОУЛИ
Аноним 30/09/24 Пнд 14:39:27 976713 441
>>976706
> гимп громко форкали, внезапно оскорбившись на его название
Что оскорбительного в "ГНУ Имедж Манипулейшн Програм"?
Аноним 30/09/24 Пнд 14:42:03 976714 442
>>976711
Не. Прост на истериках и эмоциях ничего построить невозможно, не важно соевые вы или мамкины альтрайты. Нужен долгий, упорный, безэмоциональный труд.
Аноним 30/09/24 Пнд 14:44:05 976717 443
image.png 354Кб, 394x732
394x732
>>976713
Есть другое значение.
Аноним 30/09/24 Пнд 14:45:28 976720 444
>>976713
гимп для англоговорящего будет как К.А.Л.Е.Ч. для русскоговорящего. В целом то не сказать чтобы название не подходило к редактору, но некоторыми снежинками слово считается "неприличным", примерно как евреев жидами называть
Аноним 30/09/24 Пнд 15:03:11 976724 445
image.png 122Кб, 1132x766
1132x766
image.png 74Кб, 1132x578
1132x578
Аноним 30/09/24 Пнд 15:04:54 976726 446
>>976724
Но ведь их никто не харассил
Аноним 30/09/24 Пнд 15:05:35 976727 447
>>976726
Ты только что меня захарасил
Аноним 30/09/24 Пнд 15:15:43 976733 448
ок
Аноним 30/09/24 Пнд 15:24:16 976736 449
image 14Кб, 781x140
781x140
ОЙ ВЕЙ
Аноним 30/09/24 Пнд 15:25:31 976738 450
>>976724
>2
уволена 2 недели назад
Аноним 30/09/24 Пнд 15:29:58 976739 451
>>976738
Хананах и шизуха - разные персонажи
Аноним 30/09/24 Пнд 15:31:48 976740 452
>>976739
упс, да
ханнанах это шиз из дискорда
Аноним 30/09/24 Пнд 15:43:45 976741 453
image.png 368Кб, 587x613
587x613
image.png 313Кб, 587x498
587x498
image.png 342Кб, 587x582
587x582
image.png 162Кб, 587x400
587x400
Манагер сообщества

Сообщество - это ВЫ
Аноним 30/09/24 Пнд 15:57:08 976744 454
> he/him
> she/they
> он/его/ему/его/им/нём
Аноним 30/09/24 Пнд 16:02:09 976745 455
>>976741
>Манагер сообщества
Чисто политическое назначение. Ну шо сказать, повезло таким родиться в нужной стране в нужную эпоху, иначе бы ждала их работа на кассе с конкурентной зарплатой 27 тысяч рублей.
Аноним 30/09/24 Пнд 16:04:42 976746 456
>>976741
Этот жирный боров - мужик?
Аноним 30/09/24 Пнд 16:09:49 976747 457
Аноним 30/09/24 Пнд 16:22:50 976749 458
image.png 16Кб, 1173x70
1173x70
>>976740
Блять, сорян за продолжающийся оффтоп, но думал вы тут угарите. Проблема с Занаксом якобы из-за пикрелейтеда, сказал что-то про негров 8 лет назад
осемь лет ёмаё
Аноним 30/09/24 Пнд 16:25:23 976751 459
1727702686386.jpeg 221Кб, 558x907
558x907
>>976749
> что-то про негров
Аноним 30/09/24 Пнд 16:30:36 976753 460
Аноним 30/09/24 Пнд 16:42:21 976761 461
>>976751
араб-муслим-атесит называет кого-то сноу-ниггерами и санд-ниггерами, хехе
Аноним 30/09/24 Пнд 17:05:05 976770 462
а в годо можно использовать тайл мапу как пол в 3д уровне, со всеми свойствами тайлмапы?
если да, можно организовать на этой основе(ну или вообще)..ээ.. тайлмапу с вертикальной осью, храня меши в тайлсете как будто картинки в атласе, хз, извините за абстрактность. хочу 2д игру в 3д сделать, вертикальный геймплей не добавляется никакой, причины эстетические что ли.
Аноним # OP 30/09/24 Пнд 18:39:30 976815 463
1727710730378.mp4 640Кб, 1068x720, 00:00:10
1068x720
Ммм... Сколько вариантов для оп-поста переката.

> Добро пожаловать в тред любви и взаимопомощи, позитивной токсичности, местоимений thot/khem и розово-голубых волос!
Аноним 30/09/24 Пнд 18:57:54 976824 464
image.png 2192Кб, 1280x870
1280x870
>>976818
Воки. Так всяких трансов называют из-за их повышенной волосатости, как я понимаю.
Аноним 30/09/24 Пнд 19:23:49 976830 465
Что хорошего сделано на Годовом, кроме Cruelty Squad?
30/09/24 Пнд 19:56:18 976846 466
>>976830
Ничего. Спи дальше.
Аноним 30/09/24 Пнд 20:11:52 976855 467
>>976854
Они просто не читали Протопопова "Трактат о любви..."
После прочтения трактата у тебя не останется никаких заблуждений по поводу дискриминации и угнетения. И конечно же ты получишь в руки оружие для борьбы.
Аноним 30/09/24 Пнд 21:10:09 976886 468
>>976863
>>976867
Слежу за вами обоими и вижу что вы нихуя игры не делаете.
Аноним 30/09/24 Пнд 21:34:07 976894 469
>>976830
Вот эта игра мне в свое время больше всего понравилась
Но учитывая твой заход, ты скорее всего подменяешь "хорошее" и "продажи".
https://www.youtube.com/watch?v=r96EaDJWNaY
Аноним 01/10/24 Втр 00:25:41 976925 470
>>976914
Какая разница на каком движке твоя игра, если ее нет? Иди делай. Раз-раз.
Аноним 01/10/24 Втр 00:56:29 976929 471
>>976925
>Иди делай
мы в треде ждём выхода 4.4, на самом деле даже 4.4.1 хотя бы, тогда уже можно подумать о создании игры
Аноним 01/10/24 Втр 03:09:18 976942 472
>>976674
Наверное он имел в виду, что и ранние комсомолки, и сегодняшние вертолётосексуалы – агрессивные промытки, которые насаждают "свои" прогрессивные взгляды всем до кого дотянутся, но тупят и исходят на говно от любого выражения несогласия. Только если раньше это делали в специально обитом пробкой месте на партсобраниях, то теперь они голосят на весь Интернет в твиторе.
Ж*нщины, хуле
Аноним 01/10/24 Втр 04:59:43 976945 473
Аноны, как из блендера переносить частицы в годо?
Аноним 01/10/24 Втр 09:18:04 976960 474
Аноним 01/10/24 Втр 12:24:53 976999 475
>>976894
Cruelty Squad дохуя продался, ага.

И я имею в виду то, что имею: игру с геймплеем, в которую интересно играть человеку. Даже пример вон привел - всратый, но геймплейно пиздец какой сильный.
01/10/24 Втр 12:32:53 977005 476
>>976845
>человек это часть улья
Чел, если б все было так, то Сортирный Союз бы не развалился, а сожрал бы весь мир
Аноним 01/10/24 Втр 12:56:13 977012 477
image.png 890Кб, 985x483
985x483
ss19f4f196d243e[...].jpg 604Кб, 1920x1080
1920x1080
ssdddae3edc7861[...].jpg 994Кб, 1920x1080
1920x1080
>Cruelty Squad
Охуеть. Охуеть блядь. Вот это пиздец конечно
Аноним 01/10/24 Втр 13:02:57 977013 478
1727776937594.png 392Кб, 766x505
766x505
1727776937622.png 421Кб, 762x505
762x505
>>976886
> Слежу за вами
А мог бы игры делать.
Аноним 01/10/24 Втр 13:05:14 977014 479
>>977012
Самый лучший иммерсив сим, вообще-то. Лучше деус экса и систем шока
Аноним 01/10/24 Втр 13:06:19 977015 480
>>977012
Не ведись на это. Такое взлетает с шансом 1 из 1000, да и этот 1 объясняется чемоданчиком валюты пьюдипаю или чем-нибудь ещё.
Аноним 01/10/24 Втр 13:22:54 977016 481
>>977013
Ну я одним глазом слежу, другим игру делаю.
Аноним # OP 01/10/24 Втр 13:31:46 977017 482
1727778667506.jpg 72Кб, 1024x737
1024x737
Предлагайте арт для переката.
Аноним 01/10/24 Втр 13:36:45 977018 483
>>977017
Можно пожалуйста с лоличками.
Аноним 01/10/24 Втр 13:36:59 977019 484
Godoticon.svg ([...].png 86Кб, 1024x1024
1024x1024
Аноним 01/10/24 Втр 13:38:55 977020 485
image 57Кб, 363x978
363x978
image 131Кб, 1130x701
1130x701
Погодите, это реально?
Аноним 01/10/24 Втр 13:57:59 977022 486
>>976599
> И ещё - мне не нравится как в гдскрипт сделаны 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.

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

Чтобы самому реализовать удаление элемента без нарушения структуры строк-столбцов, нужно вместо удаления вставлять специальную константу, которую лично ты будешь воспринимать как отсутствие данных.
Аноним 01/10/24 Втр 13:58:51 977024 487
>>977019
Это шестцв... запр... Ах ты ж зараза.
Аноним 01/10/24 Втр 14:24:16 977030 488
>>977019
Смотри на бутылку не уедь. Сейчас не знаешь от кого прилетит, от этих или от тех.
ПЕРЕКАТ Аноним # OP 01/10/24 Втр 14:56:30 977040 489
1727783752073.jpg 230Кб, 960x960
960x960
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов