TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #1201 1.59K
Как сделать простые реплеи
https://giannisakritidis.com/blog/Input-Replay-System/

Я бы не сказал что это запись инпута. Это скорее статья про самое частое и классическое применение паттерна команда. Просто главное помнить, что такие реплеи — это условно архитектурная поддержка и в целом неплохой подход, так абстрагировать инпут через команды в геймплее где это возможно. А возможно это почти везде, где не слишком большой объём записываемых команд ввода. Но учитывая что всё можно свести к "нажал клавишу" и "отпустил клавишу" — записей будет немного. Или всё же нельзя писать чисто клавиши?

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

Если у мира есть своя жизнь и своё состояние, то появляется зависимость от фреймрейта. Поэтому я бы считал этот пример иллюстративным примером по использованию паттерна команда, а не что-то, что можно как использовать систему реплеев. У меня была когда-то мысль, что в разы проще чем писать видео для реплея — просто запоминать инпуты. И попробовав разок я понял, что чтобы поддержать эту фичу, нужно чтобы вся архитектура приложения системно её обслуживала. Для тестирования и воспроизведения багов такая система — это конечно сказка) Всегда есть прямой репродьюс) Но это сильно усложняет разработку.

А кстати, кто-то ещё пробовал замрочиться с такой системой в своей игре? Я понял, что такое элементарно делается в головоломках и пошаговом геймплее, где состояние игры легко воспроизводить на любом шаге. А вот в реалтайм геймплее я чисто для тренировки попробовал сделать систему реплеев аналогичным способом, и плюнул, так как понял что поддерживать это прям дорого.

#интересное
C# and Unity development How To Make A Replay System For Inputs In Unity How to create a system that records and replays the player inputs in a game, to make debugging easier
  • 🔥 7
  • ❤‍🔥 2
More from @dev_game
  1. Oct 8, 2026Метрики, метрики и ещё раз метрики https://app.mes-poker.ru Эхх, со своим продуктом руки с…
  2. Oct 6, 2026«Песни земли»: хакатон по созданию мини-игр вместе с КИОН Строки 🎮📕 Школа дизайна и @kio…
  3. Oct 4, 2026💡 Вредные советы: Идея С тех пор как я открыл для себя чудесный мир элевенлабса (и это ка…
  4. Oct 4, 2026ТСПУ и телега Короче говоря как раз немного кул стори по следам теста. Спасибо кто там как…
  5. Oct 3, 2026Мой новый проект https://t.me/Mespoker_bot Поймал меня значит как-то Паша за покером и ска…
  6. Oct 1, 2026🤔 Как продвинуть игру? Я обещал. Я сделал. Получился большой документ с шагами и действия…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →