2# Самые конченные баги DARK SOULS
Немного о прогрузке игрового мира и закрепление знаний про стабильные поверхности
Продолжаю рассказывать, как работает всеми любимый Сосалик.
В этот раз чуть менее глубинный код игры, чисто чильте и наваливайте актива. Без лишней воды к сути.
Area Transition Clipping
Достаточно забавная тема, на которую я отведу сразу же несколько примеров. Как можно догадаться из названия, это что-то, связанное с переходом из локаций. Area Transition Clipping — способ прогружать локации DARK SOULS таким образом, чтобы выпадать из них в OoB (Out of Bounds), то есть за границы уровня.
Механика
Мир DARK SOULS разделён на 17 отдельных областей, которые подгружаются по мере приближения к ним игрока. При загрузке игры сразу загружается только та область, в которой вы находились в последний раз, а близлежащие области загружаются вскоре после этого. Таким образом создается некая очередь прогрузки локаций, и в оригинальном DARK SOULS PTDE между погрузкой локаций есть небольшой зазор, которым игрок и может воспользоваться для своих грязных целей.
«Грязная цель» — провалиться сквозь землю, чтобы попасть в другую, например, закрытую область карты. Для этого мне придется обратиться к тексту о стабильных поверхностях, о которых я рассказывал в предыдущей части. Если коротко, большая часть неподвижных поверхностей в игре считается стабильной, и только на них игра сохраняет позицию игрока. Весь прикол заключается в том чтобы обмануть игру и с помощью нестабильной поверхности заставить игру при перезаходе переместить персонажа в непрогруженную локацию.
Самый распространённый способ исполнения — просто выйти из игры в нужный момент при переходе из одной локации в другую. Если вы идете по нестабильной поверхности и подтвердите выход непосредственно перед тем, как ступите на стабильную поверхность в следующей области, при этом продолжив идти вперёд во время, пока вас отсылает в главное меню, ваша сохранённая область прогрузки локации будет обновлена, но сохранённая позиция персонажа останется в предыдущей локации. При повторной загрузке вы упадёте под пол предыдущей локации, так как игра сначала будет прогружать следующую локацию, на которую вы ступили, пока ваша игра выключалась.
Исполнение №1
Один из базовых примеров — пропуск Глубин прямо к Разверстому Дракону. Тут игрок заходит в Глубины через лестницу, которая не является стабильной поверхностью, он останавливается перед первой стабильной поверхностью локации и заходит на нее, нажав выход в главное меню. После этого игрок перезаходит на персонажа и оказывается под лестницей, по которой спускался, и дальше бежит по изнанке локаций, пропуская практически все Глубины и в конце спрыгивая к боссу-дракону.
Исполнение №2
Есть и более эксклюзивная версия этого бага во Владениях Квилег. Что, если можно пропустить Неутомимого Война и без слива лавы сразу попасть к мудрому демону?
Я думаю, вы помните лифт, который изначально кажется обычным полом во Владениях Квилег, но потом его можно активировать после победы над Мудрым Демоном, чтобы подняться на нем к паучихе.
А что, если отгрузить этот лифт и упасть в его шахту прямо на голову боссу?
Вся фишка в том, что лифт принадлежит нижней локации, и он с очень короткой задержкой прогружается в верхнее положение, и пока лифт отсутствует, можно упасть в его шахту. Но как это сделать, если я уже 2 поста подряд рассказываю про стабильные поверхности и о том что на лифтах не сохраняется позиция персонажа? Тут на помощь приходят игровые приколы, а именно то что при перезаходе в игру персонаж игрока немного смещается назад. Таким образом можно просто встать у края лифта и делать перезаходы и в один момент персонаж сам упадет в шахту лифта.
После того как получилась первая часть скипа, главное — нажать удар в падении и приземлиться прямо на голову Мудрого Демона, сделав анимацию добивания в падении. Еще один смешной игровой прикол заключается в том, что именно Мудрому Демону можно сделать подобную анимацию, при том что Бродячему Демону, чьим рескином он является, нельзя сделать эту анимацию, то есть я имею в виду, что она даже не прописана в его коде. Совпадение ли это или Миядзака заранее знал об этом баге и решил подыграть игрокам?