Я уже создавал тему о возможности сохранения в произвольном месте, но мне этого было мало и я решил посмотреть, что же сохраняет о нас игра по ходу прохождения.
Само сохранение закодировано в Base64, разделитель между отдельными строками - точка с запятой. Итак представляю на ваш суд раскодированные данные сохранения с моими комментариями.
Сохранение сделано в последнем для меня уровне, притом герой всегда сходит с ума при выходе из дома
Скриншот дома в начале уровня:
Все данные разделены на пары "ключ-значение", кроме первой единицы. Мои комментарии идут через //
1 //Я думаю, что это версия формата сохранения. Т.е. если выйдет патч, в котором этот формат будет изменён, то благодаря этому числу мы можем конвертировать сохранение к новой версии
current_level = 1 //Не понятно. Повторяю, что это последний дом. Доп. домов у меня было еще около 6 (и пряток, и леса).
previous_level = 6 //Тоже самое
prev_rooms_count = 15 //Судя по названию это количество комнат в прошлом доме? Не помню сколько было в прошлом, но в этом доме у меня именно 15 комнат
extra_rooms_count = 10 //Не знаю
visit_home_count = 11 //Какой по очереди дом?
home_level_time = 0.8783871 //Это те самые часики, которые не дают мне выиграть. Если изменить значение до 0.9, то у меня начинается концовка с уходом в лес
//Случайные числа которые служат для генерации дома
house_1_random_seed = 55496429
house_2_random_seed = 55496439
house_3_random_seed = 55496449
house_4_random_seed = 55496459
house_5_random_seed = 55496469
house_6_random_seed = 55496479
house_7_random_seed = 55496489
house_8_random_seed = 55496500
house_9_random_seed = 55496509
house_10_random_seed = 55496519
house_11_random_seed = 55496529
house_12_random_seed = 55496541
house_13_random_seed = 55496551
//Фраза сказанная героем или гостями, не знаю кем точно. *_played - проигрывалась ли в игре, *_playcount_val - сколько раз проигрывалась (везде стоит 0, я думаю от подсчета в определённый момент отказалась)
phrase_replic0_played = True
phrase_replic0_playcount_val = 0
phrase_replic1_played = True
phrase_replic1_playcount_val = 0
phrase_replic2_played = True
phrase_replic2_playcount_val = 0
phrase_replic3_played = True
phrase_replic3_playcount_val = 0
phrase_replic4_played = True
phrase_replic4_playcount_val = 0
phrase_replic5_played = True
phrase_replic5_playcount_val = 0
phrase_replic6_played = True
phrase_replic6_playcount_val = 0
phrase_replic7_played = True
phrase_replic7_playcount_val = 0
phrase_replic8_played = True
phrase_replic8_playcount_val = 0
phrase_replic9_played = True
phrase_replic9_playcount_val = 0
phrase_replic10_played = False
phrase_replic10_playcount_val = 0
phrase_replic11_played = False
phrase_replic11_playcount_val = 0
phrase_replic12_played = False
phrase_replic12_playcount_val = 0
phrase_replic13_played = False
phrase_replic13_playcount_val = 0
phrase_replic14_played = False
phrase_replic14_playcount_val = 0
phrase_replic15_played = True
phrase_replic15_playcount_val = 0
phrase_replic16_played = True
phrase_replic16_playcount_val = 0
phrase_replic17_played = True
phrase_replic17_playcount_val = 0
phrase_replic18_played = True
phrase_replic18_playcount_val = 0
phrase_replic19_played = True
phrase_replic19_playcount_val = 0
phrase_replic20_played = True
phrase_replic20_playcount_val = 0
phrase_replic21_played = True
phrase_replic21_playcount_val = 0
phrase_replic22_played = True
phrase_replic22_playcount_val = 0
phrase_replic23_played = True
phrase_replic23_playcount_val = 0
phrase_replic24_played = True
phrase_replic24_playcount_val = 0
phrase_replic25_played = True
phrase_replic25_playcount_val = 0
phrase_replic26_played = True
phrase_replic26_playcount_val = 0
phrase_replic27_played = True
phrase_replic27_playcount_val = 0
phrase_replic28_played = True
phrase_replic28_playcount_val = 0
phrase_replic29_played = True
phrase_replic29_playcount_val = 0
phrase_replic30_played = True
phrase_replic30_playcount_val = 0
phrase_replic31_played = True
phrase_replic31_playcount_val = 0
phrase_replic32_played = True
phrase_replic32_playcount_val = 0
phrase_replic33_played = True
phrase_replic33_playcount_val = 0
phrase_replic34_played = True
phrase_replic34_playcount_val = 0
phrase_replic35_played = True
phrase_replic35_playcount_val = 0
phrase_replic36_played = True
phrase_replic36_playcount_val = 0
phrase_replic37_played = True
phrase_replic37_playcount_val = 0
phrase_replic38_played = True
phrase_replic38_playcount_val = 0
phrase_replic39_played = True
phrase_replic39_playcount_val = 0
phrase_replic40_played = True
phrase_replic40_playcount_val = 0
phrase_replic41_played = True
phrase_replic41_playcount_val = 0
phrase_replic42_played = True
phrase_replic42_playcount_val = 0
phrase_replic43_played = True
phrase_replic43_playcount_val = 0
phrase_replic44_played = True
phrase_replic44_playcount_val = 0
phrase_replic45_played = True
phrase_replic45_playcount_val = 0
phrase_replic46_played = True
phrase_replic46_playcount_val = 0
phrase_replic47_played = False
phrase_replic47_playcount_val = 0
phrase_replic48_played = False
phrase_replic48_playcount_val = 0
phrase_replic49_played = True
phrase_replic49_playcount_val = 0
phrase_replic50_played = False
phrase_replic50_playcount_val = 0
phrase_replic51_played = True
phrase_replic51_playcount_val = 0
phrase_replic52_played = True
phrase_replic52_playcount_val = 0
phrase_replic53_played = True
phrase_replic53_playcount_val = 0
phrase_replic54_played = True
phrase_replic54_playcount_val = 0
phrase_replic55_played = True
phrase_replic55_playcount_val = 0
phrase_replic56_played = True
phrase_replic56_playcount_val = 0
phrase_replic57_played = True
phrase_replic57_playcount_val = 0
phrase_replic58_played = True
phrase_replic58_playcount_val = 0
phrase_replic59_played = True
phrase_replic59_playcount_val = 0
phrase_replic60_played = True
phrase_replic60_playcount_val = 0
phrase_replic61_played = True
phrase_replic61_playcount_val = 0
phrase_replic62_played = False
phrase_replic62_playcount_val = 0
phrase_replic63_played = True
phrase_replic63_playcount_val = 0
phrase_replic64_played = True
phrase_replic64_playcount_val = 0
phrase_replic65_played = True
phrase_replic65_playcount_val = 0
phrase_replic66_played = True
phrase_replic66_playcount_val = 0
phrase_replic67_played = True
phrase_replic67_playcount_val = 0
phrase_replic68_played = True
phrase_replic68_playcount_val = 0
phrase_replic69_played = True
phrase_replic69_playcount_val = 0
phrase_replic70_played = True
phrase_replic70_playcount_val = 0
phrase_replic71_played = True
phrase_replic71_playcount_val = 0
phrase_replic72_played = True
phrase_replic72_playcount_val = 0
phrase_replic73_played = True
phrase_replic73_playcount_val = 0
phrase_replic74_played = True
phrase_replic74_playcount_val = 0
phrase_replic75_played = True
phrase_replic75_playcount_val = 0
phrase_replic76_played = True
phrase_replic76_playcount_val = 0
phrase_replic77_played = True
phrase_replic77_playcount_val = 0
phrase_replic78_played = False
phrase_replic78_playcount_val = 0
phrase_replic79_played = False
phrase_replic79_playcount_val = 0
phrase_replic80_played = True
phrase_replic80_playcount_val = 0
phrase_replic81_played = True
phrase_replic81_playcount_val = 0
phrase_replic82_played = True
phrase_replic82_playcount_val = 0
phrase_replic83_played = True
phrase_replic83_playcount_val = 0
phrase_replic84_played = True
phrase_replic84_playcount_val = 0
phrase_replic85_played = True
phrase_replic85_playcount_val = 0
phrase_replic86_played = True
phrase_replic86_playcount_val = 0
phrase_replic87_played = True
phrase_replic87_playcount_val = 0
phrase_replic88_played = True
phrase_replic88_playcount_val = 0
phrase_replic89_played = False
phrase_replic89_playcount_val = 0
phrase_replic90_played = True
phrase_replic90_playcount_val = 0
phrase_replic91_played = True
phrase_replic91_playcount_val = 0
phrase_replic92_played = True
phrase_replic92_playcount_val = 0
phrase_replic93_played = True
phrase_replic93_playcount_val = 0
phrase_replic94_played = False
phrase_replic94_playcount_val = 0
phrase_replic95_played = False
phrase_replic95_playcount_val = 0
phrase_replic96_played = True
phrase_replic96_playcount_val = 0
phrase_replic97_played = True
phrase_replic97_playcount_val = 0
phrase_replic98_played = True
phrase_replic98_playcount_val = 0
phrase_replic99_played = True
phrase_replic99_playcount_val = 0
phrase_replic100_played = True
phrase_replic100_playcount_val = 0
phrase_replic101_played = True
phrase_replic101_playcount_val = 0
phrase_replic102_played = True
phrase_replic102_playcount_val = 0
phrase_replic103_played = False
phrase_replic103_playcount_val = 0
phrase_replic104_played = False
phrase_replic104_playcount_val = 0
phrase_replic105_played = False
phrase_replic105_playcount_val = 0
phrase_replic106_played = True
phrase_replic106_playcount_val = 0
phrase_replic107_played = True
phrase_replic107_playcount_val = 0
phrase_replic108_played = True
phrase_replic108_playcount_val = 0
phrase_replic109_played = True
phrase_replic109_playcount_val = 0
phrase_replic110_played = True
phrase_replic110_playcount_val = 0
phrase_replic111_played = True
phrase_replic111_playcount_val = 0
phrase_replic112_played = True
phrase_replic112_playcount_val = 0
phrase_replic113_played = True
phrase_replic113_playcount_val = 0
phrase_replic114_played = False
phrase_replic114_playcount_val = 0
phrase_replic115_played = True
phrase_replic115_playcount_val = 0
phrase_replic116_played = True
phrase_replic116_playcount_val = 0
phrase_replic117_played = True
phrase_replic117_playcount_val = 0
phrase_replic118_played = True
phrase_replic118_playcount_val = 0
phrase_replic119_played = True
phrase_replic119_playcount_val = 0
phrase_replic120_played = False
phrase_replic120_playcount_val = 0
phrase_replic121_played = False
phrase_replic121_playcount_val = 0
phrase_replic122_played = False
phrase_replic122_playcount_val = 0
phrase_replic123_played = False
phrase_replic123_playcount_val = 0
phrase_replic124_played = False
phrase_replic124_playcount_val = 0
phrase_replic125_played = False
phrase_replic125_playcount_val = 0
phrase_replic126_played = False
phrase_replic126_playcount_val = 0
phrase_replic127_played = False
phrase_replic127_playcount_val = 0
phrase_replic128_played = False
phrase_replic128_playcount_val = 0
phrase_replic129_played = False
phrase_replic129_playcount_val = 0
phrase_replic130_played = True
phrase_replic130_playcount_val = 0
phrase_replic131_played = False
phrase_replic131_playcount_val = 0
phrase_replic132_played = False
phrase_replic132_playcount_val = 0
phrase_replic133_played = False
phrase_replic133_playcount_val = 0
phrase_replic134_played = False
phrase_replic134_playcount_val = 0
phrase_replic135_played = False
phrase_replic135_playcount_val = 0
phrase_replic136_played = False
phrase_replic136_playcount_val = 0
phrase_replic137_played = False
phrase_replic137_playcount_val = 0
phrase_replic138_played = False
phrase_replic138_playcount_val = 0
phrase_replic139_played = False
phrase_replic139_playcount_val = 0
phrase_replic140_played = False
phrase_replic140_playcount_val = 0
phrase_replic141_played = False
phrase_replic141_playcount_val = 0
phrase_replic142_played = False
phrase_replic142_playcount_val = 0
phrase_replic143_played = False
phrase_replic143_playcount_val = 0
phrase_replic144_played = True
phrase_replic144_playcount_val = 0
phrase_replic145_played = True
phrase_replic145_playcount_val = 0
phrase_replic146_played = True
phrase_replic146_playcount_val = 0
phrase_replic147_played = True
phrase_replic147_playcount_val = 0
phrase_replic148_played = False
phrase_replic148_playcount_val = 0
phrase_replic149_played = True
phrase_replic149_playcount_val = 0
phrase_replic150_played = True
phrase_replic150_playcount_val = 0
phrase_replic151_played = True
phrase_replic151_playcount_val = 0
phrase_replic152_played = True
phrase_replic152_playcount_val = 0
phrase_replic153_played = True
phrase_replic153_playcount_val = 0
phrase_replic154_played = True
phrase_replic154_playcount_val = 0
phrase_replic155_played = True
phrase_replic155_playcount_val = 0
phrase_replic156_played = True
phrase_replic156_playcount_val = 0
phrase_replic157_played = False
phrase_replic157_playcount_val = 0
phrase_replic158_played = True
phrase_replic158_playcount_val = 0
phrase_replic159_played = True
phrase_replic159_playcount_val = 0
phrase_replic160_played = True
phrase_replic160_playcount_val = 0
phrase_replic161_played = True
phrase_replic161_playcount_val = 0
phrase_replic162_played = True
phrase_replic162_playcount_val = 0
phrase_replic163_played = True
phrase_replic163_playcount_val = 0
phrase_replic164_played = True
phrase_replic164_playcount_val = 0
phrase_replic165_played = True
phrase_replic165_playcount_val = 0
phrase_replic166_played = True
phrase_replic166_playcount_val = 0
phrase_replic167_played = True
phrase_replic167_playcount_val = 0
phrase_replic168_played = True
phrase_replic168_playcount_val = 0
phrase_replic169_played = False
phrase_replic169_playcount_val = 0
phrase_replic170_played = True
phrase_replic170_playcount_val = 0
phrase_replic171_played = True
phrase_replic171_playcount_val = 0
phrase_replic172_played = True
phrase_replic172_playcount_val = 0
phrase_replic173_played = True
phrase_replic173_playcount_val = 0
phrase_replic174_played = True
phrase_replic174_playcount_val = 0
phrase_replic175_played = True
phrase_replic175_playcount_val = 0
phrase_replic176_played = True
phrase_replic176_playcount_val = 0
phrase_replic177_played = True
phrase_replic177_playcount_val = 0
phrase_replic178_played = True
phrase_replic178_playcount_val = 0
phrase_replic179_played = True
phrase_replic179_playcount_val = 0
phrase_replic180_played = False
phrase_replic180_playcount_val = 0
phrase_replic181_played = False
phrase_replic181_playcount_val = 0
phrase_replic182_played = False
phrase_replic182_playcount_val = 0
event_clock_wind_up_occured_count = 45 //Сколько раз пользовались часиками
event_forest_insanity_occured_count = 0 //сколько раз сошли с ума в лесу? Не помню, что случается с героем в этом случае: уровень начинается сначала?
event_open_transfer_door_occured_count = 2 //Даже и не знаю про какую "transfer door". Если это портал, то я заходил в него в той игре всего один раз, кажется
event_repair_light_with_ghost_occured_count = 0 //Неясно
event_sanity_30_percent_occured_count = 0 //достигнуто 30%-е здравомыслие?
event_sanity_70_percent_occured_count = 0 //достигнуто 70%-е здравомыслие?
//Следующие переменные судя по названию связаны с введением. Особенных мыслей нет
event_tutorial_clock_occured_count = 0
event_tutorial_forest_ver_move_occured_count = 3
event_tutorial_forest_house_occured_count = 3
event_tutorial_hide_occured_count = 2
event_tutorial_interior_occured_count = 2
event_tutorial_open_door_occured_count = 2
event_tutorial_open_door_progress_occured_count = 2
event_tutorial_portal_occured_count = 2
event_tutorial_repair_light_occured_count = 2
event_tutorial_repair_light_progress_occured_count = 2
event_tutorial_turn_on_light_occured_count = 2
event_tutorial_zoom_out_win_occured_count = 0
event_tutorial_zoom_out_mac_occured_count = 0
//Подсчет фраз сказанных героем?
phrase_counter_wake_my_house = //Кто-то на форуме писал, что жилец иногда говорит, что "чувствует, что наконец-то проснулся в своём доме" или что-то вроде того. У меня, кажется, не просыпался
phrase_counter_wake_other_house = 5,6,7,7,8, //А вот про "я не узнаю этот дом" он у меня говорил часто. Какой смысл у этих чисел мне не очень ясно.
phrase_counter_enter_room_other_house =
phrase_counter_enter_room_my_house = 21,22,
phrase_counter_enter_new_room =
phrase_counter_repair_light =
phrase_counter_interior_appeared =
phrase_counter_enter_corridor = 2, //Я один раз был в корридоре. Возможно жилец что-то сказал тогда
phrase_counter_mob_damage =
phrase_counter_dead_wake =
phrase_counter_enter_room_portal_other_house =
phrase_counter_diary_close =
phrase_counter_twin_change = 2,3, //Я видел призрак жильца и даже "обернулся" в него
phrase_counter_ghost_player_disappeared =
phrase_counter_unhide_after_search =
phrase_counter_after_dream =
phrase_counter_clock =
phrase_counter_ghost_appeared =
phrase_counter_main_door = 3,
phrase_counter_opened_main_door =
phrase_counter_read_diary = 1,2,3,4,5,6,7,8,9,10,
phrase_counter_diary_scraps = 2,3,4,5,6,7,8,9,10,11,12,13,
phrase_counter_diary_sub = 11,12,13,
first_phrase_on_home_wake_played = True
first_phrase_on_home_room_played = True
first_phrase_on_buka_wake_played = True
winter_poem_played = True
corridor_buka_came_music_played = False
manual_zoom_out = True
manual_zoom_out_on_buka = True
diary_enabled = True //я думаю, что True значит, что поиск дневника начался
diary_child_pages_count = 10 //То ли найденное количество страниц, то ли общее. В игре я нашел 10 страниц (все кроме шестой)
evil_twin_probability = 0.5 //Вероятность появления на уровне призрака жильца?
buka_appears_after_return_home_count = 7 //После какого уровня появился бука?
buka_movement_rate = 1 //Насколько близко бука к дому. Как я понимаю это и есть наша белая ветка. 0 - Бука максимально далеко, ветка полная. 1 - бука у дома, ветка пустая.
//Как-то связано с домом, но это не описание комнат. Напомню, в последнем доме их у меня 15, а здесь только 11 значений. как я думаю, дом однозначно описывается с помощью случайного начального (random seed), что указано выше
house_length = 0.03076923,0.09230769,0.1538462,0.2153846,0.2769231,0.3384615,0.4,0.48,0.7632586,0.8966895,0.9583382,
house_angles = 0,180,180,0,180,180,0,0,0,0,180,
house_textures = 0,5,2,6,6,4,1,7,7,2,2,
eye_length = 0.06153846,0.1230769,0.1846154,0.2461538,0.3076923,0.3692308,0.455,0.6216293,0.8299741,0.9275138, //вот это уже интересно. размер глаз у героя?
eye_textures = 6,2,6,4,5,5,3,7,2,3,
hero_house_number = 10 //номер текущего дома
portal_to_corridor_probability = 0.5 //мало ходил по коридорам, не знаю за что отвечает
corridor_sanity_damage_speed = 0.3 //аналог повреждения рассудка при долгой прогулке в лесу только для коридора?
forest_sanity_damage_speed = 0.58 //скорость повреждения рассудка в лесу
seen_dreams_count = 9 //сколько видел "фрагментов реальности"? точно не скажу сколько видел в той игре, но минимум 6
unseen_dreams = 1,2,3,4,5,6,7, //У unseen много переводов. И "невиданный" и "духовный мир". Я думаю, это как раз те фрагменты реальности, которые я видел. Какое значение у seen_dreams_count тогда непонятно
poltergeist_bump_count = 30
hero_search_count = 10
Есть мысли - излагайте. Может быть вместе узнаем какие-нибудь страшные тайны бытия. Или поймем почему большая часть игроков свою первую игру заканчивает безумием