Новости :: Переводы :: Наши проекты :: Ромхакинг :: GameFAQs :: Документация :: Утилиты
Гостевая книга :: Форум :: 2RTeam :: Zelda64Rus :: О нас
Darkwing Duck Dangerous






 

Здесь выложены останки когда-то амбициозного проекта по хакингу Чёрного Плаща на NES.

Проект начался с неоднократных воспоминаний на форуме эму-ленда о том, что в детстве многие из нас ожидали увидеть финальным боссом игры Darkwing Duck Антиплаща, а не Стального Клюва. При этом в игре присутствовал какой-то левый босс по имени Wolfduck. Его-то и перерисовал на Антиплаща начинающий ромхакер evgeny в 2006 году. Я узнал об этом из этой темы, где речь сначала шла только о портировании русской версии на этот мини-хак.

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

Когда я добавил Чёрному Плащу ещё несколько приёмов, то вспомнил о Cave Story и сразу же захотел сделать метроидванию. По сюжету ЧП попадал в антимир (из мультсериала), представляющий собой один гигантский уровень, который нужно было исследовать, многократно возвращаясь в старые места и находя различные пауэр-апы. В конце планировался резкий поворот сюжета, который, впрочем, сейчас уже не имеет смысла обсуждать, так как всё равно ничего из этого не было и не будет реализовано.

В ту пору жанр "metroidvania" ещё не был так засорен инди-играми, как сейчас, и идея очень вдохновляла, особенно этот скоростной аспект геймплея. Думаю, я бы закончил эту игру, если бы делал её с нуля, а не ковырялся в отладчике, выбирая момент, когда уже надо расширять РОМ, а когда можно и втиснуться в рамки оригинала. Но вышло так, как вышло. Уже через полтора месяца проект заморозился, когда было готово менее 4% от плана, а потом и вовсе был выброшен. В 2008 году я откопал его и даже исправил пару багов, намереваясь выложить на RRC2008, но затем увлёкся Binary City и постеснялся выкладывать такую откровенную недоделку. Сейчас, глядя на релиз Darkwing Duck Advance, я решил всё-таки выложить этот патч, хотя бы даже просто ради истории.

Этот ромхак изменяет только код игры. Уровни остались теми же, графику Вульфдака перерисовал на Антиплаща evgeny. В остальном это тот же самый Darkwing Duck на Денди, только реактивный и слегка сумасбродный. Не пытайтесь проходить эту игру аккуратно и без потерь, надо просто гнать вперёд, пролетая уровни за секунды.

Особенности нового управления вкратце описываются в самой игре перед выбором уровней.

Кнопка Start теперь используется аналогично кнопке C в играх для Sega MegaDrive. При зажатии Start увеличивается скорость бега, а при нажатии Start в прыжке герой делает молниеносный рывок вперёд и немного вниз. Перелетать большие пропасти этим приёмом не получится, зато можно ускорить перемещение ЧП к желаемой точке, что и советую делать каждый раз, когда хочется побыстрее завершить пируэт. Ну а чего ждать-то? Все скучные моменты надо проматывать, 21 век всё-таки. Даже если в полёте ЧП случайно наткнётся на врага, до ближайшей аптечки можно можно дорваться за пару секунд, а даже в случае смерти вы потеряете совсем немного времени (уровни короткие).

Рекомендуется настроить управление в эмуляторе таким образом, чтобы клавиша, отвечающая за Start, была рядом с клавишей, отвечающей за A (прыжок). Например, я настроил кнопки B, A, Start на клавиши Z, X, C.

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

Кроме оружия газ тратится также на реактивный ранец (jetpack), позволяющий летать с зажатой кнопкой A. Особо много полетать не получится, так как газ расходуется очень быстро. Это, скорее, бонусный приём для воздушных маневров в особо критичных ситуациях, таких как последние минуты битвы с Антиплащом.

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

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

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

Реализовано это за счёт формул, где в качестве фактора выступает счётчик оставшихся HP босса. Также многие решения АП принимает псевдослучайно. Например, каждый раз, когда АП подбегает к краю экрана, он разворачивается и делает выбор - продолжить бег или остановиться и закрыться плащом. Для игрока этот выбор кажется совершенно случайным, а на самом деле всё детерминировано - если у тучи в небе координата X чётная, то бег продолжится, если нечётная, то бег будет остановлен. Вероятность 50/50, проще некуда, но эффект непредсказуемости обеспечен.

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


Forum: тема для обсуждения хака

ROM Darkwing_Duck_(U): Ищите на http://emu-russia.net

Patch: Скачать



АнС, 07.09.2012
Ссылками мы не меняемся.
Страница админа
        © 2001-2014 Shedevr Team.