Ветеран Rockstar Games Оббе Вермей, работавший над Grand Theft Auto 3, Vice City и San Andreas, поделился забавной историей о том, как он спрятал читы в коде игры, чтобы хакеры не нашли их сразу после релиза. Однако его хитроумная задумка неожиданно создала проблемы для спидраннеров.
Читы в GTA 3 активировались на ПК, если игрок вводил определенные последовательности символов. Например, команда "ILOVESCOTLAND" вызывала дождь. Однако Вермей решил спрятать читы так, чтобы их было трудно обнаружить, даже разбирая исходный код игры.
Для этого я использовал хэш-коды, чтобы хранить читы. Хэш-код — это число, которое вычисляется на основе строки символов.
— Вермей в твиттере
Без углубления в технические подробности: каждый символ имеет значение в ASCII — например, заглавная буква A равна 65. Хэш-коды суммируют значения букв, таким образом скрывая текстовые команды в коде игры.
Хэш-код для ILOVESCOTLAND равен 983. Для GUNSGUNSGUNS – это 951. Игра сравнивала хэш-коды введенных символов с известными хэшами читов. Это работало. Читы не взломали (но их все же нашли игроки, случайно подбирая символы).
— Вермей
Интересно, что этот метод породил неожиданный эффект. Некоторые фразы, не связанные с читами, активировали команды из-за совпадения их хэш-кодов. Например, ввод "HDLMAAXOPK" также вызывал дождь, как и "ILOVESCOTLAND".
Такое совпадение иногда мешало спидраннерам.
Читы активировались случайно, порой во время спидранов. Эти забеги приходилось прерывать, ведь правила строгие: никаких читов.
— Вермей
Будем ждать новых историй от Оббе о временах GTA 3.