Sega::PrinceOfPersia

Jan 07, 2009 07:21

Мучаю тут Prince of Persia на эмуляторе Sega. В силу исторических причин это первая и (пока) единственная платформа на которой я играл в эту игрушку. Собственно, в те далёкие времена я конечно же прошёл игру "по честному" не один раз на приставке, кроме того своеобразно разломал вдрызг систему паролей. Почему своеобразно ? Были получены "алгоритмы улучшения паролей" (методом дифференциального анализа - т.е. сравнения паролей с минимальными отличиями, пришлось слегка побегать по уровням и собрать статистику):
"+1 жизнь", "+5 минут времени", "+1 минута времени", "+1 этап", которые сводились к увеличению/уменьшению символов на заданное число позиций, причём с алгоритмом по типу счётчика - если какой-либо разряд перешагнул через A/Z, то добавлялась/вычиталась единица из более старшего символа и т.д. Разумеется, начальный пароль был AAAAAA который сразу выводил проигрышный экран. Чуть лучше был пароль PPPPPP, который давал 1й этап и 1 минуту времени. Помимо обычных паролей были и "читерские" со своеобразным бессмертием - если обратить алгоритм "+1 жизнь", то мы вычтем 1 жизнь, применяя этот алгоритм 3 раза (ибо по умолчанию у нас 3 жизни), получим пароль QYZQYZ, который обладает странной симметрией (для 1го этапа) и одним хитрым свойством - без жизней - т.е. ни одного треугольничка. Что это даёт ? В поединке на мечах мы абсолютно бессмертны! (если конечно не нажать "вниз" и не спрятать меч). Прямо как скелет с 3го уровня :) Однако, за всё в нашей жизни надо платить и мы имеем следующие недостатки - если найти и выпить зелье, дающее +1 жизнь, то мы испортим весь кайф и превратимся в дистрофика, который умрёт от малейшего чиха - жизнь-то появится единственная... Но это ещё полбеды. Главная проблема - стоит нам удариться (т.е. упасть с несмертельной высоты в 2 уровня) или получить падающей плиткой по голове - всё, экран станет красным и игра повиснет (кроме музыки). Аналогичная (_!_) случится если выпить яду :))) Вот такой вот облом. Впрочем, при должной сноровке (успеть поставить паузу и сделать restart level) и отказе от зелий (ну или зная какие из них стоит пить - в нашем случае только пополняющие время) игру почти можно пройти и в этом режиме, тем более что колотить стражников станет гораздо проще. Заодно можно будет заметить программерскую лень - если пройти сквозь противника и махать мечом в пустое пространство то мы будем наносить ему дамаг (хотя стоим к нему спиной и бьём воздух) - забавно :) Почему "почти можно" ? На 4м этапе мы не сможем пройти сквозь зеркало (ибо когда с разбегу бьёмся об него, то после этого остаётся только 1 жизнь) не вызвав зависания игры. Впрочем, учитывая что фактически это последнее препятствие на пути к выходу на уровне можно со спокойной совестью считать уровень пройденным и при помощи алгоритма "+1 этап" перейти через пароль на следующий уровень. Разумеется, разломал и пароль дающий на старте 8 жизней: QYZSVI, максимально можно иметь 9, но такой пароль не работает. Собственно, это мой любимый пароль и любимый принцип взлома паролей - получить все ништяки сразу и проходить игру на одном дыхании от начала и до конца. Ну а для нетерпеливых скажу, что пароли последних 4х этапов (17й последний - чисто 3 комнаты добежать до принцессы) не работают. Максимум что можно выжать из пароля - 13й этап: QYZSDA, также моя память напомнила мне ещё и 12й этап, ибо пароль слишком прост: QYZFFF. Кстати потом, в одной из книжек "а ля 850 игр для Sega" узнал 2 кода, набираемых с джойстика в режиме паузы:

BACAAC - открыть двери
CABBBB - замедлить падение

Сейчас же, когда на компе можно ковырять код ROM'а, искать информацию в интернете, "ломать" стало намного проще и даже не нужно - почти всё уже давно сломано. Зато появилась возможность выяснить детали как же это организовано и ранее неизвестные коды:

Prince of Persia (E) (в американской версии коды вырезаны)

Коды зашифрованы следующим образом: набранная комбинация есть число в троичной системе ABC, где A = 0, B = 1, C = 2. Например, если мы набрали BBAC (1102 в троичной системе), число будет равно 38, или #$26 в 16-ричной. Это число умножается на #$515 и находится остаток от деления его на #$19A1. Потом идут сравнения с этим остатком записанных значений (это и есть коды).

CACBBACC - восстановить жизни
BBAABCCB - добавить жизнь
CBAACBAB - пропустить уровень
BACAAC - открыть двери
CABBBB - замедлить падение
BACCACB - убить врагов
BAABCBBB - вызвать землетрясение
CBAACCBA - остановить ненадолго время


Естественно, картридж у меня был европейский. А в американской версии, как оказалось, вырезаны не только коды, но и музыка >_<, впрочем у мну есть оба ROM'а, в европейской версии все вышеназыванные коды и пароли работают так же как и на приставке.
Надо будет раздобыть принца для PC вроде их аж 2 части есть... ну и на эмуле Dendy заодно заценить. Ибо игруха классная, как не крути.

sega, game, prince_of_persia, fun

Previous post Next post
Up