Скачать Replay FPS — Minecraft Моды — MetaMods

Replay FPS

Активный

Установок

0

Последнее обновление

1 год назад

Версии

1.20.1 — 1.20.2
Клиент
Fabric
Технологические
Утилиты

Replay FPS

Хотя правильнее было бы назвать его "Replay FPV", но в момент создания я думал о шутерах от первого лица

О модификации

Мод Replay Mod — это популярное дополнение для Minecraft: Java Edition, позволяющее записывать игровой процесс для последующего воспроизведения. Несмотря на широкие возможности, он имеет существенный недостаток при работе с камерой от первого лица.

При стандартном воспроизведении записи с точки зрения игрока движение кажется неестественно плавным и замедленным. Это связано с тем, что Minecraft обновляет позиции игроков всего 10 раз в секунду, поэтому игра вынуждена интерполировать недостающие данные.

Данное дополнение решает эту проблему.

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

Использование

Это дополнение не требует дополнительных действий от пользователя помимо стандартных функций Replay Mod. Просто установите его вместе с основным модом и используйте как обычно. Однако стоит помнить, что улучшения, предоставляемые этим дополнением, будут применяться только к игроку, который записывал повтор, и только если у этого игрока было установлено данное дополнение во время записи.

Примечание: В текущей версии (0.2.0) для доступа к меню настроек необходимо установить Mod Menu.

Технические особенности

Клиентская запись

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

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

Для эффективного хранения этих объемных данных был разработан специальный бинарный формат. При записи повтора с использованием этого дополнения файл "client-capture" (ccap) добавляется в архив записи вместе с данными пакетов. Спецификация этого файла доступна в репозитории проекта.

Пакеты

Некоторые данные нецелесообразно хранить в непрерывном потоке. Дискретные формы данных, такие как изменения содержимого горячей панели, сохраняются как пользовательские пакеты, которые внедряются в поток пакетов записи. Эти так называемые "фейковые пакеты" сериализуются в PacketByteBuf во время записи, но вместо отправки на сервер сохраняются локально в файле записи. Во время воспроизведения Replay Mod передает эти фейковые пакеты обратно в Minecraft как обычные пакеты, где пользовательский обработчик может их проанализировать и применить к миру.

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

Сборка

Как и большинство модов, для сборки этого проекта достаточно открыть консоль в корневой директории и ввести ./gradlew build. Однако сборка может завершиться ошибкой из-за отсутствия зависимости под названием 'CraftFX'. Это зависимость подпроекта ccap_viewer, который на данный момент собирается вместе с основным проектом. Чтобы исправить это, склонируйте и соберите CraftFX, а затем опубликуйте его в Maven Local.

Участники проекта
Igrium

Igrium

Разработчик

Создан: 4 дек 2023

ID: 5070