Сделаем риплей в игре
https://youtu.be/Bb8Rdivmx8U?si=Xlg71ojVNdw3e1Af
Довольно простой туториал по созданию системы риплеев. Вообще задачка с риплеями это штука довольно интересная. Потому что подходов там довольно много. Можно как в видео хранить состояние объектов. Можно писать видосы (но это самый дорогой и бесполезный вариант). А вот самое интересное — это писать инпуты.
Кажется что риплеи нужны только для игроков. Но на самом деле если писать их легковесно, то это очень полезная вещь в расследовании багов и так далее. Представьте что с репортом бага вам приходит файлик, запустив который вы можете повторить полностью путь пользователя зная версию приложения и т.п. Удобно? Удобно.
И самый легковесный вид риплеев — это сохранение пользовательского ввода. Почему же не всегда можно просто сохранять что нажимал пользователь для честного риплея? Есть такая вещь которая называется — детерминированность. Что при одинаковом вводе у нас будет всегда происходить одно и тоже. В не в каждом виде геймплея добиться её так уж и просто. Самый банальный пример — это физика. Кто-то скажет «а как сохранить рандомные события?», и вот это как раз просто с псевдогсч. Сид рандома сохранил, и будет тот же результат. Но добиться полной детерминированность бывает весьма сложно.
В общем риплеи довольно полезная штука не только с точки зрения сошиал шейринг механики, но и для дальнейшего оперирования проекта. Конечно в теории всегда на баги можно гадать по логам отправив тестеровщиков на поиски, но в одном проекте на котором я работал было довольно удобно и баги решались быстрее, когда с логом просто падают данные риплея.
#новости
Post #1573
2.93K