Фугасные патроны + дробовик
Стыдно признаться, но в большинстве прохождений я ни разу не пользовалась фугасными патронами из-за пугающей надписи "+500 к перегреву оружия". Но результат того стоит.
Стыдно признаться, но в большинстве прохождений я ни разу не пользовалась фугасными патронами из-за пугающей надписи "+500 к перегреву оружия". Но результат того стоит.
Сегодня на восходе наблюдал зеленый луч, правда глазом с искуственным хрусталиком:)
Battlefield 2042 это:
- У нас стрельба, физика, разрушаемость, все максимально приближено к реальности.
- И летящий танк на крыле самолёта?
- Да и летящий танк на крыле самолета.
Взято из ТГ канала: https://t.me/cyberkrest/252
Сентябрь — это не только начало учебного года, но и время активной подготовки к горячему сезону распродаж. Самое время подключить подписку Пикабу+:
рассказывайте о своих товарах и услугах
добавляйте ссылки
создавайте витрину товаров прямо в профиле
подключайте дополнительное продвижение постов
Пора готовить сани!
В этом видео - симуляции, которыми можно управлять с помощью геймпада. Это я прототипирую, чтобы почувствовать, какой геймплей как ощущается игроком - что увлекает, где физика интересно себя проявляет.
Какие физические сущности есть в движке? Во-первых, материя, в которую слипаются частицы. Из них можно делать персонажей и мир. Вычислять их дорого, но всё работает на GPU, так что запас размера мира есть.
Частицы - это абстрактные точки, которые надо отрисовать. Для отрисовки я использую метод marching squares.
Сначала для частиц строится distance field, принцип которого понятен по этому видосу. Затем в окрестностях точек треугольники меша становятся видимыми, и вся материя рендерится в один draw call.
Кроме материи, в игре есть твёрдые тела, который симулируются отдельно у них уже есть момент инерции, произвольная масса. Есть также и пружины, с помощью которых тела можно присоединять друг к другу.
Из примитивов можно строить более сложные фищические объекты. Пара колёс + прямоугольник - получитлась машинка. Чтобы игрок мог управлять сущностями в игре, в GPU передаётся инпут, а для тел устанавливается, как они реагируют на него.
Естественно, для игры с разружаемой средой, нужно оружие. Вся игра работает на GPU, и единственный буффер, который копируется в каждом кажру на сторону CPU - точки взрывов, чтобы создавать VFX и воспроизводить звук.
Прежде чем делать игру, я хотел добавить в движок сущности, которые точно пригодятся. Одна из них - верёвка. Её жёсткостью и загибом можно управлять.
Чтобы сделать управляемых персонажей и врагов в игре, я добавил в движок "мягкие тела". Это те же физические частицы, но соединённые пружинами. Внутри них можгут быть физические кости, чтобы делать анимации.
Рендерятся они так: формируется меш из физических треугольников, слагающих мягкое тело. Всё происходит в GPU, поэтому работает быстро.
Здесь рука - мягкое тело с костями, управляемое игроком. Она взаимодействует с головой, которая сделана из несвязанных частиц, то есть обычной материи.
Из дополниельных фич - присоединение объектов друг к другу. Тут Патрик откладывает икру. Хотели бы поесть икры Патрика?
Кроме самой игры, в игре будет редактор-песочница, чтобы игроки могли создавать физические сцены. В движке можно делать занятные симуляции, довольно красивые.
Какой в итоге будет геймплей? У меня есть список из 60 вариантов геймплея под физику. Но я склоняюсь к одному, с копанием земли, добычей ресурсов, постройкой базы и элементами аркадного платформера.
Если желаете вишлистить игру, она тут:
Я обожаю физику в играх, и мне интересно разрабатывать физические движки.
Недавно мне захотелось сделать игру, в которой персонажи будут сделаны в виде физической симуляции мягкого тела. И чтобы всё управление персонажем происходило через физический интерфейс движка.
Мне хотелось, чтобы движение игровых сущностей было физически достоверным, чтобы игрок мог предсказывать последствия своих действий на основе опыта жизни в реальном физическом мире.
Вся физика вычисляется на видеокарте, что совершенно логично. Архитектура и АПИ GPU идеально подходят для многопоточной работы с массивами данных, и производительность на два порядка выше, чем у CPU. В Юнити можно писать компьют шейдеры, и весь код физики написан на HLSL.
Я начал с создания кристаллической решётки, узлы которой - свободно плавающие частицы, соединённые друг с другом пружинами. Хотелось посмотреть, как эта штука будет себя вести.
Получилось неплохо. Это можно было использовать как физический материал для создание игровых объектов.
Кроме пружин, я реализовал взаимодействие между свободно плавающими частицами. Использовал потенциал Леннарда-Джонса. Так что частицы спонтанно слипались в разрушаемую материю.
Это могло пригодиться для создания разрушаемых частей игрового мира и для каких-то механик.
Если силу взаимодействия частиц сделать значительной, они слипаются в убедительное подобие разрушаемой физической материи.
В этом видосе я сделал чтобы как в Терминаторе у Т-1000 дырки появлялись.
Но если силу взаимодействия частиц сделать слишком большой, симуляция взрывается, так что пришлось применить ряд оптимизаций, чтобы материя хорошо выдерживала давление и экстремальные силы. В этом видосе мы видим, что при сжатии материя ведёт себя как паста с гидродинамическими свойствами, которая при этом достаточно прочна, чтобы слипаться в относительно твёрдое тело.
Но свободные частицы в контексте моей цели имеют два надостатка: они не прочно держатся. Материя разваливается, если посильней стукнуть. Кроме того, частицы выглядят как набор шариков, а мне нужен меш персонажа. Это и для производительности, и для эстетики лучше.
Тут конечно подошёл бы метод marching cubes, но у него есть некоторые недостатки. Например, информацию о текстуре пришлось бы проецировать на получающийся меш, вместо того, чтобы хранить uv-координаты для каждой вершины. Поэтому, я решил использовать физическое тело с пружинами.
Сформировал из него персонажа-змейку.
И затем стал искать способ генерировать меш вокруг физического тела. И удерживать его в окрестностях физического тела, как кожу.
Я экспериментировал с разными способами, но всё было недостаточно хорошо, например:
В итоге изобрёл способ, при котором вершины будущего меша отталкивают друг друга, но при этом остаются в окрестностях физического тела. По мере остужения, они формируют кристалл, который затем тетрагонизируется, и внешние треугольники становятся мешем. Результат меня наконец-то устроил, получился достаточно хороший меш.
Оставалось автоматически заскинить меш физическими частицами тела, как если бы они были костями. Получилось мягкое тело, игровая сущность.
С этим уже можно было работать.
Я перенёс алгоритм анимации заскиненного меша в ГПУ (для скорости), и добавил на каждом кадре сглаживание поверности меша. Кроме того, реализовал простенькое управление персонажем.
И получился физически симулируемый персонаж, управляемое мягкое тело. То есть, главную цель эксперимента я достиг.
Естественно, я не избежал искушения для научных целей сделать и симуляцию женской груди. Этот видос сюда не буду выкладывать, а то из-за одного видоса весь пост делать 18+ не хочется. Выложу отдельно чуть позже.
В общем, на этом завершился этап принципиального R&D для задуманной мной игры. С физическим мягким персонажем уже можно пилить геймплей из механик, возможных только в игре-симуляции.
Однако, оценив трудозатраты, я решил переключиться на 2Д-движок для выпуска игры, чтобы на нём решить ряд технических сложностей. Всё-таки хочется поскорей игру выпустить, а не тратить два года на разработку.
В следующем посте я расскажу про 2Д-движок, в котором я продвинулся гораздо дальше.
Почему-то разработчики бревна в глазу не видят. Речь о оружейных ремнях. Одно дело когда оружие находится в руках и совсем другое, когда висит за спиной за счет магнитов\антигравитации\супер клея.
Стремно когда автомат достается из-за спины и вешается обратно как на вешалку. Вроде бы такая очевидная вещь. Но кажется только в RDR2 об этом подумали и сделали нормально. Не уж то так сложно это сделать? За столько то лет во скольких играх вы ремни на оружии видели? Лентяи
Вот здесь интересно сравнили графику старой Drive Club и новой Forza Horison