Внимание, мы погружаемся на глубину 1000 метров Средиземного моря. Через пять минут мы уже оказываемся на подводной базе «Акула». Нас окружают водные просторы громадного и красивого моря. Вот проплывает мимо электрический скат, вот здесь ещё совсем недавно проползал краб, а над нами кружит неизвестная науке рыба. Всё это происходит на фоне подводных скал и коралловых рифов (по крайне мере мне так хочется). Великолепный пейзаж и подводная тишина. Только пузырьки воздуха с бульканьем поднимаются на поверхность воды.
Вот из-за скалы появилась громадная рыба, а за ней вражеский корабль. СТОП. Тревога!!! Базу атакуют!!! Со всех сторон на базу начинают надвигаться вражеские корабли. О тишине уже даже моллюски позабыли. В сторону базы движется несколько сотен подводных торпед. Взрывы. Грохот. Один из батискафов разорвало вдребезги, база в огне (откуда под водой огонь, неужели все здания нефтяно-газовые?) Ещё минута и от базы не осталось и следа. Как бы хотелось ещё хоть на минуту остаться под водой и полюбоваться этим пейзажем. Но вся эта красота прерывается словами «Миссия провалена». Приходится снова выходить на поверхность и начинать уже в сотый раз очередное погружение.
Все, кто играл в Submarine Titans уже не раз, наверно, встречались с этой ситуацией. Да и в любой другой игре происходит нечто подобное, когда застреваешь на уровне и не можешь сдвинуться с места. Вот именно с этого я и начну сегодняшний рассказ о подводном мире Submarine Titans.
Уже можно было догадаться, что сейчас мы научимся проходить миссии. А самое главное, что для этого не надо больших стратегических навыков и Кутузовских мозгов. Нам понадобиться только полная установка игры (это не трудно, всего 270 мег.) и немного терпения. Любителей обрезанных копий спешу разочаровать, там нет необходимого нам редактора уровней, поэтому придётся идти на ранок за полным вариантом. Это не так уж разорительно, тем более, что по моим сведениям появились диски от Буки и 1С, которые стоят также (или почти) как китайские или другие болванки.
Итак, переходим к нашим урокам подводного плаванья.
Для первого урока нам необходимо запустить Scenario Editor. Он расположен в одной из подменюшек игры. Теперь нужно открыть необходимую нам миссию. Если игра установлена в директорию по умолчанию, то миссии расположены здесь: C:\Program Files\Snowball Interactive\ SubmarineTitans\ Missions. Все миссии имеют названия подобные этому: Miss101.dkd.
Прежде чем приступать, я объясню, что же означает имя файла. Самое интересное в имени – это цифры, а их целых три. Первая цифра означает расу, к компании которой относиться миссия. Расы всего три (если я правильно умею считать): 1 – акулы, 2 – осьминоги, 3 – силиконы. Остальные две цифры означают порядковый номер миссии. Итак, если нам нужна третья миссия осьминогов, то это значит, что нужно открыть файл Miss203.dkd.
Теперь мы открываем интересующую миссию (для примера я буду использовать файл Miss101.dkd) и редактируем её на свой вкус и цвет. После этого игра намного облегчиться, ведь на каждом углу можно поставить любое количество ресурсов и никогда больше не испытывать в их недостатке.
Теперь переходим к более изощрённому улучшению игровых показателей Submarine Titans.
Возможно, что даже после сильного изменения карты, найдётся кто-то, кто не сможет пройти какую-то миссию. А ведь хочется поиграть дальше. Хочется узнать, что происходит на следующем уровне. Не зря же мы отдали такие деньги за полную версию игры. А может кому-то просто лень напрягаться, а хочется просто полюбоваться подводным пейзажем. Ведь подводный мир неплохого качества встречается не часто. Вот для таких читателей и посвящён мой второй урок.
Теперь находим файл C:\Program Files\Snowball Interactive\SubmarineTitans\Editor\ Campaign_BO\Mission_01\Arbiter_Bo01.arb. В этом файле находиться параметры игрового арбитра для миссии, есть ещё несколько таких, и они тоже имеют расширение .arb. В этом арбитре описаны правила, по которым будет происходить игра на уровне. Сейчас я научу простейшему трюку с арбитром.
Открываем файл в любом текстовом редакторе (достаточно простого «Блокнота») и переходим в самый конец. Перед нашим взором открывается текст похожий на исходный файл языка программирования С++. Не стоит пугаться, особых знаний программирования нам не понадобится. Находим вот такой текст (он почти в самом конце).
…
Некий текст
…
// Exit with defeat
Event(_getTimerTime()==0, 100)
{ _actTotalStatistics(10);
_actEndMiss(ENDMISS_FAILED);
}
…
Некий текст
…
Здесь описывается, что должна сделать игра при проигрыше. Несколько стуков пальцами по клавиатуре и мы изменяем этот скрипт на:
…
Некий текст
…
// Exit with defeat
Event(_getTimerTime()==0, 100)
{ _actTotalStatistics(10);
_actEndMiss(ENDMISS_ACCOMPL);
_actNextMiss("miss102");
}
…
Некий текст
…
После этого сохраняем этот файл и снова возвращаемся в Scenario Editor. Здесь мы загружаем интересующую нас миссию. Теперь выбираем «Import Arbiter» из меню «Scenario». Перед нами открывается стандартный диалог открытия файла. Находим отредактированный арбитр, и загружаем его. После этого можно загружать игру и наслаждаться пейзажами, не обращая внимания на противников. Даже если миссия провалиться, после соответствующего сообщения начнётся загрузка следующей миссии. Так можно исправить абсолютно все миссии.
Надеюсь, что ещё никто не побежал редактировать всё, что попадётся под клавиатуру, потому что есть один нюанс в том, что мы написали - _actNextMiss("miss102"). В скобках указано имя следующей миссии, поэтому придётся каждый раз редактировать эту строку. Как кодируются имена файлов, я уже рассказал.
У арбитра есть ещё один нюанс. Но об этом отдельно.
С каждым уровнем, игра усложняется, добавляются новые технологии, постройки, орудия. Всё это прописывается в арбитре. Для нас доступны готовые четыре арбитра, которые находятся в директории C:\Program Files\Snowball Interactive\SubmarineTitans\Editor\ в каталоках Campaign_BO, Campaign_SI, Campaign_WS. Один из них мы уже использовали, но если к той же миссии поставить другой арбитр, то игра сильно изменяется. В основном это связано с теми самыми технологиями, для управления которыми используются следующие команды арбитра:
ActTechDevDisable – отключить возможность развития технологии. Если в скобках после команды указано два параметра (например _actTechDevDisable( TTECH_BO_RAIDER_EQUIPMENT, TTECH_LEV1 ), то первый параметр означает имя технологии, а второй – до какого уровня нужно ограничить развитие технологии. Если параметров четыре, то первые два параметра указывают на игрока, для которого будет происходить ограничение.
Имена всех доступных технологий находятся в файле C:\Program Files\Snowball Interactive\SubmarineTitans\Editor\AiScript.dfn. Чтобы увидеть их, нужно открыть этот файл и запустить поиск по слову TTECH_ (все технологии начинаются с этого слова). Технологии, начинающиеся с TTECH_WS относятся к акулам, TTECH_BO_ к осьминогам, а TTECH_SI к силиконам. После TTECH_ХХ_ идет достаточно понятное (если есть хотя бы начальные знания английского) название технологии. Я не буду приводить их все, чтобы не занимать место журнала, тем более, что никто не будет пользоваться этой командой. Все будут использовать только ActTechDevEnableAll, но о ней чуть позже. А я всё же расскажу о всех основных командах. Они пригодятся в любом случае.
Уровень ограничения технологии может быть четырёх видов: TTECH_LEV1, TTECH_LEV2, TTECH_LEV3, TTECH_LEV4 (от самого маленького, к самому большому).
Для того, чтобы разобраться с параметрами, указывающими на ограничиваемую сторону рассмотрим пример: actTechDevDisable(PLAYER_1, AIREL_MYSELF, TTECH_BO_RAIDER_EQUIPMENT, TTECH_LEV1). Здесь в скобках четыре параметра – это значит, что первые два параметра указывают на игрока, для которого будут происходить ограничения. Первый указывает на имя игрока. Второй указывает на игровую сторону, и может быть:
AIREL_MYSELF – указывает на игрока, т.е. на самого себя.
AIREL_ENEMYS – враги.
AIREL_MYTEAM – все, кто не считается врагом, включая себя.
AIREL_FRIENDS – все, кто не считается врагом, не считая себя
ActTechDevDisableAll – отключает развитие всех технологий. Если в скобках после команды есть параметры, то они указывают на игрока, для которой будет происходить отключение технологии. Без параметров команда выглядит как: ActTechDevDisableAll();
actTechDevEnable - включает развитие технологии. Параметры после команды такие же, как и у ActTechDevDisable.
ActTechDevEnableAll – Включить возможность развития всех технологий. Параметры такие же, как и у ActTechDevDisableAll.
Теперь можно зайти в файл арбитра и отключить половину технологий у противников и включить все технологии у себя. Почему я сказал «половину технологий противника»? Потому что, если отключить все, то игра превратиться в прогулку по террариуму. Ни один противник не сможет без технологий сопротивляться хорошо вооружённой армии. После изменения арбитра нужно снова его импортировать (пункт меню «Import Arbiter» из меню «Scenario» в Scenario Editor).
Какой русский не любит много денег? Скажу честно, что я не люблю. Деньги портят человека, поэтому я люблю золото и бриллианты. В игре нам понадобятся только золото, металл (цветные металлы тоже стоит неплохо) и Corium (не знаю такого, наверно я плохо учил химию, щас посмотрю в таблицу Менделеева). Все эти драгоценности управляются из арбитра.
Снова заходим в арбитр и ищем слово _actSetPlRC. После него идёт три параметра. Первый параметр означает значение которое может быть установлено (TOBJ_METAL – металл, TOBJ_GOLD – золото, TOBJ_ENERGY – энергия, TOBJ_CORIUM – сориум или кориум, точно не знаю как будет в русской версии. Есть ещё TOBJ_AIR – видомо воздух и TOBJ_SILICON, но они встречаются в арбитре редко и я не смог разобраться, на что они влияют в игре, да и без них достаточно.
Второй параметр – приращение. Это простое число, если оно = 0, то старое значение параметра будет заменено новым. Если меньше 1, то результатом будет вычитание из старого значения, нового. Если больше 1, то результат будет равен старое значение плюс новое.
Третий параметр – это новое значение параметра.
Наверно моё объяснение получилось немного сложным, поэтому я приведу на всякий случай пример: _actSetPlRC(TOBJ_GOLD, 1, 111); Первый параметр «золото», изменяется именно оно. Второй параметр больше единицы, значит после импорта арбитра к количеству золота по умолчанию для данного уровня (старое значение параметра) будет прибавлено 111. Если значение по умолчанию было 100, то результатом станет 211 золотых. Всё очень просто.
ActSetPlRC – эта команда может встречаться в арбитре и с пятью параметрами, в этом случае первые два будут снова означать, для какого игрока будет происходить изменение.
На сегодня хватит. Главное – не забывать после каждого редактирования арбитра импортировать его.
Подводные ресурсы на сегодня исчерпаны, а то, что осталось – это осадок не особо интересный для нашего телескопа. Приятного плаванья. Надеюсь, что скоро увидимся.