Deadly Premonition: The Director's Cut

Deadly Premonition: The Director's Cut

73 ratings
Для тех, кто столкнулся с проблемой вылета игры в определенных местах
By Шиза
Новым игрокам или тем, кто столкнулся с проблемой вылета игры в определенных местах данное руководство возможно поможет пройти игру до конца
2
   
Award
Favorite
Favorited
Unfavorite
ВНИМАНИЕ!
Мы настоятельно рекомендуем начинать игру только после прочтения данной статьи.

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

Если вы уже столкнулись с проблемами вылета игры в каком-то определенном месте, то у нас для вас 2 новости:

  1. У вас появился шанс пройти игру до конца.
  2. Но если вы застряли в помещении, где нет возможности пересохраниться (телефон возле Milk Barn очень неприятное место, часто приводящее к крешу) или это произошло на кат-сцене - то шансы ваши не велики. Попытайтесь пересохраниться, перейти в другую локацию, что угодно, но добейтесь стабильного сейв-файла, и штатно выйдете из игры. Иначе вам придется начинать игру сначала :(


Далее следует многабукафф теории. Переходите к разделу Реализация, если не хотите вдаваться в подробности.


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

Было сделано множество тестов, и все они сошлись к тому, что причиной является именно сейв-файл, в который вносятся какие-то сбойные сведения при предыдущем сохранении. При этом ты никогда не знаешь заранее, которое из сохранений приведет к последующему вылету. Но как показала практика, чаще всего сейв крешется при сохранении в помещениях (часто при сохранении около Milk Barn и внутри Greenvale Community Center). И к сожалению, в большинстве случаев "пересохранение" в той же самой точке не приносит никаких результатов (но попытаться все же стоит). К великому нашему сожалению, разработчики совершили ошибку, сделав этот файл единственным и каждый раз перезаписываемым. Следовательно, отрезали "пути к отступлению" в случаях его повреждения.

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

Мы реализовали этот способ на коленке за пару минут, используя простой скрипт.
Каждые 2 минуты он сравнивает текущий сейв-файл с предыдущим (из бэкапа), и в случае его изменения, текущий сейв будет скопирован в подпапку со значением даты и времени на момент создания. Таким образом, мы получаем архив сейвов, из которого мы с легкостью вытащим любой работоспособный сейв и заменим им текущий убитый.
Реализация
Как это работает:

  1. Скачиваем скрипт[www.dropbox.com].

  2. Проверяем пути. При необходимости меняем в скрипте (блокнотом или любым другим редактором) пути, куда установлена игра и куда хотите сохранять бэкапы. Будьте внимательны при любых изменениях.

    Прописанные в скрипте пути по умолчанию:

    Игра:
    C:\Program Files (x86)\Steam\steamapps\common\Deadly Premonition The Director's Cut\

    Архивы:
    C:\DP\

  3. Запускаем скрипт и оставляем его работать на всем протяжении игры.
    Ресурсов он практически не потребляет, поэтому его работа не отражается на работе системы.


    По результатам у вас должно получиться следующее:
    При разрастании папки с архивами, просто удаляем старые. Но убедитесь, что они вам больше не понадобятся.



  4. В случае постоянного креша игры в одном месте: открываем бэкап и заменяем текущий рабочий сейв игры файлом из архива за любую дату (как правило, самый последний, но бывает, что нужно копнуть поглубже).

    По умолчанию ваши бэкапы будут лежать:
    C:\DP\дата_время_бэкапа
    Рабочий сейв игры, который нужно заменить:
    путь_установки_игры\savedata\dp.sav

  5. Играем дальше.

  6. При очередном постоянном креше (более одного и в одном и том же месте), повторить шаг 4.
Заключение
Конечно, реализация данного метода не самая оптимальная. Но если кто-то захочет и возьмется автоматизировать этот процесс, применит наиболее оптимальный алгоритм или прикрутит интерфейс - все скажут только спасибо.

Спасибо за внимание, и желаем вам приятной игры! Верно, Зак?
31 Comments
Шиза  [author] 30 Jan @ 5:36am 
Очень рад, что руководство до сих пор кому-то помогает :) Спасибо за хороший отзыв!

Недавно наткнулся на утилиту AutoVer. Она простая, но позволяет создавать бэкапы измененных файлов и имеет достаточно гибкие и удобные настройки. Ровно тоже самое, что и мой примитивный скрипт, но более цивильно) Может кому утилита будет удобнее. Возможно, чуть позже добавлю в руководство этот способ.

В любом случае, было важно найти причину крэша, а механизм бэкапа уже дело десятое)

Приятной игры!
Empty 19 Jan @ 11:53am 
Спасибо, если бы не ты, я бы уже удали игру... Впервые критически крашнулось после эпизода 1, главы 6, у Greenvale Community Center (попробовал оживить, нашёл сейвы, но чужие сейвы не позволяли сохранять игру). Решил через полгода ещё раз попробовать заново, и перед началом наткнулся на твоё руководство... И о чудо, после краша в том же месте как и в первый раз, перебирая бэкапы - я смог продолжить! Спасибо большое за скрипт!
Шиза  [author] 15 Nov, 2023 @ 12:56pm 
Самое главное, что способ с бэкапом помогает многим, а его реализация уже дело техники. Жаль сейчас у меня нет достаточного количества времени, чтобы актуализировать руководство.
Всем добра! / thanks everyone ;)
Шиза  [author] 15 Nov, 2023 @ 12:56pm 
Всем спасибо за добрые слова, а также за справедливую критику. То что алгоритм, мягко говоря, не оптимальный было понятно изначально (в заключительной главе я даже выразил надежды на его оптимизацию). Но на момент написания гайда я не смог найти автоматизированного и при этом бесплатного решения, иначе не стал бы заморачиваться с примитивным сриптом в CMD.
🆂🆃🅴🅿 13 Nov, 2023 @ 11:23pm 
Может быть, твои знания кому-нибудь пригодятся 🙂
Лично я пользовался этим кодом, и он меня спас от краша сейва, всё работало как надо. Не знаю, обновлялся этот гайд после этого момента или нет, но может, что-то изменилось с выходом новых версий винды. хз.
SaniaSO 13 Nov, 2023 @ 10:50pm 
потому для этот способ полная фигня, ну как минимум для меня и самый лучший и 100 процентно рабочий способ, это воспользоваться, старой как свет, но не популярной и бесплатной прогой Gameplay time tracker, в которой всего-то через удобный интерфейс нужно задать папку для резервный сохраненный в настройках, задать папку самых сохраненный в тегах игры, и все, при каждом новом сохранении он просто сделает бекап, ну как у вас, только тут это делает мгновенно, имеет намного больше функций, и совсем не жрет систему, ну и самое главное танцевать с бубном не нужно
SaniaSO 13 Nov, 2023 @ 10:50pm 
Ну судя по тому как он у меня работал, то в самом проверке папок и файлов сохранения, ведь вместо того чтобы он проверил файл игры, и считал его оригинальным, он решил что резервный файл сохранения оригинальный, и все время при моем сохранении он перезаписывал его с резервного, получился некий цикл или уже по народному день сурка, из-за чего у меня игра все время вылетала, а перед вылетом карта игры просто стерлась, и остались только метки, а всему виной команда fp которая то-ли только в моей системе, то-ли в принципе не воспринимала, как-то так,
🆂🆃🅴🅿 13 Nov, 2023 @ 6:03am 
Это сарказм? что не так в кодировании?!
SaniaSO 13 Nov, 2023 @ 3:56am 
Отличный скрипт, отличный способ откатит себя на несколько часов геймплея из-за отличного кодирования, огромное за это спасибо
LongJohn 20 Jun, 2023 @ 3:01am 
I was actually using windows 8 at the time (not by choice). I remember now because this PC uses the same windows code.