Как узнать код игры. Заглянем за кулисы разработки: подборка исходных кодов классических игр

В компьютерных играх, как и в реальной жизни, есть возможность немного пожульничать. Разработчики для этого снабжают свои продукты различными кодами, используя которые из меню игры, можно беспрепятственно проходить уровни и миссии.

Вам понадобится

  • Программное обеспечение CheMax.

Инструкция

Чтобы узнать коды, которые когда-то использовались разработчиками при тестировании, совсем не обязательно вскрывать при помощи HEX-редакторов все exe-файлы игрового продукта. Вам достаточно перейти на специализированный сайт по читам по следующей ссылке http://chemax.ru.

На загрузившейся странице наведите курсор к строке меню, а именно разделу «Чит коды», и в появившемся списке выберите пункт «На русском языке». На следующей странице введите название игры в поисковою строку, затем нажмите кнопку «Поиск». Рекомендуется вводить максимально полное название, которое можно скопировать из свойств ярлыка. Для этого перейдите к рабочему столу и нажмите правой кнопкой мыши на ярлыке игры. В контекстном меню выберите пункт «Свойства» и скопируйте название при помощи сочетания клавиш Ctrl + C или Ctrl + Insert.

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

Постоянное обращение к сайту ради добычи нужного кода весьма долгое занятие, т.к. запуск специальной программы (CheMax) во много раз быстрее. Для этого обратитесь к верхнему меню CheMax и выберите пункт CheMax Rus. На странице загрузки программы нажмите на ссылку «Инсталлятор» либо «RAR Архив», и укажите место сохранения исполняемого файла.

После установки программы на рабочий стол будет помещен ярлык, запуск которого приведет к открытию программы. Во время игры нажмите «Пауза» и при помощи сочетания Alt + Tab перейдите к открытому окну. В поисковой строке введите название игры и нажмите Enter.

С каждым днем приложений для Android становится все больше и больше. Миллионы интересных игр и полезных программ можно найти в Play Market. Все они имеют удобный интерфейс и справляются с поставленной задачей. Без них сложно представить современный мир информационных технологий. Эта статья ориентирована на людей, которые не только ценят функционал и внешний вид приложений, а еще и интересуются их внутренним устройством.

Если Вам когда-либо было интересно, что находится “под капотом” любимого приложения, и вы немного смыслите в программировании – эта статья для Вас. Мы расскажем, как посмотреть исходный код приложения Android прямо на вашем гаджете. Поехали!

Общие сведения

Большинство программ для ОС Android, как и большая часть самой операционной системы, написаны на языке программирования . А это значит, что посмотрев в исходный код программ Android, мы, скорее всего, увидим Java код с использованием Android SDK (которая включает в себя инструменты платформы Android). Повторюсь: чтобы понимать исходный код приложений, нужно иметь базовые знания Java и принципы работы Android.

Как узнать исходный код приложений Android?

Для начала скачайте приложение, исходный код которого Вас заинтересовал. Затем зайдите в Play Market и скачайте утилиту под названием Show Java. Именно она будет заниматься декомпилированием. Установили? Отлично, а теперь перейдем к самому интересному – извлечению исходного кода Android программы. Запускаем Show Java.

Выберите нужное приложение из установленных, или найдите его на SD карте. Теперь нужно выбрать декомпилятор. Я обычно выбираю CRF. Если возникнут проблемы – пробуйте JaDX.

По завершению процесса вы получите список пакетов с исходниками Android приложения. Конечно, это не 100% копия кода, которую писали разработчики этого приложения. Но основная логика сохраняется, разобрать не сложно. Что делать с исходниками? Что угодно. Смотрите, разбирайте, возможно Вам будут интересны некоторые “фичи” или особенности реализации функционала программы.

Рубрика:
  • Перевод

Обожаю заглядывать за кулисы. Мне интересно, как делаются вещи. Мне кажется, что большинству людей это тоже интересно.

Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.

К сожалению, почти все игры – для PC. Найти исходники для консолей или аркад почти нереально, и большинство программистов не в курсе различий подходов к программам на платформах, отличных от PC.

Многие игры после выпуска исходников были улучшены и дополнены сообществом – я намеренно даю ссылки только на оригинальные исходники. Так что, если вас вдруг интересуют апгрейды – они могут существовать.

Многие игры были рассмотрены на сайте Fabien Sanglard . Если вам интересны подробности их работы, то пожалуйте к нему.

Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?

Итак, приступим (в хронологическом порядке):

Colossal Cave Adventure (1976)

Catacomb (1989)

Prince Of Persia (1989)


Prince Of Persia произвёл фурор благодаря плавной анимации, голливудскому стилю подачи истории и интересному геймплею.

Написана полностью на ассемблере, что затрудняет задачу обзора кода. Рекомендую посмотреть интервью с Джорданом Мехнером , где он делится деталями о создании игры.

SimCity (1989)


Hovertank 3D / Catacomb 3D (1991)

Star Control II (1992)

Исходник получен с порта на 3D0, оригинальный же был утерян. Это часто случается со старыми играми, когда разработчики уходят из компании.

Wolfenstein 3D / Blake Stone (1992/3)


Doom (1993)


В каком-то смысле это самый важный для изучения движок. В своё время это была революция – мир от первого лица, не плоский, как Wolf3D. Освещение, текстуры и изобретение DeathMatch.

Одной из самых знаковых вещей стало изобретение идеи «движка». До этого игры были сильно связаны с данными. Doom пропагандировал отвязку данных игры от движка. Это породило целые сообщества, модифицировавшие игры (Aliens TC, Fistful Of Doom).

Descent (1994)


Gravity Force 2 (1994)

Разработчик: Jens Andersson and Jan Kronqvist
Издатель: Shareware
Платформа: Amiga

Многие современники вспомнят эту игру. Amiga Power однажды назвала её второй лучшей игрой всех времён.

Это не совсем коммерческая игра, она была выпущена по принципу платного shareware, а затем её раздавали бесплатно на диске Amiga Power. Включил её в список потому, что в ту пору вообще редкие игры выдавали свои исходники. Если вам интересно, как делались 16-битные игры, обратите внимание.

Heretic / Hexen (1994/5)

Rise Of The Triad: Dark War (1995)


Marathon 2: Durandal (1995)

Duke Nukem 3D / Shadow Warrior (1996)


Quake 1/2/3 (1996-1999)

Тут писать особо нечего, вы и сами всё знаете. Знатная веха в создании полностью трёхмерных движков, без всяких хаков вроде 2.5D

Упомяну несколько интересных подробностей. Возможно, это первая коммерческая игра, скомпилированная компилятором с открытым исходным кодом (DJGPP for DOS, ранний порт gcc).

В игре был свой скриптовой язык “Quake C” (позже lcc у Quake 3). Он был встроен специально для того, чтобы игроки могли делать модификации. Это, вкупе с системой ресурсов PWAD, породило огромное сообщество моддеров.

В Quake 1 был инновационный механизм кэширования результатов шейдинга. Но после распространения 3D-ускорителей это потеряло смысл. Следующая игра от id, Rage, использовала эту же идею.

Кроме того, Quake был очень надёжным движком. Никаких глюков растра или обсчёта столкновений.

Abuse (1996)


Aliens versus Predator (1999)


Freespace 2 (1999)


The Operative: No One Lives Forever (2000)


MechCommander 2 (2001)


Doom 3 (2004)


Если вы хотите изучить движки современных игр высшего класса, то Doom 3 – это один из наилучших примеров. На время выхода он был инновационным во многих областях. Метод использования моделей высокого разрешения на элементах низкого разрешения в игре сейчас является стандартом для коммерческих игр. В исходнике есть много всего интересного – одна лишь система обработки физики достойна изучения, в частности, отслеживание столкновений.

Это первая игра от id, написанная на С++. Прошлые игры из-за использования С несли в себе простоту. Doom 3 тоже довольно простой, но заметно уже изменение его вектора движения.

Также игра (печально) известна использованием трафаретных теней при расчёте освещения. Можно спорить, был это интересный эксперимент или поле для дальнейшей работы, но сегодняшние игры предпочитают использовать карты теней. Возможно, эта техника когда-нибудь ещё пригодится.

Gish (2004)


Canabalt (2009)


Разработчик: Adam Saltsman
Издатель: Semi-Secret / Beatshapers / Kittehface
Платформа: Flash / iOS / PSP / Android / Ouya

Не самая сложная игра, ну и что? Если вы хотите научиться делать игры, начинайте с простого – вот с этого.

Прототипирование заняло 5 дней, портирование на iOS – 10. Пример превращения простой идеи в достойное выражение. Это как бы возвращение 8-битной эпохи, когда еженедельно могли появляться новые жанры. Жаль, что с тех пор люди предпочитают клонировать идеи, а не творить самостоятельно.

Canabalt показывает, насколько вещи можно сделать просто, если захотеть.