1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

NewOnGears, или Невангеры 2 на Godot 4

Автор: thenonsense · 20 ноя 2025 · ·
Демо-версия исследовательского гоночного квеста. Игрок управляет биомашинками - инджинами - которые могут доставлять грузы, телепортироваться из мира в мир, подбирать и использовать особые устройства.
  1. Попробовав различные направления для игр с машинками, решил вернуться к изначальной концепции исследовательского гоночного квеста и собрал демо на актуальной версии движка Годо. Игрок здесь управляет биомашинками - инджинами - которые могут доставлять грузы, телепортироваться из мира в мир, подбирать и использовать особые устройства.

    [​IMG]

    Проект написан на движке Godot 4+ и имеет билды для windows и линукса:

    thenonsense.itch.io/newongears

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

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

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

    В Godot 4+ SDFGI имеет свойство "отваливаться", если решить сменить hdri карту освещённости на другую на ходу (включение через код в тот же момент - не решение), поэтому я принудительно убирал отметку с каскадов в настройках при смене неба, а со временем дописал автоматическое пост-включение SDFGI с некоторой задержкой после смены неба, если оно было включено. На это короткое время изменение настроек блокируется. Я думал, что в свежей версии движка 4.5+ что-то изменилось, но нет - если просто оставить SDFGI включённым и менять небо, то видно, что само освещение остаётся от предыдущего неба (что нам не подходит), поэтому механизм автовключения освещённости с задержкой не теряет своей актуальности.

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

    Ещё у движка есть такая особенность - при включённом блуре билбордящиеся 3д спрайты/текст (который не 3д-текст, а двумерный, но в 3д) размываются при отключении буфера глубины, если оказываются на фоне неба. Связано это всё с определённым порядком проходов при отрисовке каждого кадра. Я данный момент фиксил добавлением второго спрайта/текста поверх первого - у первого, по дефолту, буфер глубины работает, а у второго выставлен флаг no depth test.

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

    [​IMG]
    [​IMG]
    [​IMG]

    Что касается физики машин - на самом деле, "более честную" физику колёсного транспорта часто хочется бросить, и использовать вместо неё более простые штуки, вроде Kinematic Body или "бестелесного" Area-коллайдера с рейкастами. Потому что у тех более предсказуемое поведение, контролируемое движение, сцепление с поверхностью устойчивое и так далее. Проще выстроить геймплей под такую схему. Многие гоночные игры как раз используют какие-то упрощённые модели, которые удобнее управляются и лучше отзываются.

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

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

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

    [​IMG]
    [​IMG]
    [​IMG]

    Это полноценный мини-релиз, который можно пройти, собрав 3 фрактальных артефакта:

    [​IMG]

    Видео:





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

    Первая игра была написана на движке Unity и её можно найти тут:

    Mechanima [Невангеры] by NoNsense
    Leiji, manufactori_2k и Ogr 2 нравится это.

Комментарии

  1. manufactori_2k
    thenonsence явно играет за зергов в Starcraft
      thenonsense нравится это.
    1. Просмотреть предыдущие ответы...
    2. thenonsense
      Грузы можно привести к определённому месту, где они распакуются и дадут артефакт или новую машинку.
      Демо базируется на ранних наработках - сначала был бенчмарк на Godot 4 альфа, потом пара проектов на его основе на более поздних версиях движка, потом уже вот этот вариант, на Godot 4.5.
      manufactori_2k нравится это.
    3. manufactori_2k
      Я не графоман, но картинка просто потрясная, завтра завайню интересно ноут легко справиться. Если да то Годо просто велеколепен для инди.
      thenonsense нравится это.
    4. thenonsense
      Ну, у Godot особо и нет равноценных по всем параметрам альтернатив. Разве что его же более ранняя ветка.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление