Ты начинаешь дебажить позицию песни каждый кадр - и что же ты видишь! Оказывается, позиция трека не обновляется покадрово, а скачет, как ей вздумается! Вместо того, чтобы в окне дебага видеть "0, 16, 33, 49, 65, 80..." (мс), показывается вот это "0, 0, 0, 48, 48, 65, 65, 65...". Аудиодвижок просто-напросто живёт своей жизнью и отказывается подчиняться обновлению каждый кадр (те кто работают в Гамаке знают, что если во время теста игры она у вас крашнется, то аудио продолжит работать в отрыве от картинки).
ПК, как известно, платформа помощнее, чем мобильные устройства, и эти фризы там не так заметны (хотя они есть, если знаешь, с чем сравнивать).
Что ж, значит нам придётся вручную "догонять" позицию трека, чтобы она плавно переходила от одного значения к следующему. Плавно... где-то я это слышал... delta time! Почему бы здесь нам не использовать нашего старого друга, ведь всё же мы будем увеличивать позицию искусственным путём.
Но есть куча неправильных и один правильный метод, как это сделать. Оба метода я попробовал на уже выпущенной игре, так что смогу показать примеры работоспособности прямо от игроков.
Оу, а я как раз на днях купил (какой-то патриотический закуп у меня вышел случайно, оказвыается) потому что порадовало сочетание pong'а и lo fi в названии и трейлер заинтриговал, кому только на дтф не встретишь)
Это наверное даже не в "Инди", а в "Геймдев" надо.
Очень круто все расписал, спасибо за инфу, всегда интересовало как работают ритм-игры. На свитч выходит да, видел у издателя)))
С удовольствием читал. Спасибо за интересную статью. Хороших вам продаж
Задача очень сильно перекликается с синхронизацией игроков по сети, там тоже сигнал об обновлении позиции приходит всего раз 5 в секунду и приходится экстраполировать движение по прошлым данным
Да, когда искал фиксы, натыкался как раз на сравнение с онлайном