Хонич А.
Как самому создать трехмерную игру
стр. 80

разработчики игр вводят возможность использования CHEAT кодов в отладочных целях Так же маловероятно, что эти коды с момента приобретения коммерческой лицензионной версии игры общедоступны, т.к. о них в доку ментации ничего не сказано (исключением является лишь игра Descent В файле ReadMe для данной игры описаны CHEAT коды) На данную мысль наводит также то обстоятельство, что в самой игре эти коды находятся не в явном виде (ASCII коды) - они закодированы. Каким же образом они кодиру тотся и как осу ществляется их проверка? Это очень просто, и мы покажем, как это делается, на примере проверки кода “IDDQD” - кода бессмертия в DOOM’e. Как было показано, проверкой CHEAT кодов занимается функция ControlCheatCodes, вызов которой осуществляется из функции OtherControl. В данную функцию передается указатель на текущую структуру CONTROL, которая несет информацию об очередной нажатой клавише. В данной функции нам нужен только код этой нажатой клавиши. Мы не будем здесь приводить пример фу нкции ControlCheatCodes. Можно лишь сказать, что в ней коды проверяются лишь в том случае, если игра не в сети, и если текущий уровень сложности (Skill Level) у вас не четвертый (Nightmare). Проверяет конкретный код функция CheckCheatCode, в которую передаются два параметра:

1.    Адрес на данные проверяемого кода.

2.    Текущий код нажатой клавиши. Функция CheckCheatCode возвращает единицу в том слу чае, если пароль совпал. Если возвращается 0, то это может означать, что пароль не совпал, или еще не все символы пароля были введены, т.к. для того, чтобы пароль совпал, вы должны ввести последовательно все символы этого кода (в нашем случае их 5). Причем никакого тайм-аута здесь нет: вы можете один символ пароля ввести сейчас, а следующий через час, и он будет воспринят. Важно лишь, чтобы между' этими двумя кодами не прошел еще один посторонний код от клавиатуры (заметьте, что только от клавиатуры, т.к. другие устройства ввода в паролях участия не принимают).

Для нашего случая вызов функции CheckCheatCode будет выглядеть так:

Новости
Авторы Kingdom Come: «Мы хотели сделать Red Dead Redemption с мечами»
Не причислять себя к традиционным инди-разработчикам, а пытаться создать игру, сравнимую с Red Dead, Far Cry, «Ведьмаком», Assassin’s Creed и The Elder Scrolls V: Skyrim.
VR-игра по мотивам Psychonauts добралась до ПК
На ПК вышла VR-игра от легендарного Тима Шейфера: теперь в Psychonauts in the Rhombus of Ruin могут сыграть не только владельцы PS VR, но и обладатели HTC Vive или Oculus Rift.