Экскурс в техническую сторону игры и некоторые избранные модификации.
В 2019 году издатель Take-Two Interactive обновил права на торговую марку Mafia и зарегистрировал несколько новых, и совсем недавно, как гром среди ясного неба, появились скриншоты ремейка Mafia: The City of Lost Heaven — первой части известной игровой серии. Уже сегодня открылся доступ к комплекту Mafia: Trilogy, в который входят ремастеры второй и третьей частей, доступные сразу после покупки, и ремейк первой, релиз которой состоится 27 августа.
До заветной даты ещё 3 месяца, поэтому предлагаю пока окунуться в мир оригинальной версии игры. А посмотреть там определённо есть на что! За годы активности игрового сообщества было создано множество самых разных модификаций — от банальных ретекстуров до комплексных кампаний в новых локациях и с новыми историями новых персонажей. Но — обо всём по порядку.
(Очень) краткая история развития модостроя
Истории модифицирования Mafia почти столько же лет, сколько и самой игре. Она вышла в августе-сентябре 2002 года, и уже в ноябрьском выпуске Игромании за тот же 2002 год на диске была модификация к ней.
Однако к игре никогда не выходили официальные инструменты от разработчиков. Всё, что представляла собой папка с установленной игрой — несколько исполняемых и *.dll файлов, ссылок и сурового вида горсть зашифрованных файлов ресурсов игры. Всё, что связано с модификациями к Mafia, создано исключительно энтузиастами.
Первым (и самым важным) открытием в модостроении стала расшифровка архивов с ресурсами игры неким MassaSnygga, им же был написан первый распаковщик ресурсов игры. Сделано это было посредством реверс-инжиниринга, подробно ознакомиться с деталями можно в статье самого автора.
В те времена естественной практикой было запаковывание ресурсов игры для экономии места — интернет был дорогим и медленным, ровно как и ограниченными были пространства носителей данных. Например, архивы использовались в играх серии GTA эпохи 3D, и для установки модов было необходимо их перепаковывать. В случае с Mafia оказалось, что её можно пропатчить так, чтобы она сперва подхватывала файлы в папке с игрой, а недостающие брала из архивов. Так и повелось, что все модификации представляют собой набор папок с файлами, и главным условием их работоспособности является наличие пропатченного файла rw_data.dll.
Итак, шкатулка игровых ресурсов была открыта. Внутри было обнаружено множество самых разных файлов — от банальных текстурок в понятном всем *.bmp формате (на изменении которых и строились первые примитивные моды-ретекстуры, в том числе указанный выше nude-мод) до сугубо внутренних файлов.
В 2003 году вышел редактор Zmodeler 1.07, в котором появилась поддержка *.4ds файлов, используемых в Mafia. Возможности моддеров существенно расширились, и уже на их наработках были выпущены известные многим игрокам того времени распространяемые в РФ пиратские диски с характерными названиями игр и описаниями, достойными отдельной статьи.
История миссионных же модификации совсем иная. Файлы миссий хранятся в собственных нетривиальных форматах игрового движка. Первым обнаруженным способом изменения скриптов игры был файл taxi_pas.dat, в котором описано поведение пассажиров такси в режиме свободной игры.
На его основе же и были созданы первые миссионные модификации, с которыми можно ознакомиться здесь.
Впоследствии было обнаружено, где хранятся миссионные скрипты. Сначала для их редактирования использовались hex-редакторы (посредством их изучались вообще все внутренние форматы игры, они же являлись основными инструментами на этапах становления сообщества моддеров), и далее появились первые редакторы миссий. У их ранних версий было одно существенное ограничение: длина скриптов должна оставаться такой же, как в оригинальном файле. Данное ограничение было очень вскоре преодолено.
Со временем разбиралось всё большее число форматов, и число и дружелюбность к пользователю редакторов росли вместе с ними.
Следует отметить в этом деле большую роль отечественных моддеров. Akay, GOLOD55, Zibob32, MikeMouse, Mr.F, Tosyk, SAW и многих другие — их труды стали огромным вкладом в развитие моддинга.
Прогресс до сих пор не стоит на месте, пусть и заметно сбавил в темпе. Например, относительно недавно (2018 год) были созданы первые пользовательские модели персонажей.
Версии игры
Кто не знает ту самую миссию с гонками? Её знают все, как и отразившуюся с не меньшим воздыханием в массовом сознании игроков миссию с вертолётиком в GTA: Vice City.
Сколько нервов, сил и времени было убито на эту гонку! Сколько людей бросило игру на ней!
Однако со временем стали появляться люди, которые прошли эту гонку совершенно без сложностей и не понимали, в чём же заключалась проблема первых игроков, порой объявляя оных криворукими и прочими инвалидами всех видов интеллектуальности.
Можно долго спекулировать на эту тему, изучая психические диагнозы оппонентов и перекидываясь различными субстанциями, однако важнейшим фактором в этой ситуации является наличие нескольких версий игры, о чём многие из вас наверняка слышали — в вопросах гонки этот момент периодически поднимается.
Версия 1.0
Та самая версия игры — это 1.0. Как её определить? Несколько наиболее отчётливых факторов, не касаясь внутренностей игры.
Во-первых, она распространялась небезызвестной компанией Фаргус и была записана на 2 дисках.
Во-вторых, в ней используется узнаваемый кривой шрифт для кириллических символов и такие названия, как «Гонка без правил» и «Экстрим», а в левом верхнем углу всех меню есть скрепка.
В-третьих, в той самой гонке нет меню выбора сложности, она начинается сразу после катсцены.
Версия 1.1
«Пропатченная» версия, в которой исправлены гонки — это версия 1.1. На территории РФ она была официально локализована и издана 1С.
Во-первых, игра распространялась компанией 1С и была записана на 3 дисках.
Во-вторых, в ней используется свой шрифт для кириллицы, вся озвучка заменена на русскую, свободные режимы — «Прогулка» и «Большая прогулка», скрепки нет.
В-третьих, в миссии с гонкой после катсцены появляется меню выбора сложности, и лишь потом начинается сама гонка.
Версия 1.2
Актуальная на данный момент версия игры. Именно её вы можете легально купить в онлайн-сервисах цифровой дистрибуции. Никаких существенных изменений в ней нет, но стоит упомянуть один правовой момент.
Когда-то Mafia свободно продавалась в Steam. Однажды она оттуда исчезла. Причиной тому стала истёкшая лицензия на использование музыки. 21 ноября 2017 Mafia всё же вернулась в Steam, но из неё пропала вся лицензированная музыка (написанная специально для неё, конечно, осталась). Как это было реализовано? Игре уже много лет, исходники, вероятно, стали частью истории. Ответ очень интересен. Если сравнить папки с какой-нибудь другой версией игры и распространяемую на данный момент в Steam, то можно заметить:
- отсутствие некоторых *.dat файлов
- наличие папки sounds со звуками игры и с пустыми файлами уличной музыки
Кроме того, оказывается, что игра «из коробки» поддерживает модификации.
Как это периодически бывает, официально причастные к игре люди пользуются не совсем официальными методами, в данном случае — пропатченный файл rw_data.dll, удалённые архивы игры и папка со звуками из них и файлы-пустышки вместо музыки.
Как выйти из этой ситуации?
Найти друга, у которого есть дисковая версия игры, и с её помощью «продаунгрейдить» свою версию игры путём копирования недостающих архивов и удаления пустых файлов с музыкой (на каком трекере или файлообменнике вы будете искать такого «друга» — решайте сами).
Cтруктура игры
Немного поговорим о файловой структуре игры. Это поможет избежать дальнейших ошибок при установке модификаций. Здесь будут упоминаться лишь некоторые критически важные ресурсы игры.
- Game.exe — исполняемый файл игры
- Setup.exe — файл настроек игры (но необходимо использовать аналогичный файл, который находится на уровень выше по каталогу, такова особенность Steam-версии)
- *.dta файлы — зашифрованные архивы игры
- rw_data.dll — библиотека для расшифровки архивов игры
В обычных условиях требуется лишь однажды заменить файл rw_data.dll на пропатченный.
Перейдём к папкам, которые используются в модификациях.
Их назначение очевидно из названий. Поговорим конкретно о некоторых из них.
Missions
Внутри этой папки лежит множество подпапок, каждая из которых содержит указанную миссию. Автоэнциклопедия, различные режимы игры и даже меню реализованы как миссии. Некоторые из них:
- freeitaly — Прогулка — Город — мал.
- freekrajina — Прогулка — Пленэр — день (NOC — ночь)
- freeride — Прогулка — Город — день (NOC — ночь)
- tutorial — Обучение
При выборе в меню того или иного режима движок игры запускает миссию в из определённой папки. Обычно в модификациях изменяется режим «Обучение». Сказать точно, для какого режима сделана модификация, можно по наличию в архиве модификации миссионных папок. Если в архиве с модом нет папок, но есть несколько характерных для миссий файлов (о них — чуть ниже), то можете смело закидывать их в папку TUTORIAL и запускать в меню игры «Обучение».
Поподробнее о папках с миссиями.
Важнейшие файлы (и редакторы для них):
- cache.bin, scene.4ds — модель города (вместе с scene2.bin (частично) и tree.klz — MafiaWorldEditor)
- check.bin — сетка вейпоинтов для персонажей (координат, по которым они перемещаются) (CHE)
- road.bin — сетка вейпоинтов для транспорта (Road.bin Editor)
- scene2.bin — игровые объекты (в том числе персонажи и транспорт), их свойства и скрипты (объекты можно передвигать и копировать через MafiaWorldEditor, редактировать скрипты — BSV, DCED)
- tree.klz — коллизии (параметры мира для распознания физического взаимодействия) (см. первый пункт)
Tables
Различные статичные параметры игры. Многие файлы редактируются с помощью M Editor, прочие будут указаны в скобках. Примеры:
- menu.def — главное меню
- predmety.def — оружие и различные предметы (Orure)
- textdb_XX.def — строковые данные (диалоги, задания) (Mafia Text Editor)
- vehicles.bin — транспорт (RHAM)
- version.txt — локализация игры
Редакторы
Тема создания модификаций достойна отдельной статьи, но здесь я опишу лишь некоторые программ для затравочки, заинтересованные могут воспользоваться уже готовыми статьями, разбросанными по гуглу. В конце статьи также будут даны некоторые ссылки.
Добрые люди собрали все (или почти все) существующие редакторы в единый архив-каталог, который можно забрать здесь.
MafiaDataXTractor — тот самый распаковщик архивов игры, скриншоты есть выше.
DTAUnpacker — более современный распаковщик, поддерживающий другие игры на движке LS3D engine (Hidden & Dangerous 2, Chameleon).
BSV, BScriptView — один из первых и важнейших редакторов. Позволяет редактировать многие миссионные файлы, сейчас обычно используется для работы со скриптами (scene2.bin). Актуальные версии — 5 и 6. Будьте осторожны с 6 версией! Выходить из неё следует только через меню File, иначе она остаётся висеть в процессах.
DCED — другой важный и историчный редактор scene2.bin файлов. Будьте предельно осторожны с ним! Сохранять файлы следует только через меню File, не соглашайтесь на сохранение изменений при закрытии редактора, иначе он поломает файлы (но может поломать их даже при нужном способе сохранения). Важен введением *.dnc файлов, в которых можно хранить данные об объекте из игры и импортировать-экспортировать между миссиями.
MafiaWorldEditor — ещё один важнейший, но уже современный редактор, скриншот с которым уже мелькал выше. Позволяет манипулировать объектами и коллизиями. Редактировать скрипты не умеет.
SCn2 Tractor — простой в управлении редактор скриптов с подсветкой синтаксиса. Как по мне, незаслуженно забыт, хотя прост и удобен в использовании и не портит игровые файлы.
CHE — редактор вейпоинтов персонажей (check.bin). Умеет выгружать вейпоинты для подзагрузки непосредственно в игре.
Road.bin Editor — редактор вейпоинтов транспорта (road.bin). Как и CHE, умеет выгружать вейпоинты для просмотра в игре.
M Editor — комбайн для работы с файлами в папке tables.
ZModeler — редактор 3D-моделей, поддерживающий формат *.4ds. Некоторые файлы требуют разблокировки, используйте 4ds Unlocker.
Модификации
Вот мы и подошли к главной теме статьи.
Кратко говоря, модификаций много. Очень. На любой вкус и цвет. Фломастеров столько нет, сколько есть модов к Mafia!
В сообществе не принято разделять модификации на категории, но я сделаю это для вашего удобства.
Технические модификации
Здесь будут упомянуты модификации, которые связаны с движком игры и не добавляют новые модели или миссии.
Widescreen Fix — фикс для поддержки широких экранов и увеличивающий дистанцию прорисовки.
Water Shader — шейдерная водичка. Волнится, переливается, блестит.
ENB Series — версия известного графического модификатора для Mafia.
Графические модификации
К игре создано огромное множество машин, и они раскиданы по всему интернету, поэтому я укажу лишь одну из них, которая в своё время очень удивила и порадовала меня.
Рикша — вот уж чего точно не ожидаешь увидеть в гангстерской саге о 30-х годах прошлого века.
Russian Mod, Бандитский Петербург и вариации — сборки с моделями результатов деятельности отечественного автопрома. Их несколько, и они попадаются на различных трекерах в комплекте с самой игрой.
Одна из таких модификаций, продаваемая на дисках, вызывала проблемы с прохождением. В миссии «Сделка века!», этап во многоуровневой парковке, модель важной для прохождения машины была заменена на столь высокую, что она застревала в текстурах, и на ней было невозможно выехать с этой парковки.
Я не нашёл удобоваримую версию, которую было бы легко поставить на уже установленну игру, поэтому оставляю поиск на вас.
Modern Mod — мод, меняющий машины на современные и правящий некоторые другие игровые текстуры и модели. В РФ на пиратских дисках распространялась одна из первых его версий.
USSR Mod — невероятных размахов мод с новой картой и новыми машинами, долгострой, который всё ещё разрабатывается и даже не заброшен. С подробностями можно ознакомиться здесь.
Tuning mod — добавляет в игру тюнинг автомобилей. В комплекте идёт лишь одна поддерживаемая машина.
А теперь — моды, которые не меняют эпоху игры.
Happy New 1930 Year — в Lost Heaven наступила зима: заменены текстуры, музыка, в миссиях появился снег.
Mafia Community Modpack — глобальная модификация, заменяющая множество текстур и моделей на более качественные.
City Bars — мод, добавляющий в свободный режим множество локаций из сюжетных миссий и несколько новых. Сами локации, увы, пустые, но были столь требовательными к ресурсам компьютера, что вместо игрового процесса игроки зачастую наблюдали слайд-шоу.
Былинно известен своей второй версией — долгостроем, который до сих пор находится в разработке.
City Bars+ — мод, оживляющий City Bars, добавляя на локации различных персонажей. Работает только на версии 1.0.
Миссионные модификации
Casino — игроки нулевых не понаслышка знают об этом легендарном месте. Легендарность его связана со следующим секретом, который можно было найти в интернете и журналах того времени:
Да вот только никто не мог его найти. Воду в раскалённое масло добавили сами разработчики, опубликовав скриншот с казино.
Никакого казино в игре не было, а данный секрет был опубликован ошибочно и относился вообще к другой игре с похожим названием. Но гештальт закрепился, и люди никак не могли смириться с отсутствием казино.
Конечно, такую тему не могли обойти моддеры.
Казино расположено на втором этаже бара Сальери в режиме свободной игры, малый город. Для установки требуется распаковать архив с миссиями (A1.dat).
Alive mod — значительно расширяет функциональность свободных режимов, представляя собой песочницу для развлечений игрока. Есть 2 версии: 16 и 18, последняя ставится поверх первой. Подробнее обо всех изменениях и различиях в версиях можно почитать здесь (содержание сайта было создано много лет назад, и с того момента стили речи в интернете неоднократно менялись, поэтому чтение этого материала может вызвать неоднозначную реакцию с точки зрения современности).
Mission Pack — кампания, повествующая альтернативную историю жизни Томаса Анджело после финала оригинальной игры. Для меня она стала первой модификацией с полноценными миссиями, что было откровением, посколько до неё мне попадались лишь ретекстуры и различные совсем уж маленькие миссионные изменения.
Cosa Nostra — ещё одна модификация от автора предыдущей. Полноценная кампания с абсолютно новым сюжетом, повествующая о войне между двумя донами. Как и предыдущая, она стала для меня первой, в которой город был изменён на совершенно новый, пусть и крошечный.
Police missions — 3 коротенькие миссии о полицейском от того же автора.
Приключения Юрия Александровича — необычный проект о жизни обычного человека Юрия Александровича. Часть первая, часть вторая.
The Commission Mod — огромная кампания, повествующая о новых персонажах в новых локациях. Настолько огромная, что я её так ни разу и не прошёл сам. С деталями можно ознакомиться здесь.
Paulie’s Stories: History of Lost Heaven — ещё одна кампания от автора предыдущей, рассказывающая о событиях до оригинальной игры и жизни Поли. Вчера (18 мая 2020) вышел третий эпизод. Есть локализованная версия (неполная). Подробнее о моде можно почитать здесь.
Theatre Mod — заменяет оригинальную миссию (16-1) с неудавшимся убийством Морелло в театре. Невероятно красива (в рамках игры, конечно) и проработана, обязательна к прохождению.
Ikarus Mod — огромная модификация, превращающая игру в… симулятор водителя. Здесь есть и автобусы с несколькими маршрутами, и загородние электрички, и даже фуникулёр. Официальный сайт, ветка для обсуждений.
Resident Evil — один из множества зомби-модов. Заменяет миссию 8-1 в отеле Корлеоне.
Прочие модификации
Они столь необычны, что я выделил для них отдельную категорию.
Oakwood — подобно SAMP, для Mafia тоже неоднократно совершались попытки сделать мультиплеер, но всякий раз они забрасывались. Данная модификация — очередная реинкарнация попыток создать мультиплеер, она же — наиболее успешная из всех. Сайт разработчиков, русскоязычное сообщество.
Pocket Edition — перенос игрового мира на платформу Android на Unity. Доступна старая версия, в которой реализована только езда по карте, ссылка на обсуждение. Ссылка на новую разработку.
Ссылки
Вышеуказанные модификации — лишь некоторые из многих. Для дальнейшего ознакомления представляю здесь ссылки — с модификациями и обсуждениями игры.
В ВК много сообществ, посвящённых игровой серии Mafia, но почти все они суть сборники мемов и прочего мусора. Я укажу лишь действительно полезные авторские группы.
MAFIA — MAFIA 2. Модострой — группа, посвящённая модифицированию преимущественно первой части. Наиболее полезный, систематизированный ресурс из всех русскоязычных (возможно, из всех вообще) — об игре, о модификациях, о модифицировании. В ней периодически появляются переводы различных больших модов (игра популярна у себя на родине, и многие модификации выходят даже не на английском, а на чешском). Также в группе ведётся разработка модификации Paulie’s Story mod — ещё одна история о пути Поли в семью Сальери. Разрабатывается независимо от аналогичной модификации в основном списке.
Kaiser Edition — авторская группа создателя множества модов.
Mafia-Game Forum — один из немногих живых русскоязычных форумов.
Mafia Scene — когда-то — важнейший международный ресурс по игре. Был реинкарнирован, но на нём всё ещё много полезного материала и заметных в моддинге людей. Там же обсуждается разработка легендарного долгостроя Titanic Mod.
MafiaHub — современное сообщество моддеров. Среди их разработок — мультиплеер Oakwood. Есть сервер в дискорде.
Послесловие
Благодарю за поддержку и консультацию Сергея Melhior и С.Х. aka timtaler, а также всех, кто обнаружил себя и свои труды в этой статье — без вас не было бы ни статьи, ни того огромного культурного пласта, которому она посвящена.