Godot #52 # OP 958498 В конец треда | Веб
Добро пожаловать в тред любви, взаимопомощи и решения проблемы X малой кровью, пока я тут плагин Y допиливаю!
Шапка: https://hipolink.me/godothread
Предыдущий: >>954699 (OP)
Архивный: >>951925 (OP)
Видео-25-06-2024 095700 (1).mp423,6 Мб, mp4,
2120x1080, 2:20
2 958532
Добавил костюм пионерки, и ресурс из которого выпадают деньги и вещи. Так же начал немног баловаться с шейдерами. Завтра думаю над катсценами занятся. Думал сегодня ещё парирование запилить, но думаю это пока никому и не интересно будет и забил
3 958541
>>58532
Natasha Prime?
image.png2 Кб, 256x50
4 958566
Всем делать игры срочно.
5 958570
>>58532
В моем дестстве такие игры были на флеше, и там героиню ебали в обязательном порядке, и по-другому такие игры уже не выпускали. Как в игре с фансервисом?
image.png950 Кб, 485x699
6 958571
7 958584
>>58532
Она слишком деревянная. Попробуй добавить ей кошачие ушки и хвост, посмотрим если это прибавит ей кавайности.
8 958591
Анончики-годотчики! Я пишу игрочку на шарпе с екс, используя годот для графики. Сейчас у меня у всех сущностей типа предметов и монстров есть компоненты с ссылкой на Node2d, у которого пока что только Sprite в детях. Я хотел бы, чтобы логическая часть о знала о графической как можно меньше, поэтому думаю как избавиться от эти компонентов. Проблема в том, что я хочу эти ноды двигать/удалять вместе с передвижением/взятием в инвентарь/убийством соответствующих сущностей. Сейчас я думаю о создании отдельного мира (в екс смысле), в котором будут жить эти ссылки на ноды с айдишниками соответствующих им сущностей, но может есть какие-то более разумные способы?
10 958599
>>58591

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


Сразу предупреждаю, большинство юзает Godot как решение "всё в одном" с GDScript и без лишних либ. Поэтому твои проблемы большинству могут быть непонятны. Лучше обращаться на реддит, там вроде наибольшее комьюнити, постоянно что-то постят.

>Я хотел бы, чтобы логическая часть о знала о графической как можно меньше


А как вообще паттерн MVC ложится на ECS? По идее, использование ECS ограничено в Model, а вьювер и контроллер только обращаются к компонентам ECS?

>используя годот для графики


>Node2d, у которого пока что только Sprite


>эти ноды двигать/удалять вместе


>ссылки на ноды с айдишниками


Если у тебя ECS и Godot только рендерер, то зачем понадобились ноды? Ноды и сцены в Godot решают точно такую же задачу, как и "ECS без оптимизаций" - позволяют комбинировать компоненты в сущности с высокой степенью гибкости и реюзабельности кода. Именно поэтому Хуан против введения ECS в ядро.

Если тебе нужен только рендерер, используй сервер:
https://docs.godotengine.org/en/stable/tutorials/performance/using_servers.html
https://docs.godotengine.org/en/stable/classes/class_renderingserver.html
Дерево сцены оставь в покое, напиши свой мейнлуп:
https://docs.godotengine.org/en/stable/classes/class_mainloop.html
Тогда ты сможешь всё что надо делать в ECS, а Godot останется в качестве рендерера (непонятно зачем, вроде существуют хорошие библиотеки для 2D). Ещё можно пойти путём "Соника" и взять только модули из исходников, но это если ты в C++ разбираешься.
11 958600
>>58584
Не, у него там на уровне пропорций проеб. Колени не на своем месте, плюс икры шире ляшек. И бошка приплюснутая, слегка инцельская как будто. Ну и в анимациях тоже на колени забили, нога никогда не бывыает прямой - всегда на полусогнутых. Никакие ушки тут не вытащат.
12 958602
>>58599

> используй сервер


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

> непонятно зачем


Есть такое, такими темпами уйду на monogame какой-нибудь или даже robust toolbox, хотя очень не хочется переписывать игру, когда игры ещё нет толком.

> зачем понадобились ноды


Я не знаю как иначе работать с графикой Годота

> А как вообще паттерн MVC ложится на ECS?


Думаю натянуть как нибудь можно
13 958604
>>58602

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


Э, падажжи, ты еще не подготовился к внезапному добавлению мультиплеера в свою игру? А вдруг в ммо захочешь переделать? Упущение, братан.
14 958605
>>58604

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


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

Посмотри Овервотч. Сначала делали ММО Титан, а в результате получился кооперативный шутер. Почему? Потому что ЕЦС позволила переделать одно в другое. Потом пытались добавить синглплеерный контент, но проблема была в художниках, а не программистах.

Так что добавляйте ЕЦС и сможете переделать свой синглплеер 2д пазл-платформер в ММО 3Д гоночный шутер всего одним лёгким добавлением компонента.

мимо маркетолог ецс парадигмы
15 958606
>>58605

>был онлайн, переделали, остался онлайн

16 958607
>>58600
Я подобную анимацию на флеше видел. Колени были согнуты чтобы обратная кинематика не сгибала их в другую сторону когда задействована физика взаимодействия между неровным полом и пяткой.

Пускай ушки с хвостом попробует, потом я физику груди посоветую.
17 958608
>>58602

>Всё таки такие переделки, не показывающие сразу результата - угнетают


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

>уйду на monogame какой-нибудь


Помни, что движок - инструмент, а инструмент нужно выбирать под задачу (игру). Если тот же моногейм подходит под твою задачу, то почему нет? Сказки про культизм пользователей Godot преувеличены.

>Я не знаю как иначе работать с графикой Годота


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

>Думаю натянуть как нибудь можно


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

>переписывать игру, когда игры ещё нет толком


А что ты вообще делаешь? Для чего там ЕЦС?
18 958610
>>58608
Я делаю рогалик. ЕКС мне нравится как архитектурный подход, а не ради оптимизаций, что наделал компонентов, наделал систем и можешь плодить сущности комбинируя компоненты.
19 958612
А где анон, который создаёт симулятор бабушкинской квартиры.
sage 20 958614
>>58612
довел симуляцию до совершенства, продал бабушкину квартиру на авито и бросил геймдев
21 958615
>>58614
Фигня решение. Сдавать надо.
Видео-26-06-2024 095425 (1).mp438,4 Мб, mp4,
2160x1080, 2:57
22 958619
>>58570

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


Да, он есть и буду пилить больше, как только начало сюжета запилю. За качество фансервиса так сказать извините.
>>58584

>Она слишком деревянная. Попробуй добавить ей кошачие ушки


Тут ушки как анон >>58600 выше уже писал врятли помогут. Да, кавайности прибавит, но нужно анимацию саму поменять. Это не сложно, но хочу уже базу закончить, тк постоянно что-то новое хочется добавить или исправить.
Ушки добавил, но пока без хвостика, для неё нужна ещё одна кость, и значит перелопатить все анимации
>>58541
Captivity, но всратый и пытаюсь в метроид
23 958620
>>58600

>на уровне пропорций проеб


Не вижу серьёзных проблем с пропорциями, всё ок.

>Колени не на своем месте,


Они чуть выше, чем обычно, но для стилизации ок.

>плюс икры шире ляшек.


Сойдёт для стилизации. Вспомни Mega Man.

>И бошка приплюснутая, слегка инцельская


Ок для стилизации + задумка автора, наверное.

>на колени забили, нога никогда не бывыает прямой


Это норма, ты ИРЛ тоже ноги никогда при ходьбе не разбигаешь на 100%, полный разгиб ноги в колене вызывает болезненное напряжение связок. Только акробаты всякие и гимнасты могут разогнуть. Это не говоря об инверсной кинематике, там свои нюансы.

Твоя проблема в том, что ты пытаешься навязать реалистичные пропорции на стилизованную игру. Реализм в графике делает игры банальными. Лучше высрать кривое говно из пейнта, но в одном своём СТИЛЕ, чем бездумно копировать реальность, как в 100500 других фОтОрЕаЛиСтИчНыХ (в 2д, лол) играх. Мультяшки вон популярны, а в них вообще клали на пропорции реальных людей, рисуют каких-то там монстров и люди их обожают, удивительно, правда?
24 958622
>>58571
хуя вспомнил
25 958624
>>58584

>Она слишком деревянная.


Потому что у него один цикл анимации повторяется бесконечно на одной и той же скорости независимо от скорости движения персонажа. Типичная ошибка.

>>58619

>нужно анимацию саму поменять.


Дело не в анимации, проблема решается легко. Тебе нужно связать скорость анимаций со скоростью движения по оси X. Легче объяснить на примерах:
1. Игрок жмёт "вбок", но персонаж упирается в стену: скорость движения 0 => скорость анимации 0. Значит, персонаж не перебирает ногами возле стены.
2. Персонаж разгоняется или замедляется: скорость движения плавно изменяется => скорость анимации тоже плавно изменяется. Если правильно подобрать коэффициент, тогда ноги будут синхронизированы с поверхностью, по которой идёт персонаж. Останется только регулировать высоту ступней (рейкасты).
3. Если что-то отталкивает персонажа со скоростью движения выше максимальной скорости ходьбы, то скорость анимации ног выше 1, либо персонаж переключается в специальный режим (регдол).

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

Если у тебя только AnimationPlayer:
https://docs.godotengine.org/en/stable/classes/class_animationplayer.html#class-animationplayer-property-speed-scale
Если используешь AnimationTree (рекомендую):
https://docs.godotengine.org/en/stable/classes/class_animationnodetimescale.html

>>героиню ебали


>Да, он есть и буду пилить больше


Добавь возможность прокусить член в процессе изнасилования, нанося 100% урона и полностью отключая противника, но делая окружающих (если групповое изнасилование) более агрессивными. А то отсутствие возможности сопротивляться раздражает. Поиграй в Degrees of Lewdity, там при изнасиловании возможно кусаться, бить каблуками и кулаками, рвать когтями, бодаться рогами, использовать спрей. Да, с графикой будет сложнее сделать, но ведь интереснее. Кошкодевочка ликвидирует почти всех с одного кусь противнику в промежность независимо от пола.
25 958624
>>58584

>Она слишком деревянная.


Потому что у него один цикл анимации повторяется бесконечно на одной и той же скорости независимо от скорости движения персонажа. Типичная ошибка.

>>58619

>нужно анимацию саму поменять.


Дело не в анимации, проблема решается легко. Тебе нужно связать скорость анимаций со скоростью движения по оси X. Легче объяснить на примерах:
1. Игрок жмёт "вбок", но персонаж упирается в стену: скорость движения 0 => скорость анимации 0. Значит, персонаж не перебирает ногами возле стены.
2. Персонаж разгоняется или замедляется: скорость движения плавно изменяется => скорость анимации тоже плавно изменяется. Если правильно подобрать коэффициент, тогда ноги будут синхронизированы с поверхностью, по которой идёт персонаж. Останется только регулировать высоту ступней (рейкасты).
3. Если что-то отталкивает персонажа со скоростью движения выше максимальной скорости ходьбы, то скорость анимации ног выше 1, либо персонаж переключается в специальный режим (регдол).

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

Если у тебя только AnimationPlayer:
https://docs.godotengine.org/en/stable/classes/class_animationplayer.html#class-animationplayer-property-speed-scale
Если используешь AnimationTree (рекомендую):
https://docs.godotengine.org/en/stable/classes/class_animationnodetimescale.html

>>героиню ебали


>Да, он есть и буду пилить больше


Добавь возможность прокусить член в процессе изнасилования, нанося 100% урона и полностью отключая противника, но делая окружающих (если групповое изнасилование) более агрессивными. А то отсутствие возможности сопротивляться раздражает. Поиграй в Degrees of Lewdity, там при изнасиловании возможно кусаться, бить каблуками и кулаками, рвать когтями, бодаться рогами, использовать спрей. Да, с графикой будет сложнее сделать, но ведь интереснее. Кошкодевочка ликвидирует почти всех с одного кусь противнику в промежность независимо от пола.
26 958628
>>58610

>архитектурный подход


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


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

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

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

Подробнее о двух основных подходах к дизайну ПО:
https://en.wikipedia.org/wiki/Bottom–up_and_top–down_design

>Я делаю рогалик.


Генерацию уровней сделал, ходить по этажам можно? Тогда базовый геймплей у тебя, считай, уже готов, это можно назвать игрой (только скучной, очень мелкой). Главное во всех рогаликах - блуждание по процедурно генерируемым подземельям (или не подземельям). Остальное наращивается по желанию. Рогалик можно разрабатывать практически бесконечно...
27 958629
>>58620

>Лучше высрать кривое говно из пейнта


Да высирайте, кто ж вам запретит, только потом не удивляйтесь что челики плюются. У стилизации тоже есть свои законы гармонии и пропорций. У Морячка Попая огромные предплечия смотряться норм, а у этой Тянки огромные икры смотрятся как косяк. Вот и подумайте почему.
28 958630
>>58628
Сделал, всё что ты перечислил, но решил начать приводить всё в порядок и начали возникать вопросы "а как правильно, а как по уму"
image.png308 Кб, 1037x671
29 958631
>>58607
Это решаеться на уровне скелета. Чисто техническая залупа которую надо осилить.
30 958637
>>58612

>А где анон, который создаёт симулятор бабушкинской квартиры.



Начал делать подъездные этажи.
Вспомнил что существует Makehuman и пытаюсь сгенерить ГГ.
Делаю ассеты.
Залил видео демок в ютуб чтобы прикреплять как портфолио в резюме
https://youtu.be/3s5Nn5sn1jA?list=PLHjlZ0QdzceC3Kx7Zb6xPTE84nGbTrvnq).
Ищу удаленку.

Движение сразу во все стороны и от того медленно. Больше всего хочется нормальную модельку ГГ. Держи музыку чтобы скрасить тоску ожидания
https://youtu.be/3QNjRLoIpUI
31 958639
>>58637

>Больше всего хочется нормальную модельку ГГ


Ссюка, у тебя была нормальная моделька лягушонка! Ты не найдешь ничего более подходящего к своему сеттингу, все остальное будет безыдейным дженерик говном.
32 958641
>>58637

>Больше всего хочется нормальную модельку ГГ


Да скачай болванчика и перескульпти под себя. Собери рефы, мудборды, хуёрды. Дело не простое, но осиляемое вполне
image.png554 Кб, 757x687
33 958644
Сап, посаны.
Поясните такую вещь, на каком языке лучше пилить штуки в годоте, чтобы потом можно было чиркануть в резюме, что ты молодец?
Или дроч шарпа в годоте никак не повлияет на конечный навык говнокодинга?
34 958647
>>58639
Сыглы, лучше грустного пепе ничего не будет.
sage 35 958648
>>58644
на езыке пост-модерна
Screenshot4.png250 Кб, 933x784
36 958651
>>58639

>у тебя была нормальная моделька лягушонка!


И все еще есть. Вот, даже из сцены ГГ не удалена. Ждет своего часа. Даже файлы сцены ГГ не переименовывал

>>58641

>Да скачай болванчика и перескульпти под себя. Собери рефы, мудборды, хуёрды.



Плюс-минус так и делаю.

>>58644

>чтобы потом можно было чиркануть в резюме, что ты молодец?



Godot не котируется среди работодателей и еще очень не скоро будет, а знание C# очень даже.
Одна проблема - интеграция в Godot у C# говенная. С одной стороны, шарп сам по себе быстрее, с другой - из-за прослойки API обращение к функциям движка у шарпа медленнее чем у GDScript. Еще один минус - настолько часто выскакивающий баг сборки C# руинящий разработку, что ссылка на обсуждение этого бага встроена в сообщение об ошибке:
https://github.com/godotengine/godot/issues/78513
Людям буквально приходится отказываться от шарпа потому что оно руинит проекты. Свою бабушкину кваритру я изначально писал на C#, но из-за вот этой вот штуки пришлось переписать на GDScript. Даже уже думал перенести на Unity.
37 958652
>>58644
В общем монопенисуально:

1) пилишь на гдскрипт нафиг никому не надо кроме годот и +- привыкания к питону
2) пилишь на шарпе тебя обоссывают за незнание фреймворков +- привыкаешь к синтаксису

Надо понимать, что это относительно специфичные штуки и заточены под конкретно годот.
38 958654
>>58629

>челики плюются


Как моська, что лает на слона.

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

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


Главное, чтобы автору игры нравилось.

>Вот и подумайте почему.


Потому что ты дрочишь на ноги-спички?

Но я согласен, что толстая жопа лучше толстых икр. Нужна жопа в 3-4 раза шире талии, чтобы выглядела тяночкой, а не широкоплечим мужиком с сиськами. Толстые икры можно оставить как есть.
39 958662
>>58652
>>58651
Понял, спасибо за ответы
40 958665
>>58644

>чиркануть в резюме, что ты молодец?


Резюме на какую должность?
- говнокодерская мартышка
- архитектурный сверхчеловек
- весёлый геймдизайнер
- потешный арт-директор
- графоманский сценарист
- UI/UX инопланетянин
- копирастовый музыкант
- игривый тестировщик/QA
- кто-то ещё, занятый делом
- директор клоунов сверху

>на каком языке лучше пилить штуки в годоте


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

>Или дроч шарпа в годоте никак не повлияет на конечный навык говнокодинга?


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

>>58651

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


Godot часто используют для прототипирования даже в АААА студиях, потому что это т.н. "fast loop engine". Финальный продукт делают уже на другом движке (кастомном, к которому ты доступ не получишь).

>а знание C# очень даже


Да кому твой до диез нужен? Нужна либо макака, готовая на всё, либо сверхчеловек, могущий всё.

>приходится отказываться от шарпа


Ну а что ты хочешь? Это как сидеть на Windows и жаловаться, что она часто падает в BSOD и требует периодической переустановки на чистый диск. Либо кушай свой кактуС# и терпи, либо ищи альтернативы.

>>58652

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


Законченный проект важнее твоего говнокода.

>относительно специфичные штуки и заточены


Только если хочешь работать послушной макакой.
40 958665
>>58644

>чиркануть в резюме, что ты молодец?


Резюме на какую должность?
- говнокодерская мартышка
- архитектурный сверхчеловек
- весёлый геймдизайнер
- потешный арт-директор
- графоманский сценарист
- UI/UX инопланетянин
- копирастовый музыкант
- игривый тестировщик/QA
- кто-то ещё, занятый делом
- директор клоунов сверху

>на каком языке лучше пилить штуки в годоте


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

>Или дроч шарпа в годоте никак не повлияет на конечный навык говнокодинга?


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

>>58651

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


Godot часто используют для прототипирования даже в АААА студиях, потому что это т.н. "fast loop engine". Финальный продукт делают уже на другом движке (кастомном, к которому ты доступ не получишь).

>а знание C# очень даже


Да кому твой до диез нужен? Нужна либо макака, готовая на всё, либо сверхчеловек, могущий всё.

>приходится отказываться от шарпа


Ну а что ты хочешь? Это как сидеть на Windows и жаловаться, что она часто падает в BSOD и требует периодической переустановки на чистый диск. Либо кушай свой кактуС# и терпи, либо ищи альтернативы.

>>58652

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


Законченный проект важнее твоего говнокода.

>относительно специфичные штуки и заточены


Только если хочешь работать послушной макакой.
41 958666
>>58629
>>58654
Я просто добавлю чтоб персонаж динамически изменялся, будете много жрать, жопа будет по Х увеличиваться, много крутить сальтух, икры.
42 958667
>>58665
Хз, я вообще девопсер наносек, ничего тяжелее баша на работе не держал.
Так-то просто хочется, чтобы мой условный пет проект можно было работодателю показать.
Думал, запилить что-то околосетевое.
43 958671
>>58665

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


>Законченный проект важнее твоего говнокода.



Ну вопрос был про ЯП который можно было бы указать потом в резюме в целом, но тут я согл, главное чего-то доделать до конца =)
5oq8nkka8z051.jpg153 Кб, 1080x1110
44 958673
>>58651

>>моделька лягушонка!


>И все еще есть.


Добавь читкод как в Age of Empires.
https://ageofempires.fandom.com/wiki/Winsett%27s_Z
https://ageofempires.fandom.com/wiki/Cobra_Car
45 958675
>>58671
А как у девопса вообще будет смотреться строчка:
"запилил копросисьскомультиплеерный шутан, вот ссылка, пвп или зассал?"
46 958676
>>58667
НА питоне наскреби че полезное и будет чего показать работодателю, хз сборочные скрипты ахахха ну или чего там по работе надо.

>>58675
Бро я про девопса позже увидел =) не серчай
47 958677
>>58676
да бля, я кучу говна на баше ваял, по сути, пихуй чё, главное, чтобы пайплайн работал.
я и не серчаю, вообще охренел, думал, меня тут сразу нахуй пошлют
48 958678
>>58651

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


Так им не надо было его ташить изначально. Есть же с++...
49 958679
>>58671

> Ну вопрос был про ЯП который можно было бы указать потом в резюме в целом


Я долго думал, как тебе ответить и наконец нашёл годнейшую мысль, которую не грех и в шапку закрепить.
Знание языка - это знание его синтаксиса, знание наизусть его стандартной библиотеки, знание специфичных для языка трюков и подходов. Это предложение ни о чем не говорит. Поэтому я так долго думал. Знание шарпа, если говорить о нём, следует понимать по блокам using в начале листинга.
Если у тебя в портфолио:

> using System;


> using Collections;


> using LINQ;


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

> using Godot;


Это увы не является знанием шарпа, это знание годота.

> using Unity;


Это тоже не знание шарпа, это знание юнити.

Два файла написанные с такими юзингами будут кардинально различаться, словно написаны на двух сиподобных но разных языках.
50 958685
>>58678
Есть и C
51 958687
>>58677
А в чем смысл посылать? не вижу! ты спросил как я это понял " будет ли полезно моё хобби в плане дальнейшей работы" я тебе честно сказал, что пользы будет по минимуму.

>>58679
мой >>58652 ответ анону никак не противоречит твоему, я примерно то же самое сказал про шарп, только очень просто =))
сложности передачи текста =)
52 958690
>>58687
ты в интернет будто только сейчас зашёл
ну ладно, тогда нет смысла заморачиваться, можно продолжать ваять фигню на гдскрипте
53 958693
https://kidscancode.org/godot_recipes/4.x/ - господа, а может вот это в шапочку добавить или я пропустил!?

>>58690
Тут главное не на чем, а сколько ты от это получишь удовлетворения и профита ( конечно зависит от поставленных целей )

Хорошего всем дня.
# OP 54 958711
>>58693
Шапка и так уже расползлась до нечитаемого состояния. Куча ссылок накидано. Я уже хз как их редактировать.
55 958720
>>58619

>Ушки добавил, но пока без хвостика, для неё нужна ещё одна кость


Я имел в виду хвост в качестве атрибута костюма. Рагдол веревка прицепленная одним концом к попе. Понимаю что для этого нужно заморочиться немного. Но зато имея это на руках, сможешь уже и косички ей колыхающиеся добавить, и не только ей, но и другим персонажам.
56 958721
>>58637
Насчет ютуб видео. Пускай она делает полшага назад когда входит в режим взаимодействия с предметами, а то бодается прямо в них головой.
57 958723
>>58602

>такими темпами уйду на monogame


Братишка, не лезь туда, там тебе почти всё с нуля писать придется, даже элементарные вещи, которые в любом движке изкаропки идут. Я так полтора месяца убил на прототип платформера, который в годотя мог бы сделать за неделю.
58 958734
>>58723

> годотя


В нашем треде изъясняются прилично. Извинис.
59 958736
>>58720
В принципе прикольно да, думаю оставлю эту тему, но щас физикой не оч хочется заниматься, я как раз начальную катсцену начал
60 958740
>>58736
Ты крут. Особо не церемонился прямо в вагину ей хвост воткнул. Аляповато, но скажу тебе честно, прибавилось динамики, занимает взгляд, деревянности не замечаю ИМХО.

Отсыплю еще идей. В этом твоем коулуне существуют разные групировки, типа бимбо-пластическая хирургия, фури, бдсм, лгбт-трансы, фитнес-бодибилдер-спортсмены. и прочее. Чтобы подмазываться к бандам надо их атрибутику на себе примерять. Начинаешь иметь дела с одной бандой и портятся отношения с другой. У каждой банды своя конкурирующая порностудия. Протагонистке нужно тренировать свои дырки чтобы увеличить вместительность, и выносливость. Потому что в начале игры она не может справится с большим членом физически.
Короче тема в том что днем она восходящая порнозвезда, или стримерша, а по ночам ниндзя ассасин.
61 958742
>>58740

>У каждой банды своя конкурирующая порностудия


Ну кста почему бы и нет, группировки изначально планировались, а так у игрока помимо сюжета будет желание открывать остальные студии, которые будут дарить новую одежду. Ток вот всякая там тренировка дырок ненужна, и впринципе строить всё вокруг ебли такое себе, у меня история о мести и решении судьбы населенного блока, как в нью вегасе
62 958746
>>58742

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


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

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

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

Понимаю что опять про секс, но мне кажется в этом есть свой потенциал. Насилие и секс, ингредиенты для хорошего боевичка. Только невозможность играть за качка, а только за бабу которую все ебут, может отвернуть часть игроков. А другим не будет хватать выбрать модель фембоя с chasity cage на писюне.
40 км.jpg163 Кб, 1440x847
63 958753
>>958493 →

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


Всё там возможно, регулярно сру сотнями нод.

>Просто присвоил по одной переменной на инстанс


Это ни на что не влияет. Твоя проблема в чём-то другом.

Год назад, на Godot 3.5 у меня был примерно такой код (переписал под 4.x):

>var _blocks: Array[PackedScene] = [preload("simple.tscn")] # кусочки дороги


>var _spawned_next: bool = false # чтобы не спамить лишнего


>func _ready() -> void: # выбираем себе один из кусков дороги:


>_ add_child(_blocks[randi() % _blocks.size()].instantiate())


Когда игрок доехал, добавляем следующий участок дороги:

>func _on_enter_area_body_entered(body: Node) -> void:


>_ if body is Player and not _spawned_next:


>_ _ var next_block = load("world_block.tscn").instantiate()


>_ _ get_parent().add_child(next_block)


>_ _ next_block.global_position = $ExitArea.global_position


>_ _ _spawned_next = true


Это всё в файле world_block.gd, он в сцене world_block.tscn.
Проехал с этим кодом около 40 км (!), всё нормально было.
image.png3,5 Мб, 1920x1080
64 958755
https://www.reddit.com/r/godot/comments/1dp547o/i_made_a_free_model_of_the_godot_plush_for_you_to/

Новый модный тренд - прятать плюш годота в своих играх. По ссылке моделька, если кто из местных захочет себе утащить.
65 958759
>>58736
Ничего себе у Наташи Прайм хвост член до колена!
66 958762
>>58755
А если у меня два дэ игрушка?
1719461991598.webm5,8 Мб, webm,
1136x640, 0:40
67 958770
>>58759
Сделал моё утро, содомит!
68 958773
>>58723
С одной стороны да, с другой если я ищу пути как не использовать фичи движка, как те же ноды, то возникает вопрос, а зачем мне этот движок, потому что я трачу в нём время не на то? Я не ухожу с годота, нет, потому что моя мотивация не выдержит месяц-другой работы по переносу прогресса с нулевым увеличением весёлости игры
69 958781
>>58762
Делай 2д. На реддите выкладывали ассет, но лень искать.
image.png204 Кб, 1893x705
70 958785
>>58762
Еще как - делаешь ноду с 3д моделькой и камерой, выставляешь как тебе надо, в 2д части делаешь тукстурированную плашку и натягиваешь субвьюпорт на нее, сам порт не забудь добавить.
rogue.png10 Кб, 640x400
71 958791
>>58773

>месяц-другой работы по переносу


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

Потому что в рогаликах роль игрового движка стремится к нулю. Там весь "движок" может быть встроенным в ОС эмулятором терминала.
72 958792
>>58791
Да, я решил уже вечером пройтись и избавиться от всех using Godot, где это не кровь из носу как надо. Даже если впоследствии не пойду на другой движок, это хорошо поможет разделению логики и графона.
73 958794
>>58792

>поможет разделению логики и графона


Всё так. Алсо, в документации часто рекомендуется использовать средства конкретного языка вместо встроенных в движок, чтобы снизить количество взаимодействий между кодом DLL и приложением.
74 958800
https://docs.godotengine.org/en/stable/classes/cL\elass_ANUSgD@DlobalscopePUNCTUMhtm|gvl#class-globalscope-method-smoothstep

>Compared to ease with a curve value of -1.6521, smoothstep returns the smoothest possible curve with no sudden changes in the derivative.


Так в чём разница-то? Не пойму.
На графиках "return value" совпадают.
75 958823
>>958451 →

>Мне бы такую прокрастинацию.


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

>Добавь над машинками линию жизни.


>Расстреливай их...


Моя игра мечты сфокусирована на более мирном взаимодействии с NPC + исследовании мира. Твои предложения напоминают Hard Truck Apocalypse, но если уж копировать что-то оттуда, мне хотелось бы торговлю и квесты, а не стрельбу по болванчикам.

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

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

Поэтому у меня есть три вектора решения проблемы:
1. Сделать генератор карты. Даже статичная карта с процедурной генерацией доставляет новый интерес, стоит лишь изменить зерно или правила генерации, либо просто отъехать подальше от центра мира. Очевидно, интерес не бесконечный, но возможно с минимумом усилий создать тысячи вариаций.
2. Как-то симулировать изменения городов. Что-то разрушается, что-то достраивается. Очевидно, что необходимо параметрически генерировать город и изменения в нём. Это вроде бы сложнее генерации статичной карты, но в перспективе создаёт больше интересных событий на и без того большой карте.
3. Реализовать ненасильственные взаимодействия с персонажами. Как минимум, растянуть тот симулятор свиданий из GTA SA на всех NPC. Вместо тупого "убей или умри" получаем объёмное пространство событий, которое может содержать много интересного. Но это сложно и я даже не знаю, как к этому подступиться. Откладываю на потом, когда будет интересный мир.

Согласен, масштаб проекта большой, но мне давно хотелось что-то подобное, а делать мелкие игрушки особого желания нет, игрушек и так миллионы уже. Наверняка есть похожие проекты или готовые игры, однако мне интересно самому такое сделать...
75 958823
>>958451 →

>Мне бы такую прокрастинацию.


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

>Добавь над машинками линию жизни.


>Расстреливай их...


Моя игра мечты сфокусирована на более мирном взаимодействии с NPC + исследовании мира. Твои предложения напоминают Hard Truck Apocalypse, но если уж копировать что-то оттуда, мне хотелось бы торговлю и квесты, а не стрельбу по болванчикам.

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

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

Поэтому у меня есть три вектора решения проблемы:
1. Сделать генератор карты. Даже статичная карта с процедурной генерацией доставляет новый интерес, стоит лишь изменить зерно или правила генерации, либо просто отъехать подальше от центра мира. Очевидно, интерес не бесконечный, но возможно с минимумом усилий создать тысячи вариаций.
2. Как-то симулировать изменения городов. Что-то разрушается, что-то достраивается. Очевидно, что необходимо параметрически генерировать город и изменения в нём. Это вроде бы сложнее генерации статичной карты, но в перспективе создаёт больше интересных событий на и без того большой карте.
3. Реализовать ненасильственные взаимодействия с персонажами. Как минимум, растянуть тот симулятор свиданий из GTA SA на всех NPC. Вместо тупого "убей или умри" получаем объёмное пространство событий, которое может содержать много интересного. Но это сложно и я даже не знаю, как к этому подступиться. Откладываю на потом, когда будет интересный мир.

Согласен, масштаб проекта большой, но мне давно хотелось что-то подобное, а делать мелкие игрушки особого желания нет, игрушек и так миллионы уже. Наверняка есть похожие проекты или готовые игры, однако мне интересно самому такое сделать...
76 958827
>>58823
Ммм... Дальнобойщики 3....
77 958839
>>58755
Дайте мне плиз какой-нибудь огромный спрайт с годотом. Хочу чтобы когда игрок выпадал за текстуры и падал вниз в пустоту, там весь меш под сценой был огромным лицом годота. Так сказать, бля, в годота провалился!
78 958858
>>58839

>огромный спрайт с годотом


1. Заходишь: https://godotengine.org/press/
2. Скачиваешь любой понравившийся SVG-файл.
3. Закидываешь его в папку проекта.
4. ???
5. Профит!
79 958877
>>58858

>Make sure to use the SVG logos instead of PNG whenever possible to benefit from better scaling


Лол прям как мне надо! Спасибо.
80 958917
Simplex + AStar2D
81 958926
Аноны, какого хуя, создал в ТайлМапе физический слой, в нем указал слой коллизий №2, слой маски оставил пустым. Создал CharacterBody с CollisionShape2D, в нем указал слой коллизий №1, слой маски №2. Регистрация коллизий есть, но CharacterBody не может пройти сквозь обюъект с которым есть коллизия. Как это фиксать?
82 958929
Можно ли самому оценить качество своего кода? Постоянно не покидает ощущение что делаю всё через жопу (ноды вложены друг в друга по идиотской логике, _process обрабатывает кучу всего лишнего, коду дочернего нода лучше быть в родительском и наоборот и т.п.).
Хочется научиться делать всё по-человечески с первого раза, чтобы не пришлось потом ради оптимизации переделывать весь проект заново, продираясь через горы сомнительных костылей
83 958932
>>58929

>Можно ли самому оценить качество своего кода?


Можно.

>Хочется научиться делать всё по-человечески с первого раза


С первого раза не получится, такие вещи приходят с опытом. Делай сначала как считаешь нужным, потом сам увидишь где у тебя в коде слабые места и как можно было бы сделать лучше.
84 958943
>>58926

>Регистрация коллизий есть, но CharacterBody не может пройти сквозь обюъект с которым есть коллизия. Как это фиксать?


В чём проблема? Тебе коллизии или проходить?

Твой объект не видит персонажа, только существует.
Твой персонаж видит препятствие, останавливается.

Что ты хочешь? Area2D?
85 958946
>>58929

>самому оценить качество своего кода


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

>ощущение что делаю всё через жопу


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

>делать всё по-человечески с первого раза


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

Математики вон столетия на свои задачки тратят...

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


Это называется "преждевременная оптимизация".
https://habr.com/ru/articles/550926/

>Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered.


Лучше сделать участок кода медленным, но просто и понятно, чем быстрым, но запутанно и непонятно.

Переделывать тебе в любом случае придётся, и лучше заранее это планировать: именно поэтому существует концепция прототипа в геймдеве.
https://habr.com/ru/companies/miip/articles/308286/

>Очень важно на этапе создания прототипа реализовывать только то, что нужно проверить и в сжатые сроки. Прототип должен быть простым в реализации, т.к. после достижения поставленных перед ним целей, он должен быть «выкинут». Серьёзная ошибка начинающих разработчиков – нести временную инфраструктуру и «костыли» реализации кода в основной проект.



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

Вкратце, программирование игры как рисование - делаешь сотни быстрых и кривых набросков без доработки, прежде чем сделаешь что-то хорошее.
85 958946
>>58929

>самому оценить качество своего кода


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

>ощущение что делаю всё через жопу


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

>делать всё по-человечески с первого раза


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

Математики вон столетия на свои задачки тратят...

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


Это называется "преждевременная оптимизация".
https://habr.com/ru/articles/550926/

>Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered.


Лучше сделать участок кода медленным, но просто и понятно, чем быстрым, но запутанно и непонятно.

Переделывать тебе в любом случае придётся, и лучше заранее это планировать: именно поэтому существует концепция прототипа в геймдеве.
https://habr.com/ru/companies/miip/articles/308286/

>Очень важно на этапе создания прототипа реализовывать только то, что нужно проверить и в сжатые сроки. Прототип должен быть простым в реализации, т.к. после достижения поставленных перед ним целей, он должен быть «выкинут». Серьёзная ошибка начинающих разработчиков – нести временную инфраструктуру и «костыли» реализации кода в основной проект.



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

Вкратце, программирование игры как рисование - делаешь сотни быстрых и кривых набросков без доработки, прежде чем сделаешь что-то хорошее.
86 958951
>>58943

> Что ты хочешь? Area2D?


Хочу персонажем проходить сквозь тайлы и при этом регистировать момент входа\выхода из них + то на какие тайлы я зашел (физический слой какой у тайлов).
Сейчас я добавил юзеру дополнительное Area2D, но он тоже регистрирует только "_on_area_body_ххххх", вместо "_on_area_ххххх".
87 958957
>>58951
Если персонаж вообще не нуждается в обработке препятствий, то CharacterBody2D можешь выкинуть, данная нода нужна только когда есть препятствия.

У Area2D есть несколько настроек того, что ей нужно регистрировать. Но бывают нюансы из-за багов:
https://github.com/godotengine/godot/issues?q=is%3Aissue+area2d
Актуальные баги не знаю, смотри сам.

Алсо, если тебе нужно не отдельные редкие клетки проверять, а вообще все клетки, тогда лучше это:
https://docs.godotengine.org/en/stable/classes/class_tilemap.html#class-tilemap-method-local-to-map
Вот здесь есть пример использования:
https://docs.godotengine.org/en/stable/classes/class_tilemap.html#class-tilemap-method-get-cell-tile-data
Только в твоём случае будет что-то вроде этого:

>var data := tile_map.get_cell_tile_data(0, tile_map.local_to_map(player.position))


Дальше твой код связанный с данными клетки.
88 958962
>>58957
Персонажу обработка препятствий нужна будет, поэтому я делал разные физические уровни. В паланых было разделение вроде:
- уровень 1 - стена, не прохожу
- уровень 2 - вода, прохожу но с трудом
- уровень 3 - болото, прохожу но с трудом
CharacterBody2D с CollisionShape упирался в тайлмапы и не шел, но регистрировал взаимодействие. Сделал Area2D и регистрация пропала по факту.

Прежде чем применять велосипеды - в чем может быть проблема? Физические слои же сделаны не только для непроходимости? Так же как и маски коллизий.
89 958964
90 958965
>>58962

>Физические слои же сделаны не только для непроходимости? Так же как и маски коллизий.


Физические слои и маски - для CollisionObject2D:
- PhysicsBody2D сталкиваются и останавливаются.
- Area2D детектит пересечение с CollisionObject2D.

>уровень 2 - вода, прохожу но с трудом


>уровень 3 - болото, прохожу но с трудом


Это не препятствия в терминах физического движка. Определяй, на каком тайле стоишь, и соответственно изменяй скорость движения. Можно непосредственно в тайлы записывать "фактор замедления" и умножать скорость на него, а не на какую-то константу.

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


TileMap.local_to_map(player.position) не велосипед, а встроенное API специально для таких задач - когда необходимо определить, на чём ты сейчас стоишь.

Повторюсь, коллизии - для стен, а не для пола.
91 958967
>>58962
А на счёт Area2D не знаю даже, как ответить. Нужно смотреть, что ты вообще пытаешься сделать. Она функционально отличается от твёрдых тел, т.к. это неосязаемый датчик, а не твёрдое тело.
92 958971
>>58965
Спасибо антош за пояснение.
Custom data layers - то что надо.
scale1200 (3).jfif184 Кб, 1200x874
93 959024
Суп, DirAccess.remove_absolete(file) перестал удалять файлы после первого удаления.

>func clear_buffer():


for file in DirAccess.get_files_at(buffer):
DirAccess.remove_absolute(file)
print(file + " was removed")
94 959025
>>58532
Годнота, тоже хотел начать делать клон Captivity, но ты меня опередил 8^)
95 959027
>>59024

>for file in DirAccess.get_files_at(buffer):


>_ DirAccess.remove_absolute(file)


get_files_at():

>containing filenames of the directory contents


remove_absolute():

>Static version of remove. Supports only absolute paths.


Если я правильно понял, попробуй такой код:

>for file in DirAccess.get_files_at(buffer):


>_ DirAccess.remove_absolute(buffer + "/" + file)

96 959028
А как оптимизировать большое количество врагов в 3д пространстве? Накинул 11 штук бегающих дебилов, а комп что греет.
Годот вообще такое потянет?
97 959029
>>59028

>как оптимизировать большое количество врагов в 3д пространстве?


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

>Накинул 11 штук бегающих дебилов, а комп что греет.


Покажи скриншоты, дай подробности. Иначе помочь не сможем.
98 959031
>>59025
Так делой. Я же скорее симулятор + метроид пилю, а каптивити шутанчик. Ну и я ни прогать ни рисовать не умею
99 959032
>>59027
Spasibo
Сработало Owo
100 959047
Какие подводные делать песочницу снизу вверх? В контексте tscn-сцен Godot.
101 959113
image.png593 Кб, 956x497
102 959127
О, прям как у анона
103 959130
>>59127

>как у анона


Нет, там мультиплеерное "развлекайтесь сами".
image.png107 Кб, 1024x542
104 959134
Совет всем местным четверочникам: ставьте галку single window mode чтобы ускорить _отрисовку интерфейса внутри редактора_

https://www.youtube.com/watch?v=QSpZhG-OOgI
105 959136
>>59134
Ты это в движкосраче увидел? Это дикий боян.

Есть другой нюанс. Если у вас графический планшет (Wacom или другой), но зачем-то выключили сервис драйвера этого планшета, Godot выдаёт ошибку "failed WinTab context creation" (точно не помню), и это может влиять на отзывчивость GUI.

Ошибка скрыта по умолчанию, появляется с --verbose.
106 959140
>>59136
Подписан на канал, видео опубликовано 18 часов назад.
09377b978a094381a6cc2a8822849419.jpg27 Кб, 400x900
107 959144
Хочу абстрагировать одежду от персонажей, чтобы сохранять новые элементы одежды отдельно от базового скелета с кожей. Как такое организовать? Получается >1 gltf модели, которые нужно натянуть в движке на один анимированный скелет, но как?

Картинка из интернета (мне нравится).
108 959145
>>59140
Не видео боян, а сам трюк из видео боян. Ставлю синглмод ещё с РЦ2.
109 959147
>>59144
Пишеш в ютубе

> wearable clothing godot 4


и смотриш
и теребиш свой скилл
ну ты понел
1634089055899.png235 Кб, 1244x925
110 959152
>>59144
А в чем вопрос то? В годоте скелет - это нода, и у него чайлдами меши. Эти меши могут идти из одного gltf, тогда ты hide/free те, что не нужны, или ты можешь подгрузить их из других файлов и add_child.
Другое дело, что у профи немного другой подход, никто не рисует всю кожу под одеждой, потому что это в два раза больше лишней отрисовки которую при этом никто не увидит, и во-вторых потенциальные глюки при анимации когда кожа вылезет поверх одежды. Поэтому, обычно имеют заменяющиеся, а не дополняющиеся части - например, торс в купальнике или торс в платье, а не торс+купальник+платье.
111 959153
>>59140

>Подписан на канал


Какая разница, что там твой васян вчера откопал?

>видео опубликовано 18 часов назад


А Хуан это всё четыре (4) года назад делал:
https://xcancel.com/reduzio/status/1235744957996163073

>6 Mar 2020


>Progress so far.. multiple window support is now fully functional at the engine level, but there is still a lot to fix and clean up in the editor itself.


>Once everything works, will try to allow undocking parts of the editor.


На гитхабе столько всего, что не могу найти точно, но где-то обсуждали эту проблему с попапами:

>PopupMenu


>Inherits: Popup < Window < Viewport < Node < Object


>PopupMenu is a modal window used to display a list of options. Useful for toolbars and context menus.


Класс Window:

>The window can either be a native system window or embedded inside another Window (see Viewport.gui_embed_subwindows).


Если Godot Editor разделяется на несколько окон, все, повторяю, В С Е PopupMenu становятся нативными окнами, что очень неэффективно с точки зрения ОС. Настройка "single window mode" тут просто костыль, возвращающий старый режим работы (из Godot 3.x).
112 959154
>>59152

>обычно имеют заменяющиеся


Это понятно, видел такое в играх.

>А в чем вопрос то?


>подгрузить их из других файлов


Нода Skeleton3D получает данные из GLTF, куда эти данные экспортируются из Blender. Если у меня есть скелет с мешем, всё просто: скованные одним GLTF, связанные одним скелетом. Если несколько мешей отдельными файлами, то у них нет своих скелетов. Откуда Skeleton3D узнает, как деформировать меш?

Данные для скелета хранятся в меше что ли?
1716259705253.png88 Кб, 1008x677
113 959156
>>59154
Есть данные скелета (длина костей, их взаимное расположение, угол поворота) + анимации (трансформы этих костей), но в мешах хранятся веса, емнип для каждой вершины, насколько на нее влияет какая кость.
114 959163
>>59153
Ой, дыши глубже, шизло душное.
115 959174
>>59153
Ты знаешь уже четыре (4) года, молодец, возьми повесь еще один дипломчик себе на стену. А другие не знают. И не затыкай никому рот, когда в треде делятся полезными советами с людьми, которые их, возможно, не знают. А то у тебя позиция уровня зашуганного чмохи, просто:

>азаза боян, я знаю и пользуюсь, а если ты про это другим расскажешь то ты движкосрачер))0

116 959178
>>59174
Я привык что тут 3.5 олдфага крутится. Ньюфагам информация, возможно, пригодится, не поспоришь. Просто не верится что в /гд/ ещё кто-то приходит. Согласен, не подумал, что кто-то может не знать.
117 959198
>>59174
Вот совет новичкам. Если вы процедурно генерируете какие-то сцены, вы наверняка захотите видеть результат прямо в редакторе сцен, чтобы менять в инспекторе параметры и сразу видеть, что из этих параметров получается. Для этого используется аннотация @tool в начале скрипта.

Однако, если вы генерируете много каких-то данных, например, ArrayMesh для MeshInstance3D, эти данные по умолчанию будут сохранятся в .tscn-файл, даже если они вам вообще не нужны. Если вы делаете меш большим числом вершин, файл сцены быстро раздует на десятки мегабайт и сохранение/открытие сцены будет занимать существенно больше времени. Да, сцены можно сжать в бинарном .scn-формате, но зачем вообще сохранять процедурно генерируемые данные?

Решение проблемы тривиальное, но не очевидное. Посмотрите сюда:
https://docs.godotengine.org/en/stable/classes/class_node.html#class-node-method-add-child

>If internal is different than INTERNAL_MODE_DISABLED, the child will be added as internal node. These nodes are ignored by methods like get_children, unless their parameter include_internal is true. The intended usage is to hide the internal nodes from the user, so the user won't accidentally delete or modify them. Used by some GUI nodes, e.g. ColorPicker. See InternalMode for available modes.


Дело в том, что "внутренние" ноды НЕ СОХРАНЯЮТСЯ в файл сцен. Именно это нам и нужно, если мы генерируем много данных на лету и не хотим забивать ими пространство на диске (всё равно каждый раз генерируем что-то другое, или будем загружать из JSON-сейва игры). Поэтому пишем такой код:

>var _mesh_instance: MeshInstance3D


>func _ready() -> void:


>_ _mesh_instance = MeshInstance3D.new()


>_ add_child(_mesh_instance, false, Node.INTERNAL_MODE_BACK)


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

Также, если вы кроме меша генерируете физическое тело, то для @tool-скрипта вставьте это:

>if not Engine.is_editor_hint():


И дальше ваш код генерации физики. Дело в том, что физика в редакторе вам скорее всего не нужна (если не делаете рейкасты в редакторе), а создание и установка коллизий (тримеш) занимает у движка существенно больше времени, чем визуальные меши с тем же количеством треугольников. Эта проверка позволяет пропустить в редакторе участок кода, предназначенный только для игры.
117 959198
>>59174
Вот совет новичкам. Если вы процедурно генерируете какие-то сцены, вы наверняка захотите видеть результат прямо в редакторе сцен, чтобы менять в инспекторе параметры и сразу видеть, что из этих параметров получается. Для этого используется аннотация @tool в начале скрипта.

Однако, если вы генерируете много каких-то данных, например, ArrayMesh для MeshInstance3D, эти данные по умолчанию будут сохранятся в .tscn-файл, даже если они вам вообще не нужны. Если вы делаете меш большим числом вершин, файл сцены быстро раздует на десятки мегабайт и сохранение/открытие сцены будет занимать существенно больше времени. Да, сцены можно сжать в бинарном .scn-формате, но зачем вообще сохранять процедурно генерируемые данные?

Решение проблемы тривиальное, но не очевидное. Посмотрите сюда:
https://docs.godotengine.org/en/stable/classes/class_node.html#class-node-method-add-child

>If internal is different than INTERNAL_MODE_DISABLED, the child will be added as internal node. These nodes are ignored by methods like get_children, unless their parameter include_internal is true. The intended usage is to hide the internal nodes from the user, so the user won't accidentally delete or modify them. Used by some GUI nodes, e.g. ColorPicker. See InternalMode for available modes.


Дело в том, что "внутренние" ноды НЕ СОХРАНЯЮТСЯ в файл сцен. Именно это нам и нужно, если мы генерируем много данных на лету и не хотим забивать ими пространство на диске (всё равно каждый раз генерируем что-то другое, или будем загружать из JSON-сейва игры). Поэтому пишем такой код:

>var _mesh_instance: MeshInstance3D


>func _ready() -> void:


>_ _mesh_instance = MeshInstance3D.new()


>_ add_child(_mesh_instance, false, Node.INTERNAL_MODE_BACK)


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

Также, если вы кроме меша генерируете физическое тело, то для @tool-скрипта вставьте это:

>if not Engine.is_editor_hint():


И дальше ваш код генерации физики. Дело в том, что физика в редакторе вам скорее всего не нужна (если не делаете рейкасты в редакторе), а создание и установка коллизий (тримеш) занимает у движка существенно больше времени, чем визуальные меши с тем же количеством треугольников. Эта проверка позволяет пропустить в редакторе участок кода, предназначенный только для игры.
118 959200
>>59198
Или это из-за того, что owner не установлен? Лол, я запутался.

>If add_child is called without setting owner, the newly added Node will not be visible in the scene tree, though it will be visible in the 2D/3D view.


Никогда не пользовался полем owner, но до создания internal-нод проблемы были.
119 959201
Короче, наверное, здесь ошибка: >>59198

>"внутренние" ноды НЕ СОХРАНЯЮТСЯ


Но мне лень проверять. Костыли какие-то...
120 959209
>>59198

> ArrayMesh для MeshInstance3D, эти данные по умолчанию будут сохранятся в .tscn-файл


Попробуй сохранить сцену как .scn, там бинарник будет, возможно все будет так быстро, что ты даже не заметишь.
hover.mp46,3 Мб, mp4,
1080x600, 0:53
121 959239
>>58498 (OP)
Как сделать весёлый контроллер?..
122 959251
>>59198

>internal


Полезная инфа. Даже без учета сохранений полезно. Например чтобы сделать дополнительный визуальный дебаг и не париться что споткнешься об него в коде.
image.png423 Кб, 1280x640
123 959253
>>59239
Нужно больше JUICE. При столкновении добавь партикли-искры , дрожание меша, посади внутри пчелика и пусть он подпрыгивает. Показывай высокую скорость с помощью radial blur, speed lines и изменение fov.
124 959259
>>59253

>больше JUICE


Про это знаю, но СОК на ранних этапах только замаскирует механические проблемы.

Вот, например, машинка иногда при столкновении очень сильно закручивается. Почему - непонятно, нет какой-то логики, нельзя сознательно контролировать, поэтому раздражает (и как разработчика, и как игрока). Возле земли легко перевернуться на крышу и это раздражает, а далеко от земли контроля над вращением по осям X/Z почти нет, только Y. Вообще, идея была сделать что-то вроде этого: http://store.steampowered.com/app/1366560/ - но лететь высоко над землёй скучно, потому что абсолютно ничего не происходит. Точно такая же проблема в GTA Online с Deluxo - на земле/низко над землёй можно дрифтить, маневрировать, а вот в полёте высоко над землёй ты тупо по прямой движешься, и это скучно.

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

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

Вообще если честно мне все сложней делать игры. Я уже как год рнн, и то что я сделал ставку на геймдев - обременяет. Дохуя сил с нулевым выхлопом, а часики то тикаю, оглянуться не успел как четверть века мне стукнуло. Еще и эти сосанкции блядские, без анальным вертением жопы хуй выложишь игру в тот же гуглплей, или стим. А хуже всего то что на это еще и деньги нужны. Да даже если изъебнешься с релизом на площадки, деньги с них так просто хуй выведешь. Вообще изначально геймдев был увлечением, но решил попробовать заработать на этом, чому бы нет. Это я все к чему, в свободное время решил почитывать книжечки по питону + вся эта хуйня которую везде требуют. Мб в бекенд куда получится.

Вот бы выпустить игру которая заработает мне пару десятков тысяч бычей. Я разве многого прошу?
126 959264
>>59263
Все таки лотерейные билетики выглядят надежнее...
127 959265
>>59264
По сравнению с геймдевом любой вариант будет надежнее.
128 959266
>>59263
А я как раз пару лет назад из питоно-бекенда выкатился в геймдев. Полет нормальный.

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

А санкции да, кусаются. Меня и вебдеве они кусали. Пришлось подсуетиться. Ну, без способа обхода санкций в 2к24 остается ровно один вариант, и в вебдеве и в геймдеве - работать на компанию внутри РФ.
129 959271
>>59266

>А я как раз пару лет назад из питоно-бекенда выкатился в геймдев


Как так получилось? Геймдев же по сути даунгрейд, по крайней мере с моей колокольни. Что можешь посоветовать покурить дельного?

>Ящитаю в геймдев три стабильных пути


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

>работать на компанию внутри РФ


Еп, поэтому и решил начать с яндекса.
130 959283
>>59271
По деньгам/стабильности/простоте да, даунгрейд. Крипово смотреть как бывшие коллеги гребут бабло, а ты копейки центы, при этом въебываешь в три раза больше аки человек-оркестр. К счастью могу себе позволить. Прост после десятка лет в вебе заебала его безыдейность, офисность, тупость, нормисовость.

>Что можешь посоветовать покурить дельного?


Как всегда - выбираешь инструмент, читаешь документацию и сразу начинаешь делать, набивать скилл. У нас джанга была плюс пара-тройка мелких фреймворков и легаси кал на пхп. На оф.доках у джанги есть туториалы. Альтернативно по hh.ru посмотри чего сейчас востребовано.
131 959321
>>59266
>>59263

Поддержу анонов. Сам работаю больше инженером с серверами и связью. Тоже делаю свой проект в годоте. Долго думал что мне интересно и куда расти. Понял что душа лежит в геймдев. Знаю что лотерея и надежнее идти в бэк, но не хочу. Пусть она никому не будет нужна, но чувствую что идея меня не отпустит пока её не реализую. Пусть криво и косо но надо сделать это. Пилю в свободное от работы и семейных дел время. Хочу выпустить демку-первый уровень а потом посмотреть взлетит или нет. Взлетит - буду искать издателя, если же нет, то успокоюсь что достиг цели и будут идти дальше, может вообще в другом направлении.
гигакубы.mp45,5 Мб, mp4,
648x360, 0:50
132 959322
>>59259

>идея была сделать что-то вроде этого


Ладно, идея херня, мне не нравится.
Лучше попробую с NPC что-то сделать.
133 959325
>>59321

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



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

Хорошие вопросы для медитации.
- Если бы ты сто процентов знал что игра все-равно провалится. Какой бы ты сделал эту игру.
- Если бы ты точно знал что тебя ждет гарантированный успех. Какой бы ты сделал свою игру.
134 959342
>>59322
>>59259
А как делают ИИ для гонок?
135 959346
>>59263
Эта игра? https://reddit.com/r/godot/comments/nraofa/
Или эта? https://reddit.com/r/godot/comments/1crzs01/

>рисовать мышкой ну такое


1. Рисуй на бумаге карандашом - обводи на ПК.
2. Рисуй чисто векторный арт в Inkscape, в SVG.

>я сделал ставку на геймдев


Это можно делать только когда есть лишние деньги.

>десятков тысяч бычей. Я разве многого прошу?


Шансы выстрелить у рандомных игр минимальны. Заработок на геймдеве требует чётко планировать целевую аудиторию, рекламировать проект во всех соцсетях, поддерживать уже имеющихся фанатов. Геншин импакт, например, особо не выделяется по геймдизайну, но они подготовили свою аудиторию. Рокстаровская ГТА 5 стала бы очередным дешёвым проходняком, если бы не репутация прежних ГТА. Успешные индюки обычно имеют крепкую фанбазу.

>>59271

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


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

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

>>59325

>из области самореализации


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


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


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

>Какой бы ты сделал эту игру.


>Если бы ты знал что игра все-равно провалится.


Если работать в стол, то про свой личный фетиш: то, что больше всего по жизни привлекает лично тебя.

>Если бы ты точно знал что тебя ждет успех.


Успешную игру нужно делать такой, чтобы её легко было поддерживать и дополнять новым контентом, потому что без поддержки/обновлений даже самые успешные игры умирают. Скажем, успех GTA Online держится за счёт ежегодных бесплатных DLC.
135 959346
>>59263
Эта игра? https://reddit.com/r/godot/comments/nraofa/
Или эта? https://reddit.com/r/godot/comments/1crzs01/

>рисовать мышкой ну такое


1. Рисуй на бумаге карандашом - обводи на ПК.
2. Рисуй чисто векторный арт в Inkscape, в SVG.

>я сделал ставку на геймдев


Это можно делать только когда есть лишние деньги.

>десятков тысяч бычей. Я разве многого прошу?


Шансы выстрелить у рандомных игр минимальны. Заработок на геймдеве требует чётко планировать целевую аудиторию, рекламировать проект во всех соцсетях, поддерживать уже имеющихся фанатов. Геншин импакт, например, особо не выделяется по геймдизайну, но они подготовили свою аудиторию. Рокстаровская ГТА 5 стала бы очередным дешёвым проходняком, если бы не репутация прежних ГТА. Успешные индюки обычно имеют крепкую фанбазу.

>>59271

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


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

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

>>59325

>из области самореализации


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


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


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

>Какой бы ты сделал эту игру.


>Если бы ты знал что игра все-равно провалится.


Если работать в стол, то про свой личный фетиш: то, что больше всего по жизни привлекает лично тебя.

>Если бы ты точно знал что тебя ждет успех.


Успешную игру нужно делать такой, чтобы её легко было поддерживать и дополнять новым контентом, потому что без поддержки/обновлений даже самые успешные игры умирают. Скажем, успех GTA Online держится за счёт ежегодных бесплатных DLC.
136 959360
>>59342

>ИИ для гонок


Гонки разные бывают. Опишу несколько по своим мыслям, попыткам реализации и каким-то постам:

1. Простая гонка по трассе (может быть в городских декорациях, но путь всего один): на пути вейпойнты, неигровые машинки едут по ним. Вот это поможет:
https://docs.godotengine.org/en/stable/classes/class_path3d.html
Геймплейно в гонках по трассе компьютер обычно подстраивается под игрока: если игрок отстаёт, все машинки впереди тормозят, если игрок опережает, отстающие машинки ускоряются (rubberbanding):
https://youtu.be/mv2yJc2Y-Io
Практически не существует гонок без этой фичи.

2. Гонка с произвольным маршрутом: путей просто несколько, машинки выбирают рандомные. Можно использовать AStar: у каждой машинки свои веса вейпойнтов => предпочитают разные маршруты.

3. Demolition Derby: машинки самонаводятся на ближайших либо рандомных противников, и тупо ускоряются до столкновения, затем повторяют.

4. Погони за игроком: машина игрока спавнит новые вейпойнты по ходу движения, и машины противника преследуют по этому пути, либо используется AStar. В ГТА отставшие копы деспавнятся и спавнятся новые, приблизительно по курсу движения игрока.

Отдельно нужно рассмотреть уклонение машин от препятствий: это СЛОЖНО и простыми рейкастами достаточно умный ИИ не сделать. Поэтому в гонках практически не бывает серьёзных препятствий, а машинки чаще всего респавнятся после аварий. За пределами видимости игрока они могут вообще полностью отключать физику и ехать сквозь все препятствия, т.к. игрок этого не заметит.

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

Алгоритм наведения на цель очень прост, там нужен только процент угла между двумя векторами:
https://docs.godotengine.org/en/stable/classes/class_vector3.html#class-vector3-method-dot
Для наземных гонок можно использовать Vector2.
136 959360
>>59342

>ИИ для гонок


Гонки разные бывают. Опишу несколько по своим мыслям, попыткам реализации и каким-то постам:

1. Простая гонка по трассе (может быть в городских декорациях, но путь всего один): на пути вейпойнты, неигровые машинки едут по ним. Вот это поможет:
https://docs.godotengine.org/en/stable/classes/class_path3d.html
Геймплейно в гонках по трассе компьютер обычно подстраивается под игрока: если игрок отстаёт, все машинки впереди тормозят, если игрок опережает, отстающие машинки ускоряются (rubberbanding):
https://youtu.be/mv2yJc2Y-Io
Практически не существует гонок без этой фичи.

2. Гонка с произвольным маршрутом: путей просто несколько, машинки выбирают рандомные. Можно использовать AStar: у каждой машинки свои веса вейпойнтов => предпочитают разные маршруты.

3. Demolition Derby: машинки самонаводятся на ближайших либо рандомных противников, и тупо ускоряются до столкновения, затем повторяют.

4. Погони за игроком: машина игрока спавнит новые вейпойнты по ходу движения, и машины противника преследуют по этому пути, либо используется AStar. В ГТА отставшие копы деспавнятся и спавнятся новые, приблизительно по курсу движения игрока.

Отдельно нужно рассмотреть уклонение машин от препятствий: это СЛОЖНО и простыми рейкастами достаточно умный ИИ не сделать. Поэтому в гонках практически не бывает серьёзных препятствий, а машинки чаще всего респавнятся после аварий. За пределами видимости игрока они могут вообще полностью отключать физику и ехать сквозь все препятствия, т.к. игрок этого не заметит.

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

Алгоритм наведения на цель очень прост, там нужен только процент угла между двумя векторами:
https://docs.godotengine.org/en/stable/classes/class_vector3.html#class-vector3-method-dot
Для наземных гонок можно использовать Vector2.
137 959380
>>59360

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


Как понимаю примерно так беспилотные автомобили работают в ирл. Вместо рейкастов Лидар и камеры, ну и плюс гпс.
138 959412
>>59380

>беспилотные автомобили


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

В любом случае, ИИ в гоночках на порядки проще необходимых беспилотным автомобилям систем.
139 959413
>>58498 (OP)
Аноны, привет вам. Геймдевлю в качестве хобби изредка. Последний раз в годоте делал что-либо 2 года назад. Сейчас решил снова сделать что-нибудь, смотрю что стало с годотом.
Поясните за текущее состояние шарпа в годоте. Его поддержка развивается или авторы потихоньку забивают на него?
Я последний раз работал с годотом года два назад еще в третьей версии (как раз когда майкрософт задонатил им бабла на "шарп мне в годоте запили").
Что меня смутило сейчас. В 3-й версии можно было на текущей на тот момент версии .Net-а делать проекты и под десктоп, андроид и под веб. Сейчас же смотрю, под десктоп поддержка .Net6, под андроид .Net7, под ios .Net8, под веб вообще нет (пиздуйте типа на 3-ю версию)

>Currently, projects written in C# cannot be exported to the web platform. To use C# on that platform, consider Godot 3 instead.


Короче какой-то зоопарк. Это теперь насовсем в годоте или все-таки у авторов есть нормальный план развития?

И второй вопрос, в 2Д графике завезли нормальный батчинг для тайловой графики? В 3-й версии там вообще пиздец был.
140 959418
>>59413

>состояние шарпа в годоте. Его поддержка развивается


Да, вроде как развивается, но по-прежнему GDScript лучше. Поддержка дотнета была и остаётся третьестепенной задачей, поскольку кодеров на C# исчезающе мало в сообществах Godot, большинство либо начинает и остаётся на GDScript, либо пробует его и переходит на него с C#/других языков. По производительности ты в любом случае ограничен API движка, а самый быстрый код в любом случае будет C++ с перекомпиляцией всего движка (модуль), но большинству игр на Godot не нужно выжимать эти наносекунды. По возможностям языка GDScript имеет всё, что нужно для ООП скриптования игр и даже больше. Вообще не понимаю желание людей связать себя оковами .NET-зависимости, когда можно обойтись без неё.

>какой-то зоопарк


В 4.x много чего переписали. Главным образом - рендеринг с OpenGL на Vulkan, поддержку OpenGL с нуля переписывали, но только 3.3 версии (GLES3). Дотнет прикручивали заново, но не сразу - ждали выхода какой-то новой мажорной версии дотнета, чтоб сразу актуальную версию прикрутить, чем дело кончилось - без понятия. С вебом проблем по-прежнему много, сейчас его опять переделывают, но веб, ИМХО, вообще нинужен, т.к. там никогда ничего полноценно не работает и не заработает уже - скажи спасибо браузерным монополистам, что о так называемой "безопасности" своих пользователей заботятся. Если ты делаешь игру под веб, автоматически умножай доступные тебе ресурсы на 0.1, т.е. даже на мощном ПК будет уровень начала 00-х, а на мобилках в браузере вообще практически ничего не работает, если это не актуальный флагман за 150к (пытался играть в Яндекс.Игры, говно нерабочее даже в Яндекс.Браузере, а тот же itch.io просто в целом говно). Так что это не проблема движка, те же юнити-игры в браузере такое же говно, что и все остальные браузерные игры (если говорить о современных, а не о древних).

>в 2Д графике завезли нормальный батчинг для тайловой графики?


СКАЧАЙ @ ПРОТЕСТИРУЙ, тебе лень zip-архив на 50 МБ распаковать?
Я понимаю, если б ты про юнити спрашивал (10 Гб) или УЕ (20 Гб)...

Да, я в плохом настроении, а что?
140 959418
>>59413

>состояние шарпа в годоте. Его поддержка развивается


Да, вроде как развивается, но по-прежнему GDScript лучше. Поддержка дотнета была и остаётся третьестепенной задачей, поскольку кодеров на C# исчезающе мало в сообществах Godot, большинство либо начинает и остаётся на GDScript, либо пробует его и переходит на него с C#/других языков. По производительности ты в любом случае ограничен API движка, а самый быстрый код в любом случае будет C++ с перекомпиляцией всего движка (модуль), но большинству игр на Godot не нужно выжимать эти наносекунды. По возможностям языка GDScript имеет всё, что нужно для ООП скриптования игр и даже больше. Вообще не понимаю желание людей связать себя оковами .NET-зависимости, когда можно обойтись без неё.

>какой-то зоопарк


В 4.x много чего переписали. Главным образом - рендеринг с OpenGL на Vulkan, поддержку OpenGL с нуля переписывали, но только 3.3 версии (GLES3). Дотнет прикручивали заново, но не сразу - ждали выхода какой-то новой мажорной версии дотнета, чтоб сразу актуальную версию прикрутить, чем дело кончилось - без понятия. С вебом проблем по-прежнему много, сейчас его опять переделывают, но веб, ИМХО, вообще нинужен, т.к. там никогда ничего полноценно не работает и не заработает уже - скажи спасибо браузерным монополистам, что о так называемой "безопасности" своих пользователей заботятся. Если ты делаешь игру под веб, автоматически умножай доступные тебе ресурсы на 0.1, т.е. даже на мощном ПК будет уровень начала 00-х, а на мобилках в браузере вообще практически ничего не работает, если это не актуальный флагман за 150к (пытался играть в Яндекс.Игры, говно нерабочее даже в Яндекс.Браузере, а тот же itch.io просто в целом говно). Так что это не проблема движка, те же юнити-игры в браузере такое же говно, что и все остальные браузерные игры (если говорить о современных, а не о древних).

>в 2Д графике завезли нормальный батчинг для тайловой графики?


СКАЧАЙ @ ПРОТЕСТИРУЙ, тебе лень zip-архив на 50 МБ распаковать?
Я понимаю, если б ты про юнити спрашивал (10 Гб) или УЕ (20 Гб)...

Да, я в плохом настроении, а что?
141 959421
>>59413

>ли все-таки у авторов есть нормальный план развития?


Какой "план развития" ты ожидаешь от опенсурса?

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

>+49.98% скорости в моих бенчмарках, где я числа складываю 100500 раз за кадр


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


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

Всё-всё, ухожу пить успокоительное.
142 959427
>>58637
Анон продающий бабушкин шкаф. Возможно тебе будет интересно:
https://kemono.su/patreon/user/17901730

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

Подобрал референс по стилю/дизайну/хзкакэтоназывается для модельки персонажа
https://skfb.ly/oRUOT

>>59427

>продающий бабушкин шкаф.


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

>>59427

>которая переезжает в деревню и постепенно решает никогда больше не носить никакой одежды


Ну и срань.
144 959440
>>58637

> Вспомнил что существует Makehuman и пытаюсь сгенерить ГГ


С мэкхуманом странная тема. Разработчики наотрез отказываются добавлять режим перспективы в камеру, искаропки есть только изометрический режим. На форумах они несут бред о том, что начтоящие скульпторы скульптинга и моделинга работают исключительно в изометрии. Сообщество послушало, покрутило пальцем у виска и запилили неофициальный мод, добавляющий перспективу. Без него в мейкхумане невозможно полноценно работать.
145 959441
>>59440
С перспективным модом в МН по референсам вполне реально запиливать кого захочешь.
Screenshot6.png1,6 Мб, 1480x782
146 959459
Нужно что-то придумать на замену декалям для Compatibility мода, иначе стены будут совсем однообразными и игрок будет теряться между тремя однотипными этажами.

>>59440

>неофициальный мод


Скачал этот плагин, но почему-то не удается отдалить/приблизить камеру, не реагирует на колесико мыши.
image.png1,6 Мб, 1346x1346
147 959477
Делайте игры.
148 959482
>>59440
Мэкхуман стендэлон нафик не нужен, давно есть плагин в блендер.
149 959485
>>59459
В 3 годоте были декали аддонами - может можно перенести оттуда?
150 959489
>>59427

>Чел пилит игрушку про девушку


>это аниме лицо по умолчанию


Совсем у людей фантазии нет...

>>59439

>референс по стилю для персонажа


>этот фотореализм по умолчанию


Совсем у людей фантазии нет...
1719789849703.jpg133 Кб, 762x567
151 959506
>>59477
Движок-то у нас есть. У нас идей скилла не хватает
152 959529
>>59482
Хуясе я пропустил виток эволюции! Оке теперь буду МПФБ советовать.
153 959562
Есть какая-то глубокая философская разница между выставлением ребёнка ноды через [Export] и через её поиск при инициализации родителя?
154 959570
>>59562
Экспорт обновит ссылку на ноду, если ты эту ноду подвигаешь/переименуешь в редакторе. Поиск при ините родителя - тут уже как сам зделоешь.
155 959580
>>59562

>поиск при инициализации родителя


Кого искать будешь? Откуда имя возьмёшь?

>выставлением ребёнка ноды через @export


Это нужно, чтобы связи между скриптом и нодами сохранялись в .tscn-файл, а не в твоих скриптах.
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_exports.html

>In Godot, class members can be exported. This means their value gets saved along with the resource (such as the scene) they're attached to. They will also be available for editing in the property editor. Exporting is done by using the @export annotation.

image.png854 Кб, 1100x1222
156 959665
Ну что, сегодня начнется двачерский конкурс, так что надо бы испытать свой годотовский 4-месячный скилл
157 959668
>>59665
Не участвую. Там и без меня клоунов достаточно.

Лучше продолжу думать над своей игрой мечты.
158 959670
>>59665
Зачем мне тратить время на игру для конкурса, если я могу тратить его на свою?
159 959675
>>59665
Удачи. А я продолжу свою пилить.
image.png569 Кб, 933x700
160 959679
>>59670
1. Челлендж. Время ограничено 2 неделями, а не как тебе захотелось
2. Можешь получить за это 5000 руб
2. Какой-нибудь ИНФЛЮЕНСЕР решит посмотреть игры с конкурса, станет спонсором твоей игры, найдет издателя, а потом выход в стиме и на пс5
161 959683
>>59670
>>59675
Лулзы
+
Увеличить видимость движка
Прикинь как все охуеют если >60% игр присланых на годоте.
162 959684
>>59683
Это все здорово, дерзай. Может отработаешь идею, потом в полную силу игру запилишь.
163 959692
>>59683
То ли это только на годоте все такие стеснительные паникеры. То ли вообще на дваче такие девелоперы, девственники.
164 959697
>>59684
Да у меня и так игр за жизнь много сделано. Подтягивайтесь.
165 959700
В общем с каждого по две демки и одной финалке. Отмазы не принимаются.
Screenshot8.png389 Кб, 1480x764
166 959853
>>59459
Очередной затык с блендером. Запекание текстуры занимает по часу, хотя запекание происходит с двух текстур, плюс разделитель в виде нойза вдоль синусоиды. До этого такого не было. Что поменялось - хз. Уже даже хочется положить болт и просто пересобрать текстуру стнеки шейдер нодами прямо в годот.
167 959864
>>59853

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


Я не понял, но, может, использовать SubViewport?

1. Собираешь пачку текстур.
2. Рендеришь процедурную текстуру.
3. Вставляешь её в материал своих стен.

Преимущество: меньше вычислений на кадр.
Недостаток: больше видеопамяти для текстур.
168 959867
>>59459

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


С NoiseTexture2D легко добавить говна: >>59322

>игрок будет теряться между тремя этажами


Добавь огромные цифры: 1, 2, 3.
На первом этаже почтовые ящики.
На последнем этаже лесенка на крышу.
Плюс двери в квартиры разных цветов.
169 960005
>>59668

>Лучше продолжу думать


А делать будешь?
170 960036
>>59459
Идея как превратить твою игру в высокое искусство. Игра не про мелкую пизду, а про женщину в пожилом возрасте.

Пионерка годо-чан, заглядывает в одно из зеркал, и видит там бабку с синими волосами. -рассмотреть поближе-. Камера надвигается. "Что за?". -рассмотреть еще ближе-. Камера показывает от лица пионерки, мы смотрим на бабку в отражении. Двигаем стрелками, двигается бабка. Отводим бабку от зеркала, и камера перескакивает в зазеркалье к бабке. Весь дом, предметы, и надписи отражены. И вообще оказывается что мы перескочили на пол века в будущее. Пионерка в роли бабки с альцгеймером познает современный мир, где все ветхое и засранное. Но можно подойти к чудесному зеркалу порталу и вновь сбежать в уютное детство.
171 960045
А для 3д есть аналог тайлмапов? Есть гридмап, но его соседние клетки не реагируют друг на друга. В 2д тайлмапы меняют свой тип клеток в зависимости от окружающий клеток - мне вот такое надо.
172 960056
>>60045
Вручную надо делать на скриптах, есть видос на ютубе.
173 960070
>>60056

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


Помоги найти.
174 960072
175 960092
>>60070
А вот тут он подробно рассказывает как сделать тайлы-модели
https://www.youtube.com/watch?v=JHF3d0M59qs
176 960135
>>60072
>>60092
Охуенно. Спасибо, анон.
177 960154
>>60005

>>Лучше продолжу думать


>А делать будешь?


Уже много лет пытаюсь что-то сделать, но каждый раз спотыкаюсь о какие-то проблемы, о которых не подумал заранее. Приходится выбрасывать уже сделанное (сцены, код, арт и т.д.) и переделывать с нуля, или совсем выбрасывать идею и выдумывать новую. Перебрал множество способов вести диздок, но не получается тщательно продумать игру. Без продумывания всех деталей можно только совсем тривиальные вещи делать. Десятки папок проектов, сотни выброшенных сцен и скриптов, но ни одной полноценной игры, в которой контента было бы больше, чем на пару минут - потому что без твёрдой стабильной базы контент делать нельзя, а базы у меня пока нет - не продумана. Нейронки не помогают...
35.png27 Кб, 200x200
БЛИЦОПРОС 178 960257
Как вы проверяете существование объекта?
A) if object: ...
B) if is_instance_valid(object): ...
C) if object != null: ...
D) if null != object: ...
179 960259
>>60257
Очевидно, что А, но с полным пониманием, что А это сахар, в котором под капотом В.
180 960269
>>60257
list_of_important_for_me_objects[]
image.png833 Кб, 750x500
181 960360
Оно эволюционирует, руки-ноги отрастило, скоро само игры делать начнет.
182 960384
>>60360

>скоро само игры делать начнет.


скорее будет прокрастинировать за нас.
my godot wont stop doing this.mp45,9 Мб, mp4,
854x480, 1:13
183 960403
>>60360
Не шути так.
184 960438
>>59477
А что делать после того, как сделал игровые механики для игры мечты? Только сюжет нужен, а его ни в голове, ни в chatGPT нет. Как вообще найти вдохновение? Поиграл в кучу индюшатины, в игры с хбох360 и пс4, в разные игры на пк попробовал, а идей ноль, даже после блек месы.
185 960457
>>60438
Заходи в тред игровых идей и воруй любую. >>605406 (OP)
186 960471
Что-то сборка коридорной локации в Godot получается очень сложной. Особенно свет от sun источника света, который на пофиг херачит сквозь щели между этажми. Не говоря о том насколько сложная навигация по коридорам не только в Godot но и в Bleknder. Должен быть способ упростить рабочий процесс.

>>60036
В этом что-то есть.
187 960473
>>60471

> Особенно свет от sun источника


Очевидно убери его ну или как минимум отключи ему тени и оче сильно смягчи. Для интерьерной локации нужен камерный свет. Отдельными точками.
1720025010342.jpg46 Кб, 595x420
188 960475
>>60036
Ты охуенен!
189 960476
>>60471

>коридорной локации


>sun источника света


Нинужен, выключай.

>сложная навигация по коридорам


Управление на WASD используешь?
Или тебе непривычно в FPS играть?
190 960478
>>60438

>Только сюжет нужен


Хорошей игре не нужен.

>в chatGPT нет.


Skill issue.

Вот сюжет уровня GTA:
- опустившийся на дно герой
- хочет начать с чистого листа
- старые связи тянут обратно
- превозмогает изо всех сил
- побеждает всех злодеев
100% гарантия успеха.
Screenshot11.png1,1 Мб, 956x713
191 960481
>>60473

>Для интерьерной локации


Мне нужен ортогональный источник света из окна, чем заменить?

>>60476

>Управление на WASD


Хорошо для пролета и осмотра, но не для расположения объектов.
192 960486
>>60481

> Мне нужен ортогональный источник света из окна, чем заменить?


Запечь.
193 960487
>>60486
Как?
194 960488
>>60481

>источник света из окна


Время суток меняться будет динамически?

Если нет, тогда вот это попробуй:
https://docs.godotengine.org/en/stable/tutorials/3d/global_illumination/using_lightmap_gi.html

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

>>60471

>сквозь щели между этажми


Где у тебя там щели? Разве это не один целый меш?
Screenshot12.png48 Кб, 1056x87
196 960490
>>60488

> вот это попробуй

197 960494
А че как проиграть анимацию задом наперед можно?
198 960496
>>60471

>между этажми


Разобрался, стенки оказались слишком тоники, нужно увеличить толщину в модификаторе Solidify. Но тогда стены слишком толстые. Уберу solidify, сделав стены без толщины, а вокруг, снаружи, построю невидимую литую коробку для отбрасывания тени.
199 960497
>>60496

>невидимую литую коробку для отбрасывания тени


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

>>60490
Ты под мобилки или под веб делаешь?
У тебя ноутбук со встроенным видеочипом?
200 960499
>>60497

>Зачем тебе Солнце там, где нет окон?


У меня по балкону на каждом этаже.

>>60497

>Ты под мобилки или под веб делаешь?


Я делаю на пк который не поддерживает Forward+
201 960500
>>60490
Алсо, запечь свет можно и в Blender. Но для этого всю сцену необходимо собрать в самом Блендере, или экспортировать как gltf из Godot.

>>60481

>источник света из окна


Вообще, если ты делаешь игру в ретро-стиле, то в настолько старых играх с таким светом особо не парились: создавали полупрозрачный "конус света" или "лучи света".
202 960503
>>60438

>сделал игровые механики для игры мечты


А что у тебя за механики?

Я бы вот хотел механики для NPC друзей... Как говорится, игры нужны для реализации фантазий, недостижимых в реальности... Но это так сложно.
e851fb38fcd740e043df93a70100c8ff.jpg52 Кб, 563x618
203 960510
>>60500

> Но для этого всю сцену необходимо собрать в самом Блендере



Скорее всего это единственный вариант - собирать по максимуму в блендере. Со светом впереди еще вырисовывается проблема чудовищных просадок фпс от динамический теней, то есть так и так нужно где-то запекать, а так как пк не тянет forward+, придется сопоставлять настройки освещения движка и 3д редактора.
204 960514
>>60510

>просадок фпс от динамический теней


У тебя там дискотека что ли?
Screenshot15.png628 Кб, 738x449
205 960517
>>60514
4 омника с тенями - 1 в комнате, 1 на кухне, 1 в ванной, 1 в коридоре. В сумме просаживают фпс до 24 кадров
206 960560
>>60517

>4 омника с тенями


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

>просаживают фпс до 24 кадров


Конечно. Потому что у тебя там тысячи треугольников на каждой мелкой фиговинке, сам говорил что у тебя часы на стене над холодильником содержат ~7000 треугольников вместо логичных двух, ведь они мелкие, плоские и далеко от камеры (да и вообще, такие объекты не должны отбрасывать тени). Каждый источник света с тенями рендерит как минимум часть твоей сцены ещё раз. На OpenGL каждый меш требует минимум один вызов отрисовки (draw call), может больше - если содержит несколько материалов. Всё это суммируется в сотни/тысячи вызовов, которые твой видеочип не тянет.

Кроме FPS выводи ещё Performance.RENDER_TOTAL_DRAW_CALLS_IN_FRAME.

Если хочешь сохранить динамические тени, выключи отбрасывание теней у всех лишних объектов (висящих на стенах/стоящих вплотную к стене), особенно мелких (все эти картинки, часы и т.п.). Можно объединить мелкие объекты одним невидимым мешем, отбрасывающим тень как их общий силуэт. Ещё есть вот эта настройка, для оптимизации больших мешей с мелкими деталями:
https://docs.godotengine.org/en/stable/classes/class_arraymesh.html#class-arraymesh-property-shadow-mesh
Нужно сделать примитивный меш, приблизительно похожий по форме на объект. Игрок разницы не заметит, тем более если тени будут размытыми (какими они и должны быть в условиях квартиры). Скажем, у тебя было кресло-каталка - выглядит сложно, но вряд ли ему нужна чёткая тень со всеми дырками. Кто в это будет всматриваться? У тебя же не театр теней.

Вообще, рекомендую пока выключить тени совсем и заниматься наполнением игры геймплеем, историей, локациями и т.п. Пока у тебя не финальные сцены с финальными моделями, возня с тенями будет преждевременной оптимизацией, что в будущем скорее всего потребует многое переделывать. Преждевременно вылизывать графику имеет смысл только если планируешь пораньше пиарить игру в соцсетях, завлекая красивой картинкой. Да и то, чаще всего делают фейковые рендеры из Блендера, а игра на релизе выходит с порезанной графикой, чтобы работала лучше у большинства игроков.
206 960560
>>60517

>4 омника с тенями


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

>просаживают фпс до 24 кадров


Конечно. Потому что у тебя там тысячи треугольников на каждой мелкой фиговинке, сам говорил что у тебя часы на стене над холодильником содержат ~7000 треугольников вместо логичных двух, ведь они мелкие, плоские и далеко от камеры (да и вообще, такие объекты не должны отбрасывать тени). Каждый источник света с тенями рендерит как минимум часть твоей сцены ещё раз. На OpenGL каждый меш требует минимум один вызов отрисовки (draw call), может больше - если содержит несколько материалов. Всё это суммируется в сотни/тысячи вызовов, которые твой видеочип не тянет.

Кроме FPS выводи ещё Performance.RENDER_TOTAL_DRAW_CALLS_IN_FRAME.

Если хочешь сохранить динамические тени, выключи отбрасывание теней у всех лишних объектов (висящих на стенах/стоящих вплотную к стене), особенно мелких (все эти картинки, часы и т.п.). Можно объединить мелкие объекты одним невидимым мешем, отбрасывающим тень как их общий силуэт. Ещё есть вот эта настройка, для оптимизации больших мешей с мелкими деталями:
https://docs.godotengine.org/en/stable/classes/class_arraymesh.html#class-arraymesh-property-shadow-mesh
Нужно сделать примитивный меш, приблизительно похожий по форме на объект. Игрок разницы не заметит, тем более если тени будут размытыми (какими они и должны быть в условиях квартиры). Скажем, у тебя было кресло-каталка - выглядит сложно, но вряд ли ему нужна чёткая тень со всеми дырками. Кто в это будет всматриваться? У тебя же не театр теней.

Вообще, рекомендую пока выключить тени совсем и заниматься наполнением игры геймплеем, историей, локациями и т.п. Пока у тебя не финальные сцены с финальными моделями, возня с тенями будет преждевременной оптимизацией, что в будущем скорее всего потребует многое переделывать. Преждевременно вылизывать графику имеет смысл только если планируешь пораньше пиарить игру в соцсетях, завлекая красивой картинкой. Да и то, чаще всего делают фейковые рендеры из Блендера, а игра на релизе выходит с порезанной графикой, чтобы работала лучше у большинства игроков.
207 960562
>>60494

>проиграть анимацию задом наперед


Какую страницу из документации ты не осилил прочитать?
https://docs.godotengine.org/en/stable/classes/class_animatedsprite2d.html#class-animatedsprite2d-property-speed-scale

>If set to a negative value, the animation is played in reverse.


https://docs.godotengine.org/en/stable/classes/class_animationplayer.html#class-animationplayer-property-speed-scale

>If set to a negative value, the animation is played in reverse.


https://docs.godotengine.org/en/stable/classes/class_animationnodetimescale.html

>Allows to scale the speed of the animation (or reverse it) in any child AnimationNodes.


https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html#timescale

>Allows scaling the speed of the animation (or reverse it) connected to the in input via the scale parameter.

208 960582
>>60560

>Ты уверен, что тебе позарез нужны эти тени?


Да.

>>60560

>Вот эта полупрозрачная сопля на полу в коридоре как-то не добавляет атмосферы



Добавляет.

>>60560

>Потому что у тебя там тысячи треугольников на каждой мелкой фиговинке, сам говорил что у тебя часы на стене над холодильником содержат ~7000



У таких полигональных фиговин, фиговин слишком маленьких чтобы отбрасывать нормальные тени из-за параметра shadow bias, или просто не попадающих в кадр достаточно, тени были отключены сразу.
209 960585
>>60517

>4 омника с тенями - 1 в комнате, 1 на кухне, 1 в ванной, 1 в коридоре. В сумме просаживают фпс до 24 кадров



Попробуй так. Запекай все тени от статичных объектов с статичными источниками света. И перенеси их в отдельный слой, в котором они не будут отбрасывать тени но смогут их ловить. А главного персонажа и объекты которые можно двигать, оставь в слое, в котором они смогут отбрасывать тени. Картинка не поменяется никак, но с производительностью должно помочь. Еще можешь некоторые объекты выделить в третий слой, где они будут полу-динамичными. То есть смогут иметь несколько конкретных положений, и ты сможешь переключать для каждого положения готовую запеченную тень. Например если дверь будет открываться без анимации, а будет иметь два положения, закрыто и открыто.
210 960596
>>60585

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



Хорошая идея. Попробую, спасибо.
211 960633
>>60500

> Но для этого всю сцену необходимо собрать в самом Блендере


Как минимум, в блендере нужно расставить ассеты в тех же местах, чтобы потом запечь свет в текстуры, а уже потом текстуры с запечёным светом расставить по ассетам в годоте. Но в целом да, по сути, чем джва раза сцену собирать, проще уж её целиком из блендера впихнуть.
212 960639
>>60585
Отличное решение, где же ты был 10 тредов назад. Я с тех времен успел ограничить себя одним омнилайтом-персонажем-феей, следующей за ГГ, и вплел ее в лор и историю, а мир погрузил во тьму.

>>60596
Отпишись плз потом насколько с фпс помогло.
213 960653
>>60639
Не спеши с выводами. Я начал пост со слов попробуй.

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

Еще попробуй технические проблемы обсуждать с нейронками, скорее всего они выдадут целый букет советов по оптимизациям разного рода, из которых хоть что-то да пригодится.
twg.mp412,7 Мб, mp4,
1280x1024, 0:56
214 960675
А вот и моя демочка на твг, так что цветочный магазин пока на паузе. Если честно вообще не ебу че мне делать с игрой в плане геймплея, в голову вообще ничего не лезет дельного, мыслишки конечно есть кое какие, но нужно хорошенько их обдумать что бы нормальное вышло что то. А пока что так.
215 960711
>>60675
Не понимаю что за тема с тапанием на f.

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

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

Еще думаю тапы можно сделать не бинарными, а с небольшой шкалой.
Плохо - когда реально далеко тапнул,
нормально - короткая область между плохо и хорошо.
Хорошо - свит спот.
идеально - очень короткая область в самом центре свит спота.
image.png1,5 Мб, 782x1200
216 960726
>>60675
У тебя напряженная игра и по геймплею и по атмосфере. Предлагаю усилить это - таймер в виде ограниченного количества сердцебиений. За таймер ты должен найти и добежать до нового сердца, после чего таймер вернется в исходное положение, допустим 100 ударов, и далее к новому сердцу. Бегай, паникуй, ищи, тапай, спеши.
217 960727
>>60711
Бесконечные, тапы будут объяснены лором, наверное. Вкратце, ты искуственно поддерживаешь жизнь, не хочешь сдохнуть - тапай. На данный момент это грубая реализация того что планирую сделать, позже тапы будут синхронизированы со звуком сердцебиения, жмакать в ритм надо будет, и на полосу смотреть не надо, я как раз этим сейчас и занят. Тапы кстати не обязательные, то есть ты можешь спокойно пропускать их и тапать при необходимости, а вот миссы уже влияют на игру.

>Тогда я себе представляю такой специфический сценарий


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

>Еще думаю тапы можно сделать не бинарными


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

Спасибо за фидбек
218 960728
>>60726
Хорошая идея! Взял на заметку. Возможно реализую.
219 960760
Ебучий гугл-плей со своим "бла бла обновите плей апи в своей игре до дедлайна иначе пидорну вас". С другой стороны и плюс - не придется конкурировать с заброшенными играми, которые все еще могут быть хороши как игры.
2024-07-04 14-15-29.mp44,1 Мб, mp4,
1920x1080, 0:04
220 960770
Делаю рогалик уже месяц, пока просто механ накидываю без графики, поломал гуся фаерболами тут
221 960783
>>60770
Олдскул рогалик, тут риспект, а то заебали со своим экшоном уже
222 960787
>>60438

>Только сюжет нужен


Не нужен.
223 960795
>>60727
В общем, "tap type game". Но всетаки я считаю что тапы должны быть частью боевки, чтобы усиливать удары и делать комбо. Еще представь такую фишку - два сердца. С разными буквами. Оба сердца могут быть в одном теле, или дополнительные персы. Ритм тапания оставался бы тем же, просто появились бы новые буквы. Типа надо провести двоих песов чере часть уровня. И тебе надо поддерживать сердцебиение для себя и для них обоих. Нажимая то f то g то h в случайном порядке. Каждое непопадание наносит урон соответствующему персу. Если один из них умрет, то можно будет довести второго, и потом вернутся за первым еще раз.
image432 Кб, 640x360
224 960805
>>60438

>Поиграл в кучу индюшатины, в игры с хбох360 и пс4, в разные игры на пк попробовал, а идей ноль, даже после блек месы


Сюжеты нужно искать в аниме. В играх сюжет - вторичный продукт, поэтому в них ты вдохновение для сюжета не найдёшь.
225 960816
>>60805
Двачую. Я сюжеты беру из аниме.

Раньше брал из книжек, но они слишком эджи или скучные.
226 960817
>>60653

> LOD


Есть еще прием отдельных шэдоу кастеров. Когда сами объекты не отбрасывают тени, но делаются дополнительные примитивные, которые не отображаются, а shadow only. В 4ке, вроде при импорте есть такие опции, или сделать вручную
227 960845
>>60817

>Есть еще прием отдельных шэдоу кастеров


Я это и имел в виду под LOD-ами для теней. Просто не знаю как этот прием называется. Раньше в играх сами эмулировали тени разными хитростями чтобы выжать из железа все. На словах трудно обьяснить, там создаются приблизительные 2д проекции для каждой части тела, и вытягиваются в 3д обьекты в пару метров длиной, и находятся перпендикулярно от источника света, а там где пересекаются с поверхностью как-бы получается тень. Не очень точная и очень производительная. Знаю что не понятно объяснил, лучше поискать инфу про такие оптимизации или у нейронок спросить.
# OP 228 960892
>>960886 →

> Бляя. Впервые скачал игровой движок. Годот.


> Буквально за 10 минут сделал игру которую в ручную писать неделю.


Мои поздравления. Я и сам так же восторгался 6 лет назад.
AniZor - СЮЖЕТ.mp44,6 Мб, mp4,
1280x720, 0:18
229 960902
>>60805

>Сюжеты нужно искать в аниме.


Последнее время там почти все сюжеты уровня:

>супер девственник 99 уровня попал в фэнтези VRMMO и стал обычным фермером с грудастой кошкоженой


При том весь этот сюжет умещается в название.
230 960907
>>60711

>Мне не нравится жить, всю жизнь тапая на f. Лучше умереть, чем так жить.


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

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

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

>>60675
Учитывая всё вышесказанное, я бы рекомендовал вместо QTE зон на полоске сделать так, что от частоты нажатий игрока зависит частота биения сердца персонажа, от которой зависит производительность и персонажа, но слишком большая или слишком маленькая скорость приближают героя к смерти:
- слишком редкие нажатия: кислородная недостаточность, гибель нейронов, смерть;
- средняя частота нажатий: нормальная работа всего организма без урона по здоровью;
- повышенная частота нажатий: усиленная работа мышц и нейронов, т.е. у персонажа повышается скорость движений и скорость реакции, но это повышает износ сердца, что можно обыграть как периодический маленький урон по HP;
- чрезмерная частота нажатий: урон увеличивается экспоненциально, что доходит до мгновенной смерти от разрыва сердца, если нажать 2-3 раза с максимальной скоростью.

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

Также рекомендую перенести кнопку сердца на правую часть клавиатуры, чтобы на левой было движение (WASD), а на правой - использование рук. Ну или наоборот. Впрочем, по-хорошему, во всех играх должна быть возможность сменить раскладку.
230 960907
>>60711

>Мне не нравится жить, всю жизнь тапая на f. Лучше умереть, чем так жить.


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

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

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

>>60675
Учитывая всё вышесказанное, я бы рекомендовал вместо QTE зон на полоске сделать так, что от частоты нажатий игрока зависит частота биения сердца персонажа, от которой зависит производительность и персонажа, но слишком большая или слишком маленькая скорость приближают героя к смерти:
- слишком редкие нажатия: кислородная недостаточность, гибель нейронов, смерть;
- средняя частота нажатий: нормальная работа всего организма без урона по здоровью;
- повышенная частота нажатий: усиленная работа мышц и нейронов, т.е. у персонажа повышается скорость движений и скорость реакции, но это повышает износ сердца, что можно обыграть как периодический маленький урон по HP;
- чрезмерная частота нажатий: урон увеличивается экспоненциально, что доходит до мгновенной смерти от разрыва сердца, если нажать 2-3 раза с максимальной скоростью.

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

Также рекомендую перенести кнопку сердца на правую часть клавиатуры, чтобы на левой было движение (WASD), а на правой - использование рук. Ну или наоборот. Впрочем, по-хорошему, во всех играх должна быть возможность сменить раскладку.
step.png2 Кб, 560x90
231 960925
Кто-нибудь в этом треде уже прикручивал нейронку к Godot?
Как правильно объяснить, что может/не может NPC в игре?
232 960954
>>60925

>объяснить, что может/не может NPC


А это чуточку сложнее, чем я рассчитывал...
233 960994
>>60954
AI Dungeon делаешь?
234 961021
>>60954
Брось курить.
0159-1695.mp412,9 Мб, mp4,
1024x768, 0:51
236 961056
Окей, очень сильно не хватает модульности, нужно переработать.

1. Декоративные объекты состоящие из множества меньших нужно полностью собирать в Blender, пример - письменный стол с мелочевкой на нем.
2. Коллизию уровня нужно строить внутри Godot, а не в моделях суфиксом -col/-colonly, по крайней мере в СХ-лайк квесте, где движение и взаимодействие очень ограничено.
3. Каждой модели нужно добавить вручную созданный shadow mesh. Пример - письменный стол упомянутый выше - один литой лоуполи shadow mesh, покрывающий форму поверхности и мелочевки на столе.
237 961115
>>61056

> неделю моделит советский шкаф в блендере во всех деталях


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


Может всё таки блокинг на кубах? Как тебе джва треда настоятельно рекомендовали.
238 961119
>>61115

>Может всё таки блокинг на кубах?


Нипанимаиш, у него иммерсивный симулятор!!! Как тестировать симуляцию иммерсивности, если у тебя вместо настоящей советской мебели какие-то КУБЫ?

>>61056

>очень сильно не хватает модульности


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

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

>нужно полностью собирать в Blender, пример - письменный стол с мелочевкой


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

>Коллизию уровня нужно строить внутри Godot


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

>добавить вручную созданный shadow mesh.


>один литой лоуполи shadow mesh, покрывающий форму поверхности и мелочевки на столе.


Это да, но вручную создавать не обязательно: если ты объединил мелочёвку со столом, то в Блендере можно применить модификатор Remesh и поиграть с его параметрами, чтобы получить ± внешнюю форму:
https://docs.blender.org/manual/en/latest/modeling/modifiers/generate/remesh.html
Попробуй sharp с разной sharpness.
239 961122
>>61056
Ты попал в ЛОВУШКУ ГРАФИКИ.
Послушай советы 70b мегамозга.
240 961124
>>61122
Да хуй там, он не прислушается. Ему это уже второй тред обесняют, что сначала геймплей на кубах, метрики и блокинг, а уж потом графон. Он огрызается в ответ.
multithreading.mp46,9 Мб, mp4,
960x720, 0:29
241 961127
>>61124

>он не прислушается.


>Он огрызается в ответ.


И что теперь, не советовать?
242 961130
С другой стороны, если делает для души и цель не цель, а процесс, то пускай делает как ему приятнее
мимо
243 961131
>>61127
Я засмеялся на GPU
244 961134
Я вообще щитаю что текстуры самое геморройное. Вот пикрил замечательно выглядит и никаких злоебучих текстур, все делается сплошной заливкой albedo по отдельным мешам-блокам.
1720343537244.png282 Кб, 643x362
245 961135
>>61131
А я смеялся с самогот начала, а когда дошло до гпу, я аж заорал
246 961136
>>61134
Люто двачую! И никакой ебли с развёртками.
247 961139
А можно один объект на другой моментально заменить? Без добавления детей, просто меш на меш из папки сменить?
248 961140
>>61139
Меш это ресурс. Он не просто так в инспекторе загружается и жёлтый цвет имеет. Очевидно что МОЖНО и даже НУЖНО, для того их ресурсами и сделали.
249 961141
>>61140
Но как мне это рубануть через код?
250 961142
>>61141
Ну например

> $myMeshNode.mesh = load("path/to/mesh/file.mesh")

251 961143
>>61134

>пикрил замечательно выглядит


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

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

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

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

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

>>61136

>ебли с развёртками


Никогда не испытывал проблем с UV-развёрткой, там вроде бы всё интуитивно. Или ты про фотореализм?
252 961144
>>61143

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


Не соглашусь. Лоу поли без текстур позволяет натыкать дохуя деталей, причем большинство - простые блоки, которые можно прямо в годоте нахуячивать. И геометрия как следствие простая, полигонов мало, рендер быстрый. Более того, ты можешь брать одну и ту же меш, перекрашивать ее, скалировать не юниформно и по-всякому издеваться, и это выглядит ок.
253 961145
>>61142
Бля, спасибо, но это не много не то что мне нужно, но ты мне идею ебейшую подал, как это сделать потому премного благодарен
254 961146
>>61142

>mesh = load()


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

Ну или так, в начале скрипта:

>var meshes: Array[Mesh] = [load(), load(), load(), ...]


Тогда все меши будут заранее готовы.

>>61139

>один объект на другой моментально заменить


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


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

Рекомендую сначала всё сделать на сценах. Только потом, если окажется необходимо, оптимизировать конструкцию объектов, заменяя сцены на ресурсы. Возможно, в процессе развития игры тебе захочется заменять намного больше, чем просто меш, и тогда придётся переделывать с ресурсов на сцены.
255 961148
>>61146
я уже придумал шизо-идею ща наведу красоту
256 961150
>>61144

>Лоу поли без текстур позволяет натыкать


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

>это выглядит ок


У тебя примеры из чего-то вроде гиперказуалки, где квартира чисто фоном и геймплей вообще не о ней.

Представь ту же графику от первого/третьего лица.

Короче, вкусовщина же, повторюсь:

>только если тебя привлекает [такая] картинка

257 961151
>>61056
Не знаю как другие, я скажу чего мне не хватает для именсирвности. Шорты странновато выглядят. Было бы круто снять с нее шорты чтобы в трусиках ходила. И иметь возможность выбирать разные текстуры трусиков из меню. Типа как в нид фор спиид, камера приближается к бамперу, и ты выбираешь раскраску, и можешь крутить камеру чтобы посмотреть со всех сторон как сидят. Помещения в видео похоже как буд-то она гуляет по пустому зданию школы после уроков или в летние каникулы. Ищет ключи от подвала, они закрыты в шкафчике учителя физкультуры, в душевой.
258 961153
>>61146
А как меш на сцену поменять? При том что сам меш главный узел другой сцены
Screenshot17.png374 Кб, 599x697
259 961154
>>61151

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



Вот это я понимаю, геймдизайн. Ото здешние кодзимы все какие-то сопли на кулак наматывают.
При каждом прохождении в квартирах будут генерироваться случайные журналы мод, каждый из которых добавит в коллекцию тюнинга трусов новые элементы.
260 961156
>>61151
Он говорил, что это временная моделька.

>Шорты странновато выглядят. Было бы круто снять с нее шорты чтобы в трусиках ходила.


У неё нет трусов, её шорты - часть тела.

>И иметь возможность выбирать разные текстуры трусиков из меню.


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

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


Тогда уж лучше делать трусы главным героем...

Oh wait...
https://store.steampowered.com/app/562410/

>Panty Party — это увлекательная и быстрая боевая игра. Порхайте в облике трусиков по улицам и между зданиями. Отыщите вражеские панцу и выбейте из них всё [дерьмо]!


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


Ничего, ещё есть шанс сделать Гигахрущ про трусы.
Screenshot18.png413 Кб, 567x563
262 961172
>>61163

>https://store.steampowered.com/app/562410/


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



> Земля дегенератами


> Земля дегенератами


> Земля дегенератами полна

263 961173
>>61153

>сам меш главный узел другой сцены


Скорее всего, у тебя проблема в композиции сцен.

Меши не должны быть предками каких-то других, существенных для геймплея нод, например:
- Какое-то модульное тело: RigidBody3D (сцена)
- - Контроллер тела: Node
- - Что-то ещё тела: ...
- - Модуль: CollisionShape3D (отдельная сцена)
- - - Визуал модуля: MeshInstance3D
- - - - Визуал2 модуля: MeshInstance3D
- - - Спецэффекты модуля: ...
- - - Что-то ещё модуля: ...
- - Модуль2: ...
- - Модуль3: ...
Если ты меняешь модуль, ты меняешь весь кусочек сцены с кучей связанных нод, не отдельные ресурсы конкретных нод. Это позволяет быстро, решительно слепить прототип игровых механик. Уже потом, если получится интересная игра, можно позаботиться об оптимизации, скажем, менять меши на трансформы мультимеша или вообще на серверы перейти.

Я так пишу, потому что механизм замены меша сам по себе тривиален и любой разбирающийся в движке это знает. Значит, с таким вопросом ты скорее всего новичок и играбельной игры у тебя пока нет. Вот иди сделай что-то играбельное для начала.
264 961176
>>61172

>дегенератами


Тебе просто культуры не хватает оценить этот шедевр.
image.png363 Кб, 642x609
265 961177
Кто-то из местных переделывателей кнопок под мультиплеер архитектуру? Хорошо вам там в Италии.
266 961183
>>61177

>переделывателей


Игра была фактически готова в 2004, прототип .gba можно в интернете скачать и он вполне играбелен.

>But for the next two years, the pals worked extremely hard to develop Kien, taking very few breaks and crunching a lot. After a few years of development, the game was finished and ready to be published. However, the high costs of shipping the game on Game Boy carts and the risk that Kien might not be successful led to no publisher wanting to release the game.


>Eventually, only one member of the original development team remained: game designer Fabio Belsanti. Despite believing in the unpublished game, he moved on with his life, founded a new development company, and began creating educational games for kids and teens. Through it all, though, Belsanti never gave up hope for Kien. When he noticed recently that retro games and consoles were popular again, he decided to return to Kien and give it another chance.


>Belsanti teamed up with Incube8, a publisher focused on releasing and supporting new games for classic consoles, like the GBA.



TL;DR: игру сделали за 2 года в 2002-2004, но ни один издатель не решился издавать, команда распалась и игрушка пылилась у геймдизайнера 20 лет без дела, пока не начался тренд на ретро и нашёлся издатель, готовый штамповать физические картриджи.

По итогу это просто маркетинговый трюк. Этот Fabio Belsanti кинул братков, срубив бабла на ностальгии и поводе для громких заголовков в СМИ. Никто над игрой 22 года не работал, она просто пылилась.
267 961190
>>61156

>У неё нет трусов, её шорты - часть тела.


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

>>61156

>строго после


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

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

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

>>61172
>>61176
Сложно оценить игру по описанию. Там может быть хороший юмор и слаженная боевка. А шокирующий концепт мог быть выбран для привлечения внимания.
268 961208
>>61190

>Добавлять в игру трусы всех народов мира может оказаться довольно энергозатратно.



Ну давай поможем, скинемся всем двачем фотографиями своих трусов.
269 961240
>>61190

>можно было бы перейти к более важным вещам.


>сконцентрирует пока свое внимание на трусиках.


Эх, вот если б он так симулятор секса делал... Там и трусики имели бы смысл, и окружение не так важно.

>пялится в унылую картинку, это врезается в сознание и ужасно демотивирует


Ага, он вроде докладывал о своей депрессивности.

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


Тут согласен, но:

>Сменяемые трусики не дадут заскучаать.


Нужно геймплей сделать, и трусики не понадобятся.

>Персонификация трусов это больше шутка которую растянули на целую игру.


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

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

>шокирующий концепт


Не понял, что там шокирующего? Трусы как трусы.

Говорю ж, вы просто не люди культуры. Человека культуры трусиками не удивить и не напугать, но положительный отзыв он непременно оставит.
270 961253
>>61190

>стимулом почаще запускать


>трусики не дадут заскучать.


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

Какие мне советы дашь? Добавить лифчик?
271 961267
>>61253

>>стимулом почаще запускать


>>трусики не дадут заскучать.

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

А теперь че по прогрессу, да нихуя его нету. После залития демки сидел несколько часов разбирался как синхронизировать тапы под ритм, понял что слишком дохуя времени потрачу на это поэтому забил и сделал топорно. Из последнего что сделал: добавил деш, дабл джамп, анимации атаки, собсно и атаку добавил, трейл деша/атаки сделал, начал работать над системой линейных квестов, намутил телепорты, нарисовал и добавил пару мобов, нарисовал несколько объектов, анимировал много чего, а самое главное навалил звука, теперь по кайфу тупо бегать даже по пустой локе. Осталось теперь с геймплеем разобрать, неделя ещё есть благо, надеюсь уложиться.
А знаешь что самое хуевое анон? Я изначально хуй ложил на код дабы побыстрее склепать визуально и технически рабочее чтоб начать от чего то отталкиваться, так что внутри лютейший говнокод в котором черт ногу сломит, рефакторить времени уже нихуя нету, слишком много всего, так что приходится дальше говнокодить, благо что все читабельное хотяб.
Некст шаги: левелдизайн, рисовать, анимировать, и ещё рисовать.
Работы короче выше крыши.
анон с демкой на твг выше по треду
273 961287
>>61240

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


Ложная дихотомия. Трусики и геймплей гармонично дополняют друг друга.

>>61253

>смотреть под юбку


Убери юбку.

>Добавить лифчик?


Кошачьи ушки и хвост.
https://www.youtube.com/watch?v=wk7bNlVyYt4

>>61267
Бедный godot тред. Нужно больше внимания и поддержки выказывать анонам которые хоть какой-то свой прогресс выкладывают сюда. И нужно больше хороших godot проектов, чтобы треды с другими движками воспринимали нас всерьез.
274 961304
>>61280
Пофиксил, проблема с пакованой сценой была. Ради интереса сцену в блокноте открыл, и убрал пакованые сцены и экспертов.
275 961306
>>61280

>системой линейных квестов


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

Сделай нпк который дает доступ к арене, где идут волны противников, пока не умрешь. С арены, получаешь прокачку и ставишь рекорды которые сохраняются. Так как демка короткая, спрячь куда-нибудь черта, очень сильного. Специально для тех кто решит задрочится на арене. Чтобы можно было использовать прокачку для убийства этого черта.
276 961328
>>61287
Панцушоты не подойдут серьёзной игре.

>Убери юбку.


Ха-ха, как смешно.

>Кошачьи ушки и хвост.


Думал об этом, но мотивация иссякла.

>Mixamo


Не хочу анимации людей, хочу мультяшек...

>Бедный godot тред.


Всё нормально с тредом, смешно же.

>чтобы воспринимали нас всерьез.


Зачем? Мы весёлые, шутливые, с нами хорошо.
А в других тредах какие-то злобные корпораты.
277 961367
>>61280

>похерилась ворлд сцена


>переделать проблем нету


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

>Из последнего что сделал


>Осталось теперь с геймплеем разобрать


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

Вот, скажем, у SUPERHOT версия с джема была совсем минимальной, чисто пыщ-пыщ. Но автор(ы) продумали механику замедления времени и игра выстрелила. Уже после джема добавили кучу всего и сюжет какой-то. Соотношение 7 дней джема и 2 года доделывания.

Но я, если что, в джемах никогда не участвовал...

>рисовать, анимировать, и ещё рисовать.


ИМХО, рисование слишком много времени отнимает, поэтому необходимо выбрать простейший стиль, в котором ты можешь быстрее всего работать.

>>61306
Это всё хорошо, но успеет ли он за неделю? Хуже отсутствия контента только баги, ломающие игру.

Потом, насколько я понял, искусственно растягивать время для прохождения не стоит, т.к. оценивающий может бросить до того, как откроет весь контент. Особенно учитывая тему "нонстоп": игры будут бесконечными, определить "прохождение" нельзя.
278 961371
>>61146
Preload криво работает, надоело возиться, перешел на Load
image.png296 Кб, 550x573
279 961372
>>61328

>смешно же



Но действительно смешно. Продолжайте.
280 961384
>>61177

>Кто-то из местных переделывателей кнопок под мультиплеер архитектуру?


Слабаки! У них в игре даже одной мультиплеерной архитектуры нет. А в моей игре будет несколько мультиплеерных архитектур. Пруф на пикриле.
281 961385
>>61306
Ну тащемто я так и планировал постепенно открывать игроку возможности по мере прохождения.
>>61367
На каждый пук в сцене мне лично впадлу бекап делать, но навсякий уже сделал один.

>Мне кажется, для джема ты слишком много лишних механик накрути


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

>рисование слишком много времени отнимает,


Есть такое, но это оправдано. Чем живее выглядит мир, тем приятнее играть, даже если геймплея как такого и нету.
282 961390
>>61385

>мне лично впадлу бекап делать


Настроил WinRAR так, чтобы создавались архивы с названием "проект-дата-время", исключая некоторые лишние папки и файлы (.godot, .png, .gltf и т.п.). Вынес шорткат в выпадающее меню, так что бэкап сделать можно за секунды. Делаю бэкап раз в день, когда отвлекаюсь от проекта на несколько часов, когда собираюсь сделать радикальные изменения.

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

>болванчиком который бегает и прыгает только


Если основная механика не связана с платформингом, тогда зачем все эти трюки? У тебя вроде как смысл в бесконечном нажатии на F, а не в трюках персонажа. Следовательно, нужно отточить механику "сердца".

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


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

Но если ты крутой художник и планируешь сразить всех уникальным артом, тогда никаких проблем.
283 961392
>>61384
Моды для мультиплеерной кнопки - база.
284 961393
Смотрю как мелкие ютуберы с 10 просмотрами играют в мою игру. С одной стороны пиздец интересно, люди просто сидят, играют, думают вслух, разбирают твои задумки. С другой стороны дичайший кринж когда видишь что одна из твоих задумок явно не работает, вызывает скуку и заставляет людей тупить/дропать. А переделывать геймдизайн давно поздно. Машину времени бы, эх.
285 961406
>>61390

>У тебя вроде как смысл в бесконечном нажатии на F


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

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


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

>И конкурс вроде бы разрешает брать бесплатные паки ресурсов


Я противник ассетов, и нейронок тоже. Был бы я оргом, запрещал бы нахуй все это ибо какой смысл тогда в твг, лутануть денег, и то если повезет? Хотя твг наверное больше про фо фан, нежели про поиск идей и показ скиллов, поэтому.

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


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

Поспал 3 часика, опять выспаться нихуя не могу, прям как тогда когда пилил первую браузерку. Счастья буду левел дизигнить.
286 961409
>>61393

>Машину времени бы, эх.


Ну в следующий раз найди себе тестировщиков.
287 961416
>>61328

> >Mixamo


> Не хочу анимации людей, хочу мультяшек...


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

Но это всё хуйня, потому что как мне сорока на хвосте принесла, миксамо заброшен, проект помер, новых анимаций нет, старые не везде подходят.
288 961433
>>61409
Тебя поймаю и к стулу привяжу.
1232141.jpg45 Кб, 692x346
289 961491
Помогите нубачевскому. Как обратиться в коде параметрам шайдеров x и у? Вот они, на картинке.
Я разобрался, что путь к ним лежит через sprite_name.material.set("shader_parameter/amplitutde" ... - а дальше что?
290 961496
>>61491
=Vector2(.1,.1)
291 961505
>>61496
Спс!
292 961521
>>61416

>тамошние анимации


Разницу улавливаешь?
293 961532
>>61240

>В Японии очень распространён фетиш


Основывать свои проекты на распространённых в Японии фетишах, это правило хорошего тона.

https://www.youtube.com/watch?v=eeyDoE26aGI&t=215s
294 961541
>>61521
Улавливаю. О том и речь.
295 961708
Установил годот в телефон. Геймдевлю как бог, толкаясь в переполненой потными пассажирами маршрутке.

Интересно можно ли распознавание речи в андройде как-то адаптировать, чтобы наговаривать GDScript? Видимо придется интенсивно использовать нейронки, чтобы они писали код, и я только его вставлял с небольшими правками. Жаль разрабы движка выбросили в окно визуальное программирование. Для тача было бы очень кстати.
296 961717
>>61708

> Для тача было бы очень кстати.


Для тача там весь интерфейс следует переделывать с нуля. Дефолтный интерфейс пригоден максимум для планшета, но не для мобилы. Тут нужно отдельными панелями на весь экран выводить каждый отдельный элемент. И меню сверху, чтобы переключаться между окнами. Ну например, как дашчан двача: есть галерея со всеми тредами и по тапу на иконку ты открываешь тред отдельным полноэкранным видом. Свайп вправо открывает список открытых видов. И т.д.
297 961718
>>61708
Ебать ты извращенец. Я даже простой код не могу писать на мобиле.
>>61708

>визуальное программирование. Для


Его нигде нет нормального.
298 961727
>>61708
>>61717
>>61718
Для вас будет новостью, но современные школьники хуячат код прямо на мобиле, часто даже не имея пеки/ноута. Лично видел и не один раз. Так что годот в этом плане идет куда надо.
299 961792
>>61708

>визуальное программирование. Для тача было бы очень кстати.


Звучит как отличная идея для плугина.
301 961848
Очень привлекают натыканные по городу башни. Глянул планировку, геймплейно получается интересный лабиринт. Но в сеттинг не вмещается ибо такая застройка началась в нулевых, а у меня начало-середина 90х. И хочется и колется.
image.png697 Кб, 1024x420
302 961857
>>61848
Ну привет
303 961861
>>61727

> Для вас будет новостью,


Меня-то за что приложил?
Я написал, что интерфейс под мобилу надо переделать. >>61717

Так-то я и сам бы пользовался.
304 961862
>>61848
Да всем поебать. Главное геймплей интересный, а не циферки на планировках. А ностальгирующие игроки и по нулевым поностальгируют не хуже чем по девяностым.
305 961868
>>61861
За компанию, чтобы тебе не одиноко было.
306 961890
Такой вопрос. Как сделать чтобы тач кнопки были зафиксированы на экране. Я поместил камеру в песонажа, чтобы она следовала за ним, и включил для нее сглаживание. А тач кнопки помесил в камеру чтобы они были зафиксированы на экране. Но изза сглаживания движений камеры, тач кнопки прыгают вместе с песонажем, и мечутся из стороны в сторону, и когда персонаж умирает и выпадает за кадр, интерфейс следует за ним. Есть ли возможность зафиксировать их с включенным сглаживанием камеры?

Играюсь с годот в телефоне на андройд. Пытаюсь пройти вот этот туториал: https://www.youtube.com/watch?v=LOhfqjmasi0

Из особенностей.
Чтобы добавить свои текстуры и ассеты, надо найти папку своего проекта в папке /Documents/ андройда. И закинуть ассеты туда.
Если без физической клавиатуры, то рекомендую Unexpected Keyboard. https://play.google.com/store/apps/details?id=juloo.keyboard2&hl=en_US . Чтобы зажимать ctrl и tab в коде.
Охват камеры неправильно отображается в редакторе. Видимо неправильно определяется соотношение сторон экрана телефона.
Вместо физических кнопок, чтобы двигать персонажа. Добавил наэкранные тач кнопки. С пустой прозрачной текстурой и текстовыми смайликами в виде рук указывающих направление движения.
Но что-то пошло не так. Тач кнопки привязаны не к конечным движениям камеры, а к ее формальному местоположению, до приминения ограничений и сглаживания.
307 961902
>>61868
Брат, братан, братишка! Это годотред! Обнял!
308 961904
>>61890

> Как сделать чтобы тач кнопки были зафиксированы на экране.


Отдельный CanvasLayer обернуть в.
309 961918
>>61902
Да пребудет со всеми нами сила годота, возлюбленный брат Феодосий. Ибо благословенны ноды его. И спагети скрипты его тянутся по злачным пастбищам...
310 961922
>>61918

> И спагети скрипты


Воу-воу, этот поп не из нашего прихода.
whyyy.webp71 Кб, 1280x720
311 961963
>>58498 (OP)
Картинка для важных переговоров.
https://youtu.be/HBJg1v53QVA
312 961969
>>61922

>>И спагети скрипты


>Воу-воу


Ды. Мы тут кнопку под несколько мультиплеерных архитектур переписываем вообще-то. Это вам не спагетти какое-то, а натуральная, отварная лапша.
313 961971
>>61969
Щас ты идёшь на любую энциклопедию, изучаешь матчасть по спагетти-коду, осознаёшь какой хуйни насрал в тред, возвращаешься и извиняешься. И МЫ ТЕБЯ ПРОСТИМ! ГОДОТРЕД ЖЕ!
315 961975
>>61904
Спасибо. Сработало. Хотя я в начале не мог найти свои кнопки. Потом понял что надо переместить в правый нижний квадрант относительно оси ху, и увеличить в четыре раза. Причем на ощупь, не имея понятия как оно будет выглядеть. Странный экспириенс. Но получилось.
316 961981
>>61974
Молодец. Тепер извинис.
noodle.png87 Кб, 540x1800
317 961985
>>61981
За что?
318 961987
>>61985
За хуйню, которую написал.
>>61969

> Ды. Мы тут кнопку под несколько мультиплеерных архитектур переписываем вообще-то. Это вам не спагетти какое-то, а натуральная, отварная лапша.

319 961996
>>61708

>Установил годот в телефон.


Мой опыт несколько месяцев назад:
- GUI слишком мелкий (6.4 дюйма);
- Vulkan глючит, работает только GLES3;
- редактор кода плохо дружит с Gboard;
- жрёт батарейку за 2 ч (в браузере 12 ч).
Итог: нинужно, лучше потерпеть до компа.

>>61717

>интерфейс следует переделывать с нуля.


Согласен, нужен отдельный мобильный GUI.

>>61718

>даже простой код не могу писать на мобиле.


Skill issue или у тебя телефон 3 дюйма из 00-х? Щас мобильные виртуальные клавиатуры такие, что чуть ли не удобнее физической, когда привыкаешь. Хотя, на физической у меня всё же скорость набора выше.

>>визуальное программирование.


>Его нигде нет нормального.


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

Нужно просто понимать, ЗАЧЕМ тебе визуальное представление кода на каком-то языке. Чтобы что? Отобразить взаимосвязи в коде? Ветвление кода?

>>61727

>школьники хуячат код прямо на мобиле


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

>Так что годот в этом плане идет куда надо.


В текущем виде Godot не подходит смартфонам.
319 961996
>>61708

>Установил годот в телефон.


Мой опыт несколько месяцев назад:
- GUI слишком мелкий (6.4 дюйма);
- Vulkan глючит, работает только GLES3;
- редактор кода плохо дружит с Gboard;
- жрёт батарейку за 2 ч (в браузере 12 ч).
Итог: нинужно, лучше потерпеть до компа.

>>61717

>интерфейс следует переделывать с нуля.


Согласен, нужен отдельный мобильный GUI.

>>61718

>даже простой код не могу писать на мобиле.


Skill issue или у тебя телефон 3 дюйма из 00-х? Щас мобильные виртуальные клавиатуры такие, что чуть ли не удобнее физической, когда привыкаешь. Хотя, на физической у меня всё же скорость набора выше.

>>визуальное программирование.


>Его нигде нет нормального.


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

Нужно просто понимать, ЗАЧЕМ тебе визуальное представление кода на каком-то языке. Чтобы что? Отобразить взаимосвязи в коде? Ветвление кода?

>>61727

>школьники хуячат код прямо на мобиле


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

>Так что годот в этом плане идет куда надо.


В текущем виде Godot не подходит смартфонам.
17205067552831.png18 Кб, 489x480
320 962004
>>61848

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


Где ты там лабиринт нашёл? Пикрил - все пути этажа.

>началась в нулевых, а у меня начало-середина 90х


Да пофиг вообще, скажешь "игровая условность".

Главное - передать атмосферу, а не факты.
321 962014
>>62004

>Где ты там лабиринт нашёл?



На одном из этажей одна двушка будет объединена с однушкой в четырешку, некоторые переходы будут через балкон/окно (одна из квартир принадлежит монтажнику, где можно найти снаряжение).
322 962016
>>61975

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


>Причем на ощупь, не имея понятия


1. Создай отдельную сцену ТОЛЬКО с кнопками:
- TouchUI: CanvasLayer
- - MoveLeft: TouchScreenButton
- - MoveRight: TouchScreenButton
- - Jump: TouchScreenButton
2. Видишь: рамка экрана¹ справа внизу от (0; 0).
3. Двигаешь кнопки относительно этой рамки.
4. Вставляешь эту сцену в основную сцену игры.
5. ???
6. Всё работает как надо и понятно.

¹: Рамка экрана повторяет размеры окна из настроек проекта, так что на твоём экране всё растянется. Тут проблема в том, что, в отличие от Control-нод, Node2D никак не адаптируется под размер/пропорции окна.

Если делаешь игру чисто для себя, достаточно в настройках проекта установить размер окна, равный разрешению экрана твоего устройства. Но для релиза требуется учитывать разные пропорции экранов. Для этого можно использовать структуру типа такой:
- CanvasLayer
- - MoveLeftC: Control
- - MoveRightC: Control
- - JumpC: Control
- - ... # тачскрин кнопки
И дальше нужно написать код, перемещающий Node2D-кнопки в места Control-нод на экране.

Другого способа не знаю. Нужно протестировать...
323 962018
Как коупить если увидел у соло-дева на реддите игру похожую на свою, но визуально гораздо качественней? Пока коуплю тем что у него механики примитивны, но епт, визуал - небо и земля, а игроки в первую очередь на визуал смотрят.
324 962019
>>62014

>На одном из этажей...


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

Стандартная планировка вообще не лабиринт:
- лифты/лестница
- - квартира 1
- - - комната 1
- - - комната 2
- - квартира 2
- - - комната 1
- - - комната 2
В чём же тут лабиринтовость?

По определению:

>Лабиринт — структура, состоящая из запутанных путей к выходу (и/или путей, ведущих в тупик).


А тут просто идёшь к общей лестнице.

Другое дело, если в стенах дырки, а дверях завалы.
325 962024
>>62018
Банальный вопрос тащемто.
1. Фокусируйся на своих киллер-фичах.
2. Сделой графику простой, но стильной.
3. Развивай комьюнити вокруг своей игры.
4. Обновляй и дорабатывай свою игру.
327 962030
>>62019

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



Странный доеб.
what.jpg14 Кб, 500x388
328 962031
>>62030
СМОТРИТЕ ЧЁ НАШЕЛ, НРАВЯТСЯ ТАКИЕ БАШНИ
@
НО, БЛИН, ТАКИЕ ДОМА СТРОИЛИ В НАЧАЛЕ 00-Х, А У МЕНЯ НОСТАЛЬГИЧЕСКАЯ ИГРА ПРО КОНЕЦ 90-Х
@
ЗАТО ПЛАНИРОВКА ЛАБИРИНТООБРАЗНАЯ, ОЧЕНЬ ЛЕГКО ЗАБЛУДИТЬСЯ В ПРЕДЕЛАХ ОДНОГО ЭТАЖА
@
НУ ТО ЕСТЬ ЕСЛИ ДВЕРИ В ЛЮБЫХ МЕСТАХ УСТАНАВЛИВАТЬ, ТОГДА ПРЯМО ЛАБИРИНТ
329 962032
>>62026
Мы готодовы дети.
Нам Хуан словно мать.
Игрострой нас ждёт светлый.
Каждый готов подождать.
llama.png61 Кб, 540x1080
330 962033
>>62032
Итс бьютифул энд эвокатив. Тэнк ю.

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

В этом мире нет пределов,
Где фантазия - наш компас.
Мы готовы к новым открытиям,
Где каждый день - это праздник.

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

А игры-то делать будем?
331 962034
>>62016
Расскажу как делаю я. Мой опыт с 3-ки, но в 4-ке делаю так же.
- CanvasLayer
-- RootControl (обычный Control) с anchor-якорем поставленным на full rect. Емнип ему надо поставить Mouse - Filter - Ignore чтобы он не сжирал тачи, предназначенные всему игровому экрану.
--- Кнопки, которые сначала расставлены по нужным углам через anchors, и потом подвинуты на какое-то расстояние.

Дальше, поскольку у меня сридээ игра, в проекте стоит window - stretch mode - viewport + expand. Это дает мне кнопки, пропорционально растягивающиеся, и в 3д нет черных полос по сторонам.
Сетап простой, ошибиться вроде сложно.

Второй вариант, который возможно подойдет каким-то 2д играм типа викторин. Это stretch mode - disabled + viewport. Он не скалирует кнопки, только сдвигает, поэтому могут получиться наложения.
332 962036
>>62034

>Кнопки


У нас два стула. Либо кнопки, курсором точёные:
https://docs.godotengine.org/en/stable/classes/class_button.html

>Note: Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use TouchScreenButton for buttons that trigger gameplay movement or actions.


Либо мультитач, множеством пальцев дрочёный:
https://docs.godotengine.org/en/stable/classes/class_touchscreenbutton.html

>This node inherits from Node2D. Unlike with Control nodes, you cannot set anchors on it. If you want to create menus or user interfaces, you may want to use Button nodes instead. To make button nodes react to touch events, you can enable the Emulate Mouse option in the Project Settings.

333 962037
>>62033
Твоя гопота не распознала соус. Стыд и позор. Ты-то сам улавливаешь отсылочку?
подождём.jpg11 Кб, 350x500
334 962038
>>62026

>godot-3-6-rc-1


А когда 4.3?
8wepxe.jpg91 Кб, 500x736
335 962040
>>62037
Тодд, это ты?
336 962043
>>62040
Нет ты!
337 962054
>>61996
Конечно это больше игрушка. Но должны же быть какие-то задачи которые он не плохо выполняет. Ну или по крайней мере смог бы выполнить если сдобрить процесс толковыми плагинами. Все-таки под капотом там полноценный годот.

GUI никто менять не будет. Андройд версия, это сторонний проект. Цель не мобилки, а хромбуки с поддержкой андройд приложений, компьютеры на андройде, и планшеты.

>>61996

>жрёт батарейку за 2 ч


3Д? Чисто ковыряние в интефейсе, или с запуском игровых сцен?
338 962055
>>62054

>Чисто ковыряние в интефейсе


Не знаю, не помню. Но GUI в Godot достаточно тяжёл для рендеринга по сравнению с нативным софтом. Особенно это касается Godot Editor. У меня даже на компьютере редактор не так быстро работает из-за огромного количества элементов в инспекторе нод.

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


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

>GUI никто менять не будет


Если сделаешь нормально, должны принять. Билд под Андроид отдельно делается, поэтому основные билды раздувать отдельный мобильный интерфейс не будет.

>Андройд версия, это сторонний проект.


Это официально поддерживаемая версия:
https://godotengine.org/download/android/

>Цель не мобилки


Где это написано?

>The Android editor is currently in an experimental stage. The UI has not been adapted for touch screens yet; using a hardware keyboard and mouse is strongly recommended.

6hq29NBeeV4.jpg47 Кб, 604x604
339 962059
>>61708
Сеймич. На твг делаю игру 90% на мабиле. Если еще займу призовое место, то можно обоссать всех хейтеров мабилак
340 962060
>>62036
Окей, я потратил 15 минут чтобы вам не пришлось тратить 5.
Минимальное изменение, Button заменена на пустой TextureRect, ему ребенком повешена синяя нода TouchScreenButton.
Масштабирование и позиционирование работает, передается от контрола тач-кнопке. Протестировано на мобиле в веб-версии, мультитач работает (на скринах показаны нажатые 2 кнопки). Подводных не вижу.
341 962063
А вот с текстурами в вебе не знаю как быть. Если делаю экспорт For Desktop, то на мобилке белые текстуры. Если For Mobile, то в браузере на пека черные. Если ставить обе, то работает, но билд вырастает вдвое, соответственно и время запуска скачивания.
342 962064
>>62063
P.s. а на itch и Я.И. вряд ли получится различать по юзерагенту и отдавать нужный билд.
343 962066
>>62060

>пустой TextureRect


Для чего TextureRect?
Достаточно задать custom_minimal_size:
https://docs.godotengine.org/en/stable/classes/class_control.html#class-control-property-custom-minimum-size
И то, это нужно только для контейнеров. Если нет контейнеров, можно просто size задавать.
344 962067
>>62066
Да просто для наглядности, чтобы рамочка была. Не помню как себя ведет пустой базовый Control
345 962072
аноны, как сделать локальный мультиплеер?
вводишь например айпи приятеля и ты с ним в одном лобби, возможно?
346 962074
>>62072
Возможно, но сложно. На ютубе гайдов полно, ИТТ это расписывать долго.

Сделай лучше кооп на одном экране и пригласи приятеля домой. Может поебетесь даже.
347 962090
>>62055

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


Видел видео как сделать новый интерфейс годот отзывчивее. Разрабы поменяли способ отрисовки для многооконного интефейса. Если включить в настройках старую отрисовку, начинают шустрее отрисовываться элементы. У тебя проблема точно не в этом?

>>62055

>запуск проекта без установки отдельного APK.


Двачую. Еще бы отслеживать версии и пушить на мобилку только диффы...

>Если сделаешь нормально


Не факт

>официально поддерживаемая версия


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

>Где это написано?


В официальной документации.
https://docs.godotengine.org/en/stable/tutorials/editor/using_the_android_editor.html
348 962096
>>62064

> P.s. а на itch и Я.И. вряд ли получится различать по юзерагенту и отдавать нужный билд.


Возможно я сейчас оверхед предложу, но в годоте есть механизм загрузки пак-файлов. Предполагается, что он будет использован для модов/ДЛЦ, но вполне реально через этот механизм грузить паки текстур под сдетектированную в запущенной игре платформу.
349 962097
>>62016
>>62034
>>62036
>>62060
>>62066
>>62067
Спасибо за доступный разбор. Многого не знал.

Мой опыт:
Я когда открыл годот на смартфоне. То первое о чем подумал, использовать сгенерированые самим годотом текстуры, чтобы не возится с импортированием. Удивился что функция рисования кружочков есть, а ноды такой нету, по аналогии с 3д где есть геометрические csg фигуры. Туториал по рисованию вообще разочаровал. То есть мне надо рисовать все эти тангенты и косинусы в голове, и транслировать сразу в код, полный бардак.
350 962098
>>62097

> рисовать все эти тангенты и косинусы в голове, и транслировать сразу в код, полный бардак


Эх, да, Хуану оставался всего один маленький шаг, чтобы сделать полнофункциональный опенсорсный клон флеша/аниматора. И он его не сделал.
351 962099
>>62063
По идее, если игра оптимизируется под мобилки и веб, которые слабее пк, то дополнительная распаковка мобильных текстур на десктопе не должна давать ощутимой нагрузки на производительность. По крайней мере, во многих случаях такой костыль будет предпочтительнее чем раздутый файл установки.
352 962100
>>62099

>распаковка


То есть перепаковка, как в ранних гта, где при первом запуске надо было ждать пока текстуры перепакуются. Могли бы такой костыль добавить в годот.
353 962101
>>62100

> Могли бы такой костыль добавить в годот.


Они дали нам удочку (инструменты), чтобы тот кому надо, сам запилил себе вышеописанную рыбу.
354 962105
>>62016

>Рамка экрана повторяет размеры окна из настроек проекта


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

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

>>62060

>TextureRect, ему ребенком повешена синяя нода TouchScreenButton


А зачем TextureRect? Чтобы нажатия ловить?
У меня текстура присвоена внутри тачь кнопки. На ее площадь ловятся нажатия.

>>62066

>custom_minimal_size


А зачем? Что дает эта опция?
355 962114
>>62101

>Они дали нам удочку (инструменты), чтобы тот кому надо, сам запилил себе вышеописанную рыбу.


А что за инструменты? В смысле плагины свои писать? Просто очень не хватает одной рыбы. Во флеше можно было сохранять используемые буквы из шрифтов, себе в проект. В пдф тоже такая фича есть. Я бы целую игру запилил, только используя эмодзи. Столько векторного добра без надобности валяется... Вот бы добавить эту функцию чтобы можно было сохранять набор символов в отдельный шрифт и импортировать в проект.
356 962118
>>62114

>Я бы целую игру запилил, только используя эмодзи


Я в вашем диалоге не участвовал, но в чем проблема? Качаешь иконочный фонт в свг-формате и используешь. У меня валяется один проект сделанный на https://icons.getbootstrap.com

Плюс в интернете хватает ttf-to-svg конвертеров, если изкоробки фонт неудобно тебе свг дает.
357 962125
>>62097
Мне казалрсь что в 4ку такой способ добавили через texturerect + radialgradient. Еще можнр шейдером рисовать. Но да 2д шейпов вроде нет. Можно почитать тут как рисрвать с помощью полигонов, но там вроде везде скрипты иди аддоны фигурируют. github.com/godotengine/godot-proposals/issues/1126
Еще может быть можно использовать маску чтобы вырезать круг
358 962128
>>62096
Есть, но я не уверен что смтгу по юзер агенту различать моб и десктрп браузеры
359 962133
Возможно ли отработать скелетные анимации на простом низкополигоне, а потом засунуть его в свою вайфучку, или лучше сразу?
360 962142
>>62063

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


Делай это. И пройдись по своим ресурсам, выкинь/ужми лишнее.

Еще вот это наверни: https://docs.godotengine.org/en/stable/contributing/development/compiling/optimizing_for_size.html
361 962147
>>62072

>айпи приятеля


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

Туториал:
https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html
Официальные демо:
https://github.com/godotengine/godot-demo-projects/tree/master/networking
Неофициальные:
https://godotengine.org/asset-library/asset?filter=multiplayer

>>62074

>сложно


Зачем ньюфага зря пугаешь? Ему же локально.

>На ютубе гайдов


Почему на документацию и демки не ссылаешься?
362 962149
>>62090

>Разрабы поменяли способ отрисовки


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

>У тебя проблема точно не в этом?


Не в этом. При нажатии на ноду в сцене происходит переключение инспектора, а там куча всего...

>пушить на мобилку только диффы...


Поставь гит-клиент какой-нибудь. Вроде spck editor поддерживает гит, но это редактор для HTML/CSS/JS.

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


Лол, "команда годот"? Скорее "core contributors"? Знаю, однако, сборка доступна с официального сайта. Есть множество неофициальных сборок, которых на сайте никогда не было и не будет, а сборка под Андроид есть.

>>>Цель не мобилки


>>Где это написано?


>В официальной документации.


>...and large phones


Это ты называешь "цель не мобилки"?
У меня AIDA64 пишет "тип устройства: фаблет".

>Фа́блет (англ. phablet от phone телефон и tablet планшет) — смартфон, размер которого находится между размером типичного смартфона и планшетного компьютера: c диагональю от 5,7-6,0 (ранее в качестве фаблетов рассматривали модели с диагональю экрана от 5,5 дюймов, ещё ранее — и от 5,0) до 6,9 дюймов и шириной не более 135 мм. Также известен под неофициальными названиями «плафон» (планшет+телефон) и «лопатофон».


Тем не менее, с диагональю 6,43 всё ещё неудобно.

Уже не представляю себе, как использовать телефон с диагональю меньше 6'', а ведь когда-то в детстве был в восторге от кнопочного с ч/б экраном и змейкой...
user agent.png42 Кб, 540x720
363 962155
>>62128

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


https://docs.godotengine.org/en/stable/classes/class_string.html#class-string-method-contains

>for desktop in ["Windows", "Macintosh", ...]:


>_ if desktop in user_agent: load_desktop(); return


>for mobile in ["Android", "iPhone", ...]:


>_ if mobile in user_agent: load_mobile(); return


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

Вот что меня смущает: а разрешают ли Я.Игры твоей игре скачивать какие-то дополнительные файлы?
364 962156
>>62155
Так не факт что юзер агент честный. Может там везде будет стоять одинаковый, и фиг узнаешь запустили его на пк или мобилке.
Я вот с утра подумал, может хранить текстуры как то по другому, просто как png и загружать на лету.

>: а разрешают ли Я.Игры твоей игре скачивать какие-то дополнительные файлы?


Не знаю, но по идее все файлы у меня есть изначально. Их можно просто хранить в архиве который заливается, не обязательно быть где-то по другой ссылке. Ну как делали со звуком для 3-ки с web audio player.
ch52spine-768x592.jpg43 Кб, 768x592
365 962164
>>62133
Лучше сразу. Положение костей зависит от пропорций персонажа, в идеале вроде бы нужно их по середине оболочки (меша) размещать, а не как в ИРЛ туловище. Короче, под вайфучку, возможно, придётся править, особенно вайфучке с выдающимися достоинствами.

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

Картинка из интернета для примера.
366 962168
>>62156

>Так не факт что юзер агент честный


Да и хрен с этими анонимусами. Ты ещё скажи:

>а вдруг у игрока JS/WASM недоступен???


>а вдруг игрок с IE на Windows 95 зашёл???


>а вдруг игрок с текстового браузера зашёл???



>будет стоять одинаковый


Если это Я.Игры делают, пиши им в техподдержку.

>просто как png


Так речь шла о VRAM Compression, это же другое?
Просто сними обе галки и всё, не пробовал?
367 962170
>>62097

>Удивился что функция рисования кружочков есть, а ноды такой нету, по аналогии с 3д где есть геометрические csg фигуры.


Потому что НИНУЖНА и engine bloat.

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

В 2D же такая фича мало кому нужна будет. Банально быстрее накидать мышкой в пейнте условный спрайт крокодила, чем нодами выставлять треугольники, изображая зубы в пасти. Чтобы эта фича была хоть немного полезной, нужен функционал полноценного графического редактора, а это уже повод для аддона.

https://godotengine.org/asset-library/asset/1593
368 962173
>>62105

>кнопки надо сильно увеличивать


Ну, я не знаю, в чём проблема. Это почитай:
https://docs.godotengine.org/en/stable/tutorials/rendering/multiple_resolutions.html
+ можно иссуи на гитхабе глянуть...

>А зачем TextureRect?


Он же сказал: чтоб рамочка была.
Но рамка и у обычных Contol есть.

>>custom_minimal_size


>А зачем? Что дает эта опция?


Наследники класса Container управляют свойствами position, size и т.п. у своих потомков. Т.е. если Control внутри контейнера, она может быть сжата до своего минимального размера. Минимальный размер у нод может отсутствовать или не подходить под твою задачу, для этого и добавили custom_minimal_size.
369 962174
>>62168

>Так речь шла о VRAM Compression, это же другое?


>Просто сними обе галки и всё, не пробовал?


Тогда, белые модели без текстур и в десктопном и мобильном браузере.
370 962177
>>62174
А на панели импорта текстур у тебя что стоит?
https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/importing_images.html#compress-mode
Скорее всего у тебя VRAM Compressed.
Интересно, как работает Basis Universal?
371 962183
>>62177
Сейчас пробую перетыкать в каждой текстуре на uncompressed, но это небыстрый процесс. Хотя, конечно, этот сценарий воркфлоу выглядит как совсем сломанный. Логично, что я бы хотел компрессед текстуры для мобилы и фоллбек на обычные для десктопа. Иначе, получается, эти галочки вообще лишние и их не должно быть.
1662287442386.png49 Кб, 988x163
372 962191
>>62177

>Интересно, как работает Basis Universal?


По документации звучит как то что нужно. Но надо все переимпортировать.
373 962195
>>62191
Да, похоже это работает для обоих десктоп/мобайл браузеров, хранится один комплект текстур, галочки vram compression перестают влиять на экспорт. Вечером потщательнее потестирую и еще сравню размеры.
I raised that boy.mp4487 Кб, mp4,
540x304, 0:05
374 962238
>>62191

>Но надо все переимпортировать.


Есть несколько способов быстро всё поменять:
https://docs.godotengine.org/en/stable/tutorials/assets_pipeline/import_process.html
375 962239
Балуюсь в этих анонимных чат нейронках https://duckduckgo.com/q?ia=chat
Там четыре модели:
GPT-3.5 Turbo
Claude 3 Haiku
Llama 3 70B
Mixtral 8x7B

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

Я взял и каждую модель по очереди спросил, имеют ли они доступ к документации годота. Все кроме лламы сказали что нет. Я сказал что их информация устаревшая, и они ответили что на момент тренировки их модели годот 4 еще только в разработке был и у них не достает знаний и лучше обратится к оригинальной документации. Но Llama 3 70B сказала что имеет доступ к документации и может попробовать адаптировать код под годот 4. Я попросил скрипт для стрельбы в сторону оси -y, и она дала мне правильный скрипт подчеркнув что он для годот 4. Больше не буду как баран биться головой о закрытые ворота, и писать промты в не те нейронки, которые считают что я должен читать мануалы. Нашел нейронку которая сама умеет читать.
376 962249
>>62239
Спасибо за инфу. Мне до сих пор стрёмно общаться с чатботами. Фобия какая-то. Ну, пусть будет.
sage 377 962251
>>62249
Постоянно с ними общаюсь. Это тупо инструмент.
378 962276
Короче, хуй пойму в чем проблема, 4.2.2 в эксклюзив фулл скрин моде, после смены сцены фпс лочится на 30, помогает альт+таб. В чем проблема может быть?
379 962281
>>62239
ГПТ 4о на оффсайте бесплатный, но у него 10 реквестов в сутки. Он меня пару раз спасал лучше любого гугла.

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

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

Везде нужен не-рфшный прокси, ясно дело.
image.png18 Кб, 1356x121
380 962293
Эту хуйню почему нельзя скопировать чтобы в гугл вбить?
381 962296
>>62293
Ты плохо обрезал. Если ошибка только одна, то справа появляется кнопка 'скопировать'. А если ошибок несколько, то справа появляется красный кружок с х, и рядом число указывающее количество ошибок. Надо кликнуть по иксу и снизу выдвинется панель с описанием всех ошибок, там текст можно выделять.
382 962298
>>62296
Ок спс, хотя я всё равно хз нахера они сделали эту хуйню некопируемой
1702540874265.png12 Кб, 882x79
383 962299
>>62293
Можешь скопировать, разрешаю.
384 962301
>>62293
В первую очередь это надо прочитать и обдумать. Гугл тут мало чем поможет.
Там всего 3 простых части.
После объявления переменной,
ожидается конец выражения,
вместо этого у тебя там идентификатор.
385 962304
>>62239
У нейронок плохо получается писать для годота. Это наш шанс, кожаные.
1569596602430.png39 Кб, 624x246
386 962306
>>62238
Meh, все равно не быстро. Надо сначала было экстракнуть из каждой импортированной модельки материалы, потом в каждой папке выделить эти текстуры и прожать реимпорт. Пакетные операции в таком софте редко предусмотрены. Да пофиг. Я под какие нибудь саморазвивающие видосы рутинным делами занимаюсь.
387 962307
>>62304
Кстати да, осваиваю сейчас годот и если на работе с жсом мне гопота помогает пиздец, то в годоте он мне высирает какие-то невероятно идиотские скрипты. Сорок минут пытался заставить его скрипт работать, в итоге написал сам за 10 минут в разы лучше.
388 962314
>>62170
Вряд ли причина в нинужна и блоат, потому что Polygon2D то в коре есть, а он потяжелее будет.
Но я все-таки вспомнил, как в четверке сделать кружок накликиванием встроенных средств.
Sprite2D либо TextureRect, в нем новая GradientTexture2D, Width/Height разрешение в пикселях
В градиенте сдвинуть ползунки близко к одному краю, например 1 и 0.9 (или 0.97, 0.991 - от этого будет зависить насколько размытый/сглаженный или резкий край можно еще попробовать виды сглаживания - Cubic, Linear)
Альясинга в буквальном смысле там нет, но можно получить его сочетанием параметра выше, + завысить разрешение и уменьшить scale спрайта.
Выставить желаемый цвет и второй прозрачным.
Тип Fill - Radial, от (0.5, 0.5) до (0, 0.5), хз почему так, не спрашивайте.
389 962317
Как дешевле всего определять что персонаж находится в воде, учитывая что водные области могут быть разбросаны по всему уровню на разной высоте?
390 962318
>>62307
Датасет обучающий скорее всего маленький был. Вроде читал, что кто-то обучал нейронку на куче гдскрипт исходников с гитхаба, но фиг знает это тоже много не лучших примеров.
391 962319
>>62317
Area2D/3D, по идее там octotree
392 962321
>>62314
Спасибо, ценная информация. Я хотел рамку в виде кружков без заливки вокруг кнопок нарисовать. Как на тач кнопках управления в гта на андройде. С помощью градиента с прозрачностью, должно получится.
393 962323
>>62321
Ну, еще всегда есть шейдеры. Особенно если тебе нужно кольцо, а не круг. Напртимер, https://godotshaders.com/shader/dotted-circle/
394 962324
>>62321
Кольцо градиентом тоже получилось, просто еще 2 стопа на градиенте с такой же логикой.
docs.png37 Кб, 540x655
395 962365
>>62239

>сказала что имеет доступ к документации


Ты мог неправильно понять её слова.

>>62249

>Мне до сих пор стрёмно общаться с чатботами


А мне с мясными мешками стрёмно общаться...

>>62251

>Это тупо инструмент.


Как и мясные мешки. Игру делай давай, мясо!

>>62307

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


А ты не скрипт спрашивай, а алгоритм работы.
396 962368
>>62276

>фпс лочится на 30


У тебя случайно не ноутбук?
Свой код уже перепроверял?
397 962373
>>62306

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


А при чём тут материалы? Текстуры в gltf зашиты? Рекомендую делать раздельный экспорт:
https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html#gltf-separate-gltf-bin-textures

>потом в каждой папке выделить эти текстуры


В доке файловой системы вводишь звёздочку, точку и расширение png/jpg. Выдаст все картинки проекта.
398 962379
>>62373

>вводишь звёздочку


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

Я слышал, в ААА вообще всё строго с именованием файлов проекта, всё должно быть по системе.
399 962381
>>62319
Да, в общем это оказалось лучшим в плане фпс решением. Мне нужно было скрывать пару мешей при нахождении в воде, сначала шейдером сделал, но фпс пострадал. Переделал на коллизии и 2 строки гдскрипта.
400 962382
>>62317

>Как дешевле всего


Преждевременная оптимизация.

Ты сначала:
1. Сделай геймплей.
2. Сделай большой уровень.
3. Проверь, что игра тормозит на минималке.
4. Проверь, что отнимает больше всего времени.
5. Оптимизируй только это, остальное не трогай.
6. Повторяй пункты 3-5.

Или у тебя вся игра - это только

>определять что персонаж находится в воде


?
401 962386
>>62382
Все это уже сделано.
402 962388
>>62365

>Ты мог неправильно понять её слова.


Я правильно понял. Видимо позднее была натренирована и успела лучше пересечься с годот 4. Я после этого еще начал задавать разным моделям вопросы связанные с их последними версиями. GPT 3.5 уверена что GPT 4 не существует в природе...
403 962398
>>62317
>>62386
Ниже, ответ нейронки. Я лолнул с рейкастинга, потом вспомнил что в гта можно ходить под водой, если ты туда попадаешь минуя повехность. Так что наиболее ходовой вариант, наверное.

To determine if a character is in water, considering that water areas can be scattered throughout the level at different heights, here are a few approaches:

1. Raycasting: Cast a ray down from the character's position, and check if it hits a water surface within a certain distance (e.g., the character's height). If it does, the character is in water. You can adjust the ray's length and direction to suit your game's needs.
2. Sphere casting: Similar to raycasting, but use a sphere (e.g., the character's bounding sphere) to detect collisions with water surfaces. This method is more suitable for characters with a larger radius.
3. Grid-based detection: Divide your level into a grid, and mark water areas with a specific value (e.g., 1 for water, 0 for non-water). Then, check the grid cell(s) the character is currently occupying. If the cell value indicates water, the character is in water.
4. Water volume detection: Create a 3D volume (e.g., a box or sphere) around the character, and check if it overlaps with any water volumes in the level. You can use techniques like sphere-sphere or box-box overlap detection.
5. Physics-based detection: Use a physics engine to simulate the character's movement and interactions with the environment. If the character is in water, the physics engine will detect the collision and respond accordingly.

These methods can be combined or modified to fit your game's specific requirements. For example, you might use raycasting for initial detection and then use sphere casting for more precise checks.
bonk-meme.jpg139 Кб, 2270x1135
404 962406
>>62398

>лолнул с рейкастинга


Скилл иссуе.

A simple method to detect object submersion in water is to use a bounding box or bounding sphere check.

Here's how it works:
1. Create a bounding box or sphere around the object.
2. Create a bounding box or sphere around the water body.
3. Check if the two bounding boxes or spheres overlap.

If they overlap, it means the object is at least partially submerged in the water. You can then use the overlap volume or distance to determine the submersion level.

This method is simple, fast, and easy to implement. It's not as accurate as mesh overlap detection, but it's a good starting point and can be sufficient for many use cases.

Keep in mind that this method assumes the object and water body are roughly convex shapes. If your objects or water bodies have complex concave shapes, you may need to use a more advanced method.
405 962426
>>62406
Самый легкий способ проверить если персонаж находится в воде это:
keep_swimming_bitch = is_valera_in_water("valera, where are you?")
406 962445
>>62426
Про мультиплеер забыл.
407 962463
>>62373
В gltf и fbx, конечно, скачанные с интернета, там полный зоопарк.
408 962516
>>62445

> валера


> ты где


> в воде


Это какой-то мем, известный всем кроме меня?
OldMan.png1 Кб, 64x64
409 962522
Аноны, нужен совет.
Увидел в одном из тредов идею того, как лучше сделать "приближенный к реальности" рост растений на локации (каждые N секунд брать N% растений и пробовать увеличивать их значение роста), выглядит заебись разнообразно.
Сейчас делаю логику разрастания растений (захват ими новых клеток), завязал это на тоже на росте, когда растение достигает своего максимального уровня я беру свободные клетки-соседи, выбираю из них одну рандомную и "высаживаю" туда новое растение.
Выглядит вроде заебись, но может есть какие-то более применяемые стратегии для таких задач?
В идеале хочется получить рост растений как деревьев на ферме в stardew valley.
410 962533
>>62522
То что ты хочешь называется "генетические алгоритмы". Гугли.
https://www.youtube.com/watch?v=_Aow6P3oBAg
411 962550
>>62445
Ты не представляешь как глупо ты сейвас выглядишь.
Код был написан под квантовые вычисления.
переменная keep_swimming_bitch это bool, но не бинарный а квантовый. То есть значение занимает не один бит а один кубит.
А метод is_valera_in_water возвращает суперпозицию валеры. Которая будет находится в таком состоянии пока мы лично не посмотрим на валеру, или он сам себя не осознает, и сможет передать нам свое состояние, которое является конкретным для нашей вселенной. Каждый раз когда мы узнаем состояние валеры, состояние суперпозиции колапсирует, и наша вселенная разветвляется в бесконечное количество вселенных, в каждой из которых состояние валеры уникально.
412 962564
>>62533
Спасибо, антош, но не выглядит ли это как перебор?
413 962569
>>62564
Спок, тебе сейчас еще мультиплеером посоветуют это все сделать. У нас тут олимпиадник-дипломник обезумел, не можем с ним совладать.
414 962576
>>62569

>мультиплеером


Хм, а это идея.
Но только после реализации всех механик.
2024-07-12 03-43-18.mp45,9 Мб, mp4,
1920x1080, 0:04
415 962589
>>60770
Буп
416 962591
>>62589
Я закончил вроде весь механ базовый: есть инвентарь, можно подбирать предметы, бросать на землю, драться вблизи и вдали, использовать предметы, кушать-пить, есть сундуки с лутом, есть ИИ со всем базовым функционалом, есть ФОВ, пошаговость, скорость ходов, смерть.
Дальше только рабочие диалоги добавить и можно основную игру делать и графику...
417 962605
>>62564

> перебор?


Ну так ты упрости до нужного тебе функционала.
image.jpg28 Кб, 230x469
418 962606
>>62589
Девотька хорошая, сам рисовал?
419 962608
>>62591
Нойс. Одобряем. Разрешаем. Делай.
420 962611
>>60770
>>62589
Очень дезориентирует прыгающий курсор. Фокус должен оставаться на персонаже, я считаю
sage 421 962613
>>62606
Напоминает спрайты из старбаунда, ток с красивыми глазами
422 962619
>>62522

>В идеале хочется получить рост растений как деревьев на ферме в stardew valley.


Там всё достаточно просто, тупо рандом. Из вики:

>...mature trees (excluding stumps) on the farm have a 15% chance each night of trying to spontaneously plant one seed in the ground. One tile is randomly chosen, up to 3 tiles away from the parent tree in any direction. The seed becomes "planted", creating a new stage 1 tree, only if the tile is a valid location for a new tree. In particular, the chosen tile must be empty; trees will not destroy paths or crops.


>Without fertilizer, seedlings have a 20% chance each night of growing to the next stage, except at stage 4, where seedlings spend twice as long. The median growth time from seed to maturity is 24 days, although individual tree growth times will vary considerably. Statistically, 90% of seeds should reach maturity in 38 days (excluding winter), and 99% in 55 days.



>>62533

>генетические алгоритмы


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

>>62605

>Ну так ты упрости


Куда уж проще, лол?

ГА в самом простом виде:
1. Берём индивидов с генами: АБ, БА, ВГ, ГВ.
2. Проводим тест выживаемости/эффективности.
3. Сортируем список индивидов по результатам.
4. Скрещиваем лучших: АБ, АБ, ВГ, ВГ, АГ, ВБ.
5. Мутируем некоторых: АБ, ББ, ВГ, ГГ, АГ, ВБ.
6. Повторяем шаги 2-5 в поиске идеальных.

Зачем применять ГА к деревьям в Stardew Valley?
423 962627
>>62619

> up to 3 tiles away from the parent tree


То что надо, спасибо.
424 962646
>>62522

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


Лучше брать любые рандомные клетки, чем список свободных соседей. Так тупо быстрее, даже если большинство соседних клеток уже заняты.
425 962656
>>62606
Да, сам, спасибо. Я сейчас думаю как раз что пора ей волосы и одежду дать для ГГ
426 962660
>>62611
Это позволяет осматриваться, я думаю полезная фича с учетом что радиус обзора не сильно большой
427 962664
>>62660
Это фича полезная, но мне кажется она не должна быть активированной по умолчанию.
tutorial.png26 Кб, 840x520
428 962676
>>62656

>волосы


Нужны.

>одежду


Не нужна.
429 962695
>>62660
Это стандарт для олдскул рогаликов.
430 962702
>>62522
Чекни "Жизнь" Конвея. И на хабре большой цикл обзора разных клеточных автоматов от TLHE. Там можно полистать гифки и посмотреть получающиеся узоры.
431 962729
>>62702

>получающиеся узоры


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

>>62695

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


>огромные спрайты на полэкрана


В олдскул рогаликах ASCII в текстовом терминале.

>>62664
Достаточно будет сгладить возврат камеры.
432 962748
>>58498 (OP)
Те кто понимают в шейдерах, поясните как трансформы использовать. Я пониаю что их нужно как-то умножить на векторы. Но на какие? ЮВ развертка вроде не при чем...Но что именно кормить в альбедо? Допустим я хочу скрин-спейс текстуру отображать на модели. Куда мне VIEW_MATRIX подключать?
433 962753
>>62748
Братан, это довольно сложно объяснить на пальцах в рамках постов-тредов. Ты бы матчасть загуглил.
434 962754
Можно ли скрывать элементы интерфейса вроде панелей и отдельных кнопок? Как я понял свои добавлять можно, но мне пока не понятно, можно ли их добавлять куда угодно? Просто в блендере имеешь доступ вообще ко всему интерфейсу.

Я бы сделал себе некоторые удобства для андройдовского годота. Первое чего не хватает, это вызвать экранную клавиатур в любом месте, чтобы можно было вводить горячие клавиши. Второе это собрать список элементов которые не использую и скрыть их всех. А остальные элементы скрывать и показывать при разных сценариях. Например хочу возможность отдельную панель растянуть на на весь экран и увеличить содержимое, или определенную часть экрана "приблизить". Самое простое, это наверное сделать когда нажимаешь на кнопку которая скрывает боковые панели, чтобы скрывалась также верхняя панель. Также хотелось бы задействовать кнопки громкости на телефоне под горячие клавиши, например убить процесс игры если тот не отвечает. Еще хотелось бы чтобы консоль сама закрывалась если не было никаких ошибок.
435 962756
>>62754
Я имел в виду, насколько можно изменять интерфейс с помощью плагинов.
436 962757
>>62646
Но в таком распределении же нет логики?
Лес, к примеру, "наступает" стеной с небольшим кол-вом выбивающихся вперед деревьев. Именно такое я пытаюсь повторить.
image.png177 Кб, 372x451
437 962760
438 962765
>>62760
После обосрамса с РПГ Мейкер юнити, ГГГеймс увидели свет.
439 962771
>>62760
Это скорее всего будет пак ассетов и темплейтов. Но я не пишу это как что-то плохое. Если этот пак будет сочетаться между собой, это будет хорошее решение для вката богатых буратин. Работа по предпродакшену за тебя уже сделана. Плати.
440 962776
>>62748
Открой шейдер который так делает и посмотри
Напримре
godotshaders.com/shader/redacted/
godotshaders.com/shader/screenspace-tiled-texturing/
Полагаю там или вью матрица, или uv, не одновременно
1720797933355.png33 Кб, 1125x328
441 962779
>>62754
В теории да, ведь редактор сам по себе сцена на годоте
godotengine.org/asset-library/asset/2003
442 962791
>>62757

>Лес, к примеру, "наступает" стеной


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

>нет логики


Логика в том, чтобы вместо 8/24/48 проверок всех соседних клеток каждый тик таймера делать только 1 проверку случайной соседней клетки, которая может оказаться непригодной, но для ОБЩЕЙ КАРТИНЫ (размножение деревьев) это значения не имеет. Если хочешь, можешь дропать семечко как лут, чтобы игрок мог его спасти, если успеет вовремя подобрать и посадить в каком-то другом, благоприятном месте - бонус к реализму.

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

Но для игры в первую очередь важен геймплей. Если геймплей с реалистичными растениями скучный, то необходимо сделать нереалистичные растения. Именно поэтому, в частности, рост растений в играх обычно в тысячи раз быстрее реальных.
443 962793
>>62779
Да нашел. Теперь надо посмотреть что внутри. И сделать себе отдельную вкладку для плагина, на которой будет список элементов который можно пополнять, и галочку чтобы скрыть или вернуть все эти элементы одним махом, хотя эту галочку можно и в более доступное место поставить чтоб не лезть за ней в настройки плагина. Таким образом элементы которые редко используются, можно скрыть, а если понадобятся, то можно все барахло вернуть, сделать свое грязное дело, и потом опять скрыть.
444 962904
>>62791

> Лес никуда не наступает.


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

> Логика в том, чтобы вместо 8/24/48 проверок всех соседних клеток каждый тик таймера делать только 1 проверку случайной соседней клетки


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

Для тестов сделал 3 вида растений, каждый со своим набором параметров для роста и размножения + 4 вида поверхностей которые влияют на скорость роста растений.

Я решил начать с механик т.к. потом на это ядро будет проще крутить все остальное.

Спасибо за идеи, антош.
445 962916
Насколько актуально в 2к24 делать новый проект на 3.5?
IMG20240627205408141.jpg92 Кб, 640x640
446 962933
Посаны, кто-нибудь использует чистый c для Godot?
Как у вас мироощущение?
Сильно перформанс вырос?
Не жалеете, что не пишите на шарпе или гдскрипте?
447 962957
>>62916
Каждый дрочит как хочет
image.png320 Кб, 1306x965
448 962971
>>62589
Визуальные изменения сделать решил, снизил разрешение спрайтов с 64х64 до 32х32, удобней так будет рисовать
449 962984
>>62916
Для веба по прежнему актуально, на 3.6.
450 963008
>>62984
Но 3.6 еще не
451 963009
>>62933
Годачую вопрос. Подумываю переписать один цикл на чистый Си, но останавливает плохое знание этого самого Си. Стоит ли заморачиваться, каков прирост?
452 963069
>>62971
Как будто стало хуже. ИМХО.
2024-07-13 21-00-04.mp43,4 Мб, mp4,
1920x1080, 0:04
453 963071
>>63069
Ну разрешение я снизил, сделал все более простым визуально, мне так легче будет работать над игрой дальше, 64х64 все таки это многовато пикселей и на графон будет уходить много времени
16699003337060.png380 Кб, 1138x1096
454 963114
455 963116
>>63114
Ты прости, может в следующий раз. А сейчас. Пора. Спать.
456 963118
>>63114
Ладно, Арни, сейчас я сделаю ускорение при выходе из портала. Будет вылетать на жопной тяге.
457 963131
>>63118
Зделол, плюс пару анрелейтед багов пофиксил. Пойду тоже спать. Бай, Арни.
458 963141
>>62971
А мне наоборот понравилось.
459 963161
>>61996

>жрёт батарейку за 2 ч


А проект у тебя 2D или 3D?
460 963165
>>63071
Не забивай сейчас свой мозг графикой. Используй картинки плейсхолдеры из интернета, чтобы скорее это скипнуть и вернутся к разработке. Максимум времени и мозговой нагрузки трать на интересную механику. Остальное потооооооом.
461 963170
>>63165

> Максимум времени и мозговой нагрузки трать на интересную механику.


Так ему графика наиболее интересна.
462 963175
>>63170
Нет, нельзя чтобы графика была более интересна. Запрещено.
463 963214
>>62904

>то я беру массив всех клеток вокруг


Но зачем тут массив-то?

>try_plant(Vector2i(x, y), Vector2i(


> randi_range(x - radius, x + radius),


> randi_range(y - radius, y + radius)))


>func try_plant(from, at):


> if can_plant(at): сажаем

464 963224
>>63165
Я весь механ основной уже закодил по сути. Ну я месяц провел не трогая графику вообще и писал базу, сейчас дошел уже до момента когда мне из базы нечего накручивать и пора саму игру делать, так что начал работу над крепостью и заодно подогнал стиль и разрешение под то с чем смогу работать долгое время.
За минувшую ночь много всего сделал, добавил столы на которые можно айтемы ложить, добавил бочки которые как сундуки, добавил разрушаемые объекты, в частности решетку, которую можно сломать три раза ударив любым оружием ближнего боя. Улучшил ИИ пупсиков чтобы они могли ориентироваться не только по твердым тайлам, но и по твердым сущностям статичным. А еще добавил "летающие сущности", прожектайлы аля фаербол входят в их категорию, у них свой слой навигации и они могут летать над столами например и всякими такими препятствиями которые по логике не должны им мешать, но вот нпс например их обходят.
465 963225
>>63224
Кстати угараю гусь автоматически двери открывать научился. Я не учил его, просто код так написан что он сам научился. Я убегаю от него по крепости и двери за собой закрываю, чтобы замедлить его, пока он их открывает целый ход проходит. Забыл написать что добавил двери.
ыыы.jpg19 Кб, 420x300
466 963236
>>62971

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


>пропали сиськи с сосками


>пропала округлость бёдер


>пропало кавайное личико


Моя >>62606 реакция:
467 963237
>>63009

>переписать один цикл на чистый Си


>каков прирост?


Если у тебя вызовы API движка: никакого.
Если меньше мюльона операций: никакого.
Если мюльоны операций: ты чё там творишь?

Короче, нужно смотреть по ситуации.
468 963242
>>63236
Это игровые спрайты, я для сексов буду рисовать отдельные более хайрез как в Лоне короче
469 963247
>>63225

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


>>63242

>для сексов буду рисовать отдельные


Секс с гусями? Заявка на игру года!
470 963274
>>63237
Да я уже на ютубе глянул и понял что это слишком геморройное дело для меня. Оставлю так, не критично.
471 963422
Делайте игры
Godette.jpg30 Кб, 720x720
472 963439
>>63422

>Делайте игры


Быть может,настоящей игрой мечты была Годетта, которую мы завели на нашем пути к созданию игр...
473 963444
>>63009

>Стоит ли заморачиваться


Когда будут тормоза до 15 фпс - тогда и заморачивайся.
474 963453
>>63439
Взгрустнул.
475 963458
приветик. аноны, помогите, пожалуйста, с рейкастом через код. в документации есть такое:

func _physics_process(delta):
var space_state = get_world_2d().direct_space_state
# use global coordinates, not local to node
var query = PhysicsRayQueryParameters2D.create(Vector2(0, 0), Vector2(50, 100))
var result = space_state.intersect_ray(query)

у меня есть нода enemies. я добавил ее в game в (0, 0). Правильно, что если я в query впишу (128, 128) (192, 128) при размере вью 256х256, то рейкаст будет смотреть вправо из середины, как стрелка на 3 часа? Что-то у меня ничего не детектит. там еще есть маска, если я введу туда 1, когда в проекте 1 занят под маску коллизий ноды машины, то в query будет залетать все, с чем и машина может сталкиваться? просто рейкаст через код в дебаге не отображается, ничего не понимаю. это же аналог RayCast2D?
476 963474
>>63458
Поставь в интересующем тебя месте любую ноду3д и чтобы она у себя в реди писала в консоль свои глобальные координаты. И смотри что напечатает.
ray.png20 Кб, 256x256
477 963478
>>63458

>это же аналог RayCast2D?


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

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


Слои и маски - это разные понятия.
https://docs.godotengine.org/en/stable/tutorials/physics/physics_introduction.html#collision-layers-and-masks

>collision_layer: This describes the layers that the object appears in. By default, all bodies are on layer 1.


>collision_mask: This describes what layers the body will scan for collisions. If an object isn't in one of the mask layers, the body will ignore it. By default, all bodies scan layer 1.


По идее, твоя машина находится в, скажем, слое 4, но сканирует несколько слоёв: земля (1), персонажи (2), предметы (3), машины (4), но игнорирует остальные слои: здания (5), интерьер (6), вода (7), эффекты (8). Машина сталкивается только с тем, что сканирует; другие могут сталкиваться с машиной, но машина игнорирует эти объекты, будто бы их и не было.

Маска рейкаста - это слои, которые рейкаст должен просканировать, скажем, хочешь детектить машины - ставишь слой 4, хочешь детектить воду - ставишь 7. Детектить всё, с чем машина может столкнуться - копируешь маску машины; это без учёта объектов, сталкивающихся с машиной, но игнорируемых ей.
478 963493
Господа, у меня 3д, и я хочу в редакторе выделить мышкой половину уровня и перетащить его. Отзумливаю на максимум, выделяю квадратом нужную область уровня, тащу его и вижу что захватил только часть объектов, и часть осталась не выделена. Как быть?
479 963495
>>63493

> Как быть?


Группировать объекты в сценах. Держать сцены в порядке. Вместо папок использовать простую Node3D.
480 963496
>>63495
Хорошо, но сейчас-то выделить как? Почему часть выделяется, а часть нет?
481 963497
>>63496
Ладно, отбой, не знаю как но раза с десятого выделилось примерно как надо, остальное вручную перетащу.
482 963505
>>63496

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


Лимит возможно по глубине охвата пространства выделяющим жестом. Возможно стоит во вьюпорте редактора настроить параметр FAR камеры, чтобы охватывать дальние объекты.
483 963520
>>63505
Потыкал, не особо помогает. Пока ощущение что больше зависит от угла внутриредакторной камеры, под которым ты смотришь. Алсо, у меня тройка, может в 4 такой проблемы нет.
484 963547
>>63493

>часть осталась не выделена


>>63497

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


ЗАЖИМАЕШ ЕЙ CTRL
@
КЛИКАЕШ НА ЕЁ НОДЫ
485 963549
>>63547
Так-то оно так, только заебывает на кучу декоративный нод кликать.
009d5b7e-8d4f-11e6-9527-c054aab0799a.png41 Кб, 335x433
486 963564
>>63549
Тогда шифт+клик, выделение предка или пикрил.
whyyy.webp71 Кб, 1280x720
487 963585
Скоро перекат, а я все проекты снова побросал и не знаю, что мне делать и зачем. Но что-то хочется.
# OP 488 963592
>>63585
Попробуй что-нибудь новенькое. Перекати тред. Я разрешаю.
489 963600
>>63478
А мне нужно на постоянке, придется куда-то ноду впихивать. С масками пока не разобрался в той функции, но отдельно понял. Спсыч. Жаль, все-таки через код не так гибко получается по мне.
490 963619
>>63592

>Перекати тред.


Нет. Мне нравятся твои перекаты. ( ͡° ͜ʖ ͡°)

>Попробуй что-нибудь новенькое.


Как-то тяжело начинать что-то новое...

Удалил пару абзацев потока мыслей.
491 963620
>>63585
Учись заканчивать. Выбери уже начатый проект, обрежь ему скоп масштаб до недели-двух работы, и опубликуй. У меня так самый популярный мой проект релизнулся, лул.
492 963625
>>63620

>заканчивать


Интересные мне проекты: "Scope Creep: The Game".

>обрежь ему масштаб до недели-двух


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

И не интересно мне публиковать микроигры. Зачем публиковать инди-игру, клон которой есть в игровом автомате внутри какой-нибудь AAA песочницы? Лол. Пересыщение рынка плюс бесполезность мини-игр.
493 963628
>>63619

>Удалил пару абзацев потока мыслей.


А я вообще пишу длинные ответы на посты и вместо того чтобы жать отправить удаляю. Потому что они мне кажутся не совершенными.
494 963629
>>63625
Это ценный опыт, аудитория, фолловеры, внимание, нетворкинг, понимание что вызывает интерес у людей, а что нет - все это поможет в дальнейшем. У популярных индюков часто по десятку никакующих игр бывало до того, как они приходили к успеху. А ты сейчас пытаешься напрямую с дивана на Эверест залезть.

Лично мне сложно представить более дизморалящую ситуацию, чем тот же Tail Quest, который пилили лет 5, пиарили на сайте годота, на баннерах годами висел, сам Хуан праздновал его релиз как годотовский долгострой, а в итоге вышло заунывное неудобное дрочилово.

Впрочем, мне нет нужды тебя уговаривать. Так, поделился своим взглядом. Ты делай как тебе норм.
495 963639
>>63628

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


О, у меня тоже такое много раз бывало.

>Потому что они мне кажутся не совершенными.


У меня причин намного больше...

>>63629
У нас с тобой просто интересы разные.

>Это ценный опыт


Пукнуть три-в-ряд на итч - о да, ценнейший попыт.

>аудитория, фолловеры


Будут ждать от меня новых мини-игр. На ту же тему.

>внимание


Засрут токсичной критикой @ превратят в lolcow.

>нетворкинг


Толку от школоты, качающей бесплатные миниигры?

>понимание что вызывает интерес у людей


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

>напрямую с дивана на Эверест залезть


А ты предлагаешь с аквалангом нырять.

>пиарили на сайте годота


Разработчики игр - не ЦА отдельной игры.

>вышло заунывное неудобное дрочилово


Кто виноват, что они не проводили ранние плейтесты с живыми игроками и/или не прислушивались к ним? Да и потом, это ж тавердефенс. Они все унылые...
496 963655
В перекот
497 963679
>>63639

>Пукнуть три-в-ряд на итч - о да, ценнейший попыт.


А ты не пукай. Сделай нормально.
Сделать проект конфетку, это действительно хороший опыт. И если с три-в-ряд у тебя есть шанс добиться совершенства. То со сферическими конями в вакууме они равны нулю.
498 963688
>>63639
У тебя какая-то элитистская болезнь, чел, хотя ты еще ничего не выложил. Спойлер - и не выложишь. Твои шедевры останутся только для тебя.
499 963697
>>63679

>шанс добиться совершенства


Перфекционизм только вредит, замедляет.
Да и потом... В играх "совершенство" субъективно.

>>63688

>Твои шедевры останутся только для тебя.


Что плохого? Были б шедевры, выложить несложно.

Обсуждение началось с того, что я:
- планировал сделать что-то презентабельное;
- ниасилил, приуныл и забил на всё задуманное;
- не могу усидеть на месте, ничего не делая.
А тут началось "сделай игру за неделю"...
1721195466840.jpg16 Кб, 280x204
ПЕРЕКАТ 500 963890
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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