>>942244 Это ты веб-версию игры пытаешься залить? Потому что вот честно, мало кто захочет загружать 500мб для веб-игры. Для экзешников же можно написать в саппорт, они поднимают до 2гб размер. А лучше уменьши свой размер, наверняка у тебя в билде куча мусора, его стоит исключить через экспорт-опции. Я однажды чет тоже распух до 300мб, потом посмотрел внимательней и ужался до 40мб.
>>942244 Я недавно тоже пытался залить туда свой высер, но мне просто ошибку выдает, без конкретики. В архиве сразу весь контент, включая индех.хтмл, без подпапок. Хз что не так
>>942273 Не знаю анон, я десяток игр выкладывал, с таким не сталкивался. Выкладывал и архивом, но потом перешел на их butler, чтобы одним кликом заливать. А просто отладка локальная в браузере работает? Алсо проверь лог в консоли разработчика в браузере.
>>942247 Кучи мусора нет, но все 3д придется перемоделить и перетекстурить. Выкинул одну модельку и снизил с 220 до 180. Но теперь разбираюсь с освещением, все слишком темное по сравнению с пека версией. То ли ambient не сработал то ли что то еще.
>>942244 Я понял в чем оказался подвох. При экспорте я ставил обе галочки. Это и привело к тому, что размер удвоился, каждая текстура оказалась добавлена в 2х вариантах. Это же, повлияло и на яркость. А точнее, текстуры в режиме For Mobile в большинстве черные, что в браузере пеки, что на моей мобиле. Так что пока переключил на For Desktop, но не уверен не будет ли наоборот проблема на каких то мобилах. А делать разные веб билды для разных платформ чет сомнительно.
>>942451 Да. Тот же _process - именно такой метод, ты перезаписываешь метод класса-родителя. Можешь свой базовый класс создать, потом от него extend и перезаписать в наследнике функции родителя.
>>942460 Передай вг что они пидоры. Жрут ААА, сами же плачутся на весь интернет с того как микротранзакции колются, как баги-хуяги, как все одинаковое, как игровая импотенция, как ноугеймз, а сами жопу поднять ленятся чтобы узнать хоть что-то вне мейнстрима. Хртьфу. Инертные шмоньки.
>>942453 process\ready\draw\init я знаю, я не могу найти информацию о других методах. Например если я хочу сделать кастомный класс и сравнить два инстанса данного класса. Для этого в пистоне я могу переопрделить метод __eq__.
Анонсы, нужно ли отписываться от сигналов перед удалением ноды в плеймоде, или похуй? В юнити это было обязательно просто, поэтому я по привычке везде отписываюсь.
В 4.3.dev5 есть неприятный баг, уже два раза словил. Если что-то удалить (файл в папке, например), то потом не дает сохранить сцену. Без частых бэкапов вообще пользоваться нельзя.
Заебался рисовать, решил время с датой сделать, заодно и динамическую смену дня и ночи наварганил, с сезонами даже, летом ночи короткие, зимой длинные, весной и осенью середняк, ну и куча всего другого полезного тоже присутствует. Теперь можно спокойно коннектиться к тикам минуты/часа/дня/месяца/года и выращивать всякие овощи там, стейты непесям переключать, ивенты пилить ну и так далее. День короче не зря прошёл. А ты что делал сегодня анон? А, вчера я ещё рыбалку писал, пока что тестовые наброски скрипта и нод, но удочку уже закидывать можно, причем на расстояние в зависимости от удержания кнопки, а ещё поплавок красиво летит к воде, и возвращается если в воду не попал, обратно летит тоже красиво. Я короче уже готов чем угодно заниматься, лишь бы не рисовать :3
Проснулись. Подтянулись. Рисовать впадлу, поэтому наведу порядок в скриптах и сяду миниигру для рыбалки писать. Тащемто это считай будет полноценная игра практически, поэтому зарескиню и соберу на её основе стимулятор рыбалки, а потом залью на яндекс игры чтоб хотяб 8р в месяц получать. Ехали.
Анончики, помогайте. Не могу понять, или я тупой или лыжи не едут. Вот смотри: Делаю сцену с инвентарем, персонажем, все дела, все, что нужно, настроил. Пытаюсь ее копировать, ан нет. Ее можно только ДУБЛИРОВАТЬ, то есть и там и там будет изменяться все, что я делаю. Втф? А если я хочу сделать пустую болванку и уже на нее натягивать Талмапы например, это как? Заново у каждой сцены все настраивать? Или делать для каждого элемента модули и их подключать? Гручно чет.
>>942650 Если ты создаёшь ресурсы прямо в сцене, они встраиваются в сцену по умолчанию. Таки да, при попытке продублировать сцену ты сталкиваешься с вышеописанным траблом.
Что ж теперь ты это знаешь и будешь внимательнее подходить к проектированию сцен.
Вариантов решения два: 1. Нажимать на каждом ресурсе в скопированной сцене правой клавой в инспекторе и выбирать пункт "сделать уникальным" в контекстном меню. 2. Изначально, создавая сцену, создавай каждый ресурс как отдельный файл, и уже затем выбирай его в инспекторе, так ты будешь сразу видеть (и знать) что у тебя ресурсы из определённых файлов подгружены, а не просто где-то в эфире витают.
>>942654 > я и так все делал по ресурсам, просто думал это сделать проще Файл resource.tres копируешь в resource1.tres потом файл scene.tscn копируешь в scene1.tscn и потом в новой сцене заменяешь прописанный там resource.tres на resource1.tres
Требуется небольшое пояснение
Аноним24/03/24 Вск 21:00:44№94277748
Сап, ГДач! По-бырому подскажите как через код обращаться к файловой системе проекта? Я хочу сделать так, чтобы в _ready() из папки проекта в массив spawn_objects я мог добавить все файлы, чтобы потом через рандомайзер их выбирать и при помощи load() инстансиировать на сцене.
>>942780 И что с этим делать? добавлять через object_massive.add(obj)? Дело в том, что в папке хранится куча сцен, количество которых с ростом проекта увеличится. Допустим, сейчас у меня три сцены и я могу через var x = load("res://hui"), потом var y = load("res://pizda") и в конце var z = load("res://skovoroda"), но у меня не три сцены, а с десяток-другой и мне придётся всё load()'ировать через var'ы? Неужели нет никакого алгоритма типа while i != "res://objects_folder".size(): spawn_object_massive.add("res://objects_folder/") Конечно, gdscript не так работает, но, думаю, логику передал
Сап, анончики. Можете подсказать, как сделать адекватный подъём на уступ? В интернете большинство гайдов для 3д игр, а для 2д все старые. Пытаюсь сделать через raycast, но выходит какая-то залупа.
>>942911 > как сделать адекватный подъём на уступ? Скачать с миксамо анимацию подъёма на уступ, добавить в свою стейтмашину персонажа, использовать рут-моушен анимации, чтобы передвинуть перса на уступ одновременно с анимацией.
>>942911 Я иду простым путем. Коллизия персонажа - капсула. Уступ - меньше чем кривой угол капсулы. То есть, упрощая, капсула закатывается на маленький уступ.
>>942937 Ну сиди ищи одыкватные решения по полгода, перфекционист мамкин. Учитывая что ты не можешь адаптировать старые 2д туториалы под новый годот - удачи тебе хоть что-нибудь релизнуть к старости.
Мои вкусы очень специфичны, я хочу написать глобальную стратегию на Python, идентичную натуральной (пикрил), так сказать. Не спрашивайте зачем. Это можно сделать на энтом вашем Godot'е? Насколько GDScript похож на Python или есть работающая интеграция с Python? Или пошёл я нахуй из треда, потому что моему запросу соответствует другой движок? P.S. на сражения пофиг, будет достаточно автобоя на глобальной, но если Godot такое вытянет, то интересно. Современная графика нахуй не нужна, кстати.
>>942969 Можно. ГДСкрипт похож. Если знаешь питон, то не составит труда его выучить за день. Годот потянет, тем более без сражений. Но подозреваю не потянешь ты. Слишком наполеоновские римские планы для одного человека. Хотя конечно смотря какой у тебя опыт, и сколько/какие игры ты релизнул.
>>942933 >рут-моушен Анончик, а поясни за вот это. Судя по контексту, ты понимаешь, о чём идёт речь, а ещё это, походу, как раз нужная мне штуковина, а я не знаю, как этим пользоваться. Расскажи плиз или ссылку кинь.
Как комбинировать колайдеры с тайлмапа в упрощенные? Например 5 квадратных колайдеров в ряд на тайлмапе комбинировались в 1. В юнити есть специальный компонент, а тут как?
>>942979 В инете тоже везде такое пишут. Я хотел процедурно инстансить кнопки. Для этого такой подход не сильно работает, учитывая что кнопка сама находится в ещё одной контрол ноде.. Вместо этого я сделал кнопки отделными сценами и вместо того чтобы инстансить одну сцену-кнопку много раз я делаю инстанс многих сцен-кнопок и удаляю ненужные. Костыли конечно, но делать какой-то кастомный роутер-синглтон для кнопок ещё дебильнее, учитывая что их всего 3-5.
Я потерял всякое представление о том, как заставить людей понять механику игрового процесса, если честно.
У меня есть ролевая игра, где вам нужно подойти к NPC и нажать E, чтобы поговорить с ним. В самом начале игры у вас есть кат-сцена, в которой ваш персонаж лежит на земле, и единственный человек в комнате буквально текстом говорит И озвучивает диалог: «Иди сюда и поговори со мной». Игроки попытаются выбежать из комнаты прямо налево, не разговаривая с NPC. NPC, дающий игроку первое оружие. Поэтому, естественно, они возвращаются и жалуются, что не могут сражаться, потому что у них нет оружия. Поэтому я создал триггер, чтобы воспроизвести еще одну кат-сцену, в которой NPC кричит им: «Не выходи без оружия». Кат-сцена заставляет игрока вернуться к NPC, где вокруг NPC появляется светящийся контур с БОЛЬШИМ ТЕКСТОМ, ГОВОРЯЩИМ «Нажмите E». Игроки делают это? Нет, они возвращаются в дискорд и говорят... "Я не могу выйти из первой комнаты. NPC не дает мне выйти"
Все, о чем я могу думать, это «Мы пробовали все, и у нас закончились идеи».
>>943003 >Я хотел процедурно инстансить кнопки. Для этого такой подход не сильно работает Ещё как работает. И вот почему. Ситуация 1. Кропка сама по себе - не актор и не часть инстанса актора. Её задача - просто дать сигнал ноде, которая реально что-то делает; в той ноде весь код, обрабатывающий сигнал с кнопки. Ну так вот та нода пусть и разбирается, кто ей сигнал послал; а в сигнале достаточно просто дать эту инфу и всё. Ситуация 2. Кропка - актор либо часть сцены с актором. Тогда он сам разбирается со своей задачей, весь код внутри него, да. Но если у тебя много акторов и надо, чтобы среди них действовал только один, то тебе придётся написать какого-то единого менеджера, который будет ими дирижировать.
>>943013 У меня в игре есть несколько дополнительных локаций, куда можно попасть, если через пару экранов вернуться чуть назад. НПС, который даёт необходимый для прохождения предмет, говорит "вернись и спаси там чувака". ГГ на следующем экране останавливает геймплей и говорит "наверное, мне надо вернуться и спасти чувака". И что же? Много людей плейтестили игру. Но ни один не возвращался спасти чувака. Та секция была необязательной. А в обязательную без разговора с неписем (который стоит прямо тут воле барьера) не пройти. Вот и весь геймдизайн.
>>943018 >Много людей плейтестили игру. Но ни один не возвращался спасти чувака. А если потрудиться написать себе детальную аналитику и внимательно на нее посмотреть, то начнешь считать тупыми вообще всех. Геймдизайн геймдизайном, но yellow paint не просто так.
>>943013 Пример натужный. Ролевые игры бывают разные. Если это дьябла, то у тебя всегда должно быть какое то минимальное оружие. Хотя бы кулак. Нет причины почему персонаж "не может" сражаться. Если же это что-то типа фолыча, то сам факт, что можно выйти без оружия, должен означать что игру таки можно пройти без сражений. Зачем иначе давать возможность куда то выходить безоружному, если это не нужно для геймплея? Ну или делать как было в халфе. Пока ты не поднимешь оружие, ты не пройдешь дальше. Например зомби застрял в дверях. Ну а то что возвращаются в дискорд - звучит вообще прохладно. Если они там уже были, то они должны были видеть прохождения других. Короче выглядит как маняфантазия которых на леддите полным полно.
>>943025 Верно. ААА-игра означает что надо куда-то тратить много денег, а тут все бесплатно и опенсорсно, тратить не на что. Ну тут Хуан с W4 Games сможет улучшить ситуацию. У фирм будет повод тратить миллионы ему.
>>943025 Интересно сколько за свою жизнь средний пользователь дтф сделал ААА игр в одно ебало. Чет думается мне не в движке тут дело. Ну так, легкие подозрения.
>>942984 В инете нашел одно упоминание что тайлмап внутри так и делает, но не проверял, правда ли это. Это надо в исходники с++ посмотреть или хотя бы пару тестов провести. Я знаю что есть merge(baking) navigation и occlusion polygons, но не уверен что тот же код используется для просто коллизий. С другой стороны, не факт что это нужно. Например коллизии по тайлам легко оптимизировать просто проверкой координат, а тут что? Если у тебя будет коллайдер буквой Г он может оказаться вычислительно тяжелее - больше сложений и сравнений придется производить. Потом, если ты один раз упростил, то что будешь делать, если захочешь подвинуть одну клетку? Какой то магией развоплощать коллайдер обратно в маленькие? Это звучит как нетривиальная задача. В любом случае, можешь воспользоваться чьей то наработкой https://forum.godotengine.org/t/how-can-i-consolidate-individual-tile-collision-shapes-into-large-collision-polygons-from-a-tilemap/17012
>>942976 Если анимация "ходьба на месте", то это не рут мошн. Ты сам должен двигать "фишку", на которой в этом положении играет анимацию. Если же анимация рут моушн,то наоборот, теперь анимация управляет тем, где окажется "фишка". Если у тебя анимация медленного разбега, то "фишка" сначала стоит, потом медленно разгоняется и быстро бежит. Плюсы и минусы вытекают из этого. Плюсы - анимации красивее. нет "проскальзывания" ног при ходьбе. Если анимация поворот налево при ходьбе, то это реальный поворот тела, а не просто ходьба прямо и поворот "фишки". Минусы - теперь управлять геймплеем, надо управлять самими анимациями - нужно их ускорять/замедлять правильно, возможно отключать какие то оси. Выше требование к качеству самой анимации. Если анимация идет прямо, но виляет иногда, то и фишка не будет ходить прямо; если при этом оставить рут моушну движение только по прямой, то получится неестественное виляние задницей. В принципе по ощущениям больше работы, надо больше разных анимаций, я например в результате отказался от рутмоушна в пользу боеее простых.
>>942969 >Насколько GDScript похож на Python GDScript упрощеннее питона, в нем нет декораторов, распаковки.
Не знаю, делал ли кто то 3д GSG, но 2д GSG точно пару раз выходили. Девлоги и туториалы несколько штук было.
Что же касается толп марширующих одинаково солдатиков, то такое тоже делал один чел, правда потом он перешел на самописный с++. В частности для такого используются импостеры (билборды), трюк как с деревьями, когда вдали от камеры подменяются спрайтами. https://github.com/godotengine/godot/issues/21269 Так что думаю в зависимости от скилов и свободного времени, за 3-6 месяцев сделаешь прототип.
>>943040 > уступы могут быть только 1 высоты Про игровые метрики этот не слыхал ничего, а советовать лезет. Дизайн уровня следует начинать с установки (для себя) метрик, согласно которым будет дизайниться весь уровень. Если ты внимательно посмотришь на успешные игры, которые у всех на слуху, ты сразу увидишь в них следование метрикам. Уступ 1й высоты преодолевается одной анимацией, уступ 2й высоты преодолевается второй анимацией, которая гейплейно дополнительно выражается например, как разбег, ускорение, двойной прыжок и т.п., уступ 3й высоты преодолевается при помощи третьей анимации, с инструментом типа крюка-кошки, магии, маунта и т.п., уступ 4й высоты преодолевается через помощь непися, сбросом лестницы и т.п.
В общем, малаца, насоветовал атдуши, все делайте игоры по его советам. Будет вам утюг с линейным приращением скорости вместо живого персонажа.
>>943051 Может быть в нулевых так было, что есть только вариант с полубоксом и боксом, но еще с 10-х я играю в игры где может быть террейн любой сложности, препятствия любой формы и масштаба, прыжок может быть разной высоты в зависимости от прокачки стата, а ты предлагаешь подход с одной единственной анимацией под уступ 1 высоты, угу.
>>943060 Максимум, что добавили в современных играх, это комбинированный стейт из трёх анимаций { начало, зацикленное действие, конец } и добавили не фиксированные высоты уступов, а шкалу с дробными значениями, где на первом уровне всё так же работает первая анимация, на втором вторая, на третьем третья и далее.
Впрочем, я послушал твою истерику в ньюфаготреде и вижу, что ты просто вкатился поорать, щас покушаешь мамкиного борщика и блажь игроделия пройдёт.
>>943028 >что тайлмап внутри так и делает Походу что не делает, так как есть много жалоб, что объекты отпрыгивают назад, когда на плоской поверхности объект на стык тайла попадает.
А хотите прикол что я вчера открыл? Оказывается в годот для 2д нет нормального зума камеры. Те если ты спрайт, который попадает в пиксель перфект, приблизишь в 2 раза и сделаешь ему медленную анимацию движения, то спрайт начинает дрожать на границах, при этом если просто увеличить спрайт в 2 раза то все работает нормально. В итоге похоже для зума нужно специальная нода со всеми объектами и графикой внутри которая просто будет выполнять функцию увеличения.
>>943073 Я не бываю в ньюфаг треде, а ты видимо принял лично на свой счет что как же так твой совет посмели оспорить, и там тебе тоже написали что он неудачный. В любом случае в том виде как ты написал "просто скачай 1 анимацию с уступом" не работает, там надо или блендить, или вообще делать инверсную кинематику.
>>943079 > спрайт, который попадает в пиксель перфект >сделаешь ему медленную анимацию движения, Сдается ты не очень понимаешь что пишешь. Если у тебя спрайт пиксель перфект, то и двигаться он должен по пикселям, а не дробным долям пикселя.
>>943091 Пиксель перфект означает что спрайт идеально попадает в пиксельную сетку монитора. Соответственно зум x2 работает так же как пиксель перфект, но в годот именно зум камеры не работает как надо. Что бы добиться этого эффекта попадания в сетку с зумом в годот можно только увеличив размер самого спрайта, но не камеры, что пиздец как неудобно.
>>942780 Хуйню советуешь, этот ебен ведь реально сначала все файлы подгрузит и потом только зарандомит, уж лучше пускай высрет откуда-то пути, нарандомит, и загрузит.
>>943117 Я не про разницу а про кривость работы камеры. И разница в том что пиксель перфект можно с помощью шейдеров делать, там более плавный эффект, и если захочешь плавный зум сделать с этим эффектом, то нормально работать не будет.
>>943130 Я говорю что зум камеры в годот работает с артефактами и это особенно видно при пиксель перфект, и соответственно он артефачет при остальных случаях.
>>943146 Мне кажется ты немного умственно отсталый. Я пишу про кривую функцию движка на примере реализации конкретной фичи, где это максимально отчетливо видно, но и так же мало заметно в остальных случаях. Ты, удивив знакомое слово, зачем то притаскиваешь какие то не имеющие к делу гайду и начинаешь обсуждать хуйню.
Even in cases where the base class Camera2D would be at fault, somehow, it's possible to create custom cameras without using Camera2D at all, because the camera system in 2D is a fiction. It's just a wrapper for Viewport.canvas_transform. As the documentation states:
This node is intended to be a simple helper to get things going quickly, but more functionality may be desired to change how the camera works. To make your own custom camera node, inherit it from Node2D and change the transform of the canvas by setting Viewport.canvas_transform in Viewport (you can obtain the current Viewport by using Node.get_viewport).
>>943191 Это пиздец. Короче я пытался. Я чувствую что тут буду неделями сидеть с красными глазами пердоля движок вместо игры, спотыкаясь о всякую хуйню. Я наверно на юнити пойду, так как я просто сейчас создал проект, нажал одну кнопку и у меня пиксель перфект камера. В годот я третий день обмазываюсь документацией что бы сделать какие то самые простые вещи и нихуя не работает. Судя по тому что там выдают разрабы им просто похуй, от его поста такой вайб типа радуйтесь, что вообще обычная камера есть, лол. Я так понял у них такой подход: бросить околонизкоуровненвые вещи а дальше сами ебитесь.
Годовцы, проясните момент - скачал модель головой бабы с торрентрв фотореалистичную, в блендере красотка, импортнул в годот, вставил в сцену а там БАБА КАК В LEGO!!!!!
3Д в годоте рабочее вообще??? Рендер только в low poly умеет???
>>943238 Нет братан, конечно не рабочее!!!!111 Все делают игры со сломанным 3д. Это ведь не могут быть твои кривые руки, корявые настройки импорта, недостаток освещения в сцене или что угодно другое, верно???????7777777
>>943238 В блендере просто какой нибудь свой шейдер. Это два разных програмных продукта. В годоте тебе надо воспроизводить кожу шейдерами и материалами самого годота. https://www.youtube.com/watch?v=ft--lVFpx4E
Вобщем, 2 дня ебался над тем как реализовать рыбалку как хочу, лез в физику, пытался всякие формулы крутить-вертеть, в итоге бошка закипела и отказалась вообще думать, решил зачилиться на пару деньков, и вот со свежей головой за пару часов криво-косо да налепил черновой вариант кода, осталось довести его до ума, нарисовать визуал, прикрутить звуки, адаптировать под мобилы, и можно релизить.
Аноны, какой есть нормальный алгоритм создания несложных полигонов с заранее заданными ограничениями по максимам\минимумам X&Y? Пока что получаются лишь говно-полигоны как пик 1-2, а хотелось бы делать пик 3. Полигон - заготовка под небольшую карту в мини-игре. Соответственно изъебы типа Voronoi diagram не нужны. Но и генерировать руками не хотелось бы.
А 4.3 подружится с ЯИграми? Пересел с 4 на 3 ради этого, но сук, такое ощущение что руки обрубили, сначала казалось что разницы не будет особой, но как оказалось разница очень большая, отвыкнуть от плюшек 4 сложновато.
Как вызвать функцию (или выставить свойство) немедленно? Я делаю area.monitoring = false, но фолс этот устанавливается только к следующему фрейму. А мне надо ПРЯМЩАС.
>>943539 Точнее, уже не жду. Я то на бете делаю и мне норм. Но был такой сайтец gotm.io который специализировался только на годот веб играх. И у них были разрешены только стабильные версии. А недавно смотрел, сайт просто закрылся. А жаль, у них была компрессия веб версии в 2 раза. Так и не выяснил как они это делали. Раздеребанивали pck и выкидывали ненужное.
Аноны, допустим, есть корабль и он качается на волнах], на нём разные объекты (CharacterBody, RigidBody), есть ли какое-то просто решение, чтобы заставить их качаться? Можно конечно в анимации это сделать, но мейби уже кто-то думал об этом.
>>943528 Сам-то понимаешь, чего просишь? Чтобы ноде что-то отмониторить, надо движку посчитать всю физику, а это только к следующему кадру произойдёт.
>>943584 Судя по всему, эта приписка была в наследство ещё от 2-ки. Потому что я крутил-вертел эти шейпы как угодно в рантайме, ни на что это не влияло.
Сап годач. Я хочу сделать журнал в игре. Идея такая:
Есть черный прямоугольник слева (список документов). По мере нахождения записей туда добавляются документы. Зеленые прямоугольники - это названия документов. При добавлении они автоматом сортируются по названию. Т.к. документов планируется много, пространства внутри списка не хватит, чтобы отобразить сразу все документы - т.е. нужно будет листать список. При нажатии на документ текст отображается в синем прямоугольнике справа.
Вопрос такой. Какие ноды мне для этого использовать? Может туториал есть? Слева мне нужно в ScrollContainer засунуть GridCintainer, а справа использовать RichTextlabel? Или как-то по другому делать?
>>943747 Всё верно ты спроектировал. Так и делай, как у тебя описано. Я бы так же и делал. По сортировке совет, сортируй чайлд-ноды гридконтейнера. Их порядок напрямую влияет на порядок отрисовки. Так что ничего дополнительно выдумывать не надо, прочто берешь массив чайлдрен и сортируешь, вызывая метод. Единственное, что может понадобиться, написать свой сортировщик. Тоже ничего сложного. > Может туториал есть? Врядли. Это уже уровень мидл, а на этот уровень инфоцыги не работают. Тут только доки читать и самому разбираться. Если какой затык, приходи в тред, спрашивай.
>>943747 > Или как-то по другому делать? Я тут недавно нашёл мозговзрывающую штуку. Можно внешнюю библиотеку подключить через шарп, и отрисовывать интерфейс там, а в годот прокинуть одну Control ноду, в которой весь внешний интерфейс будет отрисован. Минусы: придётся работать в шарп-релизе с шарп-экспортом в итоге. Плюсы: Можно тот же самый интерфейс запускать в отдельном приложении без годота вообще, например, как утилиту конфигурации перед запуском игоры открыть легкое оконное приложение полностью аналогичное внутриигровому меню, с теми же стилями. Сама библиотека UI подключаемая в этом проекте на порядки превосходит встроенную по фичам тупо по причине того, что там ребята чисто гуй делают для тырпрайза. И там сообщество намного крупнее.
Но это уже не мидл, это уровень ближе к про. Так что порекомендовать не могу. Делай лучше на встроенных нодах. Они тоже норм.
Почаны, почему owner отваливается у врага и все зависает, даже если просто его сцену запустить? Без говнера работает, но лазер естественно двигается вместе с врагом. Стрельба игрока так же реализована, но там все нормально работает, и в самой сцене и если ее делать дочерней. Никакие настройки наследования не тыкал, так что вообще 0 понимания че происходит
>>943797 Ты, наверное, parent с owner перепутал. Вообще ни разу не приходилось обращаться к owner кроме написания плагинов редактора >но лазер естественно двигается вместе с врагом. Ну так заведи в сцене игры специальную ноду для эффектов и прикрепляй к ней. Или воспользуйся set_as_top_level, правда не помню есть ли там подводные (наверное придется y-sort подвигать)
>>943799 > заведи в сцене игры специальную ноду для эффектов и прикрепляй к ней Двачую. Ваще мы часто недооцениваем возможность прикреплять ноды через экспорт. Тем более в четвёрке это всё допилили, фильтр по классам заработал.
>>943797 Я обычно храню ссылку на уровень где-нибудь в легкодоступном месте. И все прожектайлы, эффекты и прочее добавляю чайлдами именно в него явным образом. Бонусом к такому подходу будет то, что при выгрузке уровня автоматически выгрузится и это всё говно. А то, что ты делаешь, через owner, это рандом. Кем он окажется в каждом конкретном случае - зависит от. Рекомендую парентить прожектайлы к чему-то более персистентному.
А подскажите, как правильно тормознуть RigidBody? Допустим у меня есть шар, я его пнул, хочу чтобы он со временем остановился полностью. И у меня он почти останавливается. Но почти не считается. У него остается крошечная скорость, визуально не заметная, но за долгую игру она сползает мой шар с нужного места
>>943825 Есть параметры linear_damp и angular_damp, они вычитаются каждый тик из скорости. Обычно их используют для трения, вязкости и подобного. Можно задать очень маленькое значение или например задавать его только когда скорость уже ниже какого-то предела.
>>943839 Ну тащемто это база, основа основ, пихать все говно спавнящееся чайлдами к родителю их типа, довольно странно что ты этого не делал до сих пор. мимо
Вкатился в Godot и сразу вопрос: Как сделать масштабируемую карту в Godot? Ну вот эта самая, которая открывается на кнопку М или на любую другую кнопку и показывает вам карту игрового мира. Игра 2Д и карта соответственно тоже 2Д. Я понимаю, что можно повесить кнопку, при нажатии на которую будет открываться окно с изображением карты. Но карта огромная, а экран игры небольшой. Хочется, чтобы была возможность её зумить. Более того, на карте будут отрисовываться важные метки: игрока, боссов, заданий и пр. Я вроде понимаю, что нужно загрузить изображение карты фоном и повесить скрипт, который будет в зависимости от размера фона просчитывать координаты и подгружать иконки меток. Но это в теории, а может есть у кого гайд на что-то похожее или ссылка на видео/пример?
Обычная сцена, каких много. Есть свой скрипт, есть пара дочерних нод с их скриптами. У одной даже @tool. Есть шейдер. Эта сцена крашит годот (4.1) очень специфичным образом. При открытии не крашит. Если просто создавать новую унаследованную от неё сцену, не крашит. А вот если открыть сначала эту сцену, а потом создать от неё унаследованную - крашит. Или если открыть её и унаследованную, а потом переключиться между вкладками, тоже крашит. Сука, я заебался и просто хочу выговориться. А теперь попробую пересобрать эту сцену, вдруг получится.
>>944178 Смотря насколько детальное "объединение" тебе нужно. Если чисто визуальное, то внутри сцены-дырки делаешь рычаг и скрываешь его. Игрок взаимодействует с дыркой рычагом. Показываешь этот рычаг-в-дырке. Иллюзия полного вставления. Делал так в одной из своих игр. Если что-то более комплексное, то наверное через NodePath
>>944175 В 4.2 есть аналкарнавал с ресурсами который хуй знает почему происходит, я тестовые айтемы когда делал движок какого то хера напрочь отказывался считать их как отдельный класс и как ресурсы в целом, причем в списке ресурсов класс айтем то был, а если насильно запихивал айтем через експорт то годо тупо крашился. Причем вообще ничего не помогало, даже когда класс писал полностью заново, делал новые ресурсы, перезапуск тоже, пришлось тупо все на новый проект перенести и посмотреть как там будет, а там оказывается все работает нормально лол, больше с такой хуйней я не сталкивался. Или вот из недавнего, игрался с настройками проекта во вкладки окна, и че то тыкал тыкал, и получился пикрил который вообще никак не фиксится, ну вот вообще, любыми способами пытался, никак короче, благо проект тупо для теста скриптов и тайлшита был поэтому не жалко. Попытался я воспроизвести эту багулину, сначала запоминал последовательность но ниче не выходило, в итоге начал опять в тупую туда сюда клацать, и таки получилось, теперь неиронично очкую лишний пук сделать в настройках окна текущего проекта.
>>944215 >хроматической аберрации Хосспаде, да для этого шейдер-то будет элементарный. 10 строчек с учётом бойлерплейта.
shader_type canvas_item; // 1. бойлерплейт uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; // 2. берём текстуру экрана uniform vec2 red_shift; // 3. сдвиг красного канала uniform vec2 green_shift; // 4. сдвиг зелёного канала void fragment() { // 5. бойлерплейт float r = textureLod(screen_texture, SCREEN_UV + red_shift, 0.0).r; //6. берём сдвинутый красный пиксель float g = textureLod(screen_texture, SCREEN_UV + green_shift, 0.0).g; // 7. берём сдвинутый зелёный пиксель float b = textureLod(screen_texture, SCREEN_UV, 0.0).b; // 8. а синий уже нет смысла двигать, берём его так COLOR = vec4(r, g, b, 1.0); // 9. красим пиксель в полученный цвет } // 10. бойлерплейт
Набросал за 5 минут прямо тут, в годоте не проверял. И да, основное отличие от тройки - строчка 2. В тройке есть текстура SCREEN_TEXTURE, а тут её надо получать вот так через юниформ. Скорее всего, чтобы адаптировать црт-шейдер из тройки в четвёрку, надо будет исправить именно это получение экранной текстуры; всё остальное - математика, которую не трогали.
>>942134 (OP) Привет, годотеры. У меня странная какая-то проблема, создал таймер и, когда обращаюсь к нему, в один шаг получаю null, а в другой уже ноду таймера. Почему так?
>>944317 Потому что ты обращаешься откуда-то из Init() или типа того, в общем, когда таймер ещё не создан. Потому и null. Так что ты так не делай. Видишь, годотечька на тебя ругается. Делай как положено: onready var my_timer = %Timer
>>944319 Обращаюсь _process. >в общем, когда таймер ещё не создан Если бы это так было, то я просто получал null, а у меня именно: null Timer null Timer null и т.д То есть чередуется сама нода Таймера и Null >onready var Я так и делаю
>>944396 Это первая игра, начал недавно. По туториалу сделал базу для платформера, вижу куда можно развивать и расширять, как какие механики добавлять, какие хочется. Осталось теперь сделать ИГРУ...
Господа, есть идеи как сделать 3д текстовый баббл? Вижу лейбл3д, вижу меш. Могу сделать 3д меш и в внутрь нее запихнуть лейбл3д. А как сделать чтобы меш растягивалась вместе с растущим текстом лейбла3д? Может есть вариант попроще?
>>944428 Ну тут смотря сколько средств вложено. Если ты сделаешь смуту в соло, то честь тебе и хвала так-то. Основная претензия к смуте - что она сделана за лярд из бюджета. А не имей лярда, то уже и отношение к такому результату другое.
>>944429 > Основная претензия к смуте - что она сделана за лярд Давайте сравним с другими игорами, сделанными за лярд дерева. Для объективности. Можно с переводом дерева в нефть, золото и другие типы монет. > из бюджета А потом уж будем обоснованно сокрущаться проёбом из нашего кармана.
>>944428 Звучит как отмазка, чтобы нихуя не делать. Берешь и делаешь. Учитывая что ты инди, везде можешь спокойно писать что потрачено 0 баксов (ведь время и усилия ведь бесплатны, дыаа), и что сделано в соло. Только больше респектов словишь.
>>944428 Алсо добавлю, что Смута у тебя точно не получится. Смуту заметили, по тем или иным причинам. Вокруг нее шум. Ее видно.
А ты релизнешь и год будешь сидеть-пердеть с 0 комментов под игрой. И будешь радоваться первому комменту, если он вообще появится. Зато ко второму-третьему-пятому релизу, ты поймешь как шуметь правильно, соберешь свою маленькую сетку мест/людей для пиара, и вынужденно научишься в минимальный маркетинг. Плюс появится важная привычка доводить начатое до конца - без нее ты обречен на провал.
почему-то яндекс игры перестали принимать архив с игрой, неделю назад вроде все нормально было, у меня одного так? пробовал на стабильной версии с сайта 3.5.3 ну и на всякий на 4.2.1
>>944469 Ну, небольшая есть, к тому, что стоило бы вместо вливаний всех денег команде из аж 75 человек с крайне сомнительным портфолио пустым??? сделать несколько грантов поменьше и раздать может менее амбициозным, но надежным разработчикам, экспертов бы наняли что-ли, там даже по дизайн-документу игры было понятно, что всё очень мутно, а ведь по его просмотру идею и одобрили
Кратко говоря, стоило бы с меньшего зайти, теперь, ошпарившись об таких "разработчиков", госфинансирование отрасли заморозят лет на 10
Впрочем тут другой тред для обсуждений подобного есть
>>944469 Наши бюджеты? За всех не говори, чмошник.
Если бы гранты раздавали справедливо, то всем нашим индюкам было бы финансирование на их проекты. Мы бы гордо сидели на грантах и поплевывали бы на жалких грузинских и эстонских либерах, пытающихся зарабатывать в Стиме. Нам бы выдавали всем кучу трафика на Я-играх или бабки просто за публикацию игру в ВК-плее. А так по факту мы, кто не имеет выхода на Запад, вынуждены за 8 рублей жопу рвать в конкурентной борьбе покруче чем в Стиме.
Чет сегодня мотивацию ебейшую словил, считай за сутки практически игру запилил для ЯИ, осталось звуков добавить и магазин со скинами, ну и сам яндекс прикрутить, и се, готово.
>>944518 То шо я ее спиздил это факт, но спиздил со стима, проснулся и внезапно чето вспомнил о ней, сама по себе игра простая в реализации но залипательная пиздец, сам жанр не особо то и популярный, поэтому на ЯИ наврядли будет похожее, шансы я думаю есть короче. Геймплей полностью готов уже, поправить косяки и все чики-пики будет, поэтому завтра потрачу чудок времени на правки а все остальное на рисование скинов и текстур.
есть ноут (win 10, core i5, gtx 940m) есть godot 3.5.3 и Яндекс игры. Создаю пустой базовый проект gles 2 (gles 3 тоже пробовал), добавляю лишь одну кнопочку с надписью TEST, чтобы что-то было видно. Создаю экспорт HTML5, в нем ничего не меняю, выгружаю релизную (дебаг тоже пробовал) версию. Отправляю в ЯИ, все грузит, все проходит, но запускаю и вижу "не поддерживается вашим устройством" что я делаю опять не так, все же работало
>>944520 Не знаю. Не понял как работает, там не используется нейросеть в отличии от DLSS, просто алгоритм фильтрации/шарпенинга? Есть ли вообще смысл в этом для 2д? Вряд ли это даст какой то прирост производительности, а так в 2д можно же сразу лучше все нарисовать.
>>944531 переставил, ничего не поменялось, раньше эта галочка вроде саму публикацию определяла, где игрокам будет доступна, а тестировать из панели разработчика можно было с любых устройств
Думал на рисование меньше времени уйдет, но чет прогадался, из 13 бекграундов нарисовал только 7, выглядят прилично, мне нравится. Еще пока рисовал думал над тем как удержать игрока на подольше, и чем мотивировать покупку скинов хотяб за внутриигровую валюту ибо геймплей одноразовый, и тут пришла идея сделать онлайн режим с рейтингом, естессно никакого реального пвп не будет, только видимость для игрока, а так как на яи сидят далеко не геймеры то запалят это единицы. Минусов не вижу, вижу только плюсы. Сам "соревновательный" момент кинет плюсик к удержанию, а наличие скинов усилит этот плюсик, все же ведь любят выебываться перед другими, хоть этими другими будут боты хи-хи.
>>944659 > Хз о чем ты. >>944663 > Не скам. Как бы вам обьяснить-то. Это не движок. Это игра на базе движка, в которой вы не делаете свою игру, а делаете контент для чужой игры. Вы делаете бесплатно. Бабки с интеграций и мерча получают создатели игры.
>>944670 Причина тряски? Ты получаешь опенсорс платформу, можешь делать в нем свою игру, говорят что можно будет экспортнуть ее и продавать стенд-элон в стиме. Еще обещают маркет где ты сможешь продавать ассеты и миниигры и у них будет 10% комиссии. Челики будут получать с интеграций? Ну так они и работают, делают редактор, мультиплеер сервера, контрибутят в годот.
>>944670 >>944677 Да у тебя и rpg in a box с такими пунктами скамом станет. И сам годот тоже. Контрибьютишь код в репу, а потом на тебе другие разработчики наживаются!!!111
>>944752 Наврядли ее вообще хоть кто нибудь захочет спиздить, ничего прорывного и уникального в ней нет, просто посерфив яи я к удивлению не так уж и много нашел игр этого жанра, если ее можно конечно вынести как отдельный жанр, да и те откровенно говоря кусок говна собранные за сутки в которые не хочется поиграть даже. От того и тряска, шо могу упустить призрачный шанс на успех.
а когда создаем вообще пустой скрипт и впишем в него, например, функцию, то как бы при отсутствии extends подразумевается, что это extends GDScript он там внутри себя по дефолту считает?
Пиздос, после введения флейров на реддите годота тебя хуй кто заметит. Я и сам стал прокручивать эти бесконечные промо. А новыми официальными форумами пользуется кто? Есть с них выхлоп в плане самопиара?
>>944901 Чисто с дивана предположу, что тебе высоту контейнера буквально на 1 пиксель увеличить надо, из-за округления целое число элементов не умещается.
>>944906 Ты про size/position? Поставил 75 и 4 - не помогло. Судя по всему это из-за того, что каждая новая дочерняя нода спавнится за границей vbox container по какой-то причине
>>944911 Не, падажжи. Давай доведём эксперимент до конца. У твоих нод уже был некоторый размер по у, то есть, они всё равно актуальный размер по у заполняли себе сами. Ты поставил минимум 10, это тот же актуальный размер? А поставь минимум 1пиксель. Посмотри, что будет?
Годаны, я щас попробовал воспроизвести у себя в четверке проблему анона >>944911 и внезапно выпал в осадок. А куда пропали маржыны и паддинги трёшки? Как теперь сделать отступы?
>>944925 1 пик - вот что будет если "document name" поставить custom min size - 1 пиксель 2 пик - это custom min size - 10 пикселей separation при этом стоит 2 пикселя 3 и 4 пик - это custom min size у "document name" 0 + separation в контейнере 12. Как можно заметить на 4 пике есть тоненькая полосочка. Godot ее и считает за размер моего слота и прокручивает скролбар до нее. Соответственно сама ячейке не видна. А она у меня сейчас состоит из ноды Control с двумя дочками: button и label (временно)
Поэтому и фиксится тем, что для слота document name задается custom min size
>>944938 >>944934 Да теперь ясно. Если у элемента контейнера нулевая высота (а у Control она нулевая, да), ты должен выставить высоту вручную, но это негативно скажется при масштабировании. Или измени контрол на любой контейнер. Вот как тут я последние два заменил на MarginContainer и они сразу правильно расположились.
>>944940 Попробую еще с марджинкотейнерами. Пару тредов назад сталкивался с тем, что при изменении названии кнопки, она потом нормально, как мне надо, не меняет размер. Появляются какие-то мин. границы. Либо шрифт ломается. Поэтому так костылил
>>944944 > А ты про что именно говоришь? Вот на этих скринах >>944940>>944938 есть отступы (8 пикс) и зазоры (4 пикс). И всё это делается через theme override. Но если пилить игру серьёзно, то для каждого элемента ГУЯ нужно запилить отдельную тему, в которой прописать все параметры.
В трёшке всё это дублировалось. Были отступы в теме, были отступы в свойстваз контролов. Я настраивал отступы через свойства. Поэтому сейчас сразу прихуел, когда ничего не нашёл в инспекторе.
>>944946 > Попробую еще с марджинкотейнерами. Воу-воу, ты главное суть улови. Тебе нужен такой элемент, который будет автоматически подбирать свой размер без дополнительных настроек. Маржин контейнер может и не подойдёт, может тебе элемент строки (слот ентот) будет выгоднее через HBoxContainer сделать. Попробуй разные варианты. Почитай доки. Не следуй слепо советам.
>>944953 После замка Наельбюка и конечно же Балдуры3 народ захочет что-то изометрическое, но не эрпогэ с длинными нудными катками. И вот тут на сцену выйдут стратежки (в которых катки ещё длиннее, но не нудные, хехе). Так что, ящитаю, в ближайшие 3-4 года ожидается расцвет стратежек. Так что ты можешь заскочить в первый вагон хайптрейна.
Как понять что не так с импортнутым из Blender GLB-файлом (отображается крестик)? Сама модель при этом в сцене отображается с текстурой, как и положено.
Разработка говноигры для яндекса идет полным ходом. Полностью переписал весь код так как старый был исключительно для прототипа. Для стандартного режима игры уже все механики готовы. Так же прикрутил ревард рекламу, и обычную при проигрыше. Из того что еще надо сделать: -Дорисовать текстуры, чуть-чуть осталось. -Нарисовать больше скинов. -Найти подходящий саунд. -Добавить казуальный режим (ноу таймер, до первой смерти) -Добавить рейтинговый режим. -Сделать магазин, прикрутить покупки. -Достижения -Ежедневные квесты (пока что под вопросом, возможно и не буду их делать) -Подцепить датабазу.
Визуально игра мне пиздец нравится, но я говноед поэтому.. Работы чуууть-чуууть осталось. К удивлению до сих пор сижу на волне мотивации, от чего ловлю стояк. Сплю по 6 часов в день, 2 часа на отдых, все остальное время пердолю игру. Скринов опять не будет, и ссылки тоже, я все еще трясусь. Дорогие если честно пустые билды, в игре кроме нескольких спрайтшитов ничего и нету, а папка уже весит 18мб, придется звуки и музыку пиздец как ужимать перед добавлением, а ведь планируется ее дохуя добавить.
как понять какие классы нужно ручками что-то выгружать потом, чтобы утечек не было, а какие сами могу сборщиком местного мусора? я так понял все, что resource нужно ручками free делать, а остальное само по иерархии дерева может, типа родителя удаляешь экземпляр и он там сам всех детей подчистит (опять же если в них нет ресурсов)
>>945162 > resource нужно ручками free делать Нет, с чего ты взял? Resource наследуется от RefCounted, значит будет собран сборщиком, когда на него никто не будет ссылаться. (Кроме циклических ссылок, но во первых их лучше избегать, во вторых для них можно завести weakref) Вообще полагаю что для 99% игр вообще ничего вручную менеджить не надо (а для 95% вообще самодельные ресурсы не понадобятся)
>>945179 т.е. я могу любой сложности дерево нодов сделать, в каждом из дочерних будут картинки, звуки, навигационные пути, аллах... потом queue_free() у родителя сделаю и больше ни о чем не думаю?
>>945162 В четвёрке вообще ничего ручками высвобождать не нужно. В трёшке ещё оставались варианты старых объектов, теперь нет. Только если самостоятельно вручную унаследуешь свой скрипт от Object, но зачем?
>>945190 ну я в такие классы часто логику помещаю отдельную игровую, например, хотя они вроде по умолчанию итак будут рефкаунтед, вот я поэтому и спрашиваю, когда нужно теперь в четверке ручками следить и за какими классами с твоих слов я только понял, что если у меня класс только от обджекта наследуется, только в этих случаях, а во всех остальных, даже если я просто скрипт пишу, в котором ресурсы загружаю какие-то вроде картинок и звуков, потому этот класс навешиваю на ноды, то при освобождении родителя он сам все подчистит
а если я массив создаю и в него экземпляры классов пихаю, то мне как чистки массивов таких производить, элемент прямо самому освобождать и на его место создавать потом новый или он сам почистит все, если я просто удалю уже элемент массива?
>>945197 > я в такие классы часто логику помещаю отдельную игровую, например > хотя они вроде по умолчанию итак будут рефкаунтед > вот я поэтому и спрашиваю > когда нужно теперь в четверке ручками следить и за какими классами > с твоих слов я только понял, что если у меня класс только от обджекта наследуется > только в этих случаях Только в этих случаях. Всё, приступай.
>>945228 > значит тебе нужны не просто классы Мне нужны просто классы которые исполняют мою собственную логику с собственной структурой данных, которые не наследуются от какого-то говняка, который вполне возможно потом изменится с версией 4.хуй или вообще удалят в 5.пизда.
Это возможно или нет? Или годод не позволяет программировать что-то своё?
>>945231 вот только вчера проверял, просто пустой скрипт у тебя будет аналогичен классу с extended RefCount, это вряд ли удалят в будущих версиях или когда либо еще, так что можно делать спокойно
>>945246 да в наследовании от RefCount там особо ничего страшного и нет, наверное можно минимально чтобы от Object наследовать, но тогда не забывать использовать free()
Пока вы тут сренькаетесь хуй пойми о чем, можно было в геймджаме успеть поучаствовать, сделать и выложить игру, отработать идею и собрать фидбек вместе с очками популярности и наработанным скиллом геймдизайна. Вот рили, что угодно лишь бы игры не делать. Делайте.
>>942134 (OP) Возможно глупый вопрос, но мне интересно, можно ли как-нибудь сделать так, чтоб при смерти одной частица на её месте появлялась другая с анимацией? Хочу сделать, чтоб на месте капли дождя, после её исчезновения, появлялись брызги.
>>945301 Алсо я бы забил и сделал несвязанные системы. Дождь отдельно, брызги отдельно. Никто не будет всматриваться, а именно ли под каплей появились брызги. Особенно если дождь у тебя валит активно.
>>945275 > Звучит просто какая-то гипервелосипедия какая-то. Пиздец конечно тухловато, мдаа. почему, он от объекта отличается только тем, что там есть умный указатель, который отслеживает количество ссылок и потом сам почистит если не нужно, то просто от объекта наследуйся, но потом сам удаляй через free(), когда класс уже не нужен будет
Чето в последнее время я нихера не высыпаюсь, поспал 3 часа, чувствую хуево себя. И так, шо было сделано: - Нарисвал, а по факту спиздил срисовав под себя, несколько скинчиков. - Сделал мейн меню. - Добавил и прикрутил к сдк локализацию на 9 языков, хуй знает нахуя столько, но а че бы и нет. - Доработал логику и пофиксил багулины.
Времени конечно ушло дохуя, а выхлоп нихуя, кучу времени потратил тупо на настройку темы, шрифтов, огорчило еще то что тултип у опшинбатон в тройке не в скролконтейнере находится по дефолту, на мобиле тупо не прокручивалось, пришлось васянить, времени тож скушало это нормально. Сейчас сижу верстаю юай, а потом буду работать над магазином. Дел дохуя еще короч. Мотивации до сих пор полные штаны, последний раз такое было когда только вкатывался в геймдев. Сорян шо вниманиеблядствую, в стол сложновато делать че то без высирания постов.
Почему-то мой пост удалили, ну да ладно, я ещё раз напишу.
>>945303 > партикли с коллизиями. Когда я использовал коллизии в подобной ситуации (несколько тысяч коллизий в секунду), то у меня ФПС очень сильно падал.
Не рекомендую такое делать в годоте, он не сможет столько коллизий обрабатывать. Конечно для топовых компьютеров это не столь критично, наверное, но у меня на i7 и ddr3 такое было.
>>945335 С партиклями, по крайней мере в тройке, есть подводный камень. Если ты игру тестируешь без всинка или ограничения фпс, и имеешь фпс под 1к, то и все партикли работать будут на таком фпс, и соответственно 1 партикл эмиттер роняет общий фпс на дно. Поэтому у них есть отдельная галка limit fps, которую я всегда ставлю в 60.
Возможно и в твоем случае это помогло бы. Но хз, тестировать надо.
Товарищи гуньдотеры, а реально-ли без еботни сделать трейл из партиклов от рельсы как во втором квейке? Чтобы партиклы завивались в спираль вокруг центра. Вот тут объяснение как он работает если кому быстро надо: https://youtu.be/2Ro_SqyEqK4?si=3Yxk9Cdmr1HsaGTh&t=608
>>945374 Таймштамп, на который ты ссылку дал, похож на обычную синусоиду. А завиваться к центру без проблем, поиграйся там с опциями force/velocity в партиклях.
>>945390 Шизофреника обижают и кибербулят, скорее жаловаться нужно за то что шизофреника унижают прямо на дваче! Абу не написал за то что тебя называют плохими словами, шизло?
Блять, вот же безумная дрисня в треде сидит. Надеюсь этого шизоида выдавят из треда, сразу раздел чище станет.
По какой причине если добавить свет в сцену которую потом добавляешь в другую сцену - он тупо невидим? Да даже меш если добавить - он какого-то хуя невидим.
>>945426 ИЧСХ нода существует, к ней можно обратиться через скрипты, также через скрипты добавляю модель во вложенную сцену во время работы и всё видно, если добавить свет через скрипты - его тоже не видно.
Доверстал юай и прилег покемарить, в итоге проспал блять 10 часов, ахуеть, а вот чувствую себя все так же хуево, будто несколько суток подряд не спал. Похуй, пляшем. Сажусь делать магаз.
Пытаюсь сделать внутри NavigationPolygon пространство куда агенту нельзя заходить. В гайдах пишут что достаточно добавить точки внутри внешней области, но что то не получается. Может кто нибудь пожалуйста подсказать как это делается?
>>945487 Если я скажу что у меня только что получилось это сделать просто вывернув наизнанку внутренние точки создания навигационного меша, то это будет не серьезным подходом ?
>>945488 > получилось это сделать просто вывернув наизнанку внутренние точки создания навигационного меша Да. Это - багоюз. Так нормальную игру не сделать. У одних будет работать- у других нет. Заебёшься фидбек отрабатывать и в конце концов сделаешь по гайдам, как положено.
Привет, Сосач. Недавно заценил демки Godot'а, такие как TPS Demo (для четвёрки есть версия на Гитхабе), Abandoned Spaceship Demo & Desert Light Demo. Во всех трёх случаях я жёстко охуел с высокой загрузки GPU. Кто-нибудь подскажет, это демки плохо оптимизированы или Godot в принципе плох для 3D? Можно ли исправить производительность с помощью RenderingServer (ни в одной из демок таковой не используется напрямую)?
>>945500 >это демки плохо оптимизированы Это. Про них открыто говорилось что они не оптимизированы. Чтобы оценить оптимизон тебе бенчмарки смотреть надо, а лучше самому их набросать и оценить на целевом железе. А так с 3д норм. Я сейчас под мобилки 3д игру пилю, а на мобилках сам понимаешь какое железо.
>>945429 https://dropmefiles.com/1rIoc Ну а хули нет, всё равно кидать нечего. Там прикол в чём: добавляешь свет или меш в weaponSys.tscn и по и тогу когда запускаешь testLvl.tscn - их не видно, а ноды существуют.
>>945550 Всё ещё какая-то странная хуйня, опять это поймал, перезапустил движок и всё заработало, возможно буду копать сегодня отчего это если совсем заебёт.
А понимает кто в чем смысл фоловеров на итче? Им придет уведомление если я новую игру выложу? Или что? Пока ощущение бесполезности, лучше бы лайки ставили.
Сделал разброс для оружия, примитивный, зато хоть какой-то, но и он не работает. Путём проб и тестов понял что каким-то образом слишком быстро возвращаю поворот рейкаста в начальное положение и скрипт не успевает адекватно отработать, кто-то знает что с этим можно сделать(кроме таймера в полторы секунды)?
>>945559 Как конкретно скрипт себя ведет? Возможно, for loop лочит тред и не дает нормально ничего обработать, тем самым результат будет как за один проход
>>945490 А он не подходит чем? Вроде в аддонах стараются сделать свой рудиментарный для травы. Еще yamms в ассет лайбрари находится. Еще в 3ке был аддон mesh batcher, для случаев когда сам руками или тул скриптом расставил, запек, передумал распек и подвигал, наверное такое нетрудно сделать и в 4ке.
>>945602 Надо ручками расставлять зоны) simple grass texture у меня спавнил траву где то в жопэ, spatial gardener чет не хотел хавать модельки. Просто в terrain3d нету своей реализации кисти для растительности, приходиться использовать стронние аддоны. А отказываться от него не охота, так как самый пиздатый террейн в технологическом плане.
Посмотрю что ты предложил, если будет норм работать - то збс, если нет - то похуй. Не велика проблема
Годот теперь будет встраиваемым libGodot в приложения.
Занимательный PR в репо Godot появился от Мигеля де Икаса, который над Xamarin работал. Патч позволяет встраивать произвольные сцены Godot в свои приложения. Для пользователей SwiftUI это означает, что можно встроить Godot-сцену прям во вьюху, отображать и управлять ей.
>>945570 Попытался через physics server, но нигде не объяснено как этой хуйне назначить градус с которым кидать рейкаст, какой час уже сижу ебусь с координатами. На дробовике стоит 11 градусов, но на скринах это нихуя не похоже на 11 градусов.
>>945652 Почитал доку, сделал через Vector3.rotated(), всё равно странная хуйня выходит, строго вниз и вверх пули в одну точку летят, в остальные - горизонтально, ладно, хоть как-то.
>>945559 Скорее всего это связано с тем, что физ движок работает со своей частотой, а рейкаст это объект-легковесная обертка и обновляется тоже только раз в _physics_process Но у рейкаста есть такой метод force_raycast_update ( )
Updates the collision information for the ray immediately, without waiting for the next _physics_process call. Use this method, for example, when the ray or its parent has changed state.
С другой стороны, хз что быстрее, надо вообще померить, может у тебя экономия на спичках и проще иметь все это 40 рейкастов-объектов на твои дробины, чем пытаться переиспользовать один и обновлять его?
>>945664 Ну конечно нету! Ты же выбрал функцию rotated, которая принимает ось (столб, вокруг которой вращаешь). Поэтому для разброса по вертикали, потом еще повернуть относительно, скажем, Vector.LEFT. Правда, это даст разброс в прямоугольной области. Так что сначала я бы сделал генерацию случайного числа в круге (или эллипсе). Это довольно просто, надо сгенерировать два числа - рандомный угол и расстояние от центра (скалированное до размера круга или эллипса), его координаты и будут тем, насколько довернуть выстрел. Писать код мне, конечно, лень.
>>945666 Хотя, тут надо поиграться с распределением. Наверное, можно ввести параметр, который отвечает, чтобы пушка чаще стреляла ближе к центру, чем к краям круга.
>>945639 А зависимость от опенгл останется? Я джва года мечтаю об оконном бэк-енде для годота, чтобы можно было делать на нём оконные приложения без видеоускорения вообще.
Блять, чето работа с ебучим юай затянулась пиздец, сначала вроде кажется что все заебись, запускаешь на мобиле, выглядит как говно, по кнопкам хуй попадешь, текст нечитабельный -> идешь переделывать, и так по кругу. Щас что то более ли менее адекватное намутил, вроде на мобилах норм смотрится. Логику магаза уже намутил, осталось визуально все сделать. Так же прикрутил сохранение данных и обработку их при загрузке, с этим тож намучился, но по собственной тупости, getData в снейк кейсе написал и, блять, без пиздежа часов 6 пытался понять что не так то, пропуская при этом мимо глаз очевидную ошибку. Заебало сидеть верстать юай, поэтому займусь рисованием, а именно надо: - дорисовать уже наконец бекграунды, 4 штуки всего осталось то - нарисовать текстуры к уровням, к этому я еще не прикасался даже, поэтому нарисовать надо очень много всего, но это плевое дело - надрочить скинов Хуй знает сколько это часов займет, тут скорее даже дней, а именно примерно где то джва дня. Потом займусь наконец то другими режимами игры. А под самый конец уже и со звуками начну ебаться.
Бля, я уже было обрадовался что тупая обезьяна вернула старую капчу, а как оказалась вернула только защеку
>>945718 >А под самый конец уже и со звуками начну ебаться. Самое приятное же. Игра оживает, звучит, разговаривает с тобой. Я уже кучу CC0 саунда себе в закладки накидал, но до стадии добавления звука еще ехать и ехать.
Блять, это просто ебаный пиздец, как пост отправил решил пойти чекнуть игру на работоспособность, и сука не зря, учитывая то что я в коде нихуя абсолютно не менял, лишь добавил пару строчек которые должны сохраняться, все успело наебнуться к хуям. Дебажить я того рот ебал в браузере, пока сука зальется проект на яи сдохнуть пару раз можно, да еще и хуй поймешь в чем именно ошибка по ерору. Короче, пришлось дебагерор на каждый пердеж добавлять чтоб сука отследить что не так то ибо по коду все заебись было и работало как надо в плеймоде. Оказалось че, да хуй через плечо, привела меня все эта мишура к датаресурсу который хранил словарь данных уровней. Ну последил за ним, и так и сяк, ну блять не пойму сука че за хуйня происходит, инициализируется он все нормально, все четко, все пиздато, а как только к нему кто то обращается выдает налреференс ресурса, ебаная магия, причем оверрайда нигде и никак быть не может ибо поля приватные. 3 часа сука ебался с этим. И знаешь в итоге как пофиксил? Просто блять перенес датаресурс в новый класс, и о чудо, все заработало. Как, че, почему, все останется загадкой. Проебанного времени конечно жаль. Лучше бы сразу рисовать пошел.
Продолжаю делать игру. По совету анонов выше, подрезаю масштабы (запланированное кол-во уровней в основном), чтобы довести до играбельного релиза. Где-то ~70% сделано. Больше учился как что делать, нежели действительно делал, но наличие результата радует. >>944394 - анон
>>945767 Если экран с иконками предполагается 2д, и тебе надо это запинуть в 3д, то вьюпорт текстура. Для курсорса можешь, например, делать clamp координатам, чтобы за пределы не выходили.
Я могу как-нибудь вырезать кусок из 3д модельки прямо в годоте? Много мне не надо, хочу просто треугольник из каждой модели вырезать. CSGMeshes работают только друг с другом. А у меня модельки в обычном MeshInstance.
Все ближе и ближе подбираюсь к релизу. Магазин закончен на 90%, меню в целом на 70%, скины все нарисовал, бекграунды тоже, текстуры тоже, ну как нарисовал, успешно спиздил и адаптировал. Осталось по хуйне: -режимы добавить, я тут подумал, наверное еще и режим на 2-их с одного компа добавлю, ну а че бы и нет -прикрутить покупки, мало ли кто то задонатить захочет -отработать всякие мелочи -звуки найти и приделать -и самое главное, успешно пройти модерацию Если честно физически уже устал въебывать, 9-ые сутки подряд как никак фуллтайм хуярю, а вот мораль на высоте прям, мотивация никуда не делась.
>>945856 Мышкой, наверное, нельзя. Через какой нибудь SurfaceTool кодом строк в 50-100 можно. Ну вот грубо говоря старый пример где удаляют треугольники из модельки в радиусе взрыва. https://www.reddit.com/r/godot/comments/gy21nd/helpis_there_a_way_to_delete_and_modify_a_face_of/ Еще как вариант ты можешь в блендере делать составные объекты, тогда при импорте они будут тоже из нескольких мешинстансов, которые можно просто скрывать или копировать.
Может ли дефолтный pressed() кнопки передавать какие-то аргументы? Пытаюсь передать в функцию текст кнопки, которая испустила сигнал (к одной функции подвязано сразу несколько кнопок), пока пользуюсь вот таким костылём. Какие есть способы сделать это красивее? Не хочу ебаться с кастомным сигналом для каждой кнопки
Почему мобилки такое говно? Любой шейдер посложнее прямого вывода цвета вызывает просто дикий провал в производительности - это просто жопа. Включаешь FXAA - говно, накидываешь шейдер обводки - говно. Вообще не понимаю как делают под такие пиздецовые условия 3d игры, в итоге получается мыльцо похлеще игр на ps3.
Даже интегрированная графика в интеле не так сосёт, как эти мобильные куски говна
>>945942 На скрине у тебя всё правильно и по красоте. Если кнопок не планируется прям больше, то так и оставь. А если сильно больше - просто коннекть не через гуй, а из скрипта.
Забудь про шейдеры под мобилки. Вообще. Забудь про динамическое освещение, забудь про тени, забудь про отражения, забудь про сглаживание, забудь про прозрачность, забудь про hdr.
Хочешь покрыть максимум мобильной аудитории? ГЛЕС2 и только меши/спрайты. Все фейкать через них. Тени - blob shadow. Шейдер обводки - заготовленная меш. Запеченный в текстуры свет. Smoke and mirrors, пчел, будь изобретательным как диды.
Опять столкнулся с ебаторией на ресурсе, в дебаг плеймоде все заебись, лью на яндекс, ломается. Ломал голову, ломал, думал чтож не так то, как оказалось, ключ который брался из массива и отправлялся в словарь на проверку какого то хуя терял свой тип именно в вебе, пикрил1 из движка, пикрил2 из вебконсоли "2" - int, "3" - float. Потратил я на выяснение этого хуй знает сколько времени. Вот и думойте.
ТИПИЗИРУЙ, ДАЖЕ ЕСЛИ ДУМАЕШЬ ЧТО ЭТО НЕ НУЖНО, ТИПИЗИРУЙ. ЭТО НЕ ТОЛЬКО СОХРАНИТ ТВОИ НЕРВНЫЕ КЛЕТКИ, НО И УСКОРИТ РАБОТУ СКРИПТА. ТИПИЗИРУЙ.
Помогите с плагином Даилогик 2. https://docs.dialogic.pro Очень заманчивый, но не могу понять, как ставить вовремя диалога игру на паузу! Игра либо встает вся вместе с диалогами, либо вообще не работает пауза.
В том-то и дело, что я не могу понять, где мне выставить этот мод ALWAYS. В плагине дохера компонентов. Перебрал вроде все, но в итоге все либо встает на паузу, либо пауза не работает вообще.
>>945953 Звучит так, что ты где-то забыл конвертировать строку в число, или вообще передаешь объект кнопки, вместо ее названия, если ты этим пользуешься чтобы их различать.
как сделать машину на рейкастах? весь Ютуб перерыл, адекватное туториал для годота один, но его продукт нормально работает только при весе машины максимум килограммов 10. где вообще искать нормальный материал по теме?
>>946019 Учись понимать, как это работает, потому что бездумное копирование туториалов (т.н. "шаманство") как ты видишь, не поможет тебе. Вес отличается от 10 килограммов и всё - ты уже ничего не понимаешь.
>>946019 А почему ты думаешь что это связано с рейкастами? Ну если у тебя масса увеличилась в 10 раз то и силу прикладываемую надо увеличить пропорционально. Это в принципе так физика работает
>>946013 Нет. Ты меня за совсем дурачка то не держи. У меня есть массив которой содержит интовые значения купленных уровней, позже этот массив сохраняется в данных игрока. Когда игру перезагружают после инициализации игрока подгружаются данные с сервера, и этот массив приходит не интовым а флоат, от сюда и вся эта мишура, поэтому в движке все нормально а в вебе нет. Знал бы я об этом раньше.. Я так думаю это из за самого гдс случается, ибо условную 8 он видит как флоат если явно не указать как инт, хз почему так решили сделать ибо даже для динамической типизации это не удобно по факту, но может я просто тупой и не понимаю сией задумки.
Аноны, мой герой во время игры, иногда должен комментировать происходящее. Как лучше всего сделать? Пока я думаю сделать готовые плашки с монологами и через animationPlayer включать их, когда мне надо. Но этот способ выглядит, как костыли. Или нормально?
>>946099 если и есть такая задумка, то полагаю, что это сделано, чтобы новички/дурачки, когда писали нетипизировано, всегда получали бы один тип, чтобы не пугались сообщений, что у вас типы разные, приведите к типам, их мозг такого не вывезет, поэтому при объявлении var x = 4 var y = 4.5 оба будут одного типа, поэтому дефолтный тип вещественный, если не указать прямо хотя сейчас это проверил на 4.3 там первое интом будет, так что скорее всего что-то другое
>>946114 >хотя сейчас это проверил Я и сам щас проверил, и действительно он выдает инт, у меня почему то в подсознании отложилось что флоат будет, жижанул получается. А вообще почему так получается написано прямым текстом в документации, пикрил. Ктож знал, я вот не знал, теперь знаю.
>>946112 Нормальный способ если тебе не нужны долгие сложные диалоги с выборами ответов. Я по своим уровням еще area3d раскидал, вляпываясь в которые игрок триггерит диалог. Удобно, просто, для моих целей хватит.
Товарищи, насколько по-наркомански кидать в process-е каждый кадр рейкаст с рандомным поворотом от -80 до 80 градусов чтобы сделать зрение мобу? Улучшит-ли производительность если я заменю рейкасты на коллижн-шейп перед лицом моба(игроку ведь похуй энивей как оно сделано)?
>>946171 У меня сделано так. Считается дистанция от врага до игрока. Если она больше зрения, рейкаст не трогаем. Если меньше - рейкаст всегда указывает на игрока.
Неудержался и уже навалил звука, в плеймоде все заебись работает, звучит пиздато, заливаю на яндекс, ахуеваю с треска, пердежа и хрипа на мобиле. Че за хуйня думаю, может с експортом накосячил, ну и пошел гуглить как фиксить это. Узнал о трех способах, первый сразу откинул ибо увеличение задержки чистая шиза, второй не работает на яндексе по дефолту, а третий, а третьего я рот ебал, юзать внешние библиотеки. Мало того что нет абсолютной никакой инфы как это делать, так еще и пидор разраб единственного ассета для этого дела вообще нихуя не объяснил как им пользоваться, так и он еще сука оказался сломанным если качать из асетстора. Блять, как же у меня нахуй очко горит, я блять с 4 нахуй утра до сия момента ебался с этим плагином. Только на блядскую демосцену, которая настойчиво отказывалась работать, около 4 часов потратил. А она сука сломанная оказалась лол. Еще часов 8 пытался все же заставить всю эту хуйню работать, но тщетно. Потом додумался скачать архив с гита. Подрочив демку еще с часик, все же заставил ее заработать, а еще через час и сам плагин чудом заработал. Вымотало это меня ахуеть как, попиздовал я спать. Из того что осталось сделать: - докрутить звуки - добавить донат - добавить статистику и лидерборд(ы) - доделать 3 режима игры, звучит сложно, а по факту самое простое - поправить небольшие косячки, заметил что юай на одном языке моментами уползти пытается
>>946296 На мобилах (и в браузерах) поддерживается ограниченное количество битрейтов. Нужно выяснять это и кодировать свои звуки в нужный формат. С десктопом-то попроще. Кинул что скачал по файлопомойкам не конвертируя - и играет.
>>946301 Так проблема не в битрейте то, а в том что звуки проигрываются в одном потоке с игрой, процессор забивается, кадры теряются, вместе с ними и звук, от этого треск с пердежем и появляется на говнопк и мобилах в браузерах. Но уже пох, звук теперь через внешнюю библиотеку работает, и проблем вообще никаких нет. https://github.com/godotengine/godot/issues/40891
Между прочим, эмбеддед-в-ноду скрипты очень удобны для, собственно, одноразовых скриптов и создания катсцен через код. Открыл уровень, создал ноду, в нее встроил скрипт, подергал что надо и найс.
>>946391 Бля я тут было чуть простыню не накатил. Отвечу кратко. Не разбираешься - не лезь. Рекомендую для ознакомления разобраться чому четверку крайне редко юзают для веба. Зато в следующий раз себя дурачком не выставить.
>>946409 Звук и тормозит, потому что в однопоточной версии в вебе не успевает в реалтайме обрабатывать. Вариант с внешней js либой звучит интересно. но возникает вопрос, а что еще заменить на внешний js, например все