Вместо вступления

"ROM hacking - это процесс модификации ROM образа видео игры для изменения в игре графики, диалогов, уровней, игрового процесса или других элементов. Этим обычно занимаются технически-грамотные фанаты видео игр, что того чтобы придать старой игре новизну, например дополнение или неофициальную игру на основе старой, как продолжение серии" /Wikipedia/

Чтож, это новый мир, в который вы собираетесь вступить, так что пристегните ремни, промойте клавиатуру и смажьте мышкин коврик вазелином - мы начинаем.

Самое главное в нашем деле это пробовать все на зуб (можно потренироваться на граните науки у кого в этом мало опыта) и рассказывать о своих открытиях в Хаккинге, даже не важно чего, будь то загрузочные экраны, карты, скрипты или музыка. Много информации можно почерпнуть здесь (так как многие знают инглиш не хуже матерного русского, то оригиналы текстов хранятся здесь http://www.pkmnhackersonline.com, те же, кто знают его чуть хуже, могут читать дальше).

По принципу обратной связи, чем больше сталкиваешься с проблемами в хаккинге, тем опытнее становишься в их разрешении. А посему когда проблем нет - это скучно, и нужен кто-то, у кого они есть, чтобы можно было их решить. Это своего рода испытание, или ленивое развитие, если самому ничего не делать, а только помогать другим.

Временами такой пресс сваливается на голову, и крутит и давит - ну никак дело не идет, ничего не работает, а только глючит и выдает ошибки. Тут все зависит только от силы духа, в любом деле важно две вещи: сила духа и сила воли - так что можете считать такие дни испытанием на стойкость. По завершении такого периода можете рисовать большую звездочку на борту вашего системника, или маленькую на коврике хвостатой - как выполненую операцию подавления противника.

Создатель одной тупой RPG игры, но с хорошей графикой, под названием - Жизнь, задумал все так, что на ошибках учатся, особенно хорошо учиться на своих ошибках. В вашей игре вы можете пользоваться чит кодом под названием "умные учатся на чужих ошибках". Так что для перехода на next level нужно лишь время и органы ввода вывода информации в компьютер - проверьте, есть ли у вас в наличии необходимый инструментарий: вымойте руки, почистите зубы, наденьте все черное и сделайте татуировку Hack//you.

Добро пожаловать в содружество хакеров.

Начало

У первых строках сего нетленного повествования хочу открыть ник автора оригинального текста, чей перевод вы сейчас поглощаете. Значит это заслуженный хакер всея паутины под ником "Green Charizard", опыт работы в области у него вот уже четыре года, посему он решил поведать основы хакерского учения для широкого (ну очень) пользователя. А переводчик и создатель сего форума от нас обоих обещает снабдить русскоязычный портал инструментами не хуже исходного.

Снимите чайник с плиты, закройте воду в ванной и отключите утюг из сети. Теперь задумайтесь над самым главным вопросом вселенной, жизни и вообще - С ЧЕГО НАЧАТЬ??? Хакерская карьера охватывает несколько различных областей применения знаний, вот поэтому вашему вниманию будут предложены пара десятков статей, охватывающих основы ремесла: основы скриптов, создание карт внесение изменений в код.

Как в той басне "а ларчик просто открывался" (от переводчика - крутая басня). Это означает, что войти в хаккинг просто, не так просто там освоиться. Не вся, но все же часть работы хакера требует кропотливости, упорства и терпения. Но в основном все довольно логично и просто. Все благодаря нашим идеологическим предшественникам, создавшим широкий спектр инструментов для различных целей.

Вот и первый термин словаря Хакера, который мы будем пополнять время от времени. ROM (Read Only Memory) - ром игры, это электронная составная программного кода картриджа (любой консоли) хранящаяся на вашем СЪЕМНОМ жестком диске. Но так как такой файл нарушает права об авторском праве записанным в Конституции РФ, то всем и всегда говорите, желательно на пяти мировых языках одну и туже фразу "не для продажи, только для просмотра" "not for sale, only for preview" (кто знает немецкий, французский и китайских можете помочь переводчику). И всегда ставьте пароли на доступ (не менее 12 символов), не оставляйте отпечатков на съемнике и требуйте чтобы показали ПОДПИСАННЫЙ судьей ордер. Это как с демонами "я вижу их, они видят меня", так что если вы что-то крадете, делайте это грамотно, либо не делайте вообще(*).

Вот вы, например, обзавелись Ромом для Покймон Рубин (*.gba). Эмулятор - компьютерный аналог консоли запуска игры, работает с электронными версиями (ROM), яркий представитель "Visual Boy Advance", начиная с версии 1.7.2L поддерживают обмен покймонов, это ваш компьютерный гейм бой, только круче. Если у вас этого эмулятора нет, то google.ru, всегда открыт и готов помочь исправлении этого положения.

Значит, запустили эмулятор, в главном меню File/open Rom в отрывшемся окне вводите/ищете путь до вашего РОМа и открываете. Пошла загрузки титров игры - значит все корректно. Иногда ромы иногда не запускаются, чаще всего это из-за эмулятора.

Следующее что имеет смысл сделать, это сделать копию с вашего единственного РОМа. Делается это на тот случай, если вы напортачите в своем любопытстве лазать в коде, и у вас после этого игра будет жутко лагать. Вы берете ее и стираете нафик, чтобы не разбираться в каком байте из шестнадцати миллионов что-то пошло не так, проще начать сначала.

Далее нам как начинающим хирургам в сложной операции, нужны острые и красивые инструменты. Одна из самых увлекательных групп инструментов это те, которые используется для Маппинга. Можете записать, что термин Маппинг происходит от англ. map, что значит карта, а в игровом процессе (тем более в покймонах) это цветовое пространство, по которому ходит глав.герой и что-то делает.
(прим. переводчика: из-за положения камеры сверух-сбоку карту можно назвать платформой, так как при таком положении камеры игру подразумевают как платформер)
Немецкое братство для маппинга создало продукт под названием Advance Map ver1.92 (см. на swampert tools). Что в этом инструменте хорошо, так это удобный интерфейс пользователя, возможность пополнения инструментария и масштабирование изображения карт и наборов. Хотя это не едиснтвенный инструмент для маппинга, есть еще один Elite Map (содержит подборку всех инструментов, позволяющих создать уникальную покёигру. см. в Whack a Hack)

http://crossroad2.narod.ru/pokemon/hack/guides/mapping01.png

Значит, Advance Map у нас уже есть. Также File/Open ROM и открываем копию нашего РОМа (только закройте его в эмуляторе). Следуйте инструкциям проги (там надо выбрать язык - как всегда без инглиша никуда). Когда все загрузилось, в колонке слева появятся надписи "Load from header", "Load from INI" и "Map Files". И по порядку двойным кликом это дело открывается.
"Load from header" - позволяет понять, что каждый город или маршрут являются нулевыми картами, они обычно прилегают друг к другу стык в стык, реже через КПП. из этих нулевых карт можно сложить полную поверхностную карту покёигры. Все нулевые карты это внешние карты, а так как уже многие сделали вывод что, покёцентр (к примеру) гораздо больше изнутри чем кажется снаружи, то для описания внутренних помещений зданий и пещер предназначены все следующие карты.

Специально для удобства просмотра карт сделан подраздел "Load from INI" показывает все карты по имени (иногда имена карт на немецком, но языки с инглишем впринципе похожие, а так как вы играли в игру не один раз, думаю, разберетесь). Когда решите, с какого города начать свое вторжение, обратите внимание на группу разрозненных изображений справа от изображения города/дороги, это нагромождение называется Tileset, не переводится на великий могучий, но звучит короче - просто тайл. У кого есть познания в инглише, те уже поняли, что это черепица. Из кусочков черепицы делают настил на крыше. А еще, так как черепица это только вершина дома, то под ней скрывается туева куча много чего еще. Но пока я наблюдаю уже достаточно людей, у которых чешутся руки порисовать какие нить карты. Даю подсказу: правым кликом на любую часть карты и справа в наборе тайлов красная рамочка покажет, какой тайл вы выделили, если после этого начать куда-либо на карте тыкать правым кликом, то там будет вписан выделенный в наборе тайл. Так что можно любую карту довольно быстро заровнять до газона. Развлекайтесь!

http://crossroad2.narod.ru/pokemon/hack/guides/mapping03.png

Как я уже говорил тайлы это только вершина (воображаемого игрового айсберга). Итак предположим, вы заровняли родной дом вашего персонажа из Рубина, посадили там цветочки, а к дому профессора вы пристроили дополнительную комнату (хде-нить сзади). И теперь вы имеете полное право это ваше бессмертное творение сохранить в игру (клавиши ctrl+S везде работают одинаково). Теперь в эмуляторе запускаете ВАШ хак и ходите по ВАШЕЙ построенной карте, но тут загвоздка, вам мешает ходить невидимая стена, на месте где стоял ваш дом, и, наоборот, там, где у профессора новый рабочий кабинет, вы можете гулять как spiderman по крыше - непорядок, однако.

http://crossroad2.narod.ru/pokemon/hack/guides/mapping04.png

Под слоем тайлов кроется второй слой описания карт "это movement permissions", эта вкладка находится следующей за вкладкой "MAP" в центре рабочей области. Вкладка состоит из пронумерованных квадратов от 0 до 3F (их 48, так как это гекса система исчисления).
Основные пометки перемещения:
Фиолетовые с буквой С - там, где вы можете ходить
Красные с цифрой 1 - там, где не можете ходить
Розовые с цифрой 4 - вода, запускается скрипт на то, чтобы ПЛЫТЬ
Темно синий 3С - это мосты, чтобы под ними можно было пройти.
Все остальные идут пометки чисто рабочие (для удобства разработчиков) и могут означать все что угодно.
Еще вы, наверное, заметили, что под слоем этих цветастых квадратиков что-то просвечивает. Все из-за того, что этот слой полупрозрачный, а поменять его прозрачность можно в меню настроек.

На пару с этим AdvanceMap (чудом хакерской мысли) вы можете делать еще СТОЛЬКО всего, например менять НПЦ, переделывать тайлы, менять музыку, перемещать вход/выход на карты и... и... это все будет в следующих статьях. А сейчас я прекращаю занудствовать, и предоставляю вам право порезвиться с этой прогой вволю.

Дам подсказку, откройте вкладку Events и понажимайте на http://crossroad2.narod.ru/pokemon/hack/guides/mapping05.png этот значок. Карта и этот человечек расскажут вам о СОБЫТИЯХ иже скриптах несколько интерессного

http://crossroad2.narod.ru/pokemon/hack/guides/mapping06.png

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

А как нарезвитесь не забудьте сохранить все в РОМ, и поиграть на эмуляторе, для закрепления эффекта иллюзорности матрицы).

Увидимся.

Отредактировано WinaveR (18-09-2009 17:08:21)