15 марта 2020 г.

Суть постапокалипсиса (дополнение)

Я уже писал статью "Суть постапокалипсиса", но хотелось бы уточнить несколько моментов.

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

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

Но спешу вас разочаровать - постапокалипсис в духе Fallout (когда проходит много времени после Дня Икс) намного более скучный. Старый мир забывается, уходят в прошлое старые символы, языки и традиции. Так как всё самое страшное позади, то население начинает заново обустраивать свои места обитания и налаживать связи, отчего такой мир намного больше напоминает Дикий Запад, чем кадры из фильма "Чистилище". То есть перед нами возникают разбросанные маленькие поселения, в основном привязанные к источникам воды, еды, энергии или защиты от внешних угроз. Жизнь в таких местах быстро налаживается, люди находят удобную им иерархию, создают свой уникальный уклад и просто живут своими буднями, периодически сталкиваясь с какими-то проблемами вроде голодных сезонов или бандитских набегов. Между такими местами быстро налаживается торговая связь, по следам которой сначала возникает поток мигрантов, а затем присасываются бандитские группировки. Монстры же вроде Когтей Смерти скорее напоминают диких животных вроде медведей в безлюдной глуши. Хотя "классика" с пушкой наперевес и монстрами из каждого унитаза тоже встречается, просто в локальном виде (как анархичный Мэйкомб в Fallout Tactics).

В итоге мы получаем целый набор клише, стереотипов и заблуждений, которые ведут к ложному запросу зрителей/игроков - дайте нам самый жесткач! Кровь, кишки, секс, наркотики, садо-мазо, мат, пальбу из всех щелей всех видов оружия... ведь это же ПОСТАПОКАЛИПСИС!

9 февраля 2020 г.

Параметры mapper2.cfg

Чисто технический пост, который может быть полезен модмейкам или исследователям Fallout 2. Продублирован в группе VK Nevada Band.

mapper2.cfg - это файл конфигурации для официального маппера Fallout 2 от BIS. Для самой же игры используется похожий файл fallout2.cfg (между ними много общих параметров). Ниже я описываю смысл и значения всех параметров оригинального файла для маппера, так как это полезно для моддинга и анализа игры. Следует учесть, что эти данные могут быть неактуальны для фанатских модификаций маппера или игры. Большинство позиций я разобрал самостоятельно, некоторые подсмотрел на вики Vault-Tec Labs, еще несколько параметров разъяснили товарищи Foxx и Mr.Сталин (за что им большое спасибо).
 

[debug]

Это раздел отладки, который позволяет получать баг-репорт.

mode=environment - тип отладки: отладка отключена (environment), баг-репорт прямо на экране в маппере (GNW), баг-репорт в файле debug.log (LOG). Файл debug.log придётся заранее создать вручную в папке с маппером. Кстати, в игровом fallout2.cfg параметр не работает без дополнительного патча.

output_map_data_info=0 - при (1) включает в баг-репорт списки ресурсов (спрайты, скрипты и пр), которые используются на только что загруженной карте  (не действует при mode=environment)

show_load_info=0
- при (1) выводит дополнительную отладочную информацию при загрузке каждой карты (не действует при mode=environment)

show_script_messages=0
- при (1) включает в баг-репорт текстовые функции скриптов, в том числе debug_msg (не действует при mode=environment)

show_tile_num=0
- неизвестно. Очевидно, должен показывать номера тайлов, но где именно? MrСталин: "в движке не используется, вероятно не используется и в отладке маппера".
 

[mapper]

Это раздел маппера, то есть непосредственно редактора карт.

default_f8_as_game=1 - при (0) псевдоигровой режим (он активируется клавишей F8) в маппере урезан, например, будет нельзя покинуть текущую карту через сетку перехода или клавишей W. Воздействие отличается от схожего параметра run_mapper_as_game (см ниже).

fix_map_inventory=0 - неизвестно. MrСталин: "вероятно, не используется".

fix_map_objects=1 - неизвестно. Судя по названию, мог служить для восстановления данных из pro-файлов для объектов на локации, если между ними возникло несоответствие. Но этого не происходит. В самом маппере есть функция "Fix map-objects to pids", но она также не даёт видимого результата.

ignore_rebuild_errors=0 - процесс ребилдинга pro-файлов (см rebuild_protos) совершается с игнорированием ошибок.

librarian=1 - при (1) позволяет редактировать pro-файлы.

override_librarian=0 - при (1) добавляет специальное меню librarian вверху экрана для работы с pro-файлами, но при этом запрещает сохранять карты.

rebuild_protos=0 - MrСталин: "перестраивает все прототипы или включает соответствующие опции (лучше не использовать)"

run_mapper_as_game=0 - при (0) псевдоигровой режим урезан (например, враги сами не могут атаковать ГГ), а при (1) полный и аналогичен нормальной игре. Воздействие отличается от схожего параметра default_f8_as_game.

save_text_maps=0 - при (1) кроме файла карты будет сохранять (опция Save, но не Save as) также его текстовую версию. В самом маппере есть такая же опция, но она применяется сразу ко всем картам, которые есть в ресурсах игры.

show_pid_numbers=0 - где-то показывает номера PID объектов, но где именно?

sort_script_list=1 - при (0) сортирует список скриптов в соответствии с порядком из файла scripts.lst. А при (1) сортирует строго по афавиту.

use_art_not_protos=0 - при (1) отображает в списке объектов вместо pro-файлов соответствующие спрайты в том порядке, в каком они обозначены в своём регистре (SCENERY.LST для окружения, TILES.LST для тайлов и пр). При этом отключается возможность работать с pro-файлами (редактировать их, создавать, размещать на карте). Так как спрайтов меньше, чем pro-файлов, то в конце списка останутся пустые ячейки.
 

[preferences]

Этот раздел полностью дублирует стандартные игровые настройки. Их можно непосредственно поменять в процессе игры.

brightness=1.000000 - яркость экрана
combat_difficulty=1 - сложность боя
combat_looks=1 - инфо в бою
combat_messages=1 - сообщение в бою
combat_speed=50 - скорость боя (0 - нормально, 50 - очень быстро)
combat_taunts=1 - насмешки в бою
game_difficulty=1 - сложность игры
item_highlight=1 - выделение предмета
language_filter=0 - фильтр ругани
mouse_sensitivity=1.000000 - чувствительность мыши
player_speedup=0 - влиять на скорость персонажа
running=1 - бег
subtitles=1 - субтитры
target_highlight=2 - выделение цели
text_base_delay=6.000000 - задержка текста
text_line_delay=2.000000 - задержка текста
violence_level=3 - уровень насилия
 

[sound]

Управление звуком.

cache_size=512 - объём памяти для звуков и музыки.

debug=0 и debug_sfxc=0 - при (1) включают в баг-репорт (см раздел debug) данные об использованных звуках (не действуют при mode=environment).

device=-1
dma=-1
irq=-1port=-1
- различные параметры звуковой карты (при -1 используется DirectSound из DirectX).

initialize=1 - указывает, нужно ли инициализировать звуковую карту при запуске игры. При (0) игра лишается всякого звука и вернуть его во время игры не получится.

music=1
sounds=1
speech=1
- отключает (0) или  включает (1) музыку, звуки и речь соответственно (включить обратно во время игры не получится).

music_path1=C:\... - путь к папке с музыкой.

music_path2=D:\... - путь к папке с музыкой на игровом диске (если игра была установлена не полностью и подгружает музыку с внешнего диска).

master_volume=32767
music_volume=32767
sndfx_volume=32767
speech_volume=32767
- уровень общей громкости, громкости музыки, звуков и речи соответственно. Принимаются значения от 0 до 32767. Эти параметры свободно меняются в настройках во время игры.

[system]

Раздел взаимодействия с внешней средой и железом.

art_cache_size=256 - объём памяти для графики. При 0 программа вообще не запускается.

cdlock= - путь к файлу cdlock.dat, но что он такое? Вероятно, он имел значение при частичной установке игры, когда часть ресурсов остаётся на CD-диске. Или для проверки подлинности диска. У меня при полной установке это значение пусто. Mr.Сталин: "точно не используются в движке".

color_cycling=1 - при (0) отключает переливающиеся пикселы (особая анимация, например, у горящих бочек и компьютеров, а также контурная подсветка криттеров в бою), заменяя их на черный цвет.

critter_dat=C:\... - путь к файлу critter.dat. Если путь указан неверно, вы не сможете запустить игру или маппер.

critter_patches=C:\... - путь к папке, куда помещаются спрайты взамен critter.dat.

cycle_speed_factor=1 - скорость переливающихся пикселей (см color_cycling), по умолчанию 1 (чем больше, тем медленнее).

executable=mapper - точное воздействие на редактор неизвестно. В игровом fallout2.cfg принимает значение game, а в мапперском mapper2.cfg значение mapper.

free_space=20480 - свободное место на диске в килобайтах. При (0) место не ограничивается. По умолчанию стоит значение 20480 (это 20 Мб), что для современных реалий совсем неактуально. Рекомендуется установить 0.

hashing=1 - вероятно, это должно было быть хеширование. Mr.Сталин: "точно не используются в движке".

interrupt_walk=1 - при (0) бег и ходьбу персонажа нельзя прервать, пока он не достигнет первичной точки назначения (так происходит во время боя, независимо от параметра). Что ужасно неудобно и нефункционально. При (1) прервать движение, указав новое место назначения, становится возможно.

language=english - название папки с текстовыми файлами игры. В оригинальной игре это english. Удобно для тех, кто хочет сделать перевод игры на другой язык.

master_dat=C:\... - путь к файлу master.dat. Если путь указан неверно, вы не сможете запустить игру или маппер.

master_patches=C:\... - путь к папке, где размещаются ресурсы взамен master.dat

scroll_lock=0 - неизвестно (воздействие клавиши Scroll Lock? отключение скролинга экрана?). Вероятно, не используется.

splash=1 - порядковый номер следующего вступительного слайда при загрузке игры. В игре параметр исправно работает, а для маппера он бесполезен, так как там заставка вообще не показывается. Сами слайды хранятся в /master.dat/art/splash/ в формате *.rix.

times_run=1 - неизвестно (есть предположение, что устанавливает длительность слайда, см splash). Mr.Сталин: "в движке просто устанавливает циклически свое значение 1...5 (просто так), но вероятно в маппере это не используется."

Три принципиально новых концепта для Fallout

(Пользуясь положением, дублирую сюда свою статью из группы Nevada Band)

Разрушенные города - это то, что многие ожидают увидеть в Fallout (кадр из сериала "Star Trek")

Все Fallout основаны на одной сюжетной схеме - вы выползаете из дыры/убежища/могилы и ищете что-то или кого-то. В середине пути поиск вовлекает вас в проблемы куда более общего масштаба. Но возможно ли придумать Fallout, который был бы достойным продолжением своих идей и при этом не копировал бы предыдущую фабулу? Конечно, чисто технически можно набрать материала еще на 20-30 игр, если привязываться к крупным городам и территориям (Нью-Йорк, Чикаго, Сиэтл и др). Но такой подход быстро скатится в самокопирование.

Предлагаем три принципиально новых концепта для Fallout, которые позволят развить идеи игры без самокопирования.

Road Movie

Рисунок "Travel, collect & survive", автор Jens Fiedler
Путешествие по исторической трассе 66 на фургоне! Сама эта дорога является отличной метафорой истории. А направление в сторону Калифорнии (конечный пункт - Санта-Моника) как бы метафизирует путь к свободе.

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

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

Второй этап проходит по уже более знакомым нам территориям Аризоны и Калифорнии. Здесь намного больше жизни - восстанавливаются города, появляются торговые караваны и т.п. Было бы особенно круто сделать пересечение с событиями Fallout 1 или Fallout New Vegas.

На старте игры можно выбрать одного из трех членов семьи (муж, жена, ребенок). У каждого свой набор уникальных характеристик и перков. Например, ребенок может пролезть в узких местах, но не сможет передвинуть тяжелые вещи. Муж может использовать тяжелое оружие, но жена лучше обращается со снайперской винтовкой. Таким образом прохождение каждым персонажем будет по-своему уникально. Геймплейной фишкой должен стать и фургон - езда, починка, апгрейды. К концу игры фургон сам станет членом семьи.

Довоенный город

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

Некий иностранный шпион или агент АНБ (выбрать между ними нужно на старте игры) сходит с поезда на окраине футуристичного города. Его начальные цели просты - поселиться в отеле, найти связного, получить липовые документы, втереться в доверие к некоторым персонажам. В процессе обследования города персонаж становится свидетелем местных проблем. Здесь хорошо впишутся темы расслоения общества на бедных и богатых, замена рабочих роботами, мигранты, даже наркотики. (Похожую идею мы уже описывали в диздоке Fallout Nevada 2.0.)

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

С другой стороны, такой концепт несколько снижает роль боёвки, уступая хитростям в духе Хитмана. Улицы города становятся свободным мирным пространством, где нужно скрывать свою агрессивность и не попадаться на глаза полиции (см серию GTA). Основная же боёвка будет проходить внутри отдельных зданий/заводов/коллекторов. Поэтому придется пересмотреть баланс в сторону малочисленных врагов. Зато это добавляет механик и сложности игре.

День Икс

День Икс на концепт-арте Fallout 4
В отличии от предыдущей концепции здесь обыгрывается непосредственно день ядерной войны и первое время после него, когда токсичные бури еще не уничтожили 90% людей.

Главный герой вынужден преодолеть опасные районы в поисках своей второй половины, чтобы затем вывести её (если выживет) в безопасное место (в убежище Vault-Tec). По ходу дела он может влиться в ряды полиции для наведения порядка или в ряды анархистов, чтобы стать лидером в новом мире.

За основу можно взять город Рино, нетронутый ядерными взрывами. Когда население узнаёт о бомбардировке остальной страны, город тут же охватывает паника. На улицы вываливаются толпы людей, начинаются грабежи и мародерство. Полиция не справляется и растворяется в толпе, власть берут люди с оружием. В такой ситуации наружу полезут криминальные авторитеты, сектанты и просто неадекваты. К примеру, представьте сцену осады ратуши разъяренной толпой, где мэр со своей свитой прячется будто в крепости. Или как в местной тюрьме поднимается бунт. Мы становимся свидетелями падения Старого Мира!

Похожую ситуацию смутного времени мы наблюдали в Assassin's Creed Unity и многих играх про зомби-апокалипсис. Это тесная районная планировка карт, замкнутые пространства внутри зданий, управление толпой, стелс-механики Хитмана. Можно реализовать радиоактивные ветра, которые застилают город с некоторой периодичностью (как выброс в "Зове Припяти"). Для перемещений по окраинам города (где нет баррикад и толпы) можно использовать любой брошенный автомобиль.


А какие "нестандартные" фабулы могли бы предложить вы для игр серии Fallout?