Почему одни чит-коды в GTA San Andreas выглядят нормально, а другие похожи на тарабарщину

К выходу новой части GTA, Rockstar Games серьёзно заморочилась с сокрытием комбинаций для читов, но перехитрила сама себя.

Давеча я наткнулся на интересный разбор механики чит-кодов в San Andreas, ниже оригинал видео и его пересказ.

Я полностью прошёл GTA:SA на PS2, где чит-коды было вводить очень удобно. Например: L1, L2, R1, R2, влево, вниз, вправо, вверх, влево, вниз, вправо, вверх (здоровье, броня, $250k). Наверное, из-за этого тем удивительнее было, почему в ПК-версии были какие-то странные HESOYAM, AEZAKMI и прочие.

На самом деле, Rockstar просто решили заморочиться, чтобы список кодов не нашли в первые дни после релиза, и придумали хитрую схему: представьте, что все ваши нажатия клавиш вводятся в невидимое поле длиной 29 символов, причём очередная буква или цифра встаёт на первое место и сдвигает остальные (ввели 123456, строка выглядит как 654321). После появления каждого нового символа, игра берёт первые 6, применяет к ним хэш-функцию (если просто, по некоторому правилу превращает одни символы в другие) и сравнивает с некоторым списком. Если нет совпадений, то берёт первые 7 и т.д.

Скриншот из видео выше<br /> https://youtu.be/x8Cb69L2-Uw
Скриншот из видео выше
https://youtu.be/x8Cb69L2-Uw

Что это за список? Это значения хэш-функции CRC32 от «настоящих» чит-кодов, типа ROCKETMAN, INEEDSOMEHELP и др.

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

Простой пример: функция y=x^2 («игрек равно икс в квадрате»). Если взять «y» равный 4, то в качестве «х» одновременно подходят как 2, так и -2

В результате, у каждого «настоящего» чит-кода есть невероятно много (в видео приведено число с 34 нулями) аналогов, а вышеупомянутый HESOYAM просто нашли быстрее, чем INEEDSOMEHELP. Любопытный факт: некоторые читы можно активировать последовательностью, состоящей всего из 4 различных букв: W, A, S, D. Именно такой случай и произошёл у спидраннера LelReset, когда тот пытался поставить мировой рекорд. После окончания заставки игрок начал движение в автомобиле и случайно «заспавнил» перед собой боевой вертолёт Hunter, погубивший ему попытку.

Тот самый момент с вертолётом Hunter

К слову, в GTA III чит-коды располагались в исходниках игры в открытом виде, а в GTA Vice City они были зашифрованы несложным шифром перестановки. По-видимому, этих мер было недостаточно, и разработчики постарались ещё усложнить поиск заветных символов, однако вместо этого сделали их великое множество. Напоследок, ещё один любопытный факт: сайт ag.ru в своё время опубликовал «эксклюзивные чит-коды» для San Andreas, каждый из которых начинается на AGRU. Думаю, теперь вам стало понятно, почему так вышло.

183183
39 комментариев

Думаю, теперь вам стало понятно, почему так вышло

неа,не стало,но все равно было интересно

41
Ответить

Жаль, что не удалось понятно донести информацию :(
Если кратко: из-за выбранного подхода, на каждый «настоящий» чит-код приходится ещё ооооочень много сочетаний букв, которые делают то же самое. И среди этих аналогов нашлись те, что начинаются с AGRU.

25
Ответить

Комментарий недоступен

12
Ответить

Т.е. даже осмысленными словами?

Ответить

В детстве всегда думал, что BEKKNQV - это костюм ниндзя.

11
Ответить

Lalilulelo

3
Ответить

Кто такие "патриоты"?

2
Ответить