Технология сохранения реплеев в современных мобильных играх предполагает запись во время игрового процесса минимального набора данных, необходимого для восстановления игровой сессии в конкретный момент времени. 2 Чем меньше данных, тем более легковесным получится файл реплея. 2
Для реализации сохранения реплеев можно использовать паттерн программирования Command. 3 Например, на примере игры 3DTTT это выглядит так: существует отдельный объект — игровой стейт, в котором хранится вся информация о текущем состоянии игры. 3 Для изменения стейта создаётся объект класса-наследника от GameChange, который содержит в себе всю необходимую информацию как для применения изменения, так и для его отмены. 3 В конце уровня весь список GameRecord сериализуется, а для просмотра реплея этот список десериализуется и по очереди вызывается метод Apply у всех объектов GameChange. 3
Также для ускорения процесса сохранения-загрузки применяется сериализация. 4 Она переводит информацию об объектах в формат, удобный для хранения и чтения (например, XML). 4 При загрузке файла он считывается игрой, и все объекты получают сохранившиеся состояния и свойства. 4