Вы видите копию треда, сохраненную 11 сентября в 20:11.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
854x480, 0:13
Шапка: https://hipolink.me/godothread
Предыдущий: >>910890 (OP)
Архивный: >>907152 (OP)
А с хуя бы зеленым был?
У меня реально жопу порвало вчера, что меня наебали, и все даже близко не так просто оказалось.
Сейчас попустило, понерфил ожидания, откатился в самое начало, вот смотрю вступительный курс в gdscript.
https://www.youtube.com/watch?v=yKvvLWkjI90
А хуле ты думал, гейдев это сложно.
GDScript знать мало, нужно хотя бы на пальцах понимать как оно работает внутри, уметь применять паттерны, и прочее гавно.
Ну вот так ебаные инфоцигане нулевых гоев как меня наебывают. Никогда такого не было и вот опять.
>GDScript знать мало
Это понятно, но мне хотя бы синтакс и общую логику немного подтянуть. А то смотрю как игру делать, а там шаг в лево или право уже все ибо я половину кода не понимаю на самом базовом уровне.
А ты официальный мануал для начинающих читал или не заметил его в огромном объёме доки? Там неплохо разжёваны основные моменты. Вот тут:
https://docs.godotengine.org/en/stable/getting_started/step_by_step/index.html
Ну или хотя бы вот тут (тот же раздел, но начиная со скриптинга):
https://docs.godotengine.org/en/stable/getting_started/step_by_step/scripting_first_script.html
И да, слепить хуйню на нейросетках действительно просто. Самому научиться кодить без опыта - сложнее. Но гдскрипт изначально создан как лёгкий в освоении язык, Годот изначально дружественен к нубам, а дока чуть ли не лучшая в индустрии.
>>914629 →
Чего злой такой? Я вот сам на подобные грабли наступал, точно так же в тредике срал тупыми ошибками, мне помогали.
Ты чисто потролить в тред залетел или это твое нормальное состояние?
А я тоже не понял смыл ему помагать там все вопросы уровня.
Я не хочу ничего делать пусть gpt мне сделает а тред поправит.
Нет, не читал, посмотрю спасибо.
Я себе представлял, что базовую игру типа топ даун рпг в несколько кликов без кодинга можно сделать, а потом если всякие йоба функции хочешь, то нужно начинать кодить. Даунинг-крюгер работает, даже если знаешь о его существовании.
Так ему гпт в итоге ничего не делал, он сам ручками код по туториалам набирал. А это уже Путь.
Бывают ассеты и тонны опенсорсных игр с itch.io где можно посмотреть или сделать со своей графикой.
Надо проверять реально cc0 или кто то от балды тиснул. А то бывают CC0 изображения Марио, типа не трогайте меня я не при делах.
Как проверять? Писать юзеру, который выложил? Наверное еще через шазам или аналог можно.
Спасибо. Ну как всегда в годоте все сделали, но спрятали, я тыкал туда, но нода свёрнута, даже внимания не обратил
И еще нужно отдельно в настройках автопереключение на remote ставить, ну вот нахуя?
>И еще нужно отдельно в настройках автопереключение на remote ставить, ну вот нахуя?
Хотя может и хорошо, если много нод он при опросе статтерит
Как не демотивироваться тем, что вероятно скоро ai сожрет всех инди разрабов? Невозможно будет лампово пилитить свои проекты, т.к. небольшие игры будут создавать автоматически сотнями в секунду...
А я даже не успел ни одной игры сделать... и какой смысл делать, ведь даже если и успею, то все, на этом точно все закончится, т.к. ии развиваются очень быстро
>небольшие игры будут создавать автоматически сотнями в секунду
Проблема не в этом, а в том что крупные студии будут выпускать не пару проектов в год, а 10-15, и тогда у людей не останется времени на инди, будет куча асасинов балдурсов и богов войны, либо каждый ААА проект будет по тысяче часов на прохождение занимать. В начале года начал, под конец закончил
Какой "этот" епта? Это мои реальные опасения.
Зайди в прошлый тред, и посмотри как чел страдал, поверив ИИ, которое все за тебя сделает. ИИ тоже пользоваться надо уметь.
Я хотел сделать свою игру мечты потому, что её ещё не сделали до меня. Выяснилось, что сам я сделать игру не могу. Таким образом, если ИИ сожрёт инди, я просто закажу свою игру мечты у ИИ и сяду в неё играть.
>Зайди в прошлый тред, и посмотри как чел страдал, поверив ИИ, которое все за тебя сделает.
Ну если быть точным я не использовал калронки для кодинга и не собираюсь. Для артов тем более. Я по обычному тутору с ютуба работал.
>>14669
Так это для меня будет черным ящиком к которму я не смогу притронутся, что бы что-то изменить, иначе все поломается.
> это для меня будет черным ящиком к которму я не смогу притронутся, что бы что-то изменить
Это проблема самоучек: незнание паттернов, подходов, алгоритмов, приемов, стилей, соглашений.
Ну вот ты знаешь паттерны, а игру свою покажешь?
Двачую. Наоборот это благо для геймеров. А мы же хотим чтобы геймеры были счастливы.
Лол, крупные студии - творческие импотенты. Если они начнут заваливать людей своим ААА-контентом, народ очень быстро устанет от этого потока говна перейдёт к чему-то более креативному.
Большинству игрунов норм, все эти онлайн дрочильни миллионы игроков имеют, роблоксы, майнкрафты, фортнайты, каэски, доты. Их игроки про другие игры и не слышали, тысячи часов в одно и то же говно играют и довольно повизгивают
А ты им закидывай. Видишь очередной ноугеймз тред в /b, закинь про итч и инди. И им лучше, и нам. У крупных студий крупный пиар. У нас только мы.
мимо проходил
Игры это про геймплей. Баланс, темп игры, кривая сложности, расстановка врагов и объектов по уровню. На все это нужны собоанные размеченные базы. Ну есои учесть как лажает и сеткт специально обученные на коде, и на арте, то тут как понимаешь данных вообще нет. Можешь ради смеха заставить попосить json с координатами объектов и посмотреть насколько это будет кринжово и неиграбельно.
В документации не нашёл
Кроме фортнайта, всё остальное из перечисленного - инди, выстрелившее её на этапе своей независимости. Кроме того, ты перечислил преимущественно сетевые игры, а вот качественного синглплеера традиционно наблюдается дефицит.
Под ААА обычно подразумеваются всякие атсасины, каловдути и прочие вачдогзы. Если крупные студии с помощью ИИ удешевят разработку и начнут штамповать пачками это вот всё, они сами себя задушат, потому что подобного говна уже сейчас передоз.
НО! Чтобы это работало, я видимо должен в материале поставить галку Local To Scene. Иначе изменяя материал одного объекта, я изменяю их везде, я изменяю все.
Проблема в том, что от уникального материала на тысяче объектов фпс падает просто в дыру нахуй, учитывая что я пилю код на некроноуте.
Есть ли возможность поставить шейдер как-то иначе?
Нейронку ждем, сказал же, смысл сейчас усираться если через год можно будет нажать кнопочку и все за секунды сгенерируется
Жди. Дождешься разочарования и снова ждать пойдешь, как хуй в прошлом треде. Инфоцыгане вам конкретно мозги засрали, конечно.
Правильно понимаешь. Если у тебя условия выполняются, конечно.
Да нахуй надо, там ни души, ни идей. В лучшем случае казино, рот его ебать, или яндекс игры.
А разве нельзя использовать один шейдер, но разные шейдерматериалы?
Например, разные текстуры, uv или параметры материала для разных объектов скармливать в соответствующие юниформы, но при этом все одним шейдером рисовать.
В годоте вообще можно где-то задать новые данные в юниформы перед отрисовкой объекта ?
Дурак ты. Опыт гейдева в студии, любой, это опыт который ты ковыряя симуляторы унитазов не получишь никак. Большая часть успешных индюков стали успешными после работы на большии студии.
Таян прежде чем сделать Римворлд был левел дизайнером у Биошока Инфинити.
Какое большинство? Ок, фил фиш,таян сильвестер, 2D Boy работали в больших студиях. Лукас Поуп фрилансил. Но я могу назвать намного больше людей не работавших в больших студиях. Пиксель не работал, Макмиллан не работал, Кактус не работал, Эрик Барон не работал, Зун не работал, Дейви Риден не работал, Джонатан Блоу не работал, Ноэль Берри не работал, Алек Холовка не работал, Нотч не работал, Тоби Фокс не работал, ОмоКэт не работала, Терри Вельман не работал, Том Фалп не работал, Брендон Чанг не работал, Дерек Ю не работал, Остин Йонгерсен не работал, Мессхоф не работал, Ниффалис не работал, Скотт Коутон не работал, Терри Каванах не работал, Дыбовский не работал, Моппин не работал. Итого 4 из 28 разрабов что я быстро вспомнил, работали в больших компаниях. Это 1/7.
ладно, все, все, разьебал
>>14871
Почитал, это печально.
В 4 годоте есть instance uniform, до 16 штук на материал, только простые юниформы типа скаляров и матриц, текстуры нельзя. Только для меш шейдеров. Для 2д шейдеров нет.
Проблема наитупейшая, и решение в виде instance юниформа тупое.
Я ранее на плюсах и пайгейме с опенглом делал просто жирный универсальный шейдер, как именно шейдеру отрабатывать материал параметризировалось через юниформы, по сути как Principled BSDF в блиннере, и в вызове рисования обновлял данные юниформ по-обьектно, если надо было, производительность была ебейшая.
В 3 годоте наверное такое в принципе невозможно, в 4 только для 3д шейдеров через instance uniform
>ООО МАЦБКЦУКТ-КБЦЛЮК
Очнись, это и есть студия по производству симулятора унитазов. Биошики ему, охуеть вообще.
Пускай не трогают то, что не сломано лучше. Я не настолько прошарен, чтобы обходиться только документацией, а туториалы не обновляются
>>14926
Я решил эту проблему созданием отдельного материала. Теперь у меня два не-уникальных материала - один для 1к объектов, другой для 10. ФПС в норме. Но это конечно ограничивает в том плане, что я не могу взять материал объекта, каким бы он ни был, и добавить ему шейдер. Приходится заранее готовить.
>это и есть студия по производству симулятора унитазов
Нет, это студи по три в ряд на западного барена через три прокладки на Кипре.
В любом случае не идти туда чтоб получать и опыт, и деньги и осваивать технологии прямо на работе - глупо.
Это хорошо, но костыли и ограничения.
А что если хочется сделать рябую шерсть, например, или много частиц с разным цветом, или кучу пулек с разными цветами?
Просто на плюсах и огле я бы даже не задумывался об этом, на все один шейдер, просто перед каждым вызовом рисования инстанса юниформ с параметрами бы обновлял.
А тут какая то морока лютая. Ну в Гд4 ладно, все таки сделали разделение на global uniform и instance uniform. 16шт на материал в принципе жить можно. Но это только для 3д шейдеров, на 2д не сделали такое.
>системообразующая компания российской IT-отрасли с опытом работы с органами исполнительной власти федеральных, региональных, муниципальных образований.
А сейчас они понятно чем занимаются. Тем более учитывая город их расположения.
Не то смотришь. Там чейнджлог только от беты 5 до беты 6. Тебе надо будет смотреть когда релиз 4.2 выйдет, там полное будет.
Как питон от шарпа
Для встроенного редактора скриптов много чего надо, скролл средней кнопкой мыши, подсветки всякие как в райдере хочется
Кстати нашел баннимарк для годотки, четверка 12к выдерживает в билде, не густо. Но в этом треде
https://twitter.com/FabioCorato/status/1703952580722741705
у юнити еще хуже результаты, что странно
Ммм, баннис.
Правильно понимаешь, но я бы на твоём месте перенёс весь этот код в Global и оттуда выставил бы короткий метод:
> Global.get_end_scene_path()
На скрине слишком много обращений к нему, значит это его задача - всё рассчитать, а тебе выдать готовый стринг.
При всей рофловости вопроса, на самом деле с выходом 4ки гдскрипт стал ближе к шарпу и дальше от питона. Остался последний шаг, добавить наконец православные скобочки для объявления блоков кода и отказаться от блоков отступами. Как бы красив стал гдскрипт!
Если каждую строку завершать точкой с запятой, тогда да, в блоке будет на два символа больше. Однако, для современных парсеров нет проблемы распознать языковые конструкции (команды / ключевые слова / операторы) без дополнительных разделителей, следовательно, когда в блоке одна команда, две скобочки избыточнее одного таба, когда в блоке две команды, две скобочки равны двум табам. И ты уже догадываешься, что я напишу дальше. Когда в блоке три команды, три таба уже избыточнее двух скобочек.
Сорян, недовспомнил БАЗУ. Пофиксил.
Ты же понимаешь что главный парсер - визуальный, и сидит он в мозгах у программиста. Чем меньше мусора на экране, тем выше читаемость. А тут еще по сути сущности дублируются. Аргументы про эффективность софтварных парсеров - это что-то из эпохи дедов-сишников и их мейнфреймов. Не актуально, и боттлнек сегодня, как ты и сам заметил, уже не там.
Ну если у тебя в мозгах уже сидит софтварный парсер то мое почтение и зависть.
Спок, это ЧатГПТ сгенерил.
>Как бы красив стал гдскрипт!
Только void вместо func надо. И двоеточия убрать перед равенством, в шарпе и без них определяет тип
Ждём выхода Godot 4.2 и можно будет вкатываться(или до 4.3 подождать, там говорят ТАКОЕ будет).
https://www.youtube.com/watch?v=_0FRE3nw-gA
Мне со своим кринж-графониумом а-ля HL1 чёт даж как-то стыдно...
Ну ничё, на четвёрочке запилю проект по-графонистее.
Проиграно
Это игра по скибиди туалетам?
Сделал такое же самое на юнити, абсолютно такой же результат 12к, как такое может быть, в остальных случаях сишарпа в десятки раз быстрее
И чем тебе годотя не нравится? Это уменьшительно-ласкательная форма
1. Сцена более-менее комплексная, содержит другие сцены со скриптами
2. В этих других сценах я что-нибудь меняю в скрипте
3. Обновляю (перезагружаю) первую сцену, чтобы изменения заработали.
4. Тадам, краш.
Раньше я грешил на то, что в сцене присутствует скелет с ИК-цепочками, дерево анимаций, tool-скрипт. Но нет, даже без всего этого крашатся другие сцены при перезагрузке.
Шозанах? Это я такой везучий/криворукий?
Функция update() движковая, вызывает _draw(), то есть это самый тот дроуколл.
Тайлмап отрисовывает себя на холсте, рисуя единственную текстуру block, двумя цветами, в зависимости от индекса в координатах.
Может это такая оптимизация была у меня? Хммм....
Может в консольке что-то пишет? Запусти из консольки (чтоб она не закрылась после кроша) и почитай. И в гугл.
Дааа. Проблема в том, что даже после того как понял все равно комментить лень. Думаешь "ну тут и так понятно, ну это я запомню", через неделю смотришь в свой код, а там хуй.
С тайлмапами в трешке много неудобств было. Я их тыкал один раз и тоже настрадался. 3дшные гридмапы в разы примитивней, но зато и удобней.
Ничего полезного.
>Program crashed with signal 11
И дальше бэктрейс гоняется туда-сюда между libc и годотом. Calinou на подобный репорт пишет: собери Годот с дебаг-символами, там посмотрим.
Собсно, вопрос не "анончик, помоги", а "у кого ещё такое".
>>15113
>func is_out_of_bounds(x, y, xu, yu, xl = 0, yl = 0) -> bool:
>return x < xl || x >= xu || y < yl || y > yu
Надеюсь, вот так ты больше не делаешь. На это даже смотреть больно. Этому коду нужны не комментарии, а правила нейминга.
Я пару лет назад точно так же открыл свой старый код, нихера не понял и решил раз и навсегда выработать для себя правила оформления. Отказался от одно-двухбуквенных переменных (кроме x, y для координат, i для циклов). Стал красиво размечать пространство. И писать комменты каждые несколько строк, поясняя общую суть нижеследующего.
Иногда (изредка) приходится оставлять код без этого всего, поспевая за полётом мысли. Но после таких приливов вдохновения всегда случаются отливы прокрастинации, тогда я отлыниваю от написания кода и навожу в нём красоту.
(Конечно, речь про 2д, только там эта проблема актуальна.)
Вот есть ригидбоди-предмет (винтовка). У него хитрая коллизия в виде полигона. У него всякие дочерние ноды, типа партикли-вспышки, расположены не в центре. У него, в конце концов, пули не вполне симметричны по вертикали.
А вот что пишут про коллижонполигоны:
https://docs.godotengine.org/en/stable/classes/class_collisionpolygon2d.html
>Warning: A non-uniformly scaled CollisionShape3D will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its shape resource instead.
(очевидно, 3д здесь - опечатка)
И таки да, при скалировании икса отдельно от игрека полигон ведёт себя странно. Так что флипать надо как-то иначе, а не задавая scale.x = -abs(scale.x)
Как уважаемые джентльмены обычно решают эту проблему?
Я пока пришёл к тому, чтобы
а) создать две коллизии: одна с флипом, другая без флипа,
б) создать словарь, где перечислены все объекты и свойства, которые надо менять при флипе.
Но это подразумевает кучу лишней работы с каждым объектом при его создании. А можно ли как-то иначе?
Мне кажется ты усложняешь. У меня два проекта с физикой было, и главная мысль, которую я уловил - делать коллизии как можно проще. Об этом и в документации говорится. Во-первых движку будет проще считать и симуляция будет надежней. Во-вторых тебе самому проще.
Поднимаемая 2д (!) винтовка это как раз то, что я бы сделал базовым коллижн боксом одинаковым во все стороны. А флипал бы все остальное.
> Warning: A non-uniformly scaled CollisionShape3D will likely not behave as expected
А почему так?
С шейпами понятно в чем дело.
Но уж CollisionPolygon2D я думаю без проблем можно было бы растягивать
Алгоритмы генерации неровных поверхностей.
Есть задача генерить вот такие блоки из полигонов как на пик 1 и 2. Какие алгоритмы вообще можете подсказать? Где искать? а если мне потом понадобится рисовать округлые формы? Есть вообще какие-то места где есть cookbook алгоритмов процедурной геометрии?
Если у меня большлинство мещей будут одноцветными, как можно упростить наложение сюрфейсов, то есть создавать материалы как палитру, и каждым материалом просто "заливать" нужный меш?
>то есть создавать материалы как палитру, и каждым материалом просто "заливать" нужный меш?
Я так и сделал. Про остальное хз.
Проблема просто в том, что мне надо делать так, чтобы части этих блоков могли быть прямые, а части вот такие кривые, причём они должны состыковываться по краям. Потому нужно в код добавить что-то типа 4-8 заготовок, чтобы они состыковывались/чередовались. И так для каждого блока.
Знаком кто с этими квадрантами субдивайд? Оставляя всего первый и выключая остальные я замечаю значительный прирост ФПС, а визуальной разницы в тенях не вижу вообще.
А, все, увидел. Оно проявляется когда в сцене несколько точек освещения с тенями. Для моих целей достаточно 1. Халявный фпс, найс.
Всё наверное решается шейдорными материалами, не? Задаёшь там неровность/округлость параметром и шатаешь себе вертексы по этим параметрам, текстурку и цвета как обычно накладываешь. Глянь как всякие моря с волнами из двух треугольников с шейдором пилят.
Если мне надо было анимировать, то почему бы и нет. Это должно будет использовать для статичной геометрии. Хуй знает...
Чевоблять? Я всего лишь хочу выпустить частицу так, как если бы она была выпущена в серии через emitting=true, но одну. Я что, так много прошу? Зачем эти все аргументы? Почему нету дефолтных значений?
С другой стороны, в тройке не было и этого, приходилось делать рестарт.
Я?!?
Либо было бы удобно scene.get("var_name", null), где нуль - дефолтное значение, возвращающееся если var_name не существует.
>scene.get
>If the property doesn't exist, this will return null.
Бля, ладно, я тупой. Документацию читать надо внимательней.
Хуярь по материалу с шейдером на каждый инстанс и получай тормозящую жопу, единственный выход.
Кто тебе мешает вместо привязки движения шума к Тайм, сгенерить в начале сцены одну униформу которую ты передашь шейдеру. Единственный минус, что меш коллижена будет прошлый. Хотя я хз, может можно вертекс шейдкр и к колижену прикрутить.
А если я в блендере делаю модельки, мне как надо правильно экспортировать чтобы не плодить однотипные материалы?
Разрезать UV, и создать карты текстур, тогда у тебя на всю модельку будет один материал.
хуйп на них
> Бля, ладно, я тупой.
Нет, ты не тупой, это действительно не очень удачное АПИ. Предположем, у тебя в объекте есть метод, но содержит он нулль. Но по правилу, описанному в доке, ты при обращению к объекту не увидишь разницы между "нет метода, вернулся нулль" и "метод есть, но возвращает нулль".
Гипотетически может быть задача, для которой это важно. Поэтому я бы на твоём месте юзал in, не понимаю, почему ты считаешь это всрато? Унифицированный кейворд сопоставления сущности и множества.
> for x in y:
> if x in y:
Пионеры любят страшные истории у пионерского костра. Классика. База.
Я подозреваю что in проверяет наличие подстроки. Делая "var_name" in scene мы получим тру в опасном случае когда var_name в сцене отсутствует, но присутствует var_name_extra
Проверить руки не дошли, но как мне кажется это было бы логично.
upd: Или так и хотел
Дешёвый источник эмоций, как и порно. Тупа по рептильному мозгу хуярит
Похоже оно проверяет в точности. Тогда всем тредом декларируем in безопасным и одобряем использование.
https://docs.godotengine.org/en/stable/tutorials/best_practices/godot_notifications.html
И как мы должны понять, что именно ты считаешь устаревшим? Да и зарепорти сам, хули расселся.
>И как мы должны понять, что именно ты считаешь устаревшим?
Документация для 4.1, код не работает. Написано если нашли - репортите, но я же не сектант - хозяин треда
Дат. И не просто, а дат нет.
Дотнет хуйня, пока нативизацию кода не завезут. Насколько я знаю, ещё не завезли. Ну или пруфни мой вронг.
А пока нет нативизации, выгоднее на крестах тяжелые фрагменты годокода переписать перед релизом.
Или на расте, новом, невероятно быстром языке для системного программирования без segfault'ов и с гарантиями потокобезопасности
>А пока нет нативизации, выгоднее на крестах тяжелые фрагменты годокода переписать перед релизом.
А что если... автоматически переводить гдскрипт на кресты при экспорте? Есть ли такие штуки, куда запихиваешь формальное описание двух языков и оно переведёт?
> Есть ли такие штуки
Есть. Называются транспилеры (трансы компилеры, кек). Но не уверен что есть для гдскрипта в си.
Так делать можно, но это может не давать полный профит. Грубо говоря гдскрип это язык со сборщиком мусора, если ты один в один перенесешь то будет всякий оверхед, так же не будет темплейтов которые дают мощь компайлтайма.
> Грубо говоря гдскрип это язык со сборщиком мусора
Ложь. Там нет сборщика мусора. Смотрите внимательно аноны, он лжёт.
Добавлю сюда. В саундклауде нашел официальный фильтр разрешенного использования (в поиске по трекам), в том числе для использования коммерчески. У многих треков, которые этот фильтр выдает, имеется явно указанная лицензия. Часто это какой-либо CC, запрещающий изменять/отзывать лицензию.
Думаю можно пользоваться без опаски. Воткну в свой следующий проект. В тегах soundtrack вообще 10 из 10 для игорь, бери любой.
Зафиксировал этого пиздабола, позор ему и его отцу-членодевке
В годоте не особо силён, но кодовую базу знаю, должен въехать без особых проблем в теории.
Собираю2д прогу, которая работает с графикой и шейдерами
Но зачем юзать какую-то недоработанную, недоподдерживаемую, полуживую недообертку языка, когда есть нативный поддерживаемый легчайший GDScript? Ради библиотек предназначенных для чего угодно кроме геймдева? С#бляди настолько отупели от своих объектно-оринтированных паттернов, что не могут одну страницу с основами другого языка запомнить. Вам же все равно в разы больше документации читать по всему остальному движку.
Я делал Message Bus ноду в автолоаде на руте, который принимает сигналы от нод TextureButton и отправляет при их получении свои сигналы, которые я потом подключаю к тем вещам которые должны этими кнопками управлятся, а также принимает статусы кнопок от системы, если мне надо их заблочить и отправляет сигналы статуса для самих кнопок.
Судя по всему, раньше шестого Годота ничего подобного не завезут.
#--------------------
А меж тем. В четвёрке я работает то, что не работало нормально в тройке. В именно: кастомные ресурсы в экспорте. Теперь я могу делать так:
res1.gd:
extends Resource
class_name MyRes1
@export var abcdef: Array[String]
res2.gd:
extends Resource
class_name MyRes2
@export var sub_res: MyRes1
my_node.gd:
extends Node
@export var super_res: MyRes2
И редактировать свойства этих ресурсов прямо мышкой прямо в ноде прямо в сцене. Нет, в тройке теоретически так тоже можно было делать. Вот только в редакторе выпадал список всех существующих в природе ресурсов, а не только моего, и никакого поиска. Так что было проще экспортировать словарь, если надо что-то комплексное. А теперь-то лепота! Я ж этому ресурсу ещё и всякие полезные функции добавил.
Ах да, и типизированные массивы в экспорте - ня!
А, ну и тип данных каллабле - тоже годно. Очень не хватало его после луа. Ну то есть, не то чтобы я им активно пользовался когда-либо. Но сама возможность очень греет душу.
>Наткнулся
Недавно кидали >>912944 →
>Судя по всему, раньше шестого Годота ничего подобного не завезут.
Нужно ли, если они плотно сишарпой занялись? Зная их любовь к гдскрипту будут делать, но, наверное в пятерке через пять лет
>рассуждения от Хуана на тему JIT, AOT или чего-нибудь такого для гдскрипта
Ну вот сделают быстрый гдскрипт, и что тогда будут верещать хейтерюги?
> и тип данных каллабле
Аще чума! Видал, как я на калаблях реализовал собственные мап и фильтер? Круто вощ.
Любую другую чушь, как и сейчас. Если взять среднего кодера - он почти никогда не упирается в язык. Он в своей мозг упирается. Такая же ситуация с "я не буду делать игры пока не запилят фичу Х". Отмазки и оправдания чтобы нихуя не делать и прокрастинировать со спокойной душой. А Х, отсутствие которого якобы мешало ему, потом сменится на Y.
Те, кто реально хотят, делают на чем угодно. Пигейм, луа, Си, Го, даже на скретче ебаном люди 3д игры делать умудряются и приходят к успеху большему чем эти ждуны ебаные.
Теперь сделай его красиво, добавь ТВИСТ и выложи как законченную игру. И вот ты сделал игру.
> сути не меняет
Меняет, причём кардинально. Сборщик мусора - это отдельная программная сущность, да ещё и синглтон, висящий в памяти, да ещё и обсервер, в котором гц-объекты обязаны регистрироваться при своём создании. И в большинстве реализаций гц проверяет объекты по таймеру, и в момент проверки происходит тот самый, на букву П, пролаг.
РЦ в отличие от ГЦ не имеет синглтона-обсервера. Каждый РЦ объект при своём создании просто хранит у себя целочисленный счётчик ссылок на себя. Он ничего не делает по таймеру. Он просто дропает себя из памяти, когда счётчик ссылок достигает нуля.
Это не просто база, это блять, очевидность.
За собой следи, серёженька-покатусик.
https://godotengine.org/article/release-candidate-godot-4-2-rc-1/
Уже скоро, малютки, терпите..
Прокрастинация. В 4.4 еще больше будет.
Сначала думал что проблема в скалировании мешей. Поставил 1х1х1 и изменил саму меш - результат такой же.
Разобрался. В настройках стояло force vertex shading.
Вот линия шириной 10 пикселей. Я хочу сделать крайние 2-3 из этих 10 пикселей сделать полупрозрачными. А то об край линии порезаться можно, об эти резкие пиксели.
inb4 используй градиентную текстуру: поле текстуры занято, там шум. Шейдером размывать тоже не вариант, комп подавится таким количеством шейдеров.
Может, какой плагин есть или типа того?
Сделай композитную сцену. Твоя обычная линия, как есть, из 6 пикселей. По бокам отдельные объекты по 2 полупрозрачных пикселя. И все это заворачиваешь в общую сцену как шавуху.
Так у тебя белая тема. Где-то в настройках темы забыл.
А мне вот интересно, ты в каждом приложении пытаешься инверсию колесика сделать? Почему бы тогда не инвертировать его на уровне ОС?
В майе и юнити оно стоит как надо, в блендере есть настройки на все случаи и хотелки, в годоте тоже есть, но почему-то эту мелочь забыли. Годот в тонкостях бывает грубоват, и часто они потом не хотят мелочи допиливать, потому что других дел полно. Привыкну, наверное
Ну, в принципе, шейдер-то я набросал уже. Текстура линии - градиент в альфу; у шейдера в юниформе шум, он рисует его, но только альфу берёт из текстуры.
Любопытное наблюдение. Походу, каждый сегмент шейдер считает отдельной текстурой со своим UV.
Единственное, что меня беспокоит - а не будет ли это тормозить, если на экране нарисовать (и двигать) несколько сотен сегментов таких линий?
Поройся в треде, перекатов 10-20 назад обсуждали
Собственного UV у линии нету. Ей надо задать текстуру. Текстуре надо указать режим Stretch или Tile.
UV.x этой текстуры лежит вдоль линии, а UV.y поперёк.
В общем. Из шейдера нельзя получить длину линии. И следовательно, нельзя размыть (с заданной величиной) как минимум один её конец. Придётся городить гдскрипт, чтобы сообщать шейдеру длину линии. Эх, я надеялся обойтись без этого.
> Походу, каждый сегмент шейдер считает отдельной текстурой со своим UV.
Каждый фрагмент?
Суть шейдеров в распараллеливании. Шайдер - это программа, которая может параллельно выполниться для каждой точки материала, на миллионах графических конвееров видеокарты. Поэтому ни одна из точек материала (фрагмент) ничего не знает о соседних точках (фрагментах).
> а не будет ли это тормозить
Набросай тест и проверь.
Вопрос не в версии,а в документации и гайдах к этим версиям
>Каждый фрагмент?
Нет, отрезок. Линия состоит из отдельных точек, участок линии между двумя соседними точками - отрезок. Вот про него речь шла.
Энивей, это было ошибочное утверждение. Шейдер вообще не применяется к линии как таковой. Он применяется к текстуре, если таковая у линии есть. Если текстуры нет - шейдер "не работает".
А нафиг они тебе там нужны?
В редакторе же ненастоящие фепесы, там упрощенный рендер.
А при запуске ты можешь какие хочешь графики рисовать.
Тебе надо матчасть учить, чтобы ты понимал ответы на свои вопросы.
А зачем это нужно? Нельзя просто наложить на линию текстуру с уже размытием по бокам?
>А нафиг они тебе там нужны?
А нафиг они в юнити и анриале там сделаны заебись? Вот, тупые да?
Охуительная логика, а че в вертолете винт крутится, ведь в самолете нет.
У меня похожие загоны про клавиатуру. Каждый раз покупая клавиатуру я физически перетыкиваю ей кнопки, а потом переназначаю их на уровне ОС. Рекомендую.
Потому что 98% существующих раскладок - неудобное дно, а найти готовую подходящую клавиатуру это как чудо увидеть.
Двачую.
У меня такая же хуйня с мониторами. Постоянно отдираю у нового монитора поляризационную плёнку и вклеиваю её себе в очки.
Ну я не настолько упрямый и ленивый, я бы переучился, проблема в том, что в других прогах тоже навигация, в пэнтере, например, и сложно под каждую перестраиваться, проще один раз потратить время везде настроить одинаково.
Блин, про скролл редактора скриптов на среднюю кнопку мыши, подумал, что в годоте его нет и скорее всего не будет, но они же сделали плагин гдскрипта для VSC, там то должно быть, потому что в VS есть несколько таких скролльных плагинов. Установил, настроил, хуй там, тоже нет скролла, его оказывается на гитхабе выпрашивают уже лет восемь
https://github.com/microsoft/vscode/issues/6302
https://github.com/microsoft/vscode/issues/104183
Видимо это принципиальная позиция, но могли хотя бы плагинчик сделать.
В райдере официальный плагин есть Fast Mouse Scrolling, и оказывается для райдера уже два плагина гдскрита запилили, но они пока плохо работают. НЕ СУДЬБА
Удобно на работе порнуху смотреть.
Не, сложно сильно, если бы я хорошо прогал, то на анриале сидел бы
Когда плей нажал изображение в редакторе покоцалось
Вот что бывает, когда не пытаясь научиться в шейдеры, лепить что-то, не разбираясь, что ты делаешь. Да. У меня такое тоже бывало.
Я ничего не лепил, спереди запущенная игра, сзади окно редактора, это просто сбой, перезапустил годот, и все нормализовалось, какой-то баг
Фу, нет, это не контент! Это инфоцыганин!
Вау. Это ТАК мне помогло. Он такой помощник этот чел. Даже не просто пиарщик своей гвоно-игры, а реаль учит. Я не знал что так быстро можно выучить годот! Самые информативные 2 минуты в моей жизни.
Подскажите лучше по геймдизайну. Как показать что объект на данный момент не участвует в игре, что у объекта выключена коллизия? Поставить ему прозрачность - очевидный вариант. Какие еще варианты?
Сделаю демку, трейлер, скину на стимфест. АльфаБетаГеймеру скину, ещё всяким обзорщикам из таблички. Добавлю пару локализаций на стим страничку. Добавлю на фесты всякие, форумы тематические, реддиты. Напишу в Айжиэн и Компьютер Гей. Напишу тем обзорщикам и кураторам которые помогли мне на прошлой игре. Попробую запустить Кикстартер. Порошу репост популярной подруги в твитторе. Как-то так. Дев-дневники и так очень редко взлетающая штука, а если ещё и вместо полезной инфы там будет просто реклама - то это вообще дно.
Сделать его какого-то нейтрально-однородного раскраса типа синего или красного.
Если он появится в будущем и не нужно знать что именно это за предмет можно сделать метку на полу или оставить какое-то свечение на местах спавна.
>Сделаю демку, трейлер, скину на стимфест
И тебе скажут что говно-игрой какой-то спамишь, и тебе будет стыдно дальше ею срать
> и тебе будет стыдно дальше ею срать
Ты себе какой-то хуйни навоображал. Мне не стыдно дальше срать скринами моей игры. Я делом занят, а не засиранием двачей.
У меня вся игра нейтрально-однородного раскраса. А свечение пожалуй неплохо.
Да ты только что обсирал чужую игру, вот твоё дело
Из проблем пока вижу отсутствие дополнительных аргументов. В InputEventAction есть float strength, но этого маловато.
Какие подводные?
Нихуясе! Вот это реально крутой лайфхак. Готовая шина сигналов искаропки.
> отсутствие дополнительных аргументов. В InputEventAction есть float strength, но этого маловато.
А если наследника инпутивент сделать со своими данными и кидать его?
> Какие подводные?
Пока что никаких не вижу. Надо тестировать в продакшоне.
Ты просто гений! Оно работает.
Ну ты шустрый. Я вот точно такое же сейчас пишу, лол.
Из подводных еще подумал что инпут может кто-нибудь съесть невзначай. И конечно это не полноценная замена сигналам, оно не дает нужной гранулированности. Это именно что широковещательная шина, да.
Раз оно работает - планирую использовать в текущем проекте, который в итоге отправится в публичный релиз. Отрепорчу по итогам, если не забуду.
Кстати может это хорошее начало полноценного. Тут кто-то плагины пилил.
Не знаю, как работает колдунство, но вот артефакты оно порождает. Пик1 спрайт дитя ноде2д, пик2 спрайт дитя канвасгрупа.
Это баг или фича? Кто-нибудь сталкивался? Как-нибудь исправить можно?
У меня нормально всё, может у тебя сжатие стоит при импорте
Годот ждет когда вы ему свои игры покажете. Вы же сделали игры за этот год? Вам есть что отправить, верно же?
Я свою отправлю. Маловероятно что возьмут, она небольшая. Может твою возьмут.
Похоже новый глобал иллюминейшн пилит, круто
Начался полномасштабный перенос кода из головы на бумагу. И трех лет не прошло
Мохо умеет сохранять в fbx-куклу, которую можно засунуть и в годот и в блиннер и в юнити. Соответственно ты можешь как минимум организовать скелетную, меш-деформную и шейп-кеями анимацию, если немного заморочиться, можно и в pc2 выгрузить меш-деформы. Но экспорт в fbx в мохо ограниченный, многих фичей не сможешь перенести из анимации, тут лучше пользоваться другими тулзами, типа спайна или драгонбонс, ну или блиннер в конце концов, сделать в них куклу с пс2 кешем для мешдефориаций изично.
По размерам - скейлинг может и ухудшить изображение, тут сам решай. Я бы в едином максимальном разрешении работал для проекта, ибо нехуй.
>В прошлом треде я разобрался >>911255 → → , как относительно легко флипать скелетно-анимированного персонажа.
В документации написано, что надо просто делать kinematicbody2d.apply_scale().
>Еще видел совет, что нужно загружать картинки в 2 раза больше чем надо, а в проекте уменьшать, чтобы в качестве не потерять. Все верно?
В эпоху 4к или даже 8к мониторов - да, иначе твои спрайты будут выглядеть как грязь. А я к счастью пиксель-господин и лишен таких проблем.
>хуями кормите?
Ну если хочешь, то пожуй хуя.
Ну, если в дереве того кинематика нету скелета, то прокатит. А со скелетом распидорасит от скейлинга.
Скачал демку официальную, там спокойно со скелетом флипается
А я ему и говорю...
Аноны, подскажите фриланс-биржу, где можно небольшие заказы размещать по гейдеву, в т.ч. годоту?
Есть ряд несложных задач.
Размещай заказы прямо ИТТ. У нас полно скучающих анонов, которые что-то несложное бесплатно наваяют. Вон в прошлом треде анон спрашивал кому какой плагин написать. Наверняка он тебе и простого кода навалит.
Я начну. Запилите мне несложную иерархическую стейтмашину, плиз. Стейты - ресурсы. Стейтмашина - наследник стейта. Конфигурирование через инспектор.
Чел, я в одном из предыдущих тредов разместил, причем задача буквально на пару часов для того, кто знает годот. И что ты думаешь? Всё, что я получил это были комменты типа "сделай сам, это же изи".
Странно.
>Вон в прошлом треде анон спрашивал кому какой плагин написать.
Сделайте плагин в редакторе скриптов скролл на среднюю кнопку мыши. Ага, хуй там
Сейчас бы путать заказ с использованием гдскрипта и заказ на модификацию c++ движка, мммм
Я не шарю какая там модификация, они же хвалились, что какое-то расширение написали, что легко плагины стало делать.
Я обдумывал вариант со сторонами игрального кубика вместо цифр. Ты доказал - идея была хуйня. Рябит в глазах.
>Там в Аргентине новый президент. Слыхали?
Да Хуан уже давно переехал с этой помойки. Нежное солнце Испании слишком его расслабило
>for i in range(5):
>var w = i × 0.25
>var C1 = lerp(A, A2, w)
>var C2 = lerp(A2, B2, w)
>var C3 = lerp(B2, B, w)
>var D1 = lerp(C1, C2, w)
>var D2 = lerp(C2, C3, w)
>points = lerp(D1, D2, w)
Пик2:
>for i in range(5):
>points = A.cubic_interpolate(B, A2, B2, i × 0.25)
Спрашивается: а какого хрена?
Я думал, Вектор2.кубик_интерполате это построение кривой Безье. Но чёта вот что выходит. Или это не оно?
Сделал сцену с кнопкой и нужным поведением (button), теперь хочу размножить эту сцену с кнопкой в другой сцене. Т.к. размер поля динамический (а-ля сапер), то как мне множить эти кнопки в другой сцене (field_of_buttons) в цикле?
Разобрался, теперь instantiate() вместо instance()
Где спрашивали гражданство - указал РФ, потому что РФ. Еще место жительства спрашивали, указал не РФ
>Какие проблемы были?
Пока никаких, кроме отсутствия игры)
Щас последний эта проверки вроде как, паспорт отправил
>паспорт отправил
Отпишись по результатам. Интересно.
Может у них там сейчас как в гугл-плее. Бесплатное приложение выложить можешь, а вывести деньги - хуй.
Не знаю, может ачивку какую-нибудь дадут, повешу значок девелопера на страничку в стиме
>Страшно? А ведь вас предупреждали
Бля, автор люмена пишет, что Хуанг опять хуйню делает и не знает инфы за 14 год
Поздно, он новый ги разрабатывал в голове два года, уже реализовывает. Зная его, он никогда не откажется и не будет переделывать, даже если будет точно знать, что чужое решение лучше. Посмотрим, может лет через 7 еще улучшит.
1920x1080, 0:07
Кратко:Как заставить спрайты разного размера сохранять адекватно своё положение БЕЗ ПЕРЕМЕЩЕНИЯ через код?
Очень долго ебался с настройками и локализацией когда их только ввёл, но так и не поборол, сейчас пришло время вводить персов, столкнулся с той-же проблемой, есть какие-то статьи с идеями как решить задачу?
1920x1080, 0:04
С центром похожая хуита происходит, нужно что-то другое.
Можно, но ведь люди делают как-то иначе? Сделаю пока так, но всё-же хочется узнать другие варианты
> БЕЗ ПЕРЕМЕЩЕНИЯ через код
1. Сделай один размер
2. Анимируй только губы, а не всю нижнюю челюсть
3. Если совсем шиз(не факт что получится подстроить): меняй позицию анимации через анимацию в animationplaуer
А зачем так делать, если у тебя просто нарезка рта?
Впрочем, пепеделываешь на обычный animation player и все
Самое смешное что если бы он все лицо анимировал, такой проблемы не было бы
То есть он специально вырезал, но каким то раком неодинаково
https://youtu.be/zUeLesdL7lE
База. Лучший подход.
Fisheye shader?
Я погуглил, есть пара ишью, никто не реализовал, есть 360° камера которая потом склеивает проекцию, но она использует 6 камер что медленновато.
Делаешь физон, потом по значению вращения осей определяешь какое значение сверху, хули ты блядь.
Потому что если тебе действительно нужен тот софт, это нерациональнпя трата времени не делать его самому эти месяцы.
Да забей ты, это просто очередной прокрастинатор. Они всегда найдут причину ничего не делать.
Или тролль, указавший свою телегу к чужому заданию
ёвэлкам
Трата на что, прости? Я пока не потратил ни минуты на это задание (и не планирую). А общаюсь я итт и без него.
Нерациональным будет скорее разбираться в том, в чем я не разбираюсь, чтобы сделать такую простую штуку. Явно реализация двух кубиков займет времени меньше, чем чтение доки, возможно на порядки.
По разному, либо действительно перед камерой вешается квад, либо уже идет обработка вьюпорта или даже экранной текстуры
По второму вопросу, смотри оф пример 2д в 3д, то есть да можно выводить картинку во viewporttexture
Сразу после 4,2.
Бессмысленно, 4.3 не вышел, новый ги не вышел, до 4.4 как до луны.
У меня одного HTTP запросы выполняются пиздец как медленно? Если кто сталкивался, дайте знать, как фиксить
>Молодцом, разведчик. А возможность сделать взнос через этот стим директ - она есть? А про вывод заработанных денег пишут чего?
>А возможность сделать взнос через этот стим директ - она есть?
Способы оплаты там такие же как при покупке игор или пополнения счета.
>Так из РФ, без обходных маневров, не пополнить счет.
Ну да, но вроде обходных маневров уже достаточно придумали. Но я не разбираюсь, у меня забугорная карта есть.
Хуёво тогда, не углядел
Поставить кинематик на нужный collision mask, а areа на соответствующий collision layer
> чтобы сам кинематик получал сигнал о том, что вошел в area
Заведи в кинематике своём функцию
> func on_entering(area):
Затем у area в её обработчике сигнала on_body_enter(body) напиши:
> if body.has_method("on_entering"): body.on_entering(self)
Таким образом произойдёт ровно то что ты запрашиваешь в том виде, как запостил: сам кинематик получит "сигнал" о том, что вошёл в area и у него даже будет ссылка на инстанс.
... при этом, что важно, кинематик всё ещё не знает ни о какой арее, до тех пор пока у него не вызовется эта функция, в функции будет локальный аргумент с инстансом, на этом их взаимодействие окончится до следующего раза. Таким образом, код кинематика остаётся инкапсулированным (без зависимостей, инкапсуляция не сокрытие) и может быть легко перенесён в другой проект.
Какая разница, перенесешь, и все равно так же зависимости прописывать, но не от него, а к нему
> все равно так же зависимости прописывать
Разбирайся с архитектурой проекта. Если тебе неудобно - значит ты что-то делаешь не так.
https://youtu.be/3SY1M86XO9A?t=500
С 8:20 до 8:30 особенно хорошо заметно.
Сегодня у нас самые дешевые мобилки в пиццот раз мощнее. И все равно в документации годота мне советуют не использовать на мобилках динамичное освещение, потому что видите ли ТЯЖКО. Это утерянные технологии древних? Или что?
> утерянные технологии древних?
Похоже на то. Я вглубь не копал, но по моим поверхностным исследованиям, могу сделать вывод (и предположение) что раньше тени делали различными алгоритмами, многие из которых были гиперреалистичны, но потом появился некий алгоритм, который на хайпе подхватили все, и этот алгоритм порождает вот эти говнотени, которые мы видим во всех современных играх.
Такая же хуйня с зеркалами.
Еще лепту вносит постобработка на уровне скринспейса. Из за неё невозможно нормально сгенерировать ни зеркала, ни тени, потому что там, постобработки не будет. А она, постобработка эта, встрена в современные рендеры на уровне ядер. Управлять этим как пользователь ты не сможешь.
В качестве решения этой проблемы предложили аппаратный рейтрейсинг. И тут блять В ПОЛНЫЙ РОСТ встаёт конспирология про картельный сговор между производителями видеокарт и софта.
>В качестве решения этой проблемы предложили аппаратный рейтрейсинг.
Представляю время когда на мобилки начнут завозить рейтресинг, лул. Или круче - path tracing. Вот уж действительно штаны прожжет.
>Такая же хуйня с зеркалами
Нет, не такая же. Все зеркала в старых играх, если они прям выглядят как зеркала, это просто комнаты за стеклом. Есть пара исключений, где зеркала сделаны как порталы, но тогда это либо в самой игре есть и просто порталы, либо качество картинки на зеркале заметно урезано.
>>17928
Есть две проблемы динамических теней, как тут или в Думе 3.
1. Они слишком резкие и пикселявые. И невозможно им как-то размыть края, так уж работал этот алгоритм.
2. Они способны падать не на все объекты.
Это, кстати, во всех старых играх беда была. Помню, как меня бесил в Халф-Лайф 2 светящийся трупик манхэка в кромешной тьме вентиляции. "Через каналы" ближе к концу, там есть секретка, залезаешь в вентиляцию, а навстечу из-за угла манхэк вылетает.
>Они слишком резкие и пикселявые. И невозможно им как-то размыть края, так уж работал этот алгоритм.
Вполне актуально для 2к24, с его пикселями и 3д пикселями. Если бы годот дал мне такой алгоритм - я бы его использовал чисто ради подходящего мне стиля, не говоря уже про скорость.
>2. Они способны падать не на все объекты.
А какие проблемы были?
Карты теней обычные. Ничего сложного, но есть артифакты вроде алиасинга, питерпанинг, теневое акне и т.п. но все это легко фиксится + можно контактные тени в скринспейсе резолвить.
Но это пока ты не начнёшь возиться с подповерхностным рассеянием, очень тяжко шедоумапы согласовывать со спектром терминатора на, например, коже.
>А она, постобработка эта, встрена в современные рендеры на уровне ядер. Управлять этим как пользователь ты не сможешь
В смысле, кто мне запретит? беру и рендерю в текстурЫ что мне нужно, обрабатываю постом обработом, что угодн далее делаю, и контактные тени слеплю, и OIT послойный, и SSR и SSSR, SSAO, SSDO в один/десяток отскоков, HBAO, HDAO, HYЯO, и light bloom, и лайт гостинг, плазмоидов, и ленз фларе с ЛГБТ радугой, и имитацию hdr и адаптацию глаз, что угодно. Если вообще разбежаться, можно и полный GI с рефлексами, AO и тенями собрать на базе техники рейтрейса по ворлдспейсу, запеченому в текстурные атласы (и кстати весьма шустро работало и без энтих ваших РТХсов, если не упарываться и трейсить не больше десятка коллизий в глубину).
Или усмотреть в сторону UE?
Да, конечно, поищи есть несколько проектов как раз это делающих. Некоторве шейдерами, некоторые модельками.
А я говорил, не лезьте в продакшон на четвёрке, как минимум год. Не прислушались. Так и получилось. Как говорил. Я. Вам.
Heightmap Terrain plugin. Для четвёрки тоже завезли уже релиз.
Плюс внешний террейн-генератор типа ворлд-машины, если ты угорел по геологической правдоподобности, водно-ветровых эррозиях и слоях горных пород с разными плотностями, и автоматических сплатмапах, на которых всё это отражено. Если не угораешь по такому, то в Heightmap Terrain искаробочного генератора за глаза хватит, чтобы красивые холмики с горами вдали нагенерировать.
https://godotengine.org/asset-library/asset/231 трёшка
https://godotengine.org/asset-library/asset/1999 четвёрка
Так он туда навалил говна не разбираясь. У него вон там и шарп, и Qodot зачем-то, и Nodot и еще наверняка десятка три хуй знает чего. И судя по kits/firstperson подозреваю код тоже в основном не его, а спизжен с демо-проекта в котором он не разобрался.
Как же прекрасен наш движок! Как же хорош! На нём не получится нафлипать из ассетов трёхкопеечный школохоррор. Это значит, что игра на годоте - знак качества. Знак того, что если девелопер довёл её до релиза, значит он шарит.
Ну вот ты и спалился, флиппер. Я тебе аналогичный мешок говна на любом движке залью, а потом люди будут вырубать его только лишь завидев лого юнити, потому сразу понятно что там тетрис с 2 фпс и требованиями как у гта. Вот уж где знак качества будет.
>Так он туда навалил говна не разбираясь. У него вон там и шарп, и Qodot зачем-то, и Nodot и еще наверняка десятка три хуй знает чего. И судя по kits/firstperson подозреваю код тоже в основном не его, а спизжен с демо-проекта в котором он не разобрался.
Нет. ты не прав. Шарп нужен для того чтобы Qodot билдил уровни. Nodot для тестов. Я его так-то удалил когда понял что мне придётся слишком долго ебаться для замены своего фёрстпёрсонконтроллера. Но почему- то эта хуйня отображается ещё.
Пожалуйста, не бейте. Я больше не будууу
https://godotengine.org/article/release-candidate-godot-4-2-rc-2/
На шаг ближе.
> Nodot
Загуглил что это такое. Выглядит, как лютая йоба, швейцарский нож. Пойду тщательнее изучу. Возможно даже в шапку пойдёт.
За четверкой не слежу. Чего там по html5 и производительности/рендереру на телефонах и слабых девайсах? ГЛЕС2 же выкинули? Что взамен, каков статус?
Быстро же тебя Хуан пидорнул.
Да это вообще охуеная штука на самом деле но у меня еле работает она хуй знает почему ну короч ай фак зис булщит щит
Я тоже загуглил. Какая-то свалка-мусорка. Ноды ФПС, Ноды РТС. Те же ФПС, РТС демки отдельно хоть жопой жуй и не носишь с собой 3 лопаты нодов для всех остальных жанров.
И вот в видосе еще год назад чувак сказал, что с годотом у тебя возникает уверенность в том, что ты полностью контролируешь свой проект.
https://youtu.be/YVjT0OeE4P0
ПОЖАЛУЙСТА, ПРОЧТИТЕ, ЧТОБЫ ИЗБЕЖАТЬ СИТУАЦИИ "АЙ ФАК Ю БУЛЩИТ ЩИТ!"
Короче. Я думаю, если вы пользовались Qodot в связке с Trenchbroom и экспортировали уровень вы ХОТЬ раз да натыкались на такого рода ошибку(пик 1). ОКААААЗЫВАЕТСЯ, это не из-за UV Lock и Texture Lock как нам говорят на Гитхабе создатели этого аддона, нееет! Это оказывается всё из-за РАЗДЕЛИТЕЛЕЙ ЦЕЛЫХ И ДРОБНЫХ ЧИСЕЛ, ПОСТАВЛЕННЫХ В ЛОКАЛИ ТВОЕЙ СИСТЕМЫ!!! ТО ЕСТЬ, ЕСЛИ У ВАС СТОИТ ЗАПЯТАЯ КАК РАЗДЕЛИТЕЛЬ ЦЕЛЫХ И ДРОБНЫХ ЧИСЕЛ - ТЫ МОЖЕШЬ СО СВОИМ УРОВНЕМ ИДТИ НАХУЙ!!!/
Один американец мне посоветовал сменить этот самый разделитель когда посмотрел на ошибку, и теперь, наконец-то, уровень ЗАБИЛДИЛСЯ (пик 2)! Ахуеть, да? Вот так вот, карлики, век живи - век учись, ёпти хыыы!
Правда тут у меня текстурка поехала немного, на конкретном браше, но я знаю как это фиксить.
С уважением, Marganec, разработчик игры TSP(рабочее название)
Ну это конечно только вдуууууматься, да? Я бы вот без того американца ТАК И НЕ РЕШИЛ БЫ ЭТУ ПРОБЛЕМУ! Ну погромисты из США, ну молодцы!
https://youtu.be/NNr7_fcJqWQ
Аддоны Qodot и TBLoader (TrenchBroom Loader). Позволяют нормально уровни в годоте делать короч. Ну не совсем в годоте правда... Но эт детали.
> нормально уровни в годоте делать короч
Ты так об этом рассказываешь, как будто этого нет в шапке.
Впрочем, американские программисты сделали аддон покруче кудота
3 https://godotengine.org/asset-library/asset/2021
4 https://godotengine.org/asset-library/asset/1464
Хз, на реддите регулярно вижу подобное. Покопайся там, или на godotshaders.com
Хм... Спасибо Анончик, посмотрю на это...
4. Два из них, как видишь, не используются. Для тестов нужно будет всяких.
>Godot Unit Test
Много там работы по написанию юнит-тестов? Я из веба пришел, и там это в 90% случаев делается легко, а тут представить стремно.
> Много там работы по написанию юнит-тестов?
Вообще непонятно, зачем дополнительные аддоны для юнит-тестов?
Делаешь встроенный класс
> class Test extends RefCounted
Далее в нём описываешь статический метод
> static func run():
В этом методе тестируешь все методы наружного класса, при необходимости создавай нужные для тестов инстансы и ресурсы, в том числе можешь внутри тест-класса описать дополнительные методы, тестирующие отдельные части и поведения твоего внешнего класса, и в конце твой метод должен либо написать print("Test passed") либо Test failed и написать почему конкретно failed.
Далее делаешь сцену для запуска тестов, и запускаешь её по F6, в ней просто перечисляешь:
> func _ready():
> > Player.Test.run()
> > Enemy.Test.run()
> > World.Test.run()
> > Heaven.Test.run()
> > Allah.Test.run()
И так далее. И если все тесты пройдены, можно собирать релиз.
А если нужно весь уровень тестировать, а уровней под сотню? Смотрел видос Jonathan Blow, который Braid/Witness, у него там какие-то ебучие автотесты, автоматически проходящие уровни один за другим, а он сидит чай пьет и смотрит. Он утверждал что именно такие тесты и надо использовать. Они, типа, тестируют широко, сразу все. А тестировать отдельные детали - слишком много работы, и все равно что-нибудь упустишь.
Надо изучать вопрос.
https://youtu.be/mTaecnmDELQ?feature=shared
> Конкурент Алисе маленькой ведьмочке на Годоте.
А там есть Лиса-фарцовщица? Которая днём продаёт маленьким девочкам-ведьмочкам зелья, а ночью продаёт хищным зверям кровь травоядных зверей?
Зачем гномы ее в жопу долбят?
рвёт шамбалоны
На фоне шаров, которые хочется полопать, возник вопрос: а есть ли в природе саперы с дополнительными механиками?
> саперы с дополнительными механиками?
Как вам такая идея: если игрок щёлкает на мину, открывается мини-игра на время. Если игрок прошёл мини-игру, ему даётся второй шанс, если нет, штош.
норм
Ну как бы бля. Шов это называется. Во.
Текстурку делать бесшовную? Вроде бы эта бесшовная у меня.
Там вроде надо exr панорамную делать.
Щас подумал, что было бы здорово стилизовать цифры под уровни сигнала. Типа, металлоискатель же, ну ты понел.
Крути текстуру на сфере чтобы шов всегда был сзади :D
Цилиндр: двойные мины и поле сделано так, что левый и правый край являются продолжением друг друга. Имхо, особо ничего не поменялось.
Ok google godot skybox
без визуализации при наведении курсора превращается в нудятину по отсчету клеток два в сторону один в другую
Учитывая что белы поля тоже содержат мины, даже доигрывать не стал.
Как цилиндр только дублируется по всем сторонам. Двойные мины имеют право на жизнь.
Чото типа такого? Нарисовал наскоро. Нужна консультация бывалых электронщиков.
> Как цилиндр только дублируется по всем сторонам.
А там можно прокручивать поле? Ну, если нажимаешь стрелочки, то поле смещается в направлении стрелки на строку или на столбец. Гиф рилейтед.
Тут только один саперист, я пока изучаю опыт другого человека, который пытался новые механики сделать.
>>19098
Что если сделать пульсации светом? Я бы чисто по приколу посмотрел на это (эпилептики вышли из чата)
Вот эта вариация сапера ниче такая, необычная. Суть в том что если мина находится вплотную цифре, то она считается за две, а те что по диагоналям за одну. Что-то вроде веса получается, чем ближе тем больше вес.
Не пробовал жать, скорее всего нет.
Поправлю. Не проприетарный. Все тот же опенсорсный годот. Сверху на него налепили интеграцию с гугл-аналитикой и гугл-адсами - вот эти части проприетарные. Раматак - довольно старые чуваки, висят в спонсорах годота сколько себя помню. Один из них, кажется, активный коммитер в движок с первых дней. Второй - финансовая/юридическая поддержка движка.
А на андроид и обычный 3.5 годот собирается без задней мысли.
На самом деле надо делать так: гуглишь генератор фейковых слов, берешь любое что тебе зашло, гуглишь его чтобы убедиться что оно не похоже на хуй-залупу-гваделупу на Урду/Тайском/Португальском, все.
Нет, чото типа такого.
Чего?
Дошел до поздних, есть такое.
Какую то лоуполи можно, я делал. Делал на csg, машинки, человечка даже анимировал, сложные формы типа котла делал вычитанием форм, потом сохранял в виде .obj каким то аддоном
Что то сложнее, ну там же не будет всех инструментов как в блендере. Настраивать uv текстур будет неудобно, отдельные вершины двигать. Все реально в т.ч. через свои тулскрипты, через SurfaceTool, процедурную генерацию, просто неоправданно сложнее.
Можно конечно, вопрос в твоем артистичном скилле. Сможешь ли ты из доступных в годоте примитивов слепить что-то стильное? Хардкор режим - не использовать csg меши, т.к. они роняют фпс.
Не csg роняет, а их комбинирование.
Но после того как ты скомбинировал в редакторе, не проблема их запечь/экспортнуть одним объектом.
Че там по текстурированию? я когда свой похожий делал, на этом моменте заебался и забил. У него вроде просто csg с доп. примитивами и автоэкспортом в меш.
А? Шо? У тебя текст скрыт. Не слышно.
Конечно.
Нашел такой совет на годот форумах: поставить рядом похожую меш и выставить ей cast shadows only. Это сделает ее полностью прозрачной и от нее мы получим тень. А основная меш по-прежнему будет полупрозрачной и не будет кастовать тень.
Но ебаныйврот, добавлять отдельную меш? Камон.
Это четверка? В ней я знаю есть прозрачность с depth pre-pass, оно дает нужный результат. Но в тройке, которая у меня, я не вижу ничего похожего.
Я на могилки и под веб пилю. Жизнь такая.
Да, в 3-ке так. Не сы, второй меш ничего особо не съест. У тебя же он не рисуется. Данные меша - ресурс и реюзаются.
Почему на unreal engine тогда Maya в моде? Или я неправильно где-то это услышал?
Емнип тебе придется их экспортировать во что-то, в тот же gltf
А у тебя есть лицензия на майю? Если выпустишь на пиратке и тебя за жопу схватят будешь молить что бы не набутылили
ЕМНИП на УЕ Майа тоже уже не в моде. Она вообще давно не в моде.
А че там метадата какая-то на подкорке каждого куба записана? Спрашиваю без иронии/тролинка
В майа-файлах метадата о лицензии точно есть. Она иногда показывала что модель была сделана в студенческой версии майи. Если экспортировать - хз, может и встраивают что-то, но публично хуй кому расскажут - обойдут ведь и придется переделывать.
Если говорить реалистично то никто не будет заморачиваться ради анона с 0.25 пользователями. А если серьезно, то нахуй майа когда есть блендер?
Ебучий сука aбy. Опять капчу подкрутил, глаза сломаешь.
Фиг его знает, скорее всего всё они знают, и вообще все фотошопы пэйнтеры тайком мониторят когда их запускаешь. Особо судебных дел таких не слышал. Если разбогатеешь то с тебя спросят, откупишься по мелочи там, а если нет то кому ты нафиг нужен
> нахуй майа когда есть блендер?
Вот этого двачую. Ладно ещё на версии 2 можно было поспорить, что блендер уступает, но щас-то в него влили бабла и развивается нехило.
Вот, зацените видос, кому интересно
https://www.youtube.com/watch?v=ehUl8LL-4Yw
Как я понял из документации, оно рендерит несколько спрайтов в один композитный спрайт.
Где-то пишут якобы это уменьшает количество draw call, и для объектов из нескольких спрайтов растет производительность.
Но ведь сначала эти спрайты нужно по одному в буфер отрисовать, систему не наебешь.
Или наебешь?
Zaebis'
Я плохо знаю инглиш, меня будуть троллить, а я и не пойму того. Нет уж. Лучше родной ТВГ, где по братски, по нашему, пидором обзовут. Привычно. Родно.
Посмотрю, может если будет время это даст мотивации что-то сделать
https://www.youtube.com/watch?v=wHXJPaj6988
Посмотрю в видеоформате за кружкой чая через 10 минут. Праздник к нам приходит.
Можно ли после того как закончился джем залить игру которую ты сделал туда на коммерческие платформы, тот же яндекс?
Не ссы, пидором обзывать там не будут, не харкач все же. Заодно английский прокачал бы.
Так получается, там натуралом обзовут и оценки занизят.
> Эй посоны, не голосуйте за него, он натурал! Из России!
Дык можно на этом хайпануть же. Вон недавно косплеершу балдуры захейтели, в итоге благодаря шизоидам еще популярней стало, так что даже какой-нибудь хуй збс, если еще и зафорсить эту хуйню по новостям
Токсичный русский натурал с заблокированными картами.
> Посмотрю в видеоформате
ГДквест совсем оцыганел.
> Вышел годот 4! Купите наши курсы! Скидка! А сейчас я вам расскажу, какие новые фичи завезли в годот, но сначала ознакомься с 4 нашими новыми курсами. Я уже говорил, что мы делаем курсы? Подпишись на курсы! Всего 4 бакса! Ради годота 4!
Тьфу, блядь!
Хоспаде, наконец-то! Дождались! Аннотации типа в цикле for!
Наконец-то там устранили подвисание при закрытии экспортированного приложения. помните, я жаловался на это пару тредов назад?
Сначала сделай.
Я делал несколько лоупольных, вполне приемлимо.
Слышь купи
>No AI art
Чет неохота, у меня художника сейчас нет. Перерисовывать с рефов просто чтобы соответствовать правилу формально - ну такое.
Ненужон эта 4-ка в вебе.
Просто сделай игру без графики, там нет никаких ограничений, хоть в пеинте за 10 секунд нарисуй персонажей всех.
Было в прошлой итерации. Будет доступно на релизе, как один из скинов.
С каждым днём все менее стоит. Вон там 4.2 релизнулась, там вроде как веб поддерживается нормально уже (я сам не пробовал, экспорт в веб).
Чисто по удобству трёшка удобнее, но по фичам четвёрка круче.
Если ты ничего не начинал делать, начинай на четвёрке.
Если у тебя есть начатые проекты - смело доделывай на трёшке.
Вот я например прямо щас спокойно работаю над двумя проектами, один в 3, второй в 4. Переключаться между версиями движка несложно. Ну, лично мне.
Четверка никак не станет менее жирной и дольше загружающейся. Производительность бы конечно сравнить еще. Но у меня она вообще на старом железе в браузере не запускается - SSE какого то не хватает.
Не, там же надо чтобы на сервере яндекса включили sharedarraybuffer. Экспорт в html и так был, но нужна фишечка. Если только ее не сделали отключаемой как в 3.
> можно теперь экспорт делать с четверки?
Там в ассет-сторе плагин есть, который в экспортном файле отключает sharedarraybuffer и вроде как яндекс примет. Но это не точно.
https://godotengine.org/asset-library/asset/1818
Ага, именно какое-то. Я не знаю точно какое, там же есть SSE, SSE2, SSE3, SSSE3, SSE4.2 и т.д. Так вот в emscripten вылезает ошибка про 128 bit.
>Какие подводные камни использования такого в игоре?
В том то игроки понимают что напихал бесплатного говнища. Если игра длинная, то это ещё сильнее будет палится. Скинь примеры треков которые ты считаешь хорошими.
Вы видите копию треда, сохраненную 11 сентября в 20:11.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.